Grundlagen

Semantic Versioning (SemVer) erklaert

Verstehe MAJOR.MINOR.PATCH-Versionierung, wann welche Nummer erhoeht wird und warum SemVer fuer deinen Changelog und deine Nutzer wichtig ist.

Was ist Semantic Versioning?

Semantic Versioning (SemVer) ist eine Versionierungskonvention, die die Art der zugrunde liegenden Aenderungen kommuniziert. Jede Versionsnummer hat drei Teile:

MAJOR.MINOR.PATCH
  3  .  2  .  1

Die drei Teile

  • MAJOR (3.x.x) — Breaking Changes. Bestehende Integrationen muessen moeglicherweise aktualisiert werden.
  • MINOR (x.2.x) — Neue Features, die abwaertskompatibel sind. Sicheres Upgrade.
  • PATCH (x.x.1) — Bugfixes und kleinere Verbesserungen. Keine neuen Features, keine Breaking Changes.

Wann was erhoehen?

Hier sind typische Szenarien:

1.0.0 → 1.0.1  Bugfix (Patch)
1.0.1 → 1.1.0  Neues Feature (Minor)
1.1.0 → 2.0.0  Breaking Change (Major)

Pre-Release-Versionen

SemVer unterstuetzt Pre-Release-Labels zum Testen:

2.0.0-alpha.1
2.0.0-beta.3
2.0.0-rc.1

Warum SemVer wichtig ist

  • Es kommuniziert das Upgrade-Risiko auf einen Blick.
  • Paketmanager (npm, Composer) nutzen es fuer die Aufloesung von Abhaengigkeiten.
  • Es baut Vertrauen auf: Nutzer wissen, was sie bei jedem Release erwartet.
  • Es verhindert Dependency Hell in komplexen Projekten.

SemVer und Changelogs

Ein nach SemVer-Versionen organisierter Changelog gibt Nutzern einen klaren Upgrade-Pfad. Jeder Versionseintrag sagt ihnen genau, was sich geaendert hat und ob sie handeln muessen. Tools wie Deplyd zeigen Versionsnummern automatisch neben deinen Changelog-Eintraegen an.

Changelogs, die gelesen werden

Teste Deplyd kostenlos — 1,8 KB Widget, REST API und E-Mail-Benachrichtigungen inklusive.

Jetzt kostenlos starten