2021/05/19分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Add
.asc.nulls_first
for all databases. Unfortunately MySQL still doesn't likenulls_last
. ActiveRecord::Base.logger
is now aclass_attribute
.- Fix compatibility with
psych >= 4
.
Support NullsFirst for all databases.
Active Recordの修正です。
asc.nulls_first
がPostgreSQLでだけ動作するようになっていたのを全てのDB(DB側がサポートしている場合)で動作するよう修正しています。
Merge pull request #42230 from ricardotk002/correct-null-flash-api
Action Packの修正です。
sessionがdisableになっている時、空のflash objectを返すよう修正しています。
Make ActiveRecord::Base.logger a class_attribute
activerecord/lib/active_record/core.rb
の修正です。
ActiveRecord::Base.logger
をmattr_accessor
からclass_attribute
に変更しています。ancestor chainが長くなるようなクラスの場合、class variableだとパフォーマンス的に良くない為。 この対応により、直接@@logger
を参照するのが出来なくなったり、子クラスでloggerを変更した場合親クラスには反映されなくなったりしています。
参考: Feature #17763: Implement cache for cvars - Ruby master - Ruby Issue Tracking System
Fix ruby-master test suite (Psych 4.0.0)
Active Record、railtiesの修正です。
Psych 4でload
がデフォルトでsafe modeになってしまった影響でYAMLの設定ファイルとschema cacheをロードする処理が壊れてしまった為、それらの箇所では、YAML.unsafe_load
を使ってPsych 3までと同じパース結果になるよう修正しています。