メインコンテンツへスキップ
2026年5月はLaravel CloudのフルスタックScale-to-ZeroとManaged Queues、フォント最適化、マルチエージェントパイプラインなど実用的な大型アップデートが届きました。 参照元:Laravel May Product Updates

Laravel Framework

@fonts Bladeディレクティブ

Webフォントの読み込みに必要だった<link rel="preload">タグ、@font-faceスタイル、HTTP/2プッシュヘッダーをすべて自動処理する@fontsディレクティブが追加されました。Viteフォントプラグインが生成するフォントマニフェストを読み込み、必要な要素を一括で注入します。
{{-- 全フォントを読み込む --}}
@fonts

{{-- 特定のフォントファミリーのみ --}}
@fonts(["sans", "mono"])
@fontsはページごとに必要なフォントのみを制御することで、不要なプリロードを防ぎパフォーマンスを最適化できます。

Interruptible Jobs(シグナル対応ジョブ)

新しいInterruptibleインターフェースにより、デプロイ中にキューワーカーがSIGTERMを受信したときにジョブが反応できるようになりました。ループの停止、ロックの解放、状態の保存などをワーカーのシャットダウン前に安全に行えます。
use Illuminate\Contracts\Queue\Interruptible;
use Illuminate\Contracts\Queue\ShouldQueue;

class ProcessLargeReport implements ShouldQueue, Interruptible
{
    public function handle(): void
    {
        foreach ($this->getChunks() as $chunk) {
            if ($this->shouldInterrupt()) {
                $this->saveProgress();
                return;
            }
            $this->processChunk($chunk);
        }
    }
}

JSON例外のAPIルートデフォルト対応

APIルートが自動的にJSON形式でエラーレスポンスを返すようになりました。これまでAPIルートでも条件によってはHTMLが返ることがありましたが、api.phpで定義されたルートは常にJSONレスポンスが保証されます。

ストレージキャッシュストア

新しいstorageキャッシュストアが追加されました。ファイルシステムをキャッシュバックエンドとして使用しますが、Laravelのストレージ設定を活用できます。
// config/cache.php
'stores' => [
    'storage' => [
        'driver' => 'storage',
        'disk' => 'local',
        'path' => 'framework/cache',
    ],
],

大容量SQSペイロードのディスク保存

SQSのペイロードが大きすぎる場合(256KB超)にディスクに保存するオプションが追加されました。大容量データをキューで扱う際に役立ちます。

スケジュールコマンドの環境フィルター

schedule:listコマンドで環境別にフィルタリングできるようになりました。
php artisan schedule:list --environment=production

ワーカーのStop When Emptyオプション

キューが空になったら自動的にワーカーを停止する--stop-when-emptyオプションが追加されました。バッチ処理やCI環境でキューが空になったら終了するワーカーに便利です。
php artisan queue:work --stop-when-empty

foreignUuidForスキーマヘルパー

foreignIdFor()のUUID版としてforeignUuidFor()が追加されました。
Schema::table('posts', function (Blueprint $table) {
    $table->foreignUuidFor(User::class)->constrained();
});

AIサブエージェントサポート

Laravel AIエージェントが他のエージェントにデリゲートできるようになりました。tools()メソッドから任意のエージェントを返すと、親エージェントのLLMが通常のツールと同様にそれを呼び出します。コンテキストは分離されるので会話履歴が混在することはありません。
class OrchestratorAgent extends Agent
{
    public function tools(): array
    {
        return [
            new AnalysisAgent(),
            new WritingAgent(),
            new SearchTool(),
        ];
    }
}

Inertia 3.x

  • router.pollmode オプション: ポーリングの動作モードを設定可能
  • usePoll の動的データ対応: ポーリング中にデータを動的に更新
  • Inertia.once: 一度だけ発火するイベントのサポート
  • <Deferred>rescue スロット: defer済みプロップが失敗した時のフォールバック

PAO(PHP Agentic Output)

スターターキットにデフォルトでPAOが組み込まれました。以下の機能も追加されています:
  • Rector対応: PAOがRectorのJSON出力も処理
  • PHPStanのエージェントガイダンス: エラー箇所の修正方法をエージェントに伝えるガイダンスを追加
  • PAO_FORCE環境変数: 強制的にPAOモードを有効化
  • Artisan RECTORサポート: PAOがArtisanコマンドに対応

Laravel Cloud・Laravel Forge・Nightwatch

製品主なアップデート
Laravel CloudフルスタックScale-to-Zero(500ms以下で起動、20倍高速化)、Managed Queues(自動スケーリングワーカー・失敗ジョブダッシュボード)、支出制限、プラン更新(月額$5 Starterプラン)
Laravel ForgeManaged MySQL 8.4(自動バックアップ・リードレプリカ・アラート)、PHP 8.5がデフォルトに変更、envが変わると自動的にHorizonを再起動
NightwatchMCPサーバーがルート実行時間・クエリ時間・ジョブ実行メトリクスなどパフォーマンスデータを提供
最終更新日 2026年7月5日