138 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-01
stories 10

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

Dynamic controller/action routes removed, JSON escaping rewritten

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

Rails deleted the dynamic controller and action routing mechanism deprecated since 5.0, and swapped JSON string escaping onto a single-pass String#tr! path.

Remove support for dynamic controller/action in routes rails/rails

by tenderlove

A route like get ":controller(/:action(/:id))" now raises ArgumentError, and the same mechanism backed controller-class-only routes such as get "show", to: [Source], so both must be rewritten as explicit "photos#index"-style pairs. Aaron Patterson notes it "has been deprecated since Rails 5.0, so it's time to go."

Escape JSON with String#tr! rails/rails

by federico-carrocera

Both JSON encoders now escape with String#tr! instead of a regexp round-trip, which substitutes in one pass over the UTF-8 string; because tr! raises on invalid encodings, the fast path is guarded on valid_encoding? and falls back to gsub!. JSONGemCoderEncoder is the one installed by default whenever JSON::Coder is available, though tr! rebuilds its translation table on every call.

add a warning about missing controllers on boot + eager load rails/rails

by Aaron Patterson

A warning now surfaces missing controllers at boot and eager load rather than letting them fail later at request time.

Quick answers

What shipped in Rails on October 1, 2026?
Rails deleted the dynamic controller and action routing mechanism deprecated since 5.0, and swapped JSON string escaping onto a single-pass String#tr! path. In total, 6 commits and 4 pull requests landed.
Who contributed to Rails on October 1, 2026?
2 developers shipped this update, including tenderlove and federico-carrocera.
What were the notable Rails updates?
Remove support for dynamic controller/action in routes, Escape JSON with String#tr!, and add a warning about missing controllers on boot + eager load.