Semantic Versioning für Applikationen

Semantic Versioning wird für die meisten Frameworks und Bibliotheken verwendet. Für Maven, NPM und andere Package Manager ist eine semantische Versionierung zwingend notwendig, um Abhängigkeiten korrekt auflösen zu können. Wie kann man aber Applikationen semantisch versionieren?

Auf Semantic Versioning wird der Aufbau einer Versionsnummer wie folgt beschrieben:

Auf Grundlage einer Versionsnummer von MAJOR.MINOR.PATCH werden die einzelnen Elemente folgendermaßen erhöht:

  1. MAJOR wird erhöht, wenn API-inkompatible Änderungen veröffentlicht werden,
  2. MINOR wird erhöht, wenn neue Funktionalitäten, welche kompatibel zur bisherigen API sind, veröffentlicht werden, und
  3. PATCH wird erhöht, wenn die Änderungen ausschließlich API-kompatible Bugfixes umfassen.

Außerdem sind Bezeichner für Vorveröffentlichungen und Build-Metadaten als Erweiterungen zum MAJOR.MINOR.PATCH Format verfügbar.

Die Hinweise, wann welche Nummer erhöht werden muss, beziehen sich auf die API, das Application Programming Interface. Eine Applikation wird in der Regeln von Nutzer verwendet, nicht von anderen Softwarekomponenten, und hat daher kein API.

Statt der API-Kompatibilität, kann für Applikationen die Kompatibilität von Systemanforderungen zur Versionierung herangezogen werden. MAJOR wird erhöht, wenn sich die Systemanforderungen geändert haben, zum Beispiel ein neueres Betriebssystem oder eine zusätzliche Ressource wird vorausgesetzt. Bleiben die Systemanforderungen gleich und wurden neue Funktionalitäten hinzugefügt wird MINOR erhöht, wurden lediglich Bugs gefixt wird PATCH erhöht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.