Zum Hauptinhalt springen

Semantic Versioning

Semantic Versioning (kurz: SemVer) ist eine Konvention zur Versionierung von Software. Eine Versionsnummer hat immer die Form MAJOR.MINOR.PATCH, z. B. 2.4.1.

Schema

TeilHochzählen wenn...
MAJORinkompatible Änderungen — bestehende Nutzer müssen etwas anpassen
MINORneue Funktionalität, die abwärtskompatibel ist
PATCHBugfixes ohne Änderung der Schnittstelle

Regeln

  • Vor dem ersten stabilen Release gilt 0.x.y — breaking changes sind dort auch in Minor-Versionen erlaubt.
  • Eine veröffentlichte Version darf nicht nachträglich verändert werden. Fehler werden als neue PATCH-Version korrigiert.
  • Pre-Release-Versionen werden mit einem Suffix gekennzeichnet, z. B. 1.0.0-alpha, 1.0.0-rc.1.

Im Projekt

Git-Tags mit v-Präfix lösen die CI/CD-Pipeline aus und erzeugen ein versioniertes Docker-Image:

git tag v1.2.0
git push origin v1.2.0

Das resultierende Image wird als 1.2.0 in der GitHub Container Registry veröffentlicht.