laravel/framework v13.31.0 ==== https://github.com/laravel/framework/releases/tag/v13.31.0 ## Laravel Framework リリースノート概要 ### 認証・セッション - ユーザー認証前に、パスワードハッシュが保存済みクッキーの内容と一致するか検証するよう改善。 - リコーラークッキーに一致するユーザーが存在しない場合に発生する型エラーを修正。 - `ArraySessionHandler` に、PHP 9.0で必須となる `create_sid()` メソッドを追加。 ### キュー・ワーカー - キューの総サイズを取得する `totalSize` メソッドを追加。 - ワーカー停止イベントに、強制終了されたワーカーの接続情報とキュー名を含めるよう変更。 - `JobInterrupted` イベントを追加。 - Redisキュードライバーをクラスタ環境に対応。複数ノードでの一括処理やキュー名取得を改善。 - `RateLimited` ジョブミドルウェアが、ジョブをブロックしない制限まで消費してしまう問題を修正。 ### データベース・Eloquent - `lazy()` と `lazyById()` が `limit()` および `offset()` を無視する問題を修正。 - `BelongsToMany` のピボットモデルで、関連モデルを自動的に参照する機能を追加。 - ピボットテーブル操作で `wherePivot()` のクロージャスコープが無視される問題を修正。 - ソフトデリート用カラムにクエリのテーブルエイリアスを付与するよう改善。 - マイグレーション中もEloquentが直接のデータベース接続を使うよう修正。 - 親クラスから `UsePolicy` 属性と `UseEloquentBuilder` 属性を解決できるよう改善。 ### アプリケーション基盤・ルーティング - `route:cache` 実行時に新しいアプリケーションが起動した後も、元のコンテナインスタンスを復元するよう修正。 - 特定の状況でルートURLが正しく生成されない問題を修正。 - 例外発生後に、自己構築処理のビルドスタックが適切にクリーンアップされない問題を修正。 - 遅延コールバック内で登録されたコールバックも正しく遅延実行されるよう修正。 - 並行プロセスへコンテキストが引き継がれない問題を修正。 - `withFreshQueryLog()` のクロージャ戻り値の型定義を改善。 - `defer` 処理を専用ルールへ委譲するよう整理。 ### Redis・HTTP・メール - phpredisで接続リセットが警告として発生した場合に、コマンドを再試行するよう改善。 - phpredisのクラスタ接続へ `command_retries` 設定を引き継ぐよう修正。 - HTTPクライアントのメモリリークを修正。 - Resendトランスポートで、メッセージIDとヘッダーが保持され続ける問題を修正。 - メールおよび通知のフェイクに、実行回数が1回であることを検証する `once` アサーションを追加。 - 非推奨例外の処理をMonologに委譲。 ### テスト・開発者体験 - `assertJsonMissingPath()` がワイルドカードを無視する問題を修正。 - 高階プロキシのジェネリック型定義を改善。 - 共通テストフィクスチャを整理・重複排除。 - パラメータのドキュメントブロックと実際のネイティブシグネチャが矛盾する問題を修正。 - Viteに `devServerUrl()` を追加。 - JSON:APIリソースのスタブから未使用のリクエストインポートを削除。 - Laravel Cloud向けのメモリ超過終了コードにデフォルト値を設定。 ### その他 - PHP 9.0対応に向けた互換性改善。 - 依存アクションの更新、コードスタイル修正、ブランチ統合などのメンテナンスを実施。