Ruby on Rails

Ruby on Rails: Weekly Recap - Database Performance & Developer Experience

Rails merged 20 pull requests this week focused on PostgreSQL performance improvements and developer experience enhancements. Key highlights include RETURNING clause support for database operations and fixes for strict loading violations.

Duration: PT2M49S

https://podlog.io/listen/ruby-on-rails-87e2c2b6/episode/ruby-on-rails-weekly-recap-database-performance-developer-experience-918257fd

Transcript

This is Ruby on Rails Weekly Recap for May 10th through 17th, 2026. Twenty pull requests merged with thirty additional commits this week.

**Database Performance**

The standout feature this week is PostgreSQL support for automatically reloading virtual columns on update using a RETURNING clause. This eliminates an extra database round trip and prevents stale values - a significant performance improvement for applications using computed columns.

Supporting this enhancement, Rails now includes comprehensive RETURNING clause support for INSERT, UPDATE, and DELETE statements in Arel. This enables building queries that modify and return data in a single operation.

Performance improvements continue with optimized insert_all operations, which now skip unnecessary coder round-trips for Hash and Array values in serialized columns, delivering 1.8x speed improvements.

**Developer Experience**

Active Storage gains an attach! method, providing the standard Rails "bang" counterpart to attach for consistent error handling patterns.

Expression indexes now support cleaner array syntax in add_index, allowing developers to write `t.index ["lower(email)", :status]` instead of raw SQL strings.

The app generator now intelligently removes framework_defaults files when load_defaults matches, reducing configuration noise.

**Bug Fixes**

Several important fixes shipped this week. Strict loading violations are now properly caught when using pluck operations. The lock_version column correctly resets after transaction rollbacks, preventing stale object errors. Parameter filtering received fixes for hash-lookup optimization with line-anchored regular expressions.

Action Text dispatching of Active Storage events now properly includes both id and file properties as documented.

**Infrastructure**

Rails continues code quality improvements with additional frozen constants across the framework and enhanced renderable arity checks for overridden methods.

One notable revert occurred - the default render_in implementation for ActiveModel::Conversion was pulled back due to controller-based view partial namespacing issues, with plans for resubmission.

**Additional Activity**

Thirty commits included documentation updates for Active Storage's custom_metadata methods and debugging guide improvements, plus formatting fixes across Active Storage controllers.

Next week should bring continued focus on performance optimizations and the re-introduction of the ActiveModel rendering enhancement with proper namespacing support.

That's your Rails development update for this week.