Hva er Semantisk versjonering
Versjonsnummerstandard MAJOR.MINOR.PATCH
Semantisk versjonering (SemVer) — en standard for versjonsnummerering av programvare i formatet MAJOR.MINOR.PATCH, der hver del har en spesifikk betydning.
Versjonsstruktur
- MAJOR (1.x.x) — inkompatible API-endringer
- MINOR (x.1.x) — ny funksjonalitet med bakoverkompatibilitet
- PATCH (x.x.1) — bakoverkompatible feilrettinger
- Forhåndsutgivelse — 1.0.0-alpha, 1.0.0-beta.1
- Build-metadata — 1.0.0+build.123
Regler
- Initialversjon — 0.1.0
- Første stabile utgivelse — 1.0.0
- Ved MAJOR-økning — nullstill MINOR og PATCH
- Ved MINOR-økning — nullstill PATCH
- Versjoner sammenlignes fra venstre til høyre
Endringseksempler
- MAJOR: funksjonsfjerning, endring av metodesignatur
- MINOR: nytt endepunkt, ny valgfri parameter
- PATCH: feilretting, ytelsesforbedring
Verktøy
- npm — bruker SemVer for pakker
- Composer — PHP-pakkebehandler
- Maven — Java-avhengigheter
- semantic-release — utgivelsesautomatisering
- commitizen — strukturerte commits
Fordeler
- Forutsigbarhet — klare forventninger til oppdateringer
- Automatisering — automatisk versjonsbestemmelse
- Dokumentasjon — endringslogg fra commits
- Kompatibilitet — sikre avhengighetsoppdateringer