2019/02/07分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
actionmailbox/CHANGELOG.md
- ActionView::Template.finalize_compiled_template_methods is deprecated with no replacement.
- config.action_view.finalize_compiled_template_methods is deprecated with no replacement.
Allow skipping incineration of processed emails
Action Mailboxの修正です。
processed emailsが強制的に削除されていたのを、削除するかどうかを指定出来るよう修正しています。削除したくない場合、config.action_mailbox.incinerate
にfalseを指定すればOKです。
Merge pull request #35036 from rails/av-base-subclass
Action Viewの修正です。
compiled template methodsをActionView::Base
のsubclassで管理するよう修正しています。
template objectの破棄が正しく行えず、dev環境でmemory leakが発生してしまう、という問題(ActionView leaks memory in dev)がありその対応の一環として行われています。
この修正により改善(DetailsKey
がclearされた際にsubclassが正しくされる)したのですが、まだmemory leakは残っているとの事です。
Active Recordの修正です。
scoping処理のリファクタリングとして、inherited scopeの検索をスキップしたい際に、false
を特別な値として使用していたのをskip_inherited_scope
を使用するよう修正、_scoping
メソッドをRelation
で定義するよう修正、等を行っています。
Fix relation.create
to avoid leaking scope to initialization block and callbacks
activerecord/lib/active_record/relation.rb
の修正です。
relation.create
でレコードを作成する際に、initialization block及びcallbacks実行時にscopeがinitialization block及びcallbackにも影響が出るようになってしまっていたのを、影響が出ないよう修正しています。
relation.create
ではscope attributesを割り当てる為にscoping
を使用しているのですが、scoping
はグローバルに影響を与える為、callbackでクラスレベルのquerying methodsを実行した場合、そちらにも影響を与えてしまっていました。これを回避する為に、initialization block及びcallback実行時に元々のscopeをリストアするよう修正しています。