The Wire · Showcase
ACTIVE RECORD RACTOR SAFETY PUSH, JSON 3.x SUPPORT LANDS ACROSS RAILS ECOSYSTEM
By RepoJournal · Filed · About Rails
Rails is methodically closing ractor safety gaps in Active Record while the entire ecosystem moves to JSON 3.x compatibility.
Active Record just got two critical safety fixes: a new PR tackles remaining unsafe instance variables that block ractor isolation [1], while a separate commit ensures all model attributes generate methods properly instead of falling back to dynamic behavior [4]. Both Sprockets and ExecJS have now shipped JSON 3.x support [2] [3], a move that matters because the ecosystem is consolidating around the newer JSON library. On the routing side, Rails fixed a subtle bug where `url_for` would generate broken routes when passed empty strings for optional route segments [5]. Sprockets also cleaned up README documentation with a comprehensive typo sweep [6], and ExecJS removed stale macOS/Ruby 2.5 CI that was holding back maintenance [7]. The schema layer gained a new builder method for alter table definitions, giving developers more consistent control over table alterations [8]. Across 36 commits and 15 PRs over the period, the focus is squarely on compatibility, safety, and developer ergonomics rather than headline features.
One email a day. Unsubscribe in one click.
Keep up with Rails in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review Active Record ractor safety changes [ref:11] before upgrading critical production systems rails/rails [plan]
- → Update Sprockets and ExecJS to get JSON 3.x support rails/sprockets [plan]
- → Test URL generation in routes with optional segments to verify fix [ref:15] rails/rails [monitor]
References
- [1] Active Record ractor safe ivars 2 ↗ rails/rails
- [2] Merge pull request #829 from rails/json-3.x rails/sprockets
- [3] Merge pull request #150 from rails/json-3.x rails/execjs
- [4] Ensure Active Record models define all attributes ↗ rails/rails
- [5] Omit optional route segments given empty strings ↗ rails/rails
- [6] Fix typos and inaccuracies in README rails/sprockets
- [7] Remove unsupported macos/ruby-2.5 CI rails/execjs
- [8] Introduce builder method for alter table definitions ↗ rails/rails