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 ACTIONMAILER CALLBACK CONSISTENCY, SPRING CLIENT GETS SMARTER ABOUT SERVER STATE

By RepoJournal · Filed · About Rails

ActionMailer callbacks now support only: and except: options, closing the gap with ActionController, while Spring's client learns to handle stale sockets and preloading delays.

Rails merged support for only: and except: on _deliver callbacks in ActionMailer [1], resolving inconsistency introduced in earlier callback work. The fix uses the same normalization wrapper from AbstractController, keeping Rails' callback behavior uniform across the framework. Separately, ActiveStorage got its test coverage tightened with dedicated unit tests for Variation [2], a core value object that was previously only covered indirectly through integration tests. More critically, a race condition in ActiveStorage::Blob#metadata updates that could corrupt data on GCS has been offloaded to background workers [3], eliminating synchronous collisions between servers and workers. On the Spring side, the client is now smarter about detecting stale server state [5]: it retries with extended timeout when finding a socket but hitting version handshake failures during app preload, and checks process existence before reusing stale pidfiles. Dev Container support also shipped with bundler-cache feature [4], speeding up repeated container startup by persisting gem installations.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Support `only:` and `except:` on `_deliver` callbacks in ActionMailer ↗ rails/rails
  2. [2] Add unit tests for ```ActiveStorage::Variation``` ↗ rails/rails
  3. [3] Offload ActiveStorage::Blob#metadata sync to background ↗ rails/rails
  4. [4] Add bundler-cache feature in dev container. rails/rails
  5. [5] Make client smarter about Spring server state ↗ rails/spring

Quick answers

What shipped in Rails on June 9, 2026?
ActionMailer callbacks now support only: and except: options, closing the gap with ActionController, while Spring's client learns to handle stale sockets and preloading delays. In total, 25 commits and 14 pull requests landed.
Who contributed to Rails on June 9, 2026?
4 developers shipped this update, including excid3, Edilbek, shouichi, and Korri.
What were the notable Rails updates?
Support `only:` and `except:` on `_deliver` callbacks in ActionMailer, Add unit tests for ```ActiveStorage::Variation```, and Offload ActiveStorage::Blob#metadata sync to background.

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?