Semantic Versioning

CI/CD & GitOps beginner

Semantic Versioning ist ein Versionierungsschema, das die Art und Auswirkung von Änderungen durch ein strukturiertes MAJOR.MINOR.PATCH-Versionsformat kommuniziert.

Kurzfassung

Semantic Versioning (SemVer) ist eine weit verbreitete Versionierungskonvention, die das Format MAJOR.MINOR.PATCH verwendet, wobei jedes Segment die Art und Kompatibilitätsauswirkung einer Software-Änderung kommuniziert.

Was ist Semantic Versioning?

Semantic Versioning, definiert unter semver.org, legt fest, dass eine Versionsnummer die Form MAJOR.MINOR.PATCH hat:

  • MAJOR wird bei inkompatiblen API-Änderungen erhöht, die die Rückwärtskompatibilität brechen
  • MINOR wird bei neuer Funktionalität erhöht, die rückwärtskompatibel hinzugefügt wird
  • PATCH wird bei rückwärtskompatiblen Bugfixes erhöht

Pre-Release-Versionen und Build-Metadaten können mit Bindestrichen und Pluszeichen angehängt werden (z.B. 1.0.0-alpha.1 oder 1.0.0+build.42).

SemVer löst die sogenannte "Dependency Hell", indem es Konsumenten einen klaren Vertrag darüber gibt, was beim Upgrade zu erwarten ist. Package Manager wie npm, Maven und Helm verlassen sich auf SemVer, um kompatible Abhängigkeitsversionen automatisch aufzulösen. In CI/CD-Pipelines können automatisierte Tools wie semantic-release Conventional Commit Messages analysieren und die korrekte nächste Versionsnummer automatisch bestimmen und veröffentlichen.

Warum ist Semantic Versioning relevant?

  • Klare Kommunikation: Versionsnummern vermitteln Konsumenten das Risiko und die Kompatibilitätsauswirkung eines Upgrades
  • Automatisiertes Release Management: CI/CD-Tools können Versions-Bumps und Changelog-Generierung basierend auf SemVer-Regeln automatisieren
  • Abhängigkeitsverwaltung: Package-Ökosysteme verlassen sich auf SemVer, um kompatible Versionen ohne manuellen Eingriff aufzulösen

Wir sind für Sie da

Sie interessieren sich für unsere Trainings oder haben einfach eine Frage, die beantwortet werden muss? Sie können uns jederzeit kontaktieren! Wir werden unser Bestes tun, um alle Ihre Fragen zu beantworten.

Hier kontaktieren