2023/08/31分のコミットです。
CHANGELOGへの追加はありませんでした。
Clarify deprecation warning for alias_attribute
activemodel/lib/active_model/attribute_methods.rb
、
activerecord/lib/active_record/attribute_methods.rb
の修正です。
alias_attribute
でattributeでないメソッドに対してaliasが設定されている場合に出力されるdeprecateメッセージを改善し、問題となっているメソッド名などの詳細も表示されるよう対応しています。
Merge pull request #49082 from fatkodima/profile-tests
railties/lib/minitest/rails_plugin.rb
の修正です。
test runnerにテスト実行時間のprofileの為の機能を追加しています。rspec
の--profile
と同じような機能です。
Allow KILL queries on read-only connections for mysql
activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb
の修正です。
read-only connectionに対してKILL
QUERYを実行出来るよう修正しています。KILL
はreplicaに対して実行しても問題無い(何もwriteはしない)為。
Merge pull request #49078 from ilyaabramovich/patch-1
rails guideのActive Record Query Interface
の修正です。
Merging of Scopes
の項で生成されるSQLのexampleが実際に生成されるSQLと異なっていたのを修正しています。
[skip ci] Trilogy description added for rails 7.1 release note
rails guideのRuby on Rails 7.1 Release Notes
の修正です。
Trilogy
adapterについての詳細な説明を追加しています。
[skip ci] ActionView notable changes added to 7.1 release note
rails guideのRuby on Rails 7.1 Release Notes
の修正です。
Action ViewのNotable changesについての説明を追加しています。
[skip ci] ActionJob notable changes added to 7.1 release note
rails guideのRuby on Rails 7.1 Release Notes
の修正です。
Active JobのNotable changesについての説明を追加しています。
Optimize ActiveRecord::LogSubscriber#query_source_location
Active Record、Active Supportの修正です。
ActiveRecord::LogSubscriber#query_source_location
でsourceを取得する際に、Ruby 3.2以上の場合はThread.each_caller_location
を使用するよう修正しています。元々はKernel#caller
を使用していたのですが、stackのサイズが大きくなればなるだけ実行が遅くなってしまう為、アプリによってはこのsource取得処理が大変遅くなってしまっていました。そのため、Thread.each_caller_location
を使用して必要な最初のメソッド呼び出し部分だけを取得するようにして、高速に処理が行えるよう改善しています。
参考: Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
Prevent NoMethodError
in extract_value when specifying non-existent keys
actionpack/lib/action_controller/metal/strong_parameters.rb
の修正です。
ActionController::Parameters#extract_value
メソッドに存在しないkeyを指定した場合に、NoMethodError
をraiseしていたのをnilを返すよう修正しています。