2025/09/18分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Don't add
id_valueattribute alias when attribute/column with that name already exists. - Fix time attribute dirty tracking with timezone conversions.
activestorage/CHANGELOG.md
Don't add id_value attribute alias when id_value is present
activerecord/lib/active_record/attribute_methods.rbの修正です。
id attributeのaliasとして、id_valueが必ずattributeとして追加されるようになっていたのを、同名のattribute/columnが既にある場合、追加しないよう修正しています。
Merge pull request #55688 from Shopify/drop-active-support-benchmar-extension
activesupport/lib/active_support/core_ext/benchmark.rbの修正です。
Benchmark moduleにmsメソッドが定義済みの場合、Benchmark.msを再定義しないよう修正しています。benchmark gemに同名のメソッドが追加されており、そちらが定義されているバージョンの場合に、不要な再定義を避けるため。
参考:Add Benchmark.ms method and enhance realtime with unit parameter
Merge pull request #55303 from zzak/activestorage-engine-config-fixes
Active Storageの修正です。
Active Storageのanalyzersをconfigで空(config.active_storage.analyzers = [])にしても、analyzersが無効化されないバグがあったのを修正しています。合わせて、variant processorを、config.active_storage.variant_processor = :disabledで無効化出来るよう修正しています。無効化した場合、関連するgemがロードされなくてもwarningが出ないようになっています。
Fix time attribute dirty tracking with timezone conversions
activerecord/lib/active_record/attribute_methods/time_zone_conversion.rbの修正です。
time型のattributeに同じ値を複数設定した場合に、値が変更されている(dirty trackingで変更が記録されてしまつ)として扱われてしまうバグがあったのを修正しています。
Fix TransitionTable#as_json compatibility with json 2.14.0
actionpack/lib/action_dispatch/journey/gtg/transition_table.rbの修正です。
TransitionTable#as_jsonがjson gem 2.14.0+で正しく動作しなくなっていたのを修正しています。JSONのcoderがより厳密にチェックするようになった&keyに対してもas_json callbackを実行するようになり、hashのキーが数値だと正しく動作しなくなったため、との事です。