2025/09/20分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Use
PG::Connection#close_prepared(protocol level Close) to deallocate prepared statements when available. - Add
ActiveRecord::Base.only_columns
rails guideのUpgrading Ruby on Railsの修正です。
ActiveRecord -> Active Recordに修正しています。
[Fix #55708] Use process time instead of Time.now in FileUpdateChecker
activesupport/lib/active_support/file_update_checker.rbの修正です。
ファイルの最終更新時刻を計算するのにTime.nowを使用していたのを、process time(Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond))を使用するよう修正しています。Time.nowだと、travel test helperの影響を受けてしまい、本来変更してないにも関わらず、変更していると検知されてしまう事があるため。
Use PG::Connection#close_prepared when available
activerecord/lib/active_record/connection_adapters/postgresql_adapter.rbの修正です。
prepared statementsのdeallocateに、DEALLOCATEコマンドを使用していたのを、使用出来る場合はPG::Connection#close_preparedを使用するよう修正しています。DEALLOCATEはpgbouncerだとサポートされていないが、PG::Connection#close_preparedで実行されるprotocol level Closeはサポートされているため、との事です。
Add only_columns to Active Record
activerecord/lib/active_record/model_schema.rbの修正です。
modelが認識するcolumnsを指定するための、ActiveRecord::Base.only_columnsを追加しています。ignored_columnsと類似の機能ですが、こちらは、定義したcolumnだけが認識されるようになっています。
Swallow error if libvips or ruby-vips gem are missing
activestorage/lib/active_storage/analyzer/image_analyzer/vips.rbの修正です。
libvipsのロードに失敗した場合のエラーをraiseしないよう修正しています。違う箇所で適切なエラーが出るようになっており、ここでのエラーのraiseは不要なため。
Merge pull request #55676 from rails/fxn/encryption-compression-threshold
activerecord/lib/active_record/encryption/encryptor.rbのdocの修正です。
ActiveRecord::Encryption::Encryptor::THRESHOLD_TO_JUSTIFY_COMPRESSION定数について、この値は変更出来ない旨とその理由についてのコメントを追加しています。