---
title: "Fixing the `json` gem's API"
publication: "Ruby Weekly"
issue: 762
published_at: "2025-08-07"
canonical_url: "https://rubyweekly.com/issues/762"
---

Plus a nightmare regex, RubyMine 2025.2, and a new suite of tools for working with ERB. |        

#​762 — August 7, 2025 

[Read on the Web](https://rubyweekly.com/issues/762)  

Together with [![Testdouble\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_279/e_make_transparent/co_white,e_outline:32/fuxab1jg21v6anerbqwg.png)](https://link.testdouble.com/3b9bfb)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/iyfcuye7cqpzskku2qqo.jpg)](https://byroot.github.io/ruby/json/2025/08/02/whats-wrong-with-the-json-gem-api.html)  

[What’s Wrong with the JSON Gem API?](https://byroot.github.io/ruby/json/2025/08/02/whats-wrong-with-the-json-gem-api.html) — Fed up with `json`’s unsafe defaults? Following on from his [fantastic deep dive into `json`’s performance](https://byroot.github.io/ruby/json/2024/12/15/optimizing-ruby-json-part-1.html), Jean is back with thoughts on `json`’s API, changes he’s making, forthcoming deprecations, and why shedding global state is a worthwhile trade-off. 

Jean Boussier   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/af348a12.jpg)](https://link.testdouble.com/3b9bfb) 

[Wat?! Why Is Literally Everything Broken?](https://link.testdouble.com/3b9bfb) — TFW you scale super fast: nothing works, everyone is frustrated with everything, and you don’t know what to fix or where to start. Our pragmatic assessments uncover root causes and prioritize real fixes we can help you with, not slide deck solutions. 

Test Double sponsor   

😱 [The `/o` in Regex Stands for “Oh, the Humanity!”](https://jpcamara.com/2025/08/02/the-o-in-ruby-regex.html) — JP says it best: _“Do you like regex? Do you like performance? Do you like creating confounding bugs for yourself rooted in the mechanics of the Ruby VM itself? If you said yes to all of the above, have I got a feature for you.”_ What follows is a fantastic look through the consequences of a feature Ruby borrowed from Perl that’s best avoided in most cases. 

JP Camara   

**IN BRIEF:** 

- [RubyGems.org has launched a new community-driven funding model](https://rubycentral.org/news/rubygems-org-funding-model-a-new-path-for-community-led-growth/) to maintain the registry's infrastructure.
- JetBrains has [released RubyMine 2025.2](https://blog.jetbrains.com/ruby/2025/08/rubymine-2025-2-junie-and-ai-assistant-upgrades-faster-rails-project-startup-enhanced-bundler-management-and-more/), the latest version of its commercial Ruby IDE. Their AI assistant and AI coding agent, Junie, take center-stage, though new 'hover hints' for RBS types is a nice new touch, too.
- 🇦🇹 [RubyConf Austria](https://rubyconf.at/) is an all-new event taking place in Vienna between May 29-31, 2026, so there's plenty of time to prepare or even [submit a talk.](https://www.papercall.io/rubyconfaustria2026)
- Ruby Central's new executive director, Shan Cureton, [reflects on the success of RailsConf 2025.](https://rubycentral.org/news/reflections-on-railsconf-2025-from-shan-cureton-executive-director-of-ruby-central/)   

[Persistent Connections: Streaming Bodies, SSE, and WebSockets with Rack](https://develclan.com/ruby-streaming-bodies-sse-websockets-rack/) — _“Rack proves itself versatile, capable of handling basic connections and any persistent connection strategy in Ruby.”_ 

David Morales   

[Sending Web Push Notifications from Rails](https://joyofrails.com/articles/web-push-notifications-from-rails) — From last year but somehow I missed it. It’s a handy guide though, and includes a live demo right in the page. 

Ross Kaffenberger   

[🔥 Outdated Gems Are a Risk. Bonsai Keeps You Compliant](https://go.fastruby.io/reduce-risk) — Security patches, version upgrades, & monthly reports — Fixed-cost maintenance plans geared to reduce your risk. 🧯 

🌳 Bonsai by FastRuby.io sponsor   

📄 [Please Create Debuggable Systems](https://naildrivin5.com/blog/2025/08/06/please-create-debuggable-systems.html) – Good logging and easily understandable error states become even more essential in an agentic world. David Bryant Copeland 

📄 [Achieving Multitenancy in a Rails App Using `CurrentAttributes`](https://hashrocket.com/blog/posts/achieving-multitenancy-in-a-rails-app-using-currentattributes) – How `ActiveSupport::CurrentAttributes` was leveraged to achieve multi-tenancy when working with a legacy database. Mary Lee 

📄 [How to Create a MacOS-Inspired 'Stack' UI with Stimulus and Tailwind CSS in a Rails App](https://railsdesigner.com/stimulus-stack-ui/) Rails Designer 

📄 [Consider Thruster with Puma on Heroku](https://island94.org/2025/07/consider-thruster-with-puma-on-heroku) Ben Sheldon 

📄 [Adding a 'Konami Code' with Stimulus](https://railsdesigner.com/konami-stimulus/) – It’s not Easter, but you can still add Easter eggs to your app.. Rails Designer  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/z5nwkxjyjk0nfpjnnbbj.jpg)](https://herb-tools.dev/)  

[Herb: HTML-Aware ERB Parsing and Tooling](https://herb-tools.dev/) — [ERB templating](https://github.com/ruby/erb) is one of the Ruby ecosystem’s longest standing features but it hasn’t evolved much. Herb [significantly ups the level of tooling](https://herb-tools.dev/overview) around ERB (and makes it available to JavaScript too) including a new, fast parser, linter, editor integrations, and more. [GitHub repo.](https://github.com/marcoroth/herb) 

Marco Roth   

[🧠 Build Intelligent Applications with Rails](https://sinaptia.dev/posts/building-intelligent-applications-with-rails) — Learn about the strengths of Ruby and Rails in the AI era and why we choose them for AI applications development. 

SINAPTIA sponsor   

[RubyEnv: Ruby Development 'Perfected on macOS'](https://rubyenv.app/) — A very new project but with a lot of heart. RubyEnv bundles the essential tools you need for Rails development (plus ‘a little magic’) on macOS in one place. There’s a beta you can try for now, and Andrea [explains the motivation behind the project here.](https://rubyenv.app/blog/why-rubyenv-over-asdf-or-docker) We look forward to seeing more from this. 

Andrea Fomera   

📖 [gepub 2.0: EPUB Parser and Generator Library](https://github.com/skoji/gepub) — EPUB is a popular e-book file format that’s essentially a ZIP file of XML files. This lets you work with such files from Ruby. 

Satoshi KOJIMA   

💬 [Is It Ruby or Rails? Introducing a New Discord Bot](https://www.fastruby.io/blog/is-it-ruby-or-rails-announcement.html) — Have you ever wondered if a method you’re using comes from Ruby or was introduced by Rails? FastRuby has a Discord bot which you can add to your own Discord server to quiz you on a daily basis. 

Amanda Bizzinotto   

- 🤖 [Anthropic SDK for Ruby 1.4](https://github.com/anthropics/anthropic-sdk-ruby) – The official library from the creators of the Claude LLM. Now supporting the [new Opus 4.1 model.](https://www.anthropic.com/news/claude-opus-4-1)
- [openapi_first 2.11](https://github.com/ahx/openapi_first) – Validate requests/responses against an OpenAPI description.
- [re2 v2.19](https://github.com/mudge/re2) – Ruby bindings to the fast, safe, thread-friendly RE2 regex engine.
- [parallel_tests 5.4](https://github.com/grosser/parallel_tests) – Run RSpec, Test::Unit and more in parallel on more cores.
- [AnnotateRb 4.18](https://github.com/drwl/annotaterb) – Adds annotations to your Rails models and route files.
- [Ruby Polars 0.21](https://github.com/ankane/ruby-polars) – Fast DataFrames for Ruby.       

📰 Classifieds   

**Your codebase is a masterpiece**. Your logs? Abstract expressionism. Make your data gallery-ready with [Scout Log Management](https://www.scoutapm.com/features/log-management/?utm_content=08-7-2025&utm_medium=cooperpress&utm_source=sponsorship%0D%0A). 

--- 

🧰 Ruby devs build better with [AppSignal](https://www.appsignal.com/?utm_source=cooperpress&utm_medium=cooperpress&utm_term=ruby_nl). Catch bugs, track performance, and ship code fast. [Start your free trial](https://www.appsignal.com/?utm_source=cooperpress&utm_medium=cooperpress&utm_term=ruby_nl), no credit card needed.    

📢 Elsewhere  

A roundup of some other interesting stories in the broader landscape, in case you've missed them: 

- If your knowledge of JavaScript engines and runtimes is limited to V8, Node.js and a few others, [this runthrough of the 'many, many, many' JavaScript runtimes](https://buttondown.com/whatever_jamie/archive/the-many-many-many-javascript-runtimes-of-the-last-decade/) of the past decade is for you.
- [Schematra](https://github.com/rolandoam/schematra) is a new web framework for _Scheme_ (the Lisp dialect) directly inspired by Ruby's Sinatra.
- Evil Martians' Andrey Sitnik [explains what was learnt when creating PostCSS](https://evilmartians.com/chronicles/what-we-learned-from-creating-postcss), a popular CSS automation tool which even took a tiny bit of inspiration from Rails.
- Thoughtbot rounds up [70 companies you didn't know were using Rails in 2025](https://thoughtbot.com/blog/70-companies-you-didn-t-know-were-using-rails-in-2025), though I bet most readers at least know of a handful of these..
- 🤖 [OpenAI has released two significant 'open weight' models](https://openai.com/open-models/) that you can run locally for any purpose. The jury is still out on how good they are for coding, but you can easily run them on many modern machines. Allegedly we might see GPT 5 later today, too.
- [TypeScript 5.9 has been released.](https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/)
- TIL JSON has a logo. We used it in the graphic at the top of the issue – it's the big O shaped thing. Now you know.   

👋 We'll see you again on Thursday, August 21, but feel free to hit reply and send in any submissions you have for the next issue :-)         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
