
June 10, 2026
The Rails team had another busy week, shipping documentation improvements, infrastructure updates, and a collection of bug fixes across the framework.
Here are some of the highlights.
📚 The Active Job Guide Gets a Major Refresh
The revamped Active Job Basics guide is now live.
It covers everything from Solid Queue and background jobs to testing, debugging, and bulk enqueueing. Whether you’re new to background processing or looking to modernize an existing application, the updated guide is worth revisiting.
🔌 Action Cable Moves Toward redis-client
Action Cable’s Redis adapter is being reimplemented using redis-client.
The change reduces Rails’ dependency footprint while simplifying subscription handling behind the scenes. Most applications won’t need to make any changes, but it’s another example of Rails gradually streamlining its internals.
🖼️ Active Storage Updated for ImageProcessing 2.0
Applications using Active Storage should be aware of upcoming ImageProcessing 2.0 requirements.
Developers now need to explicitly include ruby-vips and/or mini_magick, and newer versions of libvips block several untrusted image formats by default.
⚡ More Progress Toward Ractor Safety
Rails continues preparing for Ruby’s future concurrency model.
Several Active Record internals were updated to freeze and constantize objects where possible, improving compatibility with Ractor-based execution.
🐘 PostgreSQL Improvements
A few PostgreSQL-related updates landed this week:
- US/Eastern was replaced with America/New_York
- rails dbconsole now respects custom schema_search_path
- PostgreSQL warnings are cleared as they’re handled
Small changes, but they eliminate several frustrating edge cases.
🔍 Better Query Logging
Rails now supports per-pool query log tag formatting.
Different databases can emit either legacy comments or SQLCommenter-compatible metadata, making observability setups more flexible.
🛠️ Bug Fixes Worth Noting
Several bugs were resolved across Active Record, Action Cable, and Active Support:
- reverse_order now properly reverses default_order
- Action Cable unsubscribe operations are now idempotent
- Fixed MessagePack serialization for time columns
- Fixed polymorphic has_one cleanup
- Fixed Enumerable#in_order_of dropping nil values
- Fixed nested attributes limit validation
- Fixed composite primary key lookups using string IDs
- Improved HTTP-date parsing for If-Modified-Since
Community Contributions
The Rails codebase saw contributions from 28 developers this week, continuing the steady pace of improvements across the framework.
Final Thoughts
No single headline feature dominated this week’s update, but the overall direction is clear: better documentation, fewer dependencies, improved database tooling, and ongoing work to make Rails ready for future Ruby concurrency improvements.
As usual, it’s the accumulation of these small refinements that keeps Rails moving forward.
Original announcement:
