2023/03/29分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Accept list of composite primary keys in #destroy
activerecord/lib/active_record/persistence.rbの修正です。
destroyメソッドにcomposite primary keyのリストを指定出来るよう修正しています。
Merge pull request #47610 from ghiculescu/less-rake
rails guideの修正です。
各taskを実行するのにrakeを使用している箇所を、railsコマンドを使用するよう修正しています。
Merge pull request #47736 from rails/thread-safety
activesupport/lib/active_support/notifications/fanout.rb
Notifications::Fanoutでsubscribersを保持するのにHashを使用していたのをConcurrent::Mapを使用するよう修正しています。thread safeにする為。
Use compute_if_absent to make sure we don't get race conditions
activesupport/lib/active_support/notifications/fanout.rbの修正です。
先の対応のフォローアップとして、Concurrent::Mapで値が指定されてなかった場合の初期化処理にcompute_if_absentを使用するよう修正しています。race condition対策。
Use bin/rails for Rake commands usage
railties/lib/rails/commands/rake/rake_command.rbの修正です。
Rake commands usageのrailsをbin/railsに修正しています。
Merge pull request #47787 from Shopify/pm/cpk-destroy
activerecord/lib/active_record/persistence.rbの修正です。
不要なidがArrayかどうかのチェックを削除しています。
Merge pull request #47718 from jonathanhefner/command-did_you_mean-load-rake-tasks-only-once
railties/lib/rails/commands/rake/rake_command.rbの修正です。
bin/rails --helpに表示されるコマンドの一覧に、ユーザが定義したrakeタスクも含まれてしまっていたのを、rails及びpluginで提供されているコマンドのみ表示されるよう修正しています。
Merge pull request #47679 from smridge/update-trix
Action Textの修正です。
bundleしているTrixのバージョンを2.0.4に更新しています。Update Action Text's Trix dependencyで同様の対応を行ったのですが、その際にTrixのバージョンが2.0.4ではなく2.0.0になってしまっていた為、再度2.0.4に更新するよう対応しています。
Merge pull request #47640 from a5-stable/add-record-not-destroyed
rails guideのActive Record Callbacksの修正です。
after_destroy, before_destroy 及び around_destroy callbackでActiveRecord::RecordNotDestroyedでraiseされた場合の挙動についての説明を追加しています。
Use bin/rails in generator Base banner
railties/lib/rails/generators/base.rbの修正です。
generatorのbannerでrailsではなくbin/railsを使用するよう修正しています。
Merge pull request #47753 from mscoutermarsh/auto-gen-index-name
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb、
activerecord/lib/active_record/migration/compatibility.rbの修正です。
自動で生成されるindex名について、エラーにならない長さ(62 bytes)になるよう修正しています。生成されるindex名が左記のサイズを超えた場合、エラーにならない長さに調節 + index名がユニークになるようユニークなidを付与するよう修正しています。
# before index_testings_on_foo_and_bar_and_first_name_and_last_name_and_administrator # after idx_on_foo_bar_first_name_last_name_administrator_5939248142
Use idx instead of ix for index prefix
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rbの修正です。
indexのprefixとしてix_を使用していたのを、idx_を使用するよう修正しています。
Merge pull request #47734 from olefriis/add-arel-node-docs-for-binding-parameters-and-plus
activerecord/lib/arel/nodes/node.rbのdocの修正です。
Arel.sqlのdocにbinding parameterを使用する場合の説明とexampleを追加しています。
Alias ActionController::Parameters except as without
actionpack/lib/action_controller/metal/strong_parameters.rbの修正です。
ActiveController::Parametersにexceptのaliasとしてwithoutを定義するよう修正しています。
Fix Gemfile resolution on parser gem
Gemfile.lockの修正です。
rubocop-ast 1.27.0が要求するバージョンとマッチするよう、parser gemを最新バージョンに更新しています。
Fix Enumerable#in_order_of to preserve duplicates
activesupport/lib/active_support/core_ext/enumerable.rbの修正です。
Enumerable#in_order_ofが重複したkeyの値を除外するようになってしまっていたのを、重複した値も保持するよう修正しています。
Merge pull request #47796 from Shopify/pm/read-attribute
activerecord/lib/active_record/attribute_methods/read.rbの修正です。
#read_attribute(:id)にcomposite primary keyのサポートを追加しています。
ActiveModel::Type::SerializeCastValue only compute compatibility once per class
activemodel/lib/active_model/type/serialize_cast_value.rbの修正です。
ActiveModel::Type::SerializeCastValueで値がcompatibleかどうかのチェックをインスタンス毎に行っていたのを、classで行う&値をキャッシュするようにして、各インスタンスで処理を行わないでよいよう修正しています。class共通の値で各インスタンス毎に処理を行う必要は無い値の為。