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

# Riepilogo delle novità di Laravel 13

> Spiega le principali novità e i miglioramenti di Laravel 13, rilasciato nel marzo 2026.

## Introduzione

Laravel 13 è stato rilasciato il 17 marzo 2026. È l'ormai consueta major release annuale, ma Laravel 13 si concentra in particolare su **workflow AI-native**, **impostazioni predefinite più sicure** e **API più espressive per lo sviluppatore**.

I breaking change sono ridotti al minimo e la maggior parte delle applicazioni può essere aggiornata con poche modifiche. Al tempo stesso vengono aggiunte molte novità, come Laravel AI SDK e la ricerca semantica, che possono cambiare radicalmente lo sviluppo delle applicazioni moderne.

<Info>
  Policy di supporto di Laravel 13: le bug fix sono fornite fino al Q3 2027 e le security fix fino al **17 marzo 2028**.
</Info>

***

## Aggiornamento dei requisiti PHP

Laravel 13 richiede **PHP 8.3 o superiore**. Il supporto a PHP 8.2 è terminato.

| Versione | PHP           | Data di rilascio  | Fine bug fix     | Fine security fix |
| -------- | ------------- | ----------------- | ---------------- | ----------------- |
| 11       | 8.2 - 8.4     | 12 marzo 2024     | 3 settembre 2025 | 12 marzo 2026     |
| 12       | 8.2 - 8.5     | 24 febbraio 2025  | 13 agosto 2026   | 24 febbraio 2027  |
| **13**   | **8.3 - 8.5** | **17 marzo 2026** | **Q3 2027**      | **17 marzo 2028** |

I principali benefici di PHP 8.3 comprendono costanti tipizzate, la funzione `json_validate()` e l'attributo `#[\Override]`.

***

## Principali novità

### Laravel AI SDK

La funzionalità di punta di Laravel 13 è l'**AI SDK di prima parte**. Offre in un'API unificata generazione di testo, agenti con chiamata di tool, embedding, audio, generazione di immagini e integrazione con vector store.

Puoi costruire funzionalità AI in modo indipendente dal provider mantenendo un'esperienza di sviluppo tipicamente Laravel.

**Generazione di testo (agente)**

```php theme={null}
use App\Ai\Agents\SalesCoach;

$response = SalesCoach::make()->prompt('Analizza questa trascrizione di vendita...');

return (string) $response;
```

**Generazione di immagini**

```php theme={null}
use Laravel\Ai\Image;

$image = Image::of('una ciambella sul bancone della cucina')->generate();

$rawContent = (string) $image;
```

**Sintesi audio**

```php theme={null}
use Laravel\Ai\Audio;

$audio = Audio::of('Adoro scrivere codice in Laravel.')->generate();

$rawContent = (string) $audio;
```

**Generazione di embedding**

```php theme={null}
use Illuminate\Support\Str;

$embeddings = Str::of('I vini della Napa Valley sono i migliori.')->toEmbeddings();
```

Per i dettagli consulta la [documentazione di Laravel AI SDK](https://laravel.com/ai).

***

### Ricerca semantica / vettoriale

È stato aggiunto un supporto nativo alle query vettoriali che si integra con l'AI SDK. Puoi eseguire la ricerca semantica con PostgreSQL + `pgvector` direttamente dal query builder.

```php theme={null}
$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'le migliori cantine della Napa Valley')
    ->limit(10)
    ->get();
```

Dall'aggiunta della colonna embedding alla query, tutto si completa all'interno dell'ecosistema Laravel.

***

### Risorse JSON:API

È stato aggiunto a Laravel il supporto di prima parte alle risorse [JSON:API](https://jsonapi.org/). Diventa facile restituire risposte conformi alla specifica JSON:API.

* Serializzazione degli oggetti risorsa
* Inclusione delle relazioni
* Sparse fieldset
* Link
* Header di risposta conformi a JSON:API

***

### Estensione degli attributi PHP

Laravel 13 estende all'intero framework le configurazioni dichiarative tramite gli attributi PHP.

**Applicazione ai controller**

```php theme={null}
<?php

namespace App\Http\Controllers;

use App\Models\Comment;
use App\Models\Post;
use Illuminate\Routing\Attributes\Controllers\Authorize;
use Illuminate\Routing\Attributes\Controllers\Middleware;

#[Middleware('auth')]
class CommentController
{
    #[Middleware('subscribed')]
    #[Authorize('create', [Comment::class, 'post'])]
    public function store(Post $post)
    {
        // ...
    }
}
```

**Applicazione ai job in coda**

```php theme={null}
use Illuminate\Queue\Attributes\Tries;
use Illuminate\Queue\Attributes\Backoff;
use Illuminate\Queue\Attributes\Timeout;
use Illuminate\Queue\Attributes\FailOnTimeout;

#[Tries(3)]
#[Backoff(60)]
#[Timeout(120)]
#[FailOnTimeout]
class ProcessPodcast implements ShouldQueue
{
    // ...
}
```

Principali attributi appena aggiunti:

| Attributo          | Uso                                         |
| ------------------ | ------------------------------------------- |
| `#[Middleware]`    | Applica middleware a controller e metodi    |
| `#[Authorize]`     | Esegue il policy check sul controller       |
| `#[Tries]`         | Numero massimo di tentativi del job in coda |
| `#[Backoff]`       | Tempo di backoff del job in coda            |
| `#[Timeout]`       | Timeout del job in coda                     |
| `#[FailOnTimeout]` | Flag di fallimento del job su timeout       |

Ulteriori attributi sono stati introdotti anche in Eloquent, eventi, notifiche, validazione, testing, API di serializzazione delle risorse, ecc.

***

### Queue routing

Con `Queue::route(...)` puoi ora definire in un unico punto le regole di routing predefinite di coda e connessione per specifici job.

```php theme={null}
use App\Jobs\ProcessPodcast;
use Illuminate\Support\Facades\Queue;

Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');
```

Non è più necessario hardcodare i nomi delle code nella classe del job e la configurazione infrastrutturale può essere separata dal codice.

***

### Estensione del TTL della cache

Con `Cache::touch(...)` puoi estendere il TTL di un elemento in cache senza recuperarne e risalvarne il valore.

```php theme={null}
// Estendi il TTL di 3600 secondi senza cambiare il valore attuale
Cache::touch('expensive-computation', 3600);
```

***

## Rafforzamenti di sicurezza

### Rafforzamento della protezione CSRF (`PreventRequestForgery`)

Il middleware CSRF è stato rinominato da `VerifyCsrfToken` a `PreventRequestForgery` ed è stata aggiunta la verifica dell'origine della richiesta tramite l'header `Sec-Fetch-Site`.

```php theme={null}
use Illuminate\Foundation\Http\Middleware\PreventRequestForgery;

// Esclusione del middleware nei test
->withoutMiddleware([PreventRequestForgery::class]);
```

`VerifyCsrfToken` rimane come alias deprecato, ma è consigliata la migrazione al nuovo nome della classe.

### Limitazione della deserializzazione della cache

In `config/cache.php` è stata aggiunta l'opzione `serializable_classes`, con default `false`. Questo previene attacchi di deserializzazione PHP quando la `APP_KEY` viene compromessa.

```php theme={null}
// config/cache.php
'serializable_classes' => [
    App\Data\CachedDashboardStats::class,
    App\Support\CachedPricingSnapshot::class,
],
```

Se stai salvando in cache oggetti PHP, devi aggiungere esplicitamente le classi alla whitelist.

***

## Modifiche agli starter kit

Gli starter kit rinnovati in Laravel 12 (basati su React/Vue/Livewire) restano utilizzabili anche in Laravel 13.

In concomitanza con il rilascio di Laravel 13 è stato rilasciato anche **Inertia v3**. Principali modifiche:

* Layout props più semplici
* Supporto a Vite 8
* Aggiunta della callback `withApp`
* Nuovi componenti Blade

Se stai usando Inertia v3, valuta l'aggiornamento contestuale.

***

## Altri miglioramenti

### Aggiornamento assistito dall'AI (Laravel Boost)

[Laravel Boost](https://github.com/laravel/boost) è un server MCP di prima parte. Si integra con editor AI come Claude Code, Cursor, OpenCode, Gemini e VS Code e con lo slash command `/upgrade-laravel-v13` puoi semi-automatizzare l'aggiornamento.

```shell theme={null}
composer require laravel/boost:^2.0 --dev
```

### Aggiunta di contratti

Sono stati aggiunti nuovi metodi ai seguenti contract:

| Contract                           | Metodi aggiunti                                                                |
| ---------------------------------- | ------------------------------------------------------------------------------ |
| `Bus\Dispatcher`                   | `dispatchAfterResponse`                                                        |
| `Routing\ResponseFactory`          | `eventStream` (supporto SSE)                                                   |
| `Auth\MustVerifyEmail`             | `markEmailAsUnverified`                                                        |
| `Queue\Queue`                      | `pendingSize`, `delayedSize`, `reservedSize`, `creationTimeOfOldestPendingJob` |
| `Cache\Store` / `Cache\Repository` | `touch`                                                                        |

***

## Conclusioni

Laravel 13 è una release da "pochi breaking change, molte nuove funzionalità". Il lavoro di aggiornamento è minimo, ma in particolare **AI SDK** e **ricerca semantica** hanno il potenziale di cambiare il modo in cui si sviluppano le applicazioni moderne.

Quando sei pronto ad aggiornare la tua applicazione esistente da Laravel 12 a 13, fai riferimento alla guida dettagliata seguente.

<Card title="Guida all'aggiornamento da Laravel 12 a 13" icon="arrow-up-right" href="/it/blog/upgrade-12-to-13">
  Trovi l'elenco dei breaking change e la procedura di aggiornamento passo passo.
</Card>


## Related topics

- [Guida all'aggiornamento da Laravel 12 a 13](/it/blog/upgrade-12-to-13.md)
- [Attributi PHP](/it/advanced/php-attributes.md)
- [Pinning e sicurezza delle GitHub Actions](/it/advanced/github-actions-pinning.md)
- [Manipolazione delle stringhe (classe Str)](/it/strings.md)
- [Laravel Telescope](/it/telescope.md)
