The Wire · Showcase
RAILS SHIPS AROUND HOOKS AND JOB STATE PERSISTENCE IN TESTING AND BACKGROUND WORK OVERHAUL
By RepoJournal · Filed · About Rails
ActiveSupport finally closes the testing framework gap with native around hooks [ref:1], while ActiveJob gains a first-class way to pass data between steps without touching your models [ref:2].
The around hooks addition [1] addresses a long-standing pain point: Minitest won't build this natively, and the absence of around support has pushed teams toward alternative test harnesses when evaluating Rails for new projects. ActiveSupport's callback system makes implementation straightforward, and this lands as a major usability win for test organization. Meanwhile, ActiveJob::Attributes [2] solves a real operational problem—multi-step jobs that need to hold intermediate data between steps without persisting to Active Record. This is how you avoid the serialize/deserialize override dance teams have been doing in job-iteration. On the maintenance side, Rails moved kamal into the development group [3], keeping deploy tooling out of production bundles and cleaning up duplicate gem declarations. Uniqueness validation errors now return the conflicting record's ID in error details [4], giving you actionable debugging information without an extra query.
Action items
- → Review your test suite for around hook opportunities when you upgrade—this unlocks cleaner setup/teardown patterns rails/rails [plan]
- → Check your multi-step background jobs for serialize/deserialize overrides that ActiveJob::Attributes can replace rails/rails [plan]
- → Regenerate your Gemfile if using kamal—old templates may have duplicate :development groups rails/rails [monitor]
References
- [1] Introduce `ActiveSupport::TestCase.around` ↗ rails/rails
- [2] Add `ActiveJob::Attributes` to persist data between steps ↗ rails/rails
- [3] Move generated kamal gem into development group rails/rails
- [4] Merge pull request #55826 from bvicenzo/bv-uniquiness-validation-returning-existing-id rails/rails
FAQ
- What changed in Rails on May 6, 2026?
- ActiveSupport finally closes the testing framework gap with native around hooks , while ActiveJob gains a first-class way to pass data between steps without touching your models .
- What should Rails teams do about it?
- Review your test suite for around hook opportunities when you upgrade—this unlocks cleaner setup/teardown patterns • Check your multi-step background jobs for serialize/deserialize overrides that ActiveJob::Attributes can replace • Regenerate your Gemfile if using kamal—old templates may have duplicate :development groups
- Which Rails repositories shipped on May 6, 2026?
- rails/rails