Rails 7.2.4 ships today, and it's the patch you install quietly
Another Ruby on Rails update has been released. The fourth maintenance release in the 7.2 line brings performance fixes and database reliability work, but no new features or security advisories.
Rails 7.2.4 is the kind of update you deploy without fanfare. No new features. No security advisories. Just a pile of bug fixes and performance work that quietly keeps the 7.2 line from quietly falling apart.
The core team published the patch with release manager Rafael Mendonça Francia handling packaging and distribution. It's the fourth patch in the 7.2 minor series, which itself launched August 9, 2024 with YJIT enabled by default and first-class PWA support.
Because the release bundles real reliability fixes, the team's recommendation is simple: if you're still on 7.2, upgrade. It doesn't quite hit "mandatory," but it's close.
The fixes that actually matter
Active Record took the biggest hit. The most useful change here is a performance regression in method_missing that virtual SELECT alias attributes triggered, the kind of slowdown #57183 documented as genuinely annoying. Hammad Khan's fix restores fast attribute lookup for dynamically defined columns.
Table names with hyphens are supported again, correcting a regression that had broken models relying on hyphenated table names. That's Evgeniy Demin's call.
The PostgreSQL work is probably the quietest win. Jean Boussier improved how the PostgreSQLAdapter handles asynchronous exceptions thrown inside reconnect!, which had left connections in a half-configured state and produced errors like undefined method 'key?' for nil:NilClass and TypeError: wrong argument type nil. Messy. This keeps them out of that state.
Martin-Alexander fixed a duplicate-record bug where eager-loading has_many associations with composite primary keys loaded some records more than once. If you run composite keys heavily, you've likely already felt this one.
The rest of the framework
Action Pack now returns a 405 Method Not Allowed for unsupported HTTP verbs, replacing the old 500 Internal Server Error. Nicolas Vandenbogaerde's change is the semantically correct response and cuts down on spurious error-reporting noise when clients send unexpected methods.
Active Support picked up a number_to_delimited speedup when no custom delimiter_pattern is supplied (Shinichi Maeshima), a silenced Dalli 4.0+ warning from ActiveSupport::Cache::MemCacheStore (zzak), and an Inflector.humanize fix that now handles international characters correctly, like turning "áÉÍÓÚ" into "Áéíóú" and "аБВГДЕ" into "Абвгде".
Action View's strict-locals parsing was fixed for multi-line method definitions, and Railties ships a Dockerfile fix so the default Dockerfile from rails new now includes the vendor/ directory during bundle install. The remaining six gems saw no changes this round.
Head here to the release announcement.
