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-16
stories 82

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

Active Record attribute reads get faster, with Ractor safety restored

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

Aaron Patterson's read-only attribute set lands in Active Record, cutting the ruby-bench benchmark from 199ms while keeping the builder cache out; Rails also trims per-call i18n allocations and the agents benchmark adds two new model runs.

Add read-only attributes and use it instead of building a cache rails/rails

by tenderlove

tenderlove's rebase of the earlier read-only attribute set work finally removes the need for the builder cache that was dropped for Ractor safety, and the Active Record benchmark in ruby-bench drops from 199ms average over the last 35 non-warmup iterations. If you share attribute sets across threads, this is the change that restores the performance the cache removal cost.

Add a new private reader method, refactor alias resolution rails/rails

by tenderlove

A new private reader assumes the attribute name is a string and delegates to a fetch_value! method that raises when an attribute is not defined, so the common case stops passing blocks around. Missing attributes are the uncommon case, and the change is aimed at interpreter and ZJIT performance in ruby-bench; treat the reader as internal only.

Translate distance_of_time_in_words without an OptionMerger rails/rails

by amatsuda

distance_of_time_in_words no longer wraps translations in I18n.with_options, which allocated an OptionMerger and merged shared options into a fresh Hash on every lookup. amatsuda's replacement passes locale and scope straight to I18n.t through a small private helper, which matters where time_ago_in_words runs once per row in list views.

Agents on Rails: Add Muse Wonder and Gemini 4 Argon to benchmark rails/website

by baygeldin

The Agents on Rails benchmark now includes Muse Wonder and Gemini 4 Argon, with the accompanying ai-evals runs landing in parallel. Muse Spark and Muse Wonder costs were adjusted alongside the addition.

chore: minor docs and verifier fixes rails/ai-evals

by baygeldin

Quiet housekeeping elsewhere: ms- tasks verifier changes forced affected runs to be discarded and re-run with fixes, and README and methodology docs got cleaned up for inconsistencies.

Quick answers

What shipped in Rails on October 16, 2026?
Aaron Patterson's read-only attribute set lands in Active Record, cutting the ruby-bench benchmark from 199ms while keeping the builder cache out; Rails also trims per-call i18n allocations and the agents benchmark adds two new model runs. In total, 57 commits and 25 pull requests landed.
Who contributed to Rails on October 16, 2026?
4 developers shipped this update, including baygeldin, tenderlove, hawthbot, and amatsuda.
What were the notable Rails updates?
Add read-only attributes and use it instead of building a cache, Add a new private reader method, refactor alias resolution, and Translate distance_of_time_in_words without an OptionMerger.