$ the-wire · showcase
MySQL 5.6 falls off the support floor as Arel stops rebuilding literals
By RepoJournal · Filed · About Rails · Composed from the cited sources · methodology
Active Record now requires MySQL 5.7.9 or newer, and the docs plus a handful of per-query allocations got tidied in the same push.
Bump the minimum supported MySQL version to 5.7.9 rails/rails
Active Record now requires MySQL 5.7.9, because 5.6's default ROW_FORMAT=COMPACT caps index prefixes at 767 bytes, too small for a utf8mb4 varchar(255). Code that relied on the forced ROW_FORMAT=DYNAMIC on CREATE TABLE, the refusal of utf8mb4 on unconfigured servers, and the downgraded schema_migrations / ar_internal_metadata handling should be tested against the new floor before upgrading.
Share the constant Arel.sql literals instead of building them per query rails/rails
Arel's constant SQL fragments, including `1 AS one` for exists? and the count subquery select, the count_column and subquery_for_count aliases, and `1=0`, now live as shared constants instead of being rebuilt through Arel.sql on every call at 5 objects apiece. A follow-up to the earlier Arel.star sharing, so heavy query paths stop paying that allocation cost per query.
Use key-value conditions in guides and API docs rails/rails
Guides and API docs swap raw where("...") and order("...") strings for key-value conditions, with the accompanying SQL output updated to the table-qualified form. The strings stay only where the string or array behavior is the point of the example, matching the guidelines that already mark `Book.where('name = ?', ...)` as BAD.
Merge pull request #59132 from ttrweb/remove-sqlpkg-references-from-configuring-guide rails/rails
The configuring guide drops its references to the discontinued sqlpkg registry, so anyone following it for extension setup has one less dead end.
Action items