この変更が意味すること
Laravel v13.2.0 がリリースされました。3月17日の Laravel 13.0.0 メジャーリリースから約1週間、早くも2回目のマイナーアップデートです。
今回の目玉は Queue / Connection 属性での Enum サポートと、Raw SQL バインディング置換のパフォーマンス改善です。また、属性への Enum 渡しや symmetrical attributes の導入など、Eloquent の属性周りの機能が充実しています。破壊的変更はなく、v13.1.1 からスムーズにアップデートできます。
主な変更点
Queue / Connection 属性での Enum サポート
#[Queue] と #[Connection] 属性で Enum を直接使用できるようになりました。キュー名やコネクション名を Enum で管理している場合、型安全にジョブのディスパッチ先を指定できます。
PR: #59278
Raw SQL バインディング置換のパフォーマンス改善
生の SQL クエリでバインディングを置換する際のパフォーマンスが改善されました。大量のバインディングを含むクエリで効果が期待できます。
PR: #59277
属性への Enum 渡し対応
Eloquent の属性に Enum 値を直接渡せるようになりました。キャスト設定と組み合わせることで、より自然な Enum の利用が可能になります。
PR: #59297
Symmetrical, expressive attributes
対称的で表現力豊かな属性記法が追加されました。アクセサとミューテタの定義がより直感的に行えるようになります。
PR: #59284
withoutOverlapping に releaseOnSignal パラメータ追加
スケジュールタスクの withoutOverlapping メソッドに releaseOnSignal パラメータが追加されました。プロセスがシグナルを受信した際のロック解放動作を制御できます。
PR: #59298
バグ修正
- SeeInHtml アサーションの negate 修正 —
assertDontSeeInHtml等のアサーションが正しく動作するようになりました(#59303) - LazyPromise::wait() のシグネチャ互換性修正 — Guzzle の PromiseInterface との互換性が修正されました(#59301)
- schedule:list のタイムゾーン表示修正 — スケジュール一覧でcron式が正しいタイムゾーンで表示されるようになりました(#59286)
EOL / サポート状況
| サイクル | 最新バージョン | サポート終了 | EOL |
|---|---|---|---|
| 13 | 13.2.0 | 2027-09-30 | 2028-03-17 |
| 12 | 12.55.1 | 2026-08-16 | 2027-02-24 |
| 11 | 11.50.0 | 2025-09-03 (終了) | 2026-03-12 (EOL済) |
| 10 | 10.50.2 | 2024-08-06 (終了) | 2025-02-04 (EOL済) |
Laravel 13 は最新のアクティブバージョンとして2028年3月までサポートされます。Laravel 11 は今月 EOL を迎えたため、12 または 13 へのアップグレードを推奨します。
開発者への影響
- Queue でジョブ振り分けを Enum 管理している方:
#[Queue]/#[Connection]属性で直接 Enum を使えるようになり、コードがすっきりします - 大量の SQL バインディングを使うクエリがある方: パフォーマンス改善の恩恵を受けられます
- Guzzle を利用している方: LazyPromise の互換性が修正されたため、非同期処理の安定性が向上します
- v13.1.1 ユーザー全般: 破壊的変更なしのマイナーリリースのため、安心してアップデートできます
アップデート方法
# Composer
composer update laravel/framework:^13.2.0
# 新規プロジェクト
composer create-project laravel/laravel example-app
データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
