RepoJournal
Rails

@rails

Ruby on Rails - Shopify, Basecamp, GitHub all run on it

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.

Pick a date

Topics: Ruby Full archive →

The Wire · Showcase

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

By RepoJournal · Filed · About Rails

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.

One email a day. Unsubscribe in one click.

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.

More from @rails

Daily updates, in your inbox

Follow Rails

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

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?

We use privacy-friendly analytics (Google Analytics, IP-anonymized) to see which pages help readers. No ads, and we never sell your data. See our Privacy Policy.