Vad är Semantisk versionering
Versionsnumreringsstandard MAJOR.MINOR.PATCH
Semantisk versionering (SemVer) — en standard för versionsnumrering av programvara i formatet MAJOR.MINOR.PATCH, där varje del har en specifik betydelse.
Versionsstruktur
- MAJOR (1.x.x) — inkompatibla API-ändringar
- MINOR (x.1.x) — ny funktionalitet med bakåtkompatibilitet
- PATCH (x.x.1) — bakåtkompatibla buggfixar
- Förhandsversion — 1.0.0-alpha, 1.0.0-beta.1
- Build-metadata — 1.0.0+build.123
Regler
- Initialversion — 0.1.0
- Första stabila release — 1.0.0
- Vid MAJOR-ökning — återställ MINOR och PATCH
- Vid MINOR-ökning — återställ PATCH
- Versioner jämförs från vänster till höger
Ändringsexempel
- MAJOR: funktionsborttagning, metodsignaturändring
- MINOR: ny endpoint, ny valfri parameter
- PATCH: buggfix, prestandaförbättring
Verktyg
- npm — använder SemVer för paket
- Composer — PHP-pakethanterare
- Maven — Java-beroenden
- semantic-release — releaseautomatisering
- commitizen — strukturerade commits
Fördelar
- Förutsägbarhet — tydliga förväntningar på uppdateringar
- Automatisering — automatisk versionsbestämning
- Dokumentation — changelog från commits
- Kompatibilitet — säkra beroendeuppdateringar