2022/08/02分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Merge pull request #45714 from simi/proper-verbose-cleanup
activerecord/lib/active_record/tasks/database_tasks.rbの修正です。
target versionのチェック処理より先にMigration.verboseの指定処理を行うよう修正しています。テストでverboseの値が誤って設定されてしまうのを防ぐ為。
Allow templates to define which locals they accept.
actionview/lib/action_view/base.rb、
actionview/lib/action_view/template.rbの修正です。
templateで受け付けるlocals変数を定義出来るよう修正しています。 定義は、locals マジックコメントで定義出来るようになっています。
<%# locals: (message:) -%> <%= message %>
この定義でデフォルト値も指定出来るようになっています。
<%# locals: (message: "Hello, world!") -%> <%= message %>
Rename 'Explicit LocalstoStrict Locals`
Action Viewの修正です。先のlocals変数の定義について、名称をExplicit LocalsからStrict Localsに変更しています。
Fix Cache::NullStore with local caching for repeated reads
activesupport/lib/active_support/cache/strategy/local_cache.rbの修正です。
Cache::NullStore + local cachingで同じkeyに対するread処理を複数回行った場合に、エラーになってしまう事があったのを修正しています。
find_or_create_by: handle race condition by finding again
activerecord/lib/active_record/relation.rbの修正です。
find_or_create_by(!)メソッドの実装が、find_by || create(!)だったのを、find_by || create_or_find_by(!)に変更しています。unique constraintによりレコードの作成に失敗したようなケースで、レコードの取得が出来るようにする為。
actionview/lib/action_view/helpers/date_helper.rbの修正です。
i18nで独自のmonth_namesを定義している場合に、date helperのrender時にcan't modify frozen Arrayが発生してしまうバグがあったのを修正しています。
Accept empty list of attributes for insert_all, insert_all! and upsert_all
activerecord/lib/active_record/insert_all.rbの修正です。
insert_all(!)、upsert_allに空のattributesのリストを指定出来るよう修正しています。空のリストが指定された場合、処理は行われず、ActiveRecord::Result.emptyを返るようになっています。
Fix flaky tests for RedisCacheStore
activesupport/test/cache/behaviors/cache_store_behavior.rb、
activesupport/test/cache/stores/redis_cache_store_test.rbの修正です。
テストの中でテストで使用しているcache storeのnamespaceをnil化していたのを、しないよう修正しています。パラレルでテストを実行した場合に、他のテストに影響が出てしまう可能性がある為。