なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2025/09/18)

2025/09/18分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md

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_jsonjson gem 2.14.0+で正しく動作しなくなっていたのを修正しています。JSONのcoderがより厳密にチェックするようになった&keyに対してもas_json callbackを実行するようになり、hashのキーが数値だと正しく動作しなくなったため、との事です。

参考:Release v2.14.0 · ruby/json