2024/12/14分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Use single query to retrieve indexes in PostgreSQL
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
の修正です。
PostgreSQLでindexの取得SQLがtable内のindex毎に実行されていたのを、1つのSQLでまとめて取得出来るよう修正しています。
Fix rdoc link to SchemaStatements#add_check_constraint
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
のdocの修正です。
validate_check_constraint
メソッドのdoc内のadd_check_constraint
について説明している箇所がAPI docへのリンクになるよう修正しています。
Use Rack's SERVER_PROTOCOL instead of HTTP_VERSION header
actionpack/lib/action_controller/metal/live.rb
の修正です。
HTTP versionを取得するのにHTTP_VERSION
headerを参照していたのを、SERVER_PROTOCOL
headerが定義されている場合はそちらを参照するよう修正しています。現在はそちらのheaderを使用するのが推奨されている為。
参考:Add SERVER_PROTOCOL to SPEC
Merge pull request #53926 from Ridhwana/Ridhwana/solid-queue
rails guidenのActive Job Basics
の修正です。
Solid Queueの説明を追加、及び、guide全体のタイポや言い回しの修正を行っています。
[RF-DOCS] Solid Cache updates in Caching with Rails: An Overview [ci-skip] (#53939)
rails guideのCaching with Rails: An Overview
の修正です。
Solid Cacheの説明を追加、及び、guide全体のタイポや言い回しの修正を行っています。
[RF-DOCS] Asset Pipeline Documentation (Propshaft) [ci-skip] (#53875)
rails guideのThe Asset Pipeline
の修正です。
Sprocketsについての説明を削除し、Propshaftの機能やPropshaftを使用した場合の設定方法などの説明を追加しています。
Merge pull request #53907 from p8/guides/fix-canonical
rails guideの修正です。
canonical
タグの値が正しく設定されてなかったのを修正しています。
railties/test_parser: Cache work done in definition_for.
railties/lib/rails/test_unit/test_parser.rb
の修正です。
テストファイルのメソッド定義箇所を取得するためのパース処理で、結果をキャッシュし同じファイルに対するパースが複数回行われないよう修正しています。
[RF-DOCS] Update Rails Testing Guide [ci skip] (#53872)
rails guideのTesting Rails Applications
の修正です。
guide全体について、説明フローの修正や、言い回しの修正、説明が無かったassertionの追加、などを行っています。
Merge pull request #53918 from riseshia/ensure-gen-unique-sid-when-cache-store
actionpack/lib/action_dispatch/middleware/session/cache_store.rb
の修正です。
ActionDispatch::Session::CacheStore
に、session idsを作成時に既に使用されていないかチェックするcheck_collisions
オプションを追加しています。session idsは128ビットのランダム値を使用しており、衝突する可能性は大分低い筈なのですが、大量に作成が必要なアプリなどで確実に衝突しないかをチェック出来るようにしたい時の為に追加されていります。なお、チェックの為に追加の書き込みが発生する為、デフォルトでは無効になっています。
Remove monkey patches of Range#each and Range#step
activesupport/lib/active_support/core_ext/range/each.rb
の修正です。
サポートしているRubyでは不要になったActiveSupport::TimeWithZone
のためのRange#each
とRange#step
のモンキーパッチを削除しています。
Convert []
in heading to -squarebrackets
in id
guides/rails_guides/markdown.rb
の修正です。
guideの見出しの[]
を-squarebrackets
に変換するよう修正しています。errors
とerrors[]
という見出しがあった場合に、違う値になるようにする為。
Add dot suffix to headings in guides
guides/rails_guides/markdown.rb
の修正です。
見出しの末尾に.
を追加するよう修正しています。
# Before: 1 Introduction 1.1 Welcome to Rails # After: 1. Introduction 1.1. Welcome to Rails
Allow to tag serialized attributes as comparable
activerecord/lib/active_record/attribute_methods/serialization.rb
、
activerecord/lib/active_record/type/serialized.rb
の修正です。
Active Recordのserialized attributesを、deserialized objectで変更があったかどうかを比較出来るよう修正しています。deserialized objectで比較したい場合、serialized
メソッドにcomparable
オプションを指定する必要があります。
serialized :config, type: Hash, coder: JSON, comparable: true
元々はserializedした値でのみ比較だったのですが、それだとserializedの処理に変化があった場合(e.g. 末尾のスペースが削除されるようになった)に大量の変更が発生し、結果DBへの書き込みが増えてしまう、というような問題があった為。
Fix copy in activerecord CHANGELOG
activerecord/CHANGELOG.md
の修正です。
エントリー内のタイポやメソッド名の誤りを修正しています。
Do not validate associated records that haven't changed
activerecord/lib/active_record/autosave_association.rb
の修正です。
値が変わっていない場合、associated recordsに対するvalidationを実行しないよう修正しています。