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
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
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!
Subscribe to get these updates mailed to you.