https://github.com/rails/rails
Active Storage が ImageProcessing 2.0 に対応し、ruby‑vips と mini_magick の明示的依存と警告メッセージを追加。未検証フォーマットのブロックは環境変数で切替可能に。
FormBuilder#to_partial_path が Builder 以外のサブクラスで nil を返すバグを、String#sub に置換して修正し、カスタムビルダーでも正しいパーシャルパスが得られるようになった。
Composite Primary Key の collection `ids=` ライターで文字列 ID が正しくキャストされず `RecordNotFound` が発生していたバグを、各カラム型に基づくキャストへ置き換えて修正。既存 API の互換性を保ちつつ、フォームからの文字列 ID でも正しく動作するようになった。
複合主キーで文字列 ID を `find` すると空配列が返るバグを、キーコンポーネントごとの型キャストに置き換えることで修正し、互換性と安全性を向上させた変更です。
PostgreSQL の range カラムで Date/Time デフォルトが無効な Ruby になるバグを、サブタイプ固有のキャストへ置き換えて修正し、schema.rb のロードが正常に行えるようにしました。
RedisCacheStore が軽量な redis-client に再実装され、旧実装は DeprecatedRedisCacheStore として分離。:redis オプションは非推奨となり、:url/:client で新ストアを利用できるようになりました。
Action Cable の Redis アダプタが `redis` gem から軽量な `redis-client` に置き換えられ、依存サイズ削減と API の単純化が実現されました。機能的な振る舞いは維持しつつ、接続生成やブロードキャストロジックが新しいクライアントに合わせてリファクタリングされています。
Kernel への Ractor ヘルパーを除去し、内部モジュール ActiveSupport::Ractors に移行したことで、公開 API の肥大化を防ぎつつ既存機能を保持しました。
RedisCacheStore のフェイルセーフに RedisClient::Error を追加し、Sentinel 環境でも例外が安全に抑制されるようにした。定数化と defined? ガードで後方互換性と拡張性を確保し、テストで動作を検証している。
署名付きキャッシュペイロードが不完全でも例外が流出せず、ActiveSupport がエラーレポートしつつ nil を返すように修正しました。これにより破損ペイロードがキャッシュミスとして統一的に扱われ、Rails の堅牢性が向上します。
ActionView の `to_sentence` が空配列でも HTML 安全な空文字列を返すことを保証するテストが追加され、未カバーだったエッジケースが網羅されました。
HostAuthorization がポート付きホストに余分なオプションポートを付与しないよう修正し、malformed Host のブロックを実装。既存の任意ポート動作は保持したまま安全性が向上しました。
Mysql2Adapter#discard! にソケットを IO::NULL にリダイレクトする処理を追加し、フォーク後の子プロセスが親 MySQL 接続を破壊するバグを修正しました。
ImmutableString の true/false オプションとシリアライズの振る舞いをテストで網羅し、ドキュメント通りの動作を保証する変更です。
PostgreSQLの範囲型でクォート内にカンマがあると破損するバグを、クォート対応の正規表現と高速フォールバックで修正し、互換性と安全性を確保した。
ActiveRecord::Store の `<key>_change` と `saved_change_to_<key>` が未変更キーで誤ったペアを返すバグを、キー単位で比較し nil を返すよう修正し、API の一貫性と後方互換性を維持した。
If-Modified-Since のパースを Time.httpdate に置換し、RFC 9110 が定める三形式すべてを受け入れるようにしたことで、条件付き GET が正しく 304 を返すようになりました。
PostgreSQL アダプタが `String#bytesize` に基づくハッシュ化へ変更され、マルチバイトチャネル名の切り詰めによるメッセージロスと誤配信が防止されました。
特殊文字列 "Infinity"、"-Infinity"、"NaN" の Float 変換をテストで網羅し、回帰防止と信頼性向上を実現した。
ActiveSupport::Duration の `in_*` 系メソッドがサブ秒を失うバグを、内部計算を `in_seconds` から正確な `value` に変更し、浮動小数点精度を保持できるように修正しました。