159 wires and counting

$ follow Rails

Keep up with Rails in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-10-20
stories 31

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

Inlined attribute writers, leaner ActiveRecord::Key

By RepoJournal · Filed · About Rails · Composed from the cited sources · methodology

Rails turned in a performance day: writer methods no longer pay for a _write_attribute call, Key stopped re-entering each through Enumerable, and two config knobs got deprecation or addition treatment.

Inline `_write_attribute` in generated writer methods rails/rails

by Jean Boussier

Generated writers now inline _write_attribute, which drops a method call on the common path and removes most of the overhead of attr_readonly. The trade-off, per Jean Boussier's commit message: attr_readonly is baked at compile time, so flipping ActiveRecord.raise_on_assign_to_attr_readonly back to false later may not take effect until you call undefine_attribute_methods on the affected models....

Remove Enumerable from ActiveRecord::Key rails/rails

by John Hawthorn

John Hawthorn dropped Enumerable from ActiveRecord::Key so that each and index_with delegate straight to the columns array instead of re-entering Key#each with a block on every call. The change builds on main, which now defines map, all?, any?, each_with_index, include?, and zip explicitly on Key and its subclasses.

Add config.zjit to enable ZJIT after boot rails/rails

by Sampo Kuokkanen

A new config.zjit enables ZJIT after the application boots, mirroring what config.yjit does for YJIT, so the JIT does not spend time compiling boot-only code the way --zjit or RUBY_ZJIT_ENABLE would. Because Ruby runs one JIT at a time and RubyVM::ZJIT.enable refuses while YJIT is on (the 8.1 defaults enable YJIT outside development and test), config.zjit takes precedence when ZJIT is available...

Merge pull request #59181 from bensheldon/deprecate-ssl-default-redirect-status rails/rails

by Jean Boussier

ActionDispatch::SSL's ssl_default_redirect_status: argument is now deprecated.

Add example of using local Codex agent rails/lemans

by Alexander Baygeldin

Away from the framework, rails/lemans picked up an example of running a local Codex agent.

Quick answers

What shipped in Rails on October 20, 2026?
Rails turned in a performance day: writer methods no longer pay for a _write_attribute call, Key stopped re-entering each through Enumerable, and two config knobs got deprecation or addition treatment. In total, 20 commits and 11 pull requests landed.
Who contributed to Rails on October 20, 2026?
4 developers shipped this update, including byroot, John Hawthorn, Sampo Kuokkanen, and baygeldin.
What were the notable Rails updates?
Inline `_write_attribute` in generated writer methods, Remove Enumerable from ActiveRecord::Key, and Add config.zjit to enable ZJIT after boot.