Questa pagina è la sorella di Sviluppo di pacchetti Laravel. Per la strategia di compatibilità con Laravel/PHP consulta Gestire la compatibilità tra versioni dei pacchetti.
Come scrivere il CHANGELOG.md
Il CHANGELOG è la fonte primaria dove gli utenti leggono “cosa, quando, in quale versione è cambiato”. Adottando il formato Keep a Changelog uniformi la struttura delle categorie in tutto il team.Regole di base
- Titola le versioni nella forma
## [x.y.z] - YYYY-MM-DD - Usa le categorie
Added / Changed / Deprecated / Removed / Fixed / Security - Metti in fondo i link di confronto per poter seguire le differenze
- Le modifiche non ancora rilasciate finiscono in
## [Unreleased]
Semantic Versioning (SemVer)
Il Semantic Versioning usaMAJOR.MINOR.PATCH con questi criteri.
- MAJOR: cambiamenti che rompono la retrocompatibilità (breaking change)
- MINOR: aggiunte di funzionalità retrocompatibili
- PATCH: fix retrocompatibili
Esempi di scelta per un pacchetto Laravel
Il supporto a Laravel 13 si tratta diversamente in base al contenuto della modifica.| Cambiamento | Versione consigliata |
|---|---|
Mantieni il supporto a Laravel 12 aggiungendo ^13.0 | MINOR |
Dismetti il supporto a Laravel 11/12 e lasci solo ^13.0 | MAJOR |
| Fix di un bug che si presenta solo su Laravel 13 | PATCH |
Tag Git e GitHub Releases
Prima crei il tag Git e lo pushi su origin.v2.1.0 e lo pubblichi. Nel corpo incolli la sezione ## [2.1.0] del CHANGELOG.
Release automatiche con GitHub Actions
Usandopush: tags: come trigger puoi pubblicare automaticamente le GitHub Releases al momento della creazione del tag. Con softprops/action-gh-release puoi riutilizzare direttamente i contenuti di CHANGELOG.md.
Impostando
needs: test sul job release puoi bloccare la pubblicazione se i test falliscono. Mantieni sempre questo gate, sia con release manuali che automatiche.Come gestire i breaking change
Progetta i breaking change perché possano essere adottati in modo graduale. Prima deprechi, poi rimuovi nella MAJOR successiva: così riduci il costo di migrazione per gli utenti.1. Segnala la deprecazione a livello di codice
2. Documenta la guida di migrazione
InUPGRADE.md o in una pagina dedicata metti in sequenza le modifiche che gli utenti devono applicare.
3. Lascia note di migrazione tra le versioni major
Quando fai un salto MAJOR, collega tra loroRemoved nel CHANGELOG e la guida di migrazione. L’utente vede in un colpo “cosa è stato rimosso” e “come sistemarlo”.
Pagine correlate
Sviluppo di pacchetti Laravel
Rivedi le basi di implementazione centrate sui service provider.
Gestire la compatibilità tra versioni dei pacchetti
Riorganizza compatibilità Laravel/PHP e criteri di uso di SemVer.
Testare pacchetti Laravel con Orchestra Testbench
Verifica le strategie di test e l’implementazione necessarie prima di ogni release.