2025/09/12分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Do not inline process mailers when calling deliver_all_later
actionmailer/lib/action_mailer/message_delivery.rbの修正です。
deliver_all_laterを使用した場合に、mailerのinline processが2回行われてしまうバグがあったのを修正しています。
Emit structured debug events in development only
railties/lib/rails/application/bootstrap.rbの修正です。
Event Reporterのdebug eventの発行が、デフォルトでdevelopmentとtestで有効になっていたのを、developmentでだけ有効化するよう修正しています。色々議論があった結果、testでdebug eventが実行される必要はないだろう、となったとの事です。
Active Storageのdocの修正です。
既に存在しない、ActiveStorage::RepresentationsControllerについて言及している箇所がdocに残っていたのを修正しています。
If a serialized job is decoded when ActiveSupport.parse_json_times is true, use the Time object
activejob/lib/active_job/core.rbの修正です。
ActiveSupport.parse_json_timesがtrueになっている環境でjobのargumentsのserializeをした場合に、enqueued_at及びscheduled_atをdeserializeする際にエラーになってしまうバグがあったのを修正しています。
Restore exact behavior of AJ Arguments.serialize
Active Jobの修正です。
Active Jobのargumentsのserialize処理の性能改善を行った、Optimize Active Job argument serialization by ~5xの影響で、Arguments.serializeの挙動が変わってしまった(元々は#mapが定義されているobjectだけを受け付けていたが、どんなobjectでも受け付けるようになった)のを、serializeメソッドは元に戻し、そこから性能改善を行ったメソッドを呼び出す形に修正しています。Arguments.serializeはpublicメソッド、かつ、この変更で影響を受けてしまった処理があったためのようです。
Merge pull request #55651 from eqladios/do-not-add-seed-step-when-using-skip-active-record
railties/lib/rails/generators/rails/app/templates/config/ci.rb.ttの修正です。
rails newに--skip-active-recordが指定された場合に、ci.rbにdb:seedを実行する処理を含まないよう修正しています。
Merge pull request #55660 from chaadow/add_more_tests_for_deliver_all_later
actionmailer/test/message_delivery_test.rbの修正です。
ActionMailer.deliver_all_laterにarrayを渡した場合のテストを追加しています。
Merge pull request #55663 from byroot/aj-obj-serializer-template
activejob/lib/active_job/serializers/object_serializer.rbの修正です。
serializeメソッド実行毎にhashを生成していたのを、生成していた値をコンストラタで生成&freezeして、メソッド呼び出しごとにhashが生成されないよう修正しています。
RateLimiting: support method names for :by and :with
actionpack/lib/action_controller/metal/rate_limiting.rbの修正です。
rate_limitメソッドの:byと:withオプションに、メソッド名を指定出来るよう修正しています。
class SignupsController < ApplicationController rate_limit to: 10, within: 1.minute, with: :redirect_with_flash private def redirect_with_flash redirect_to root_url, alert: "Too many requests!" end end