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

rails/rails

https://github.com/rails/rails

パラメータフィルタの冗長なパターンを最適化

Active Recordの暗号化機能が自動登録する大量のフィルタパターンによるパフォーマンス問題を解決。プリコンパイル段階で冗長なパターンを検出・削除し、単一の正規表現に統合することで、フィルタリング処理を効率化しました。

2026年02月10日 Claude Sonnet 4.5

filter_parametersの組み合わせ爆発を回避

Active Record暗号化使用時にfilter_parametersが指数関数的に増加し、属性フィルタリングのパフォーマンスが著しく低下する問題を修正。継承された属性と新規属性を区別することで、組み合わせ爆発を防ぎます。

2026年02月10日 Claude Sonnet 4.5

Active Recordに永続化メソッド用のトランザクションカスタマイズポイントを追加

Active Recordに永続化メソッドが暗黙的に作成するトランザクションをカスタマイズできる`implicit_persistence_transaction`メソッドが追加されました。モデル単位でトランザクション分離レベルの指定や、既存トランザクション内での二重トランザクション回避が可能になります。

2026年02月09日 Claude Sonnet 4.5

Dalli 5へのアップグレード

memcachedクライアントライブラリDalliをバージョン5にアップグレード。Dalli 4.1.0以降で非推奨とされていたバイナリプロトコルに関する警告を解消し、テストコードにバージョン判定による条件分岐を導入することで、Dalli 4/5両方での動作互換性を確保。

2026年02月08日 Claude Sonnet 4.5

Dalliのバージョンを4.x系に固定

Dalli 5.0.0でバイナリプロトコルが削除されたことでRailsのテストが実行不能になったため、メタプロトコル対応が完了するまでの暫定措置としてdalliのバージョンを4.x系に制約しました。

2026年02月08日 Claude Sonnet 4.5

ActiveRecord::Relation#valuesをnodoc化

`ActiveRecord::Relation#values`メソッドが`:nodoc:`としてマークされ、内部メソッドとして扱われることが明確化されました。メソッド自体は削除されず、ドキュメントから除外されることで、互換性を保ちながらAPI境界の明確化を実現しています。

2026年02月07日 Claude Sonnet 4.5

ThroughReflectionにおける複合主キーの処理を修正

ThroughReflectionが複合主キーを正しく処理できていなかった問題を修正。配列判定と要素ごとの文字列変換を追加し、has_many through関連付けでの複合主キー使用時に発生していたActiveRecord::UnknownAttributeReferenceエラーを解消しました。

2026年02月07日 Claude Sonnet 4.5

Rails.app.revisionが環境変数REVISIONに対応

Rails.app.revisionがENV["REVISION"]を優先的に参照するようになり、デプロイメントプロバイダーが設定する環境変数を直接利用できるようになりました。これにより、REVISIONファイルの作成やGitリポジトリの同梱が不要になります。

2026年02月06日 Claude Sonnet 4.5

DevcontainerのRubyバージョンを4.0.1に更新

Railsの開発環境で使用するRubyを4.0.1に更新。rails/devcontainerリポジトリでのサポート追加に追従し、Dockerfileのバージョン指定を更新した変更。

2026年02月06日 Claude Sonnet 4.5

Bundler 4.0.6へのアップデートで部分的な依存解決の問題を修正

Rails開発環境でBundler 4.0.4において`bundle update <gem>`が失敗する問題を修正。Bundler 4.0.6へのアップデートにより、Gitモノレポ環境での依存解決が正常に機能し、個別のgemを更新できるようになりました。

2026年02月05日 Claude Sonnet 4.5

キャッシュのデシリアライズエラーをcache missとして扱う安全な実装

キャッシュバックエンドから破損したデータが返された場合に、デシリアライズエラーをキャッシュミスとして扱う仕組みが導入されました。エラーレポーターへの報告とキャッシュミスへの変換という二段階アプローチにより、アプリケーションの堅牢性と監視可能性を両立しています。

2026年02月05日 Claude Sonnet 4.5

AttributeSet::YAMLEncoderをModuleに変更してメモリ効率を改善

ActiveModel::AttributeSet::YAMLEncoderをClassからModuleに変更し、テーブルごとのインスタンス生成を不要にしました。default_typesをパラメータとして渡す設計により、メモリ効率が向上し、スキーマ再読み込み時の状態管理が削減されています。

2026年02月05日 Claude Sonnet 4.5

Active Record Migrationsガイドの用語を最新化

Active Record Migrationsガイドにおいて、古い「PgAdmin III」を「pgAdmin」に更新し、外部キー制約の説明で誤って使われていた「reviewers」を「authors」に修正しました。

2026年02月05日 Claude Sonnet 4.5

INSERT実行時のプライマリキー検索をスキーマキャッシュで高速化

INSERT実行時のプライマリキー検索が、データベース直接問い合わせからスキーマキャッシュ経由に変更されました。生SQLでのINSERT実行時に、2回目以降はスキーマ取得のためのデータベースアクセスが不要になります。

2026年02月04日 Claude Sonnet 4.5

コネクション固定時の不要な検証処理を削除

Active Recordのコネクションプールにおいて、コネクション固定時の不要な検証処理が削除されました。最近使用されたコネクションを再検証しないロジックを活用することで、パフォーマンスと信頼性のバランスが改善されています。

2026年02月03日 Claude Sonnet 4.5

Query Log Tagsにクエリ本文を渡せるように変更

Query Log TagsのコンテキストにSQL文字列が追加され、クエリの内容に応じた動的なタグ付けが可能になりました。これにより、レプリカ振り分けのデバッグなど、SQLクエリの特性に基づいた詳細な情報をログに付与できます。

2026年02月03日 Claude Sonnet 4.5

テストスキーマの検証時に一時的な接続プールを単一化して高速化

テストスキーマ検証時に各データベースで2回発生していた接続プール作成を1回に削減。`load_schema_if_pending!`が単一の接続プールで複数のチェックを実行するよう再構成され、複数データベース環境でのテスト起動時間が改善されました。

2026年02月02日 Claude Sonnet 4.5

rescue_from_handledイベントに完全なバックトレースを格納

Rails 8.2では`rescue_from_handled.action_controller`イベントに完全なバックトレースを格納できるようになりました。`config.action_controller.rescue_from_event_backtrace = :array`により、Active Jobイベントとの一貫性を確保しながら、詳細なエラートラッキングが可能になります。

2026年02月02日 Claude Sonnet 4.5

insert_all!にunique_byオプションを追加

ActiveRecordの`insert_all!`メソッドに`unique_by`オプションが追加され、`insert_all`との機能的な一貫性が確保されました。これにより、重複時に例外を発生させる場合でも、特定のユニークインデックスを指定した競合検出が可能になります。

2026年02月01日 Claude Sonnet 4.5

ActionText::Attachableのメソッド可視性をpublicに変更

ActionText::Attachableのread_attribute_for_serializationメソッドをpublicに変更。ActiveModel::Serializationの可視性変更に追従し、active_model_serializersとの互換性を回復。

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

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ