May 2026 delivered practical, large-scale updates including full-stack Scale-to-Zero and Managed Queues for Laravel Cloud, font optimization, and multi-agent pipelines.
Source: Laravel May Product Updates
Laravel Framework
@fonts Blade directive
The new @fonts directive automatically handles the <link rel="preload"> tags, @font-face styles, and HTTP/2 push headers needed for loading web fonts. It reads the font manifest generated by the Vite font plugin and injects the required elements in a single step.
@fonts optimizes performance by controlling only the fonts needed per page and preventing unnecessary preloads.
Interruptible Jobs (signal-aware jobs)
The new Interruptible interface allows jobs to react when the queue worker receives SIGTERM during a deployment. You can safely stop loops, release locks, save state, and so on before the worker shuts down.
JSON exceptions default on API routes
API routes now automatically return error responses in JSON. Previously HTML was sometimes returned from API routes depending on conditions; routes defined in api.php are now guaranteed to return JSON responses.
Storage cache store
A new storage cache store has been added. It uses the filesystem as the cache backend but leverages Laravel’s storage configuration.
Disk storage for large SQS payloads
An option has been added to store payloads on disk when they are too large for SQS (over 256KB). Useful when queueing large data.
Scheduled command environment filter
The schedule:list command can now filter by environment.
Worker stop-when-empty option
A --stop-when-empty option has been added that automatically stops the worker when the queue becomes empty. Handy for batch processing or CI environments where workers should exit when the queue drains.
foreignUuidFor schema helper
foreignUuidFor() has been added as the UUID counterpart to foreignIdFor().
AI subagent support
Laravel AI agents can now delegate to other agents. Return any agent from the tools() method and the parent agent’s LLM invokes it just like a regular tool. Context is isolated, so conversation history doesn’t get mixed up.
Inertia 3.x
mode option for router.poll: Configure the polling behavior mode
- Dynamic data in
usePoll: Update data dynamically during polling
Inertia.once: Support for events that fire only once
rescue slot for <Deferred>: Fallback when a deferred prop fails
PAO (PHP Agentic Output)
PAO is now included by default in the starter kits. The following features have also been added:
- Rector support: PAO now processes Rector’s JSON output as well
- PHPStan agent guidance: Adds guidance that tells agents how to fix the reported issues
PAO_FORCE environment variable: Forcibly enable PAO mode
- Artisan RECTOR support: PAO now supports Artisan commands
Laravel Cloud, Laravel Forge, and Nightwatch