2026/09/17分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activerecord/CHANGELOG.md
- Replace the
mysql5fallback inActiveRecord.database_cliwithmariadb. - Read PostgreSQL indexes and constraints from the table an unqualified name resolves to.
Move view path normalization into PathSet
actionview/lib/action_view/lookup_context.rb、
actionview/lib/action_view/path_set.rbの修正です。
LookupContext class内で行っていたpathのnormalization処理をPathSet classに移動しています。templateのpath look処理でのオブジェクト生成数を減らす為。
Avoid returning through blocks
actionview/lib/action_view/path_set.rbの修正です。
ブロック内でreturnを使わないようリファクタリングしてます。ブロック内でreturnを使うとRuby 4.0以降でアロケーションが発生するため。
Avoid empty array allocation rendering template
actionview/lib/action_view/renderer/partial_renderer.rbの修正です。
template render時に空のarrayの生成を毎回行っていたのを、定数にして一度だけ生成するよう修正しています。
Avoid creating array for detail_args in fast path
actionview/lib/action_view/lookup_context.rbの修正です。
各メソッドでオプションが空の場合、不要なオブジェクト生成を行わないよう修正しています。
actionview/lib/action_view/lookup_context.rbの修正です。
LookupContext.registered_detailsが実行される度にdefault_procs.keysを計算していたのを、register_detail実行時に結果をキャッシュして以降はキャッシュした値を返すよう修正しています。
Don't reference connection in on_main block
activerecord/lib/active_record/model_schema.rbの修正です。
on_mainブロック内でconnectionを参照するとブロックを共有可能にする際にエラーになっていたのを、connectionを使った処理をブロックの外で行い、結果だけをon_mainブロックに渡すよう修正しています。
ActiveSupport::Ractors.on_mainのblock内でconnectionを参照しないよう修正しています。connectionをblock内で参照するとエラーになってしまう為。
Consolidate common methods of Mysql2Adapter and TrilogyAdapter
Active Recordの修正です。
Mysql2AdapterとTrilogyAdapterで共通の処理を親クラスのAbstractMysqlAdapterで定義するよう修正しています。
Replace the mysql5 fallback in ActiveRecord.database_cli with mariadb
activerecord/lib/active_record.rbの修正です。
ActiveRecord.database_cliのmysql用フォールバックが、既に廃止されたMacPorts由来のmysql5バイナリを参照していたのを、現在MariaDBが提供しているmariadbを使うよう修正しています。
Merge pull request #58795 from kamipo/worktree-pg-schema-reader-search-path
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rbの修正です。
indexesやforeign_keys、check_constraintsなどが、unqualified nameを使用して検索処理を行っていた為、同名のテーブルが複数のスキーマに存在すると両方のテーブルのインデックスや制約が返ってきてしまっていたのを、primary_keysやtable_optionsと同様にnqualified nameを使用してい一意に絞り込むよう修正しています。
Compute serialize_cast_value_compatible? on the main Ractor
activemodel/lib/active_model/type/serialize_cast_value.rbの修正です。
@serialize_cast_value_compatibleの計算をmain Ractor上で実行するよう修正しています。non-main Ractorだとインスタンス変数の設定が出来ずエラーになってしまう為。
RDoc to Markdown in Action Cable
docの修正です。
引き続きAction CableのdocのフォーマットをRDocからMarkdownに変更しています
Fix tuple where key corrupting later conditions
activerecord/lib/active_record/relation/predicate_builder.rbの修正です。
whereにtuple syntaxとassociationのsyntaxを合わせて使用した際に、associationのcolumnの指定が正しく行われずエラーになってしまうバグがあったのを修正しています。