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

rails/rails

https://github.com/rails/rails

`x_sendfile_header` が未設定の場合に `Rack::Sendfile` をスタックから除外

`config.action_dispatch.x_sendfile_header` が `nil` の場合、`Rack::Sendfile` ミドルウェアをスタックへ追加しないよう変更されました。このミドルウェアはヘッダー未設定時にnoopとして動作するため、デフォルト構成から除外することでミドルウェアスタックを簡潔に保ちます。`x_sendfile_header` を明示的に設定しているアプリケーションへの影響はありません。

2026年03月02日 Claude Sonnet 4.6

strict_locals の非ASCII文字デフォルト値で発生するエンコーディングエラーを修正

`File.binread` でロードされたテンプレートで strict locals に非ASCII文字のデフォルト値を使用した際に発生する `Encoding::CompatibilityError` を修正しました。`strict_locals!` が `encode!` より先にキャプチャした `@strict_locals` が ASCII-8BIT タグを引き継ぐことが原因で、`force_encoding(Encoding.default_external)` の追加によりエンコーディングタグを揃えることで解消しています。

2026年03月02日 Claude Sonnet 4.6

Action Text の `to_markdown` における Trix HTML 変換精度の向上

Action Text の `ActionText::MarkdownConversion` で Trix 生成 HTML の変換精度が向上しました。`<del>` タグを打ち消し線として認識するサポートの追加、Trix がデフォルトブロック要素として使用する `<div>` の透過処理、そしてプリティプリント済み HTML のインデントホワイトスペースが Markdown 出力に漏れ出す問題の修正が含まれています。

2026年02月28日 Claude Sonnet 4.6

Action CableとAction Dispatchのロードフック保護を解除

`action_dispatch_request`と`action_cable`のロードフック保護を解除。これらは本番環境で起動時に必ずロードされるため、遅延ロードを前提とした保護が実質的に機能していませんでした。実際のロード動作に合わせて保護対象を見直し、保護機能の有効性を高めています。

2026年02月28日 Claude Sonnet 4.5

Action TextのBlobアタッチメントがMarkdownリンクを生成

Action Textの`to_markdown`メソッドに`attachment_links`パラメータが追加され、レンダリングコンテキストが利用可能な場合にActiveStorage::Blobアタッチメントを実際のMarkdownリンク(画像は`![title](url)`、非画像は`[title](url)`)として出力できるようになりました。デフォルト動作は従来通りプレースホルダー形式を維持し、既存コードへの影響を最小限に抑えています。

2026年02月28日 Claude Sonnet 4.5

disconnect後もピン留めされたコネクションをプールに保持

`disconnect!` 実行後もピン留めコネクションを `@connections` 配列に保持する修正。これにより `connected?` 判定とクエリキャッシュの動作が正常化します。

2026年02月27日 Claude Sonnet 4.5

コレクションキャッシュでキャッシュストアのデフォルト有効期限を保持するよう修正

ActionView::PartialRendererのコレクションキャッシュで、expires_in未指定時にキャッシュストアのデフォルト有効期限が上書きされるリグレッションを修正。キーの存在チェックにより、デフォルト設定の活用と明示的な有効期限指定の両方をサポート。

2026年02月27日 Claude Sonnet 4.5

リロード時のExecutionContext破損を修正

`ActiveSupport::Reloader#reload!` 実行時に `ExecutionContext` が破損する問題を、新たに追加した `flush` メソッドによって修正。スタック深度を保持したままコンテキスト内容をクリアすることで、テスト環境でのネストされた実行コンテキストとリロード機能の両立を実現。

2026年02月27日 Claude Sonnet 4.5

HTTP認証メソッドにContent-Type指定機能を追加

HTTP認証の401レスポンスにContent-Typeを指定できる機能を追加。`http_basic_authenticate_with`などのメソッドで`content_type`パラメータが使用可能になり、JSONベースのAPIでの認証エラーレスポンス形式の統一が実現されました。

2026年02月26日 Claude Sonnet 4.5

minitest 6.0.2対応に伴うminitestサーバープラグインの読み込み処理を削除

minitest 6.0.2が`--bisect`オプションをネイティブサポートしたことで、Rails側で行っていたminitestサーバープラグインの明示的な読み込み処理が不要になり、削除されました。

2026年02月26日 Claude Sonnet 4.5

SQLite3テストコードでのprivateメソッド呼び出しを修正

Rails 8.0のSQLite3アダプターテストで、privateメソッド `lookup_cast_type` の呼び出しを削除し、`Column` の初期化を簡素化しました。8.0では `cast_type` パラメータが不要なため、`nil` を渡すことでテストコードの保守性とカプセル化を改善しています。

2026年02月26日 Claude Sonnet 4.5

Action TextのMarkdown変換で通常テキストをエスケープ処理

Action TextのMarkdown変換で、テキストノード内のMarkdownメタ文字(`#`、`*`など)をエスケープする処理が追加されました。Attachmentの表現は`<action-text-markdown>`要素で保護され、`escape_markdown_text`メソッドが公開APIとなり独自Attachableの実装に利用可能になりました。

2026年02月26日 Claude Sonnet 4.5

ActionTextの削除済み添付ファイルをプレーンテキストでも「☒」として表示

ActionTextで削除済み添付ファイルを `to_plain_text` で変換する際に、HTML表示と同じ「☒」記号が表示されるようになりました。`MissingAttachable` に `attachable_plain_text_representation` メソッドを追加することで、HTML・プレーンテキスト・Markdownの全形式で一貫した表現が実現されています。

2026年02月26日 Claude Sonnet 4.5

Arel Or ノードのネストを回避してスタックオーバーフローを防止

Arelの Or ノードをN項演算として扱う改善により、大量のRange条件でのスタックオーバーフローを防止。`inject` による段階的構築から全述語を一括で渡す方式に変更し、深いネスト構造を解消しました。

2026年02月26日 Claude Sonnet 4.5

テストコードでの環境変数参照を定数スタブに置き換え

環境変数`RAILS_HOST_APP_PATH`の参照を定数経由に変更し、テストコードでは`ENV`の直接操作から定数スタブへ移行。テストの独立性と保守性を向上させるリファクタリング。

2026年02月25日 Claude Sonnet 4.5

Ruby 4.0のdelegator警告を回避するためinspectメソッドの実装を修正

Ruby 4.0で`Kernel#inspect`が`instance_variables_to_inspect`を呼び出すようになったことで、RailsのDelegateClassサブクラスで警告が発生する問題を修正。privateメソッドをdelegatorクラス自身に定義することで委譲チェーンを回避し、既存の`inspect`実装の意図を維持しながらRuby 4.0との互換性を確保。

2026年02月25日 Claude Sonnet 4.5

Action TextのMarkdown変換における安全性とエッジケースの改善

Action Textの `to_markdown` 機能において、コードブロックの空白文字保持、リンクURLのエンコーディング、URIプロトコルチェックの強化が行われました。`rails-html-sanitizer` への依存により、より堅牢なセキュリティ検証が実現されています。

2026年02月25日 Claude Sonnet 4.5

protected_environmentsをActiveRecordモジュールに移動

protected_environmentsがActiveRecordモジュールのトップレベルに移動され、グローバル設定として管理されるようになりました。class_attributeのような継承動作を持ちながら、実際にはグローバル設定としてのみ利用されていた実装上の矛盾を解消し、設定の意図をコードに明示しています。

2026年02月24日 Claude Sonnet 4.5

Action TextにMarkdown変換機能を追加

Action TextにMarkdown変換機能(`to_markdown`)を追加。既存の`to_plain_text`と同様のインターフェースで、リッチテキストコンテンツを書式情報を保持したまま変換可能に。各アタッチメント型にMarkdown表現をカスタマイズできる`attachable_markdown_representation`も実装され、LLMエージェントとの統合や書式保持が必要な処理で活用できます。

2026年02月24日 Claude Sonnet 4.5

SidekiqのTesting API変更に対応した統合テストアダプタの修正

Rails 8.1 stableでSidekiq 8.1.1の新Testing APIに対応し、統合テスト実行時の非推奨警告を解消。メソッドの存在チェックにより新旧両方のAPIに対応する条件分岐を実装しました。

2026年02月24日 Claude Sonnet 4.5
1 2 3 … 8 次へ

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ