個人的に話したい事メモ。
- Generated Gemfile will include
require: "debug/prelude"
for thedebug
gemrails new
で生成されるGemfileで、debug
gemをロードする際にdebug
ではなくdebug/prelude
をrequireするよう修正。debug
をrequireすると、自動でactivateが行われてしまい、結果、実行時のオーバーヘッド及びメモリ肥大化の原因になる可能性があるとのこと。そのため、gemをロードしただけではactivateされないようにする、かつ、debugger
やbinding.break
等のメソッドを呼べるようにするため、debug/prelude
をrequireするようにした、とのことです。- Feature Request: Push debugger activation to first breakpoint hit instead of require "debug"
- Yield instance to Object#with block
Object#with
のblockにreceiverのインスタンスを渡すよう修正client.with(timeout: 5_000) { |c| c.get("/commits") }
とか書けるようになった
- Include the current transaction in sql.active_record event payloads
sql.active_record
eventのpayloadに、transaction objectを含むよう修正。- DBのtransactionが開始した際に実行される
start_transaction.active_record
eventも追加された。 * Define the new start_transaction.active_record event
- Change BatchEnumerator#destroy_all to return the total number of affected rows
destroy_all
が削除したレコードの件数を返すよう修正
- Deprecate ConnectionPool#connection
ActiveRecord::ConnectionAdapters::ConnectionPool#connection
とActiveRecord::Base.connection
がdeperecatedになった。今後はlease_connection
を使う必要があるActiveRecord::Base.connection
はsoft deprecatedで、使ってもまだdeprecatedメッセージは出ない(デフォルトでは)ActiveRecord::Base.connection
を使用した場合の挙動を制御する為のconfigが別途追加されている- 合わせて読みたい:PoC: Add an option to disable connection checkout caching