> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Aggiornamenti Laravel di maggio 2026

> Aggiornamenti dell'ecosistema Laravel di maggio 2026. Direttiva Blade @fonts, job Interruptible, supporto ai subagent, Scale-to-Zero di Cloud e altro ancora.

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](https://laravel.com/blog/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.

```blade theme={null}
{{-- Carica tutti i font --}}
@fonts

{{-- Solo specifiche famiglie di font --}}
@fonts(["sans", "mono"])
```

<Tip>
  `@fonts` permette di controllare solo i font necessari per pagina, evitando preload inutili e ottimizzando le prestazioni.
</Tip>

### 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.

```php theme={null}
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.

```php theme={null}
// 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.

```bash theme={null}
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.

```bash theme={null}
php artisan queue:work --stop-when-empty
```

### Helper schema foreignUuidFor

Come versione UUID di `foreignIdFor()`, è stato aggiunto `foreignUuidFor()`.

```php theme={null}
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.

```php theme={null}
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                                                                              |


## Related topics

- [Aggiornamenti Laravel di marzo 2026](/it/blog/changelog/202603.md)
- [Aggiornamenti Laravel di giugno 2026](/it/blog/changelog/202606.md)
- [Aggiornamenti Laravel di aprile 2026](/it/blog/changelog/202604.md)
- [Laravel Chisel — libreria di script post-installazione per starter kit](/it/blog/chisel-introduction.md)
- [Costruire una SPA con Inertia.js](/it/blog/inertia-introduction.md)
