https://github.com/rails/rails
MirrorService#mirror が Blob のメタデータを転送するよう修正され、S3・Azure・GCS での `application/octet-stream` 問題が解消されました。Blob#service_metadata を公開し、フォールバックも実装されたことでミラー機構の一貫性と安全性が向上します。
ActiveSupport の Range 拡張が非整数サブレンジで例外を投げていた問題を、Ruby 標準の `Range#cover?` に置き換えて解消し、コードを簡素化しつつ正確な比較を実現しました。
Dev Container に `bundle-cache` ボリュームを追加し、Bundler の依存を永続化して起動時間を短縮するシンプルな実装が導入されました。
バックトレースクリーンナーのデフォルトフィルタとサイレンサーを Ractors.shareable_proc でラップし、Rails.application を Ractor に渡す際の共有エラーを解消した。テスト追加で共有可能性が検証され、既存動作は維持された。
store_accessor が NULL の JSON/Hstore カラムを読み取るとレコードが dirty になるバグを、読み取りロジックを非破壊化し、IndifferentHashAccessor に安全な get を実装することで修正しました。これにより NULL が保持され、不要なコールバックや dirty 判定が発生しなくなります。
ActiveStorage::Variation 用の 16 件のユニットテストを追加し、キー生成やデフォルト設定などコアロジックを外部依存なしで検証できるようにしました。テストのみの変更で Variation の信頼性と保守性が向上します。
ActiveStorage の Blob メタデータ更新をバックグラウンドジョブへ移行し、GCS の 409 コンフリクトを回避しつつインストルメンテーションと拡張性を維持した設計変更です。
`update_all` が alias_attribute 経由でロックカラムを設定した際に生じていたデータ損失とエラーを、キー比較時にエイリアスを正規名へ変換するだけの修正で解消し、全 DB で楽観ロックが正しく機能するようにした。
number_to_delimited の符号処理バグを修正し、負数やプラス記号付き文字列でも正しい区切りが出力されるようになりました。実装は局所的で後方互換性を保ち、関連ヘルパー全体に恩恵を与えます。
InheritableOptions の `==` がハッシュ以外で NoMethodError を起こすバグを、`is_a?(Hash)` ガードに変更し例外を防止。テスト追加で動作を検証し、Rails の比較契約を一貫させました。
`find` に order と offset が ids を超えるケースで発生していた RecordNotFound を、offset 超過時に空配列を返す guard を追加し修正。ordered と unordered の挙動が統一され、回帰テストで全 DB アダプタで検証済み。
`in_order_of` が範囲外整数や未知のenumキーをNULL行として誤判定していたバグを、シリアライズ失敗値を除外するロジックに置き換えて修正し、ドキュメント通りに無視する挙動へ統一した。
`rails new` が vips 未インストールでも失敗しないよう、Gemfile テンプレートで ruby‑vips に `require: false` を付与し、Active Storage が必要な時だけロードする設計に変更しました。
JSONカラムで `coder: ActiveRecord::Coders::JSON` が二重エンコードするバグを、ガードロジックを正規化 coder に合わせて拡張し修正した変更です。
group/having だけの update_all/delete_all がテーブル全行を更新・削除していたバグを、判定ロジックに has_group_by_and_having? を加えてサブクエリ化し修正しました。全アダプタ対応とテスト追加で信頼性が向上しています。
STI の判定フラグ `@finder_needs_type_condition` が `reset_column_information` でクリアされず不整合が起きていた問題を、`Inheritance#reload_schema_from_cache` にリセット処理を追加し解決。テストで動的カラム変更後の正しい動作を確認し、設計は最小変更で既存ロジックに統合された。
ロード済みコレクションで NULL タイムスタンプが原因で発生していた cache_key の例外を、records.filter_map に置き換えることで修正し、テストと CHANGELOG で変更を明示しました。
SQLite3 インメモリDBでのテストが引き起こす SchemaCache 汚染と接続破壊を、テストコードのガードと匿名クラス使用で除去し、順序依存失敗を根絶した修正です。
`apply_filter` が Symbol と String のみを `filter_parameters` に同期するよう変更され、Proc と Regexp の文字列化エントリが除去され、設定の安定性と可読性が向上しました。
macOS の fork テストで PostgreSQL の GSS 暗号化が原因でクラッシュする問題を、テスト設定に `gssencmode: "disable"` を追加して回避し、テストの安定性を向上させました。