A maggio 2026 sono arrivati importanti aggiornamenti pratici, come lo Scale-to-Zero full-stack e le Managed Queues di Laravel Cloud, l’ottimizzazione dei font e le pipeline multi-agent.
Fonte: Laravel May Product Updates
Laravel Framework
Direttiva Blade @fonts
È stata aggiunta la direttiva @fonts, che gestisce automaticamente i tag <link rel="preload">, gli stili @font-face e gli header HTTP/2 push necessari al caricamento dei web font. Legge il manifest dei font generato dal plugin Vite Fonts e inietta in un colpo solo tutti gli elementi necessari.
{{-- Carica tutti i font --}}
@fonts
{{-- Solo specifiche famiglie di font --}}
@fonts(["sans", "mono"])
@fonts permette di controllare solo i font necessari per pagina, evitando preload inutili e ottimizzando le prestazioni.
Interruptible Jobs (job sensibili ai segnali)
Grazie alla nuova interfaccia Interruptible, un job può reagire quando un queue worker riceve SIGTERM durante il deploy. Puoi interrompere loop, rilasciare lock e salvare lo stato in sicurezza prima dello shutdown del worker.
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);
}
}
}
Eccezioni JSON come predefinite per le rotte API
Le rotte API ora restituiscono automaticamente le risposte di errore in formato JSON. Finora, in certe condizioni, anche le rotte API potevano restituire HTML, ma le rotte definite in api.php garantiscono sempre una risposta JSON.
Storage cache store
È stato aggiunto un nuovo cache store storage. Usa il filesystem come backend di cache, ma sfrutta la configurazione dello storage di Laravel.
// config/cache.php
'stores' => [
'storage' => [
'driver' => 'storage',
'disk' => 'local',
'path' => 'framework/cache',
],
],
Salvataggio su disco di payload SQS di grandi dimensioni
È stata aggiunta un’opzione per salvare su disco i payload SQS troppo grandi (oltre 256KB). Utile quando si maneggiano dati di grandi dimensioni tramite coda.
Filtro per ambiente nei comandi schedulati
Ora nel comando schedule:list puoi filtrare per ambiente.
php artisan schedule:list --environment=production
Opzione Stop When Empty per il worker
È stata aggiunta l’opzione --stop-when-empty che ferma automaticamente il worker quando la coda si svuota. Utile per batch e ambienti CI in cui il worker deve terminare a coda vuota.
php artisan queue:work --stop-when-empty
Helper schema foreignUuidFor
Come versione UUID di foreignIdFor(), è stato aggiunto foreignUuidFor().
Schema::table('posts', function (Blueprint $table) {
$table->foreignUuidFor(User::class)->constrained();
});
Supporto ai subagent AI
Gli agenti Laravel AI possono ora delegare ad altri agenti. Se restituisci un agente qualsiasi dal metodo tools(), l’LLM dell’agente genitore lo invoca come un normale tool. I contesti sono isolati, quindi la cronologia della conversazione non si mescola.
class OrchestratorAgent extends Agent
{
public function tools(): array
{
return [
new AnalysisAgent(),
new WritingAgent(),
new SearchTool(),
];
}
}
Inertia 3.x
- Opzione
mode di router.poll: puoi configurare la modalità di polling
- Supporto ai dati dinamici in
usePoll: aggiorna dinamicamente i dati durante il polling
Inertia.once: supporto per eventi che si attivano una sola volta
- Slot
rescue di <Deferred>: fallback quando una prop deferita fallisce
PAO (PHP Agentic Output)
PAO è ora incluso di default negli starter kit. Sono state aggiunte anche le seguenti funzionalità:
- Supporto a Rector: PAO gestisce anche l’output JSON di Rector
- Agent guidance di PHPStan: aggiunta di indicazioni che comunicano all’agente come correggere i punti di errore
- Variabile d’ambiente
PAO_FORCE: abilita forzatamente la modalità PAO
- Supporto RECTOR di Artisan: PAO supporta i comandi Artisan
Laravel Cloud, Laravel Forge e Nightwatch
| Prodotto | Aggiornamenti principali |
|---|
| Laravel Cloud | Scale-to-Zero full-stack (avvio sotto i 500ms, 20 volte più veloce), Managed Queues (worker con autoscaling, dashboard dei job falliti), limiti di spesa, aggiornamento dei piani (piano Starter da $5 al mese) |
| Laravel Forge | Managed MySQL 8.4 (backup automatici, read replica, avvisi), PHP 8.5 diventa il default, riavvio automatico di Horizon quando cambia env |
| Nightwatch | Il server MCP fornisce dati di performance come tempi di esecuzione delle rotte, tempi delle query e metriche di esecuzione dei job |