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

rails/rails

https://github.com/rails/rails

devcontainer環境のエラーページでエディタリンクを動作させる仕組み

Rails をコンテナ環境で実行する際、エラーページの「エディタで開く」リンクが動作しない問題を解決する `RAILS_HOST_APP_PATH` 環境変数が追加されました。コンテナ内部のパスをホストマシンのパスに変換することで、devcontainer や Docker 環境でもエディタ連携が正常に機能するようになります。

2026年02月24日 Claude Sonnet 4.5

Ruby 4.0の`instance_variables_to_inspect`フックを活用した`inspect`メソッドの統一

Rails内の56個のクラスで個別実装されていた`inspect`メソッドを、Ruby 4.0の`instance_variables_to_inspect`フックを活用する統一的な実装に置き換え。`ActiveSupport::InspectBackport`モジュールにより旧バージョンでも同じインターフェースを提供し、秘密鍵の保護などの既存の意図を保ちながらコードの重複を排除。

2026年02月24日 Claude Sonnet 4.5

非STIモデルの`new`メソッドを最適化してRuby 4.0の高速化パスを有効化

Active Recordの`Base.new`を最適化し、STIを使用しないモデルで不要なSTIチェックを条件付きで除去。Ruby 4.0の「fast path allocation」を活用して、非STIモデルのオブジェクト生成が15~17%高速化されました。

2026年02月24日 Claude Sonnet 4.5

Sidekiq 8.1.1対応:テスト用インラインモード設定の修正

Sidekiq 8.1.1で非推奨となった`sidekiq/testing/inline`への対応。`respond_to?`による判定で新旧両方のAPIをサポートし、バージョン間の互換性を維持。

2026年02月24日 Claude Sonnet 4.5

SQLite3の生成カラムにおける等価性判定の修正

SQLite3アダプタで生成カラムの等価性判定が修正され、storedとvirtualの異なるタイプが正しく区別されるようになりました。virtual?からgenerated_typeへの比較変更により、eql?/hash契約違反が解消されます。

2026年02月24日 Claude Sonnet 4.5

トランザクション開始をインストルメンテーション前に実体化

遅延トランザクション実体化において、BEGIN/SAVEPOINTの実行時間が二重計上されていた問題を修正。トランザクションの実体化をインストルメンテーション前に移動することで、各SQLイベントが独立した時間範囲を持つようになり、パフォーマンス計測の正確性が向上しました。

2026年02月19日 Claude Sonnet 4.5

フレームワーク内部イベントのペイロードフィルタリングを無効化

フレームワーク内部イベントのペイロードフィルタリングを無効化し、config.filter_parametersがSQLクエリ名などのメタデータを誤って隠す問題を解決。EventReporterにfilter_payload:オプションを追加し、StructuredEventSubscriberで一括適用。

2026年02月19日 Claude Sonnet 4.5

Date/Timeにこの週・月・年を判定するメソッドを追加

DateとTimeオブジェクトに、現在の週・月・年に属するかを判定する`this_week?`、`this_month?`、`this_year?`メソッドが追加されました。既存の`today?`などと同様のインターフェースで、時間範囲判定をシンプルに記述できます。

2026年02月18日 Claude Sonnet 4.5

リモートIPアドレス計算の最適化

クライアントIPアドレスの取得処理を最適化し、約3倍の性能向上を実現。配列操作の削減と早期リターンの導入により、本番環境でのボトルネックを解消しました。

2026年02月18日 Claude Sonnet 4.5

Railtiesテストの実行時間を再調整

RailsのCI環境におけるrailtiesテストの並列実行を最適化するため、各テストファイルの推定実行時間を実測値に基づいて再調整。データベーステストの過大評価を是正し、設定・コンソールテストの過小評価を修正することで、ワーカー間の負荷分散を改善しました。

2026年02月18日 Claude Sonnet 4.5

ロードフック保護機能のタイポを修正

#56201で導入されたロードフック保護機能に含まれていた2箇所のタイポ(eary→early、appliction→application)を修正。設定名、ドキュメント、エラーメッセージが正しい表記に統一されました。

2026年02月18日 Claude Sonnet 4.5

core_ext/benchmark.rbを非推奨から無言のshimに復帰

Rails 8.1で、core_ext/benchmark.rbの非推奨警告を削除し、空のファイルとして維持する変更。既存コードとの互換性を保ちつつ、将来の拡張の余地を残す設計判断。

2026年02月18日 Claude Sonnet 4.5

core_ext/benchmark.rbを将来の拡張点として保持

一度非推奨となった `core_ext/benchmark.rb` が「silent shim」として復活。現在Benchmark拡張を持たないものの、将来の拡張点として保持する設計判断が示されました。

2026年02月18日 Claude Sonnet 4.5

AutoFilteredParametersモジュールを内部実装としてマーク

Active Recordの暗号化機能の内部実装である`AutoFilteredParameters`クラスを`:nodoc:`でマークし、公開APIドキュメントから除外。フィルタパラメータ管理の統合に向けた段階的な削除プロセスの第一段階として、将来の実装削除時の影響を最小化する準備を整えています。

2026年02月18日 Claude Sonnet 4.5

ActiveModel::Attributesの遅延読み込みを修正

`ActiveModel::Attributes`モジュールの遅延読み込みの問題を修正し、`rails app:update`などのコマンド実行時間を短縮しました。autoloadの定義位置を実モジュール内に移動することで、意図しない即座読み込みを防いでいます。

2026年02月18日 Claude Sonnet 4.5

AppBaseから未使用のopen-uri requireを削除

16年前に追加され未使用だった `open-uri` requireを `rails/generators/app_base.rb` から削除。`rails app:update` の起動時間短縮に貢献。

2026年02月17日 Claude Sonnet 4.5

`in_batches`で`use_ranges`とlimitの組み合わせ時に負のLIMITが発生する不具合を修正

Active Recordの`in_batches`で`use_ranges: true`とlimitを組み合わせた際、limitがバッチサイズの倍数でない場合に負のLIMIT値が発生する不具合を修正。`values_size`の計算ロジックを改善し、残件数管理を正確にすることで、データベースエラーを回避できるようになりました。

2026年02月17日 Claude Sonnet 4.5

無効なHTTPメソッドで405エラーが500になる問題を修正

Rails 7.2.3で無効なHTTPメソッドのリクエストが500エラーになっていた問題を修正。`DebugExceptions`ミドルウェアで`request.head?`を`request.raw_request_method`に置き換えることで、例外の二重発生を防ぎ、適切な405 Method Not Allowedステータスを返すようにしました。

2026年02月17日 Claude Sonnet 4.5

KamalのデプロイテンプレートでMySQL Imageを8.4に更新

Kamalのデプロイ設定テンプレートで参照されるMySQL Dockerイメージが8.0から8.4に更新されました。新規プロジェクト生成時のデフォルト設定の更新であり、既存プロジェクトへの影響はありません。

2026年02月16日 Claude Sonnet 4.5

Column#hashメソッドで誤ったインスタンス変数を参照していた問題を修正

PostgreSQLとSQLite3のColumnクラスにおいて、#hashメソッドが存在しないインスタンス変数(@virtual)を参照していた問題を修正。PostgreSQLでは@generated、SQLite3では@generated_typeという正しいインスタンス変数に置き換えることで、Columnオブジェクトのハッシュ値計算が正しく動作するようになりました。

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

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ