この変更が意味すること
Laravel 13.0.0 がリリースされました。Laravel 11 が 2026年3月12日に EOL を迎えた直後のメジャーリリースとなります。最も大きな変更は PHP 8.3 が最低要件に引き上げられたことです。
PHP 8.3 以上を前提とすることで、レガシーな function_exists() チェックが削除され、フレームワーク内部のコードがスリム化されています。また、Query Builder に PDO フェッチモードの指定機能が追加されるなど、実用的な改善も含まれています。
Laravel 12 は 2027年2月24日まで EOL サポートが継続するため、すぐに 13 へ移行する必要はありません。ただし、新規プロジェクトでは Laravel 13 を採用する価値があるでしょう。
主な変更点
PHP 8.3 が最低要件に
PHP 8.2 以前のサポートが廃止され、PHP 8.3 が最低動作要件になりました。これに伴い、PHP の古いバージョン向けの互換性コードやポリフィルが削除されています(#54763)。
Query Builder の PDO フェッチモード対応
Query Builder レベルで PDO のフェッチモードを指定できるようになりました。PDO::FETCH_ASSOC、PDO::FETCH_OBJ など、クエリごとにフェッチ形式を制御可能です。カラムの取り扱いに関する修正も含まれています(#54734)。
Response メソッドのパラメータ追加
Response クラスの throw() と throwIf() メソッドに不足していたパラメータが追加されました。HTTP レスポンスのエラーハンドリングがより柔軟になります(#54798)。
ネスト where 条件のスコープ修正
ネストした where 句でスコープが正しく除去されない問題が修正されました。複雑なクエリ条件を組み立てる際の信頼性が向上しています(#54816)。
不要な関数存在チェックの削除
PHP 8.3 を最低要件としたことで、function_exists() による関数存在チェックが不要になり、削除されました。フレームワーク内部のコードが簡潔になっています(#54876)。
不要なデフォルト引数の削除
冗長なデフォルト引数が削除され、メソッドシグネチャが整理されました。直接的な機能への影響はありませんが、コードの可読性が向上しています。
CI / テスト環境の修正
13.x ブランチの CI 環境とテスト構成が修正されました(#54760)。
EOL / サポート状況
| サイクル | 最新バージョン | EOL | 状態 |
|---|---|---|---|
| 13 | 13.0.0 | 未定 | 新規リリース |
| 12 | 12.54.1 | 2027-02-24 | アクティブ |
| 11 | 11.48.0 | 2026-03-12 | EOL 済み |
| 10 | 10.50.2 | 2025-02-04 | EOL 済み |
| 9 | 9.52.21 | 2024-02-06 | EOL 済み |
Laravel 13 は本日リリースされたばかりです。Laravel 12 は 2027年2月24日までサポートが継続されるため、安定性を重視する場合は 12 系列を継続利用しつつ、13 への移行を計画的に進めることを推奨します。
開発者への影響
- PHP バージョン確認が必須: PHP 8.3 未満の環境では動作しません。サーバーの PHP バージョンを確認してください
- 新規プロジェクト: Laravel 13 を採用することで、最新の PHP 8.3 機能をフル活用できます
- Laravel 12 利用者: すぐに移行する必要はありません。12 は 2027年2月までサポートされます
- Laravel 11 利用者: 既に EOL です。12 または 13 への移行を早急に計画してください
- function_exists に依存するコード: レガシーなポリフィルやプラグインで
function_exists()に依存している場合、互換性の確認が必要です
アップデート方法
# Composer で Laravel 13 をインストール
composer require laravel/framework:^13.0
# 既存プロジェクトのアップグレード
# アップグレードガイドを参照してください
# https://laravel.com/docs/13.x/upgrade
アップグレード前に必ず PHP 8.3 以上であることを確認してください。
php -v
# PHP 8.3.0 以上が必要
データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
