laravel/framework v12.51.0 ==== https://github.com/laravel/framework/releases/tag/v12.51.0 # Laravel フレームワーク リリースノート要約 ## 型ヒント・型定義の改善 - 戻り値の型で型ヒントを削除 - `Arr::wrap()` の戻り値の型を修正 - 型定義のタイプミスを修正 - Console Parserの型ヒントを修正 - HTTP クライアントレスポンスの型ヒントを IDE 互換性向上のため修正 - `ConfirmableTrait::confirmToProceed` の型を修正 - Route::middleware() メソッドに条件付き戻り値型ヒントを追加 - when() ヘルパー関数の型ヒントを改善 - Validation ルールと JsonResponse に @throws アノテーションを追加 ## 機能追加 - Notification に `afterSending` メソッドをサポート - `firstOrCreate` と `createOrFirst` で値のクロージャを許可 - `Stringable::deduplicate()` が文字配列を受け入れるように対応 - `PendingBatchFake` に `assertJobs` メソッドを追加 - Validator に `whenFails` と `whenPasses` メソッドを追加 - Response に `withoutHeader()` メソッドを追加 - `orderByPivotDesc()` メソッドを追加 - MySQL のスキーマダンプ・ロードで SSL 証明書/キーをサポート - Redis ベースのキューミドルウェアで Redis コネクションを指定可能に - TestResponse で viewData() 経由ですべてのビューデータを取得可能に ## バグ修正 - SQL Server の freshTimestamp を調整 - Js::encode() デバッグレンダーでバイナリデータを処理 - `Str::substrReplace` の負のオフセット・長さのエッジケースを修正 - `Lang::get()` で locale がフォールバックと一致する場合の重複ロケールチェックを防止 - バッチカウントが deleteWhenMissingModels で欠落モデルジョブをスキップする場合を修正 - Postgres シーケンスの開始値をカスタムスキーマ/コネクションで修正 - `Str::isUrl()` がシングル文字ドメイン名で false を返す問題を修正 - キャッシュプレフィックス分離を並列テストに追加 - `whereBetween` が DatePeriod を受け入れ、終了日付の欠落を処理するように修正 - `throwIfStatus` / `throwUnlessStatus` が全ステータスコードで機能するように修正 - Queue::fake() がテスト間でユニークジョブロックをリリースしない問題を修正 - PreCognitive リクエスト後に元のディスパッチャーバインディングを復元 - ユーザーエージェントエンコーディングで substr を mb_substr に置き換え - 例外ページでメインフレーム以外のポップイン修正 ## 改善・リファクタリング - ドキュメントブロックの改善 - FilesystemAdapter::report() のドキュメント説明を追加 - Laravel ASCII SVG ロゴの文字がカラムに完全に整列するように修正 - JavaScript で Laravel ASCII SVG ロゴをオンザフライで生成 - リロードタスクに `schedule:interruption` を含めるよう更新 - ConcurrencyManager で未使用の $config パラメータをクリーンアップ - `Dumpable` を使用するようリファクタリング - 戻り値を `??` で簡潔に - `header` / `headers` を標準化したヘッダー関数に置き換え - 読みやすさのため数字にアンダースコアを追加 - Request::get() に非推奨警告を追加 - trans_choice の正規表現を負の範囲に対応するよう更新 - MySQL に timeout メソッドをクエリビルダーに追加 - Eloquent ビルダーとリレーションをサブクエリとしてアップデートクエリで使用可能に - forever cookie ファクトリーのドキュメントを 400 日間の期間を反映するよう更新 - AsEncryptedArrayObject に ArrayObject props を追加して AsArrayObject と一致させる