notiziephp.it

Ciclo di rilascio di Laravel: versioni, politica di supporto e date

Traduzione da Laravel News
29 Settembre 2026 Tempo di lettura: 6 minuti
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:

  1. MAJOR (13) cambia quando una release contiene breaking changes
  2. MINOR (33) cambia quando una release aggiunge funzionalità in modo retrocompatibile
  3. 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.

VersionePHPRilascioBug fix fino aSecurity fix fino a
148.4+Q1 2027 (previsto)Q3 2028Q1 2029
138.3 - 8.517 marzo 2026Q3 202717 marzo 2028
128.2 - 8.524 febbraio 202513 agosto 202624 febbraio 2027
118.2 - 8.412 marzo 20243 settembre 202512 marzo 2026
108.1 - 8.314 febbraio 20236 agosto 20244 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.x e 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

VersioneRilascioBug fix fino aSecurity fix fino a
14Q1 2027 (previsto)Q3 2028Q1 2029
1317 marzo 2026Q3 202717 marzo 2028
1224 febbraio 202513 agosto 202624 febbraio 2027
1112 marzo 20243 settembre 202512 marzo 2026
1014 febbraio 20236 agosto 20244 febbraio 2025
98 febbraio 20228 agosto 20236 febbraio 2024
88 settembre 202026 luglio 202224 gennaio 2023
73 marzo 20206 ottobre 20203 marzo 2021
6 (LTS)3 settembre 201925 gennaio 20226 settembre 2022
5.826 febbraio 201926 agosto 201926 febbraio 2020
5.74 settembre 20184 marzo 20194 settembre 2019
5.67 febbraio 20187 agosto 20187 febbraio 2019
5.5 (LTS)30 agosto 201730 agosto 201930 agosto 2020
5.424 gennaio 201724 luglio 201724 gennaio 2018
5.323 agosto 201623 febbraio 201723 agosto 2017
5.221 dicembre 201521 giugno 201621 dicembre 2016
5.1 (LTS)9 giugno 20159 giugno 20179 giugno 2018
5.04 febbraio 20154 agosto 20154 febbraio 2016
4maggio 2013--
3febbraio 2012--
2settembre 2011--
1giugno 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.

Condividi su: LinkedIn

Altri articoli recenti