This Week in Rails

March 27, 2026

This Week in Rails: March 27, 2026

Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase.

New Rails releases this week
Rails 7.2.3.1, 8.0.4.1, and 8.1.2.1 shipped as security releases, followed by 8.0.5 and 8.1.3 bugfix releases the next day.

Combine per-validator and top-level :if/:unless/:on in validates
Active Record's validates now combines top-level and per-validator :if, :unless, and :on options instead of letting the inner options silently win.
validates :title, presence: { if: :local? }, if: :global?
# both conditions are now applied

Fix titleize to capitalize unicode lowercase letters
The helper titleize now capitalizes Unicode lowercase letters as well as ASCII, so titleize("über ñoño") becomes Über Ñoño.

Classify mysql error 1046 (ER_NO_DB_ERROR) as ConnectionFailed
MySQL’s ER_NO_DB_ERROR (No database selected) is now treated as ActiveRecord::ConnectionFailed, so Rails can retry it like other reconnect-related failures.


You can view the whole list of changes here.
We had 18 contributors to the Rails codebase this past week!


Until next time!

About This Week in Rails

Your weekly inside scoop of interesting commits, pull requests and more from Rails.