Ciclo di rilascio di Laravel: versioni, politica di supporto e date
Laravel pubblica una versione major all'anno, nel primo trimestre, e tagga release minor e patch quasi ogni settimana nel periodo intermedio. Laravel 13 è la versione major attuale, rilasciata il 17 marzo 2026. Laravel 14 è atteso nel Q1 2027.
Versionamento semantico
Laravel e i suoi pacchetti first-party seguono il Semantic Versioning. Ogni parte di un numero di versione come 13.33.0 ha un significato preciso:
- MAJOR (
13) cambia quando una release contiene breaking changes - MINOR (
33) cambia quando una release aggiunge funzionalità in modo retrocompatibile - PATCH (
0) cambia quando una release contiene solo bug fix retrocompatibili
Prima di Laravel 6, il framework usava il secondo numero per le release major, quindi il passaggio da 5.4 a 5.5 poteva rompere la tua applicazione. Laravel è passato al Semantic Versioning con Laravel 6 a settembre 2019. Da quel momento, un salto come quello da 6.1 a 6.2 significava nuove funzionalità, ma nessuna breaking change.
Release minor e patch settimanali
Il team di Laravel tagga le release del framework quasi ogni settimana, di solito il martedì. Una release che aggiunge una funzionalità incrementa il numero minor, mentre una release che corregge solo bug incrementa il numero patch. Laravel 13.0 è uscito a marzo 2026 e, al 22 settembre 2026, il framework era arrivato a Laravel 13.33.
Un numero minor sopra la trentina non significa che sei rimasto indietro. Le release notes affermano che le release minor e patch non dovrebbero mai contenere breaking changes, quindi passare da 13.1 a 13.33 è un semplice composer update. Laravel News copre ogni release settimanale e, nell'arco di un anno, quelle release contengono la maggior parte delle nuove funzionalità del framework.
Release major annuali
Laravel ha rilasciato una nuova versione major ogni sei mesi fino a Laravel 8. A gennaio 2021, Taylor Otwell ha annunciato il passaggio a un ciclo di release major annuale. Le sue motivazioni erano ridurre il lavoro di manutenzione per la community e distribuire nuove funzionalità durante l'anno senza rompere la retrocompatibilità.
Laravel 9 era poi previsto per settembre 2021, ma il team lo ha posticipato a febbraio 2022 per poterlo rilasciare con i componenti di Symfony 6.0. Da allora, le versioni major sono arrivate all'inizio di ogni anno:
- Laravel 9: 8 febbraio 2022
- Laravel 10: 14 febbraio 2023
- Laravel 11: 12 marzo 2024
- Laravel 12: 24 febbraio 2025
- Laravel 13: 17 marzo 2026
Le attuali release notes descrivono il calendario come “ogni anno (~Q1)”, quindi una versione major può arrivare a febbraio o a marzo.
Poiché la maggior parte delle funzionalità viene distribuita nelle release minor, oggi una versione major trattiene solo le modifiche che rompono qualcosa, e l'upgrade è spesso ridotto. Dalle release notes di Laravel 13:
Gran parte del nostro impegno durante questo ciclo di rilascio è stato dedicato a minimizzare le breaking changes. Ci siamo invece dedicati a distribuire durante tutto l'anno miglioramenti continui pensati per semplificare la vita, che non rompono le applicazioni esistenti.
Innalzare la versione minima di PHP è una di queste breaking changes. Laravel 13 richiede PHP 8.3, e Laravel 14 richiederà PHP 8.4.
Politica di supporto
Ogni release major di Laravel riceve bug fix per 18 mesi e security fix per due anni. Non esistono più release Long-Term Support (LTS). Laravel 6 è stata l'ultima versione LTS, e ogni versione major successiva ha la stessa finestra di supporto.
Per le altre librerie first-party, solo l'ultima versione major riceve bug fix.
| Versione | PHP | Rilascio | Bug fix fino a | Security fix fino a |
|---|---|---|---|---|
| 14 | 8.4+ | Q1 2027 (previsto) | Q3 2028 | Q1 2029 |
| 13 | 8.3 - 8.5 | 17 marzo 2026 | Q3 2027 | 17 marzo 2028 |
| 12 | 8.2 - 8.5 | 24 febbraio 2025 | 13 agosto 2026 | 24 febbraio 2027 |
| 11 | 8.2 - 8.4 | 12 marzo 2024 | 3 settembre 2025 | 12 marzo 2026 |
| 10 | 8.1 - 8.3 | 14 febbraio 2023 | 6 agosto 2024 | 4 febbraio 2025 |
Al momento in cui scriviamo, Laravel 10 e 11 sono end of life. Laravel 12 riceve solo security fix fino al 24 febbraio 2027. Laravel 13 è l'unica versione che riceve bug fix.
Ogni anno arriva una release major e i bug fix durano 18 mesi, quindi la versione precedente continua a ricevere bug fix per alcuni mesi dopo l'uscita della nuova. Laravel 13 è uscito il 17 marzo 2026 e i bug fix di Laravel 12 sono terminati il 13 agosto 2026. Pianifica gli upgrade major tenendo conto di questa finestra più breve, non dei due anni di security fix.
Dove avviene lo sviluppo
Il repository laravel/framework mantiene un branch per ogni versione major (11.x, 12.x, 13.x) e un branch master per la prossima release major. La guida ai contributi stabilisce le regole su quale branch debba puntare una pull request:
- I bug fix vanno all'ultima versione che riceve bug fix, attualmente
13.x - Le funzionalità retrocompatibili vanno anch'esse in
13.xe vengono rilasciate nella release settimanale successiva - Le breaking changes e le nuove funzionalità major vanno in
master, che diventerà Laravel 14
Per questo motivo la lista di funzionalità di Laravel 14 è breve rispetto a un anno di release 13.x. Una modifica aspetta master solo se aggiunge un metodo a un contract, cambia la firma di un metodo o modifica il comportamento esistente. Il nostro articolo su Laravel 14 tiene traccia di ciò che è stato mergiato in master finora.
Vincoli di versione di Composer
Usa un vincolo caret per il framework nel tuo composer.json:
"require": {
"laravel/framework": "^13.0"
}Il vincolo ^13.0 accetta ogni release 13.x e si ferma a 14.0. Le release minor settimanali arrivano tramite composer update, mentre l'upgrade major aspetta finché non modifichi il vincolo.
I named arguments non sono coperti dalle linee guida di retrocompatibilità di Laravel. Il team può rinominare i parametri di un metodo in una release minor, quindi una chiamata come Cache::put(key: 'foo', value: 'bar') può rompersi senza un cambio di versione major.
Aggiornare a una nuova versione major
Le release notes affermano che il team punta a un upgrade verso una nuova versione major che richieda un giorno o meno. Ogni versione major ha una guida all'upgrade che elenca le breaking changes e valuta quanto è probabile che ciascuna influenzi la tua applicazione.
Laravel Shift automatizza gli upgrade major e apre una pull request con un commit per ogni modifica. Inoltre usa l'AI per automatizzare ulteriormente l'upgrade.
Storia delle release di Laravel
| Versione | Rilascio | Bug fix fino a | Security fix fino a |
|---|---|---|---|
| 14 | Q1 2027 (previsto) | Q3 2028 | Q1 2029 |
| 13 | 17 marzo 2026 | Q3 2027 | 17 marzo 2028 |
| 12 | 24 febbraio 2025 | 13 agosto 2026 | 24 febbraio 2027 |
| 11 | 12 marzo 2024 | 3 settembre 2025 | 12 marzo 2026 |
| 10 | 14 febbraio 2023 | 6 agosto 2024 | 4 febbraio 2025 |
| 9 | 8 febbraio 2022 | 8 agosto 2023 | 6 febbraio 2024 |
| 8 | 8 settembre 2020 | 26 luglio 2022 | 24 gennaio 2023 |
| 7 | 3 marzo 2020 | 6 ottobre 2020 | 3 marzo 2021 |
| 6 (LTS) | 3 settembre 2019 | 25 gennaio 2022 | 6 settembre 2022 |
| 5.8 | 26 febbraio 2019 | 26 agosto 2019 | 26 febbraio 2020 |
| 5.7 | 4 settembre 2018 | 4 marzo 2019 | 4 settembre 2019 |
| 5.6 | 7 febbraio 2018 | 7 agosto 2018 | 7 febbraio 2019 |
| 5.5 (LTS) | 30 agosto 2017 | 30 agosto 2019 | 30 agosto 2020 |
| 5.4 | 24 gennaio 2017 | 24 luglio 2017 | 24 gennaio 2018 |
| 5.3 | 23 agosto 2016 | 23 febbraio 2017 | 23 agosto 2017 |
| 5.2 | 21 dicembre 2015 | 21 giugno 2016 | 21 dicembre 2016 |
| 5.1 (LTS) | 9 giugno 2015 | 9 giugno 2017 | 9 giugno 2018 |
| 5.0 | 4 febbraio 2015 | 4 agosto 2015 | 4 febbraio 2016 |
| 4 | maggio 2013 | - | - |
| 3 | febbraio 2012 | - | - |
| 2 | settembre 2011 | - | - |
| 1 | giugno 2011 | - | - |
Le date di supporto attuali sono elencate nelle release notes di Laravel. Le date delle prossime release major sono stime finché ciascuna non viene rilasciata.
Fonte originale:
https://laravel-news.com/laravel-releasesAltri articoli recenti
Laravel AI 1.1 e 1.2: Agent Skills, Cohere e structured output più solidi
Le release 1.1.0 e 1.2.0 di laravel/ai portano gli Agent Skills, l'approvazione obbligatoria per i tool built-in e nuovi provider come Cohere e Laya self-hosted. Sul fronte qualità arrivano i fix allo structured output per Bedrock e il supporto alle provider options. Aggiornati anche i modelli di default, con Claude 4.7+ che ignora i sampling params.
Laravel 13.35.0: scheduler più controllabile, code più flessibili e response Markdown
Laravel 13.35.0 porta Schedule::alwaysOnOneServer(), il supporto a schedule:interrupt per i comandi di lunga durata, --memory in percentuale per queue:work e il nuovo metodo markdown() sulla response factory. Tante piccole migliorie anche a test, view compilate in parallelo e dischi local.
BashBox: un interprete Bash in sandbox per agenti AI in PHP
BashBox è un interprete bash scritto in puro PHP che permette di eseguire gli script generati dagli agenti AI senza mai ricorrere a proc_open, exec o shell_exec. Ogni comando è una classe PHP che lavora su un filesystem virtuale, con limiti di esecuzione, quote disco e accesso di rete configurabili. Ideale per chi sviluppa agenti con il Laravel AI SDK o altre librerie simili.