DiffDaily Deep & Concise - OSS変更の定点観測
トップに戻る

rails/rails

https://github.com/rails/rails

[Rails] change_table bulk: true のリバート時にテーブル名のプレフィックス/サフィックスが正しく適用されない問題を修正

Railsのマイグレーションで `change_table bulk: true` をロールバックする際、テーブル名のプレフィックス/サフィックスが正しく適用されない問題を修正。`bulk_change_table` 呼び出し時に、元の引数ではなくテーブル定義オブジェクトの `name` プロパティを参照するように変更。

2026年01月12日 Claude Sonnet 4.5

[rails/rails] Ruby 3.3+のRake同梱化に伴うGemfile依存関係の整理

Ruby 3.3以降でRake 13.1.0が標準バンドルされるようになったため、RailsのGemfileから明示的なRakeバージョン制約(>= 13)を削除。依存関係の管理がシンプルになり、Ruby本体の進化に合わせた自然な整理が行われました。

2026年01月11日 Claude Sonnet 4.5

[Rails] ActiveModel::Errors#added? でコールバックオプション付きのクエリが正しく動作しない問題を修正

ActiveModel::Errors#added? メソッドで、コールバックオプション(allow_nil、if、unlessなど)を指定したエラーチェックが常にfalseを返す不具合を修正。strict_match?メソッドで、クエリ側のオプションからもコールバックオプションをフィルタリングすることで、対称的な比較を実現。

2026年01月09日 Claude Sonnet 4.5

[Rails] X-XSS-Protectionヘッダーをデフォルトから削除

Rails 8.2で、すべての主要ブラウザがサポートを終了した`X-XSS-Protection`ヘッダーがデフォルト設定から削除されます。このヘッダーは Rails 7.0で無効化(`0`)されていましたが、今回のアップデートで完全に削除され、セキュリティヘッダーの構成がよりシンプルになります。

2026年01月09日 Claude Sonnet 4.5

[rails/rails] ActionViewのバグレポートテンプレートにテンプレートファイルレンダリング例を追加

ActionViewのバグレポートテンプレートに、テンポラリディレクトリを使用した実際のテンプレートファイルレンダリングのテスト例を追加。パーシャルレンダリングを含む実践的なケースを示すことで、より再現可能で明確なバグレポートの作成を促進する。

2026年01月09日 Claude Sonnet 4.5

[Rails] protect_from_forgery の明示的なストラテジー指定が必須に - デフォルト動作の非推奨化

Rails 8.2で`protect_from_forgery`を戦略指定なしで呼び出すことが非推奨に。新設定`config.action_controller.default_protect_from_forgery_with`により、デフォルトストラテジーが`:null_session`から`:exception`に変更されます。既存コードは`:with`オプションを明示することで移行可能です。

2026年01月09日 Claude Sonnet 4.5

[Rails] 認証ジェネレータのテストテンプレートを改善

Rails認証ジェネレータのテストテンプレートを改善。不要な`User.take`呼び出しを`@user`に置き換え、データベースクエリを削減してテストの効率性と一貫性を向上させました。

2026年01月09日 Claude Sonnet 4.5

[rails/rails] Arel::TreeManagerがテーブルのengineを自動的に使用可能に

Arel::TreeManagerが初期化時に渡されたテーブルのengineを自動的に使用するように改善。これにより、マルチデータベース環境で`to_sql`にengineを明示的に渡す必要がなくなり、コードがより簡潔になりました。

2026年01月09日 Claude Sonnet 4.5

[Rails] PostgreSQLスキーマダンパーにおけるクロススキーマ外部キー参照の修正

PostgreSQLスキーマダンパーで、異なるスキーマ間の外部キー参照を正しくダンプできるよう修正。既にスキーマ修飾されたテーブル名に対して、誤って別のスキーマ名を重複して付与していた問題が解決されました。

2026年01月09日 Claude Sonnet 4.5

[Rails] Uniqueness Validationのクエリ構築時にコネクション取得を不要にする改善

RailsのUniqueness Validationで、クエリAST構築時にデータベースコネクションを取得していた問題を解決。新たに `CaseSensitiveEquality` と `CaseInsensitiveEquality` のArelノードと対応する述語メソッドを追加し、データベース固有のロジックをSQL生成時まで遅延させることで、パフォーマンスとスレッドセーフティを向上させました。

2026年01月09日 Claude Sonnet 4.5

[rails/rails] テストヘルパーの設定をサポートモジュールに集約するリファクタリング

Active Recordのテストスイートにおいて、`helper.rb`に散在していた設定を機能別の4つのサポートモジュールに分離し、`QUOTED_TYPE`定数を`ARTest`名前空間に移動するリファクタリングを実施。これにより、テストコードの保守性と可読性が向上しました。

2026年01月08日 Claude Sonnet 4.5

[Rails] PostgreSQLアダプタのクラス変数初期化をテスト分離に対応

PostgreSQLアダプタの型マッピングコールバック用クラス変数の初期化方法を、`||=` から `defined?` を使用した明示的なチェックに変更。テスト分離実行時の安定性が向上し、未定義状態と `nil` の区別が適切に行われるようになった。

2026年01月08日 Claude Sonnet 4.5

[Rails] PostgreSQLアダプタにカスタム型登録用の公式APIを追加

PostgreSQLアダプタにカスタム型を登録するための公式API `register_type_mapping` が追加されました。これまでmonkey patchが必要だったPostGIS等の拡張型登録が、安全で保守性の高い方法で実現できるようになります。

2026年01月08日 Claude Sonnet 4.5

[rails/rails] GCS Active StorageのIAM署名でADC認証を復元し、クライアントをメモ化

GCS Active StorageでIAMクライアントをメモ化し、ADC認証を復元。以前のPRで削除されていたADC認証を再導入しつつ、クライアントをインスタンス変数でメモ化することで過度なメタデータサーバー呼び出しを抑制。カスタム認証方法の設定も可能になりました。

2026年01月07日 Claude Sonnet 4.5

[Rails] SQLite3のスキーマダンプでAUTOINCREMENTなし整数主キーを正しく復元可能に

SQLite3で非AUTOINCREMENT整数主キーを持つテーブルのスキーマダンプが `default: nil` を無視し、復元時にAUTOINCREMENTが誤って追加される問題を修正。`sqlite_master` テーブルを直接クエリしてAUTOINCREMENTの有無を判定することで、スキーマの忠実な復元を実現。

2026年01月07日 Claude Sonnet 4.5

[rails/rails] PostgreSQL schema_search_pathが再接続・リセット後に正しく再適用されない問題の修正

Rails 8.1のPostgreSQLアダプターにおいて、`schema_search_path`が`reset!`または`reconnect!`実行後にPostgreSQLのデフォルト値に戻ってしまう問題を修正。`clear_cache!`メソッドのオーバーライドと接続時のキャッシュ初期化により、再接続後も設定したスキーマ検索パスが正しく維持されるようになりました。

2026年01月07日 Claude Sonnet 4.5

[Rails] YJIT有効化時の`defined?`チェックを再追加

RailsのYJIT有効化処理で、`RubyVM::YJIT.enable`の`defined?`チェックが再追加されました。Ruby 3.3未満との互換性を保つための防御的な変更です。

2026年01月07日 Claude Sonnet 4.5

[Rails] Ruby 3.3未満の互換性コードを削除

Rails mainブランチがRuby 3.3以上を必須としたことに伴い、古いバージョンとの互換性コードを削除。SecureRandomのパラメータチェック、Range#overlap?の独自実装、Fiber#killのモックメソッドなどが対象。コードベースがよりシンプルで保守しやすくなった。

2026年01月07日 Claude Sonnet 4.5

[Rails] Rails.app.revisionがアプリケーションルートのGitリポジトリを正しく参照するように修正

Rails.app.revisionがカレントディレクトリではなくアプリケーションルートのGitリポジトリを参照するように修正。git -Cオプションの使用、systemメソッドへの移行、IO.pipeを使った安全な出力キャプチャにより、異なるディレクトリからアプリケーションを起動した場合でも正しいリビジョン情報を取得できるようになりました。

2026年01月07日 Claude Sonnet 4.5

[rails/rails] rbenv/rvm環境でのRubyバージョン管理テストの信頼性向上

Railsジェネレータの`.ruby-version`ファイル生成に関するテストが、rbenv/rvm環境で失敗する問題を修正。テストケース内で`RBENV_VERSION`と`rvm_ruby_string`環境変数を明示的に`nil`に設定することで、バージョン管理ツールの影響を排除し、環境依存しない信頼性の高いテストを実現しました。

2026年01月07日 Claude Sonnet 4.5
前へ 1 … 5 6 7 8 次へ

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ