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

rails/rails

https://github.com/rails/rails

SQLite3カラムの等価比較にrowid属性を追加

SQLite3アダプタのカラム等価比較に`rowid`属性を追加し、`#==`と`#hash`の整合性を修正。異なるrowid特性を持つカラムが誤って等しいと判定される不具合を解消しました。

2026年02月16日 Claude Sonnet 4.5

TransactionRollbackError発生時のROLLBACK文を省略

COMMIT時にTransactionRollbackErrorが発生した場合、ActiveRecordは不要なROLLBACK文の実行を省略するようになりました。データベースエンジンが既にトランザクションをロールバックしているため、その後のROLLBACK文は「進行中のトランザクションがありません」という警告を生成していました。トランザクションを無効化してからロールバック処理を実行することで、PostgreSQLのlibpqから出力される警告ログを根本的に解決しています。

2026年02月16日 Claude Sonnet 4.5

PostgreSQL 19で廃止された文字列リテラル設定によるテスト失敗を回避

PostgreSQL 19で`standard_conforming_strings`の`OFF`設定が廃止されたことに対応し、bytea関連テストをバージョンチェックで条件付きスキップするよう変更。旧バージョンとの互換性を維持しながらテストスイートの保守性を確保。

2026年02月15日 Claude Sonnet 4.5

CombinedConfigurationのコメントを修正し、全クラスで統一

CombinedConfiguration関連クラスのコメントを修正し、3クラス間で記述を統一。EncryptedConfigurationの誤った ENV 参照を削除し、nil値が「キーが存在しない」として扱われる仕様を明示。実装詳細ではなくシナリオベースの説明に統一。

2026年02月15日 Claude Sonnet 4.5

Ruby 3.2の最適化を活用したハッシュ値計算の改善

Ruby 3.2で導入された配列リテラルの最適化を活用し、ActiveRecordの各種データ構造の`#hash`メソッド実装をXOR演算から配列リテラルを使った実装に改善。配列オブジェクトの一時的なメモリ割り当てを回避し、パフォーマンスが向上しています。

2026年02月14日 Claude Sonnet 4.5

仮想カラムと通常カラムの重複排除を分離し、データ損失を防止

SQLite3とPostgreSQLのColumnクラスにおいて、virtual?属性が==とhashメソッドに追加されました。これにより、GENERATEDカラムと通常カラムが誤って重複排除されることがなくなり、INSERT/UPDATE時のデータ損失が防止されます。

2026年02月14日 Claude Sonnet 4.5

devcontainerに非対話的なexecサブコマンドを追加

devcontainerツールに非対話的なexecサブコマンドを追加。TTY不要でコンテナ内のコマンドを実行でき、自動化やエージェントワークフローに対応。mise の明示的な有効化により、ruby や bundle などのツールが確実に PATH に含まれます。

2026年02月14日 Claude Sonnet 4.5

ルーティングヘルパーのmethod_missingをActionController::TestCaseに移動

ルーティングアサーション内の `method_missing` が `ActionController::TestCase` に移動され、コントローラーテストと統合テストでのURLヘルパーアクセスの責務分離が明確になりました。統合テストは既に独自の実装を持つため、時代遅れになったTODOコメントを解消し、機能を適切な場所に配置しています。

2026年02月14日 Claude Sonnet 4.5

Active Storage未使用時のstorage関連エントリをgitignoreから除外

Active Storageをスキップし、かつデータベースがSQLite3以外の場合、生成される`.gitignore`と`.dockerignore`から`storage`関連のエントリが除外されるようになりました。これにより、存在しないディレクトリに対する冗長な無視設定が削除され、生成ファイルの一貫性が向上します。

2026年02月14日 Claude Sonnet 4.5

ActiveStorage::Blobのコンテンツタイプ判定メソッドでnilを安全に処理

ActiveStorage::Blobのコンテンツタイプ判定メソッドが、content_typeがnilの場合にNoMethodErrorを発生させる問題を修正。安全なナビゲーション演算子(&.)を使用することで、未添付Blobのクリーンアップ処理が安全に実行できるようになりました。

2026年02月13日 Claude Sonnet 4.5

JSONGemCoderEncoderがHash型を返すas_jsonを持つオブジェクトをキーとして正しく処理

Rails 8.1.0のJSONGemCoderEncoderで、`as_json`がHashを返すカスタムオブジェクトをHashキーとして使用した際のシリアライズ不具合を修正。`as_json`の戻り値ではなく元のオブジェクトの`to_s`を呼ぶことで、Rails 7.2との一貫性を回復し、ドメインオブジェクトをHashキーとして使用するアプリケーションの正常動作を保証。

2026年02月13日 Claude Sonnet 4.5

テスト内でのAction Mailer設定をload hookで保護

Rails 8.1では、load hookガード機構の導入に伴い、テスト内のAction Mailer設定が `ActiveSupport.on_load(:action_mailer)` ブロックで保護されるようになりました。これにより、コンポーネントの適切な初期化タイミングがテストコードでも保証されます。

2026年02月13日 Claude Sonnet 4.5

ActiveSupport::Multibyte::Charsクラスの削除

既に非推奨となっていたActiveSupport::Multibyte::CharsクラスとString#mb_charsメソッドをRails 8.2に向けて削除。Ruby 2.4以降のネイティブUnicodeサポートへの移行を完了し、ActiveRecordのquotingメカニズムからも参照を除去。

2026年02月12日 Claude Sonnet 4.5

ロードフック実行前のアプリケーション初期化チェック機能を追加

Railsに、ActiveSupport.on_loadフックがアプリケーション初期化前に実行されることを検知する仕組みが導入されました。Rails::Railtieにguard_load_hooksメソッドが追加され、各フレームワークのロードフックに監視機能が設定されます。デフォルトでは警告をログ出力し、config.action_on_eary_load_hookで:raiseに設定することでエラーを発生させることも可能です。

2026年02月12日 Claude Sonnet 4.5

Mail::Address.wrapメソッドの非推奨化

Rails 8.2に向けて、ActionMailboxの`Mail::Address.wrap`メソッドが非推奨となりました。このメソッドはRails内部で使用されておらず、Rails 8.2での完全削除に向けた移行期間が設けられています。

2026年02月12日 Claude Sonnet 4.5

EventReporterのペイロード構築を購読者フィルタリング後に実行

ActiveSupport::EventReporterのイベント通知処理が最適化され、購読者フィルタリングをペイロード構築前に実行するようになりました。フィルタ関数に渡す情報をイベント名のみに制限することで、購読者が存在しない場合の不要なペイロード構築コストを削減しています。

2026年02月11日 Claude Sonnet 4.5

RDocのコードフォーマット記法を修正

ActionView::Helpers::TextHelperのドキュメントで、`+String#sub+`が正しくレンダリングされない問題を修正。RDocの`+`記法はシャープ記号を含むメソッド参照に対応していないため、`<tt>String#sub</tt>`に変更することで、APIドキュメントの表示を正常化しました。

2026年02月11日 Claude Sonnet 4.5

ActiveRecord::Type::JsonのJSON Encoderキャッシュを遅延評価に変更

ActiveRecord::Type::Jsonのクラスロード時のJSON Encoderキャッシュを削除し、ActiveSupport::JSON::Encodingの遅延評価されたEncoderを使用するように変更。これにより、アプリケーション初期化後のJSON Encoderカスタマイズが正しく反映されるようになりました。

2026年02月11日 Claude Sonnet 4.5

DevcontainerとCI設定でValkeyイメージをバージョン9に更新

Rails開発環境で使用されるValkeyのDockerイメージをバージョン8から9に更新。devcontainer、CI設定、テンプレートファイル全体で一貫してバージョンを統一し、既存の設定構造を維持したまま最新版への移行を実現。

2026年02月11日 Claude Sonnet 4.5

Rails 8.0からのMarshalデシリアライズ時のInteger型の回帰修正

Rails 8.0でMarshalシリアライズされた `ActiveModel::Type::Integer` オブジェクトを8.1で読み込むと `NoMethodError` が発生する回帰を修正。パフォーマンス最適化で導入された `@max`/`@min` への変更が、Marshal互換性に影響していた問題を、遅延初期化により解決しています。

2026年02月11日 Claude Sonnet 4.5
前へ 1 2 3 4 5 … 8 次へ

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ