laravel/framework v12.49.0 ==== https://github.com/laravel/framework/releases/tag/v12.49.0 # Laravel Framework 12.x リリースノート要約 ## 主な機能追加 - **コレクションメソッドの追加**: `hasSole()` メソッドがコレクションに追加され、要素が1つだけ存在するかを確認可能に - **AnonymousResourceCollectionの拡張**: `preserveKeys()` メソッドが追加され、キーの保持が可能に - **サブクエリの機能強化**: カラム間でのサブクエリを使用した `between` のサポートを追加 - **enum型のサポート拡張**: - `Cache::flexible()` および `withoutOverlapping()` で enum キーをサポート - セッションの `now()` および `flash()` メソッドで enum を受け入れるように改善 ## CLI/コマンドの改善 - **db:tableコマンド**: 検索可能なプロンプトを使用するように改善 - **downコマンド**: `--retry` オプションで datetime 値を受け入れるように拡張 ## バグ修正とパフォーマンス改善 - **メモリリーク修正**: `Arr::dot()` のメモリリークを修正 - **マルチバイト対応**: `Str::afterLast()` でマルチバイト安全な関数を使用 - **パフォーマンス最適化**: ログレベルが処理されない場合、メッセージのシリアライズをスキップ - **並列テストの改善**: 並列テスト後にコンパイル済みビューをクリーンアップ - **Carbon互換性**: 不変の Carbon オブジェクトを正しく処理するために、ミューテーションではなく代入を使用 - **デッドロック処理**: DatabaseLock リリース時のデッドロックを無視するように改善 ## 内部改善 - NotificationSender インスタンスを単一に保つことでリソース効率を改善 - 複数インデックスに対するインデックスヒント検証を強化 - `QueueFake` の `assertPushedTimes` メソッドを public に変更 - SessionGuard コンストラクタのドキュメント追加 ## 依存関係の更新 - tar パッケージを 7.5.3 から 7.5.6 にアップデート(セキュリティ更新) ## リバート - データベース式選択時のエイリアシング機能をリバート