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-07-08
stories 39

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

RAILS FIXES STREAMING HANG ON CLIENT DISCONNECT, TACKLES FOREIGN KEY EDGE CASES

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

ActionController::Live streams were leaving reader threads blocked indefinitely when clients disconnected fast - Rails just fixed the race condition that's been haunting production deploys.

The critical fix [1] patches a threading deadlock in ActionController::Live where the abort handler was clearing the queue without enqueuing the nil terminator that the consumer loop needs to exit. This is a production footgun for any app streaming responses to flaky clients. The fix lands alongside a batch of precision corrections across the ORM: foreign key removal now properly forwards identifying options when using if_exists [2], composite primary key destroy operations treat empty id arrays as empty sets instead of nooping [3], and DISTINCT now applies correctly to average aggregations [4]. Rails also expanded range field tag support to handle endless and beginless ranges [5], closing a gap in numeric form helpers. Nothing earth-shaking, but this is the kind of Tuesday where core behavior gets incrementally more reliable.

Action items

References

  1. [1] Fix ActionController::Live streams hanging on client disconnect ↗ rails/rails
  2. [2] Merge pull request #58050 from 55728/fix-remove-foreign-key-if-exists-name ↗ rails/rails
  3. [3] Merge pull request #58040 from 55728/fix-cpk-destroy-update-empty-array ↗ rails/rails
  4. [4] Merge pull request #58041 from 55728/fix-distinct-average ↗ rails/rails
  5. [5] Merge pull request #58039 from 55728/fix-number-field-tag-endless-range ↗ rails/rails

Quick answers

What shipped in Rails on July 8, 2026?
ActionController::Live streams were leaving reader threads blocked indefinitely when clients disconnected fast - Rails just fixed the race condition that's been haunting production deploys. In total, 26 commits and 13 pull requests landed.
What were the notable Rails updates?
Fix ActionController::Live streams hanging on client disconnect, Merge pull request #58050 from 55728/fix-remove-foreign-key-if-exists-name, and Merge pull request #58040 from 55728/fix-cpk-destroy-update-empty-array.