Loading AI tools
definiertes Entwicklungsstadium einer Software mit allen dazugehörigen Komponenten Aus Wikipedia, der freien Enzyklopädie
Versionsnummern unterscheiden einzelne Versionen einer Software, um deren Weiterentwicklungen nachvollziehbar zu kennzeichnen.
Die Versionsnummer ist die Grundlage für die Versionsverwaltung. Den Prozess der Vergabe der Versionsnummer nennt man Versionierung.
Eine semantische Versionsnummer setzt sich aus folgenden Teilen zusammen:[1]
Beispiel für die 2. Version eines Programms, in der 3. Nebenversion und in der 5. Fehlerkorrektur, Build 0041:
2.3.5-0041 │ │ │ └────── Buildnummer │ │ └───────── Revisionsnummer │ └─────────── Nebenversionsnummer └───────────── Hauptversionsnummer
Jede dieser Versionsnummern kann auch aus mehreren Ziffern bestehen. Zum Beispiel folgt nach Version 0.9, wenn sich nur die Nebenversion erhöht, 0.10 und nicht 1.0. Bei manchen Programmen ist daher die Nebenversionsnummer zweistellig oder enthält eine führende Null, wenn mit mehr als zehn Versionen dieser Art zu rechnen ist (Beispiel: 0.09). Wird die Haupt- oder Nebenversionsnummer erhöht, werden die folgenden Stellen, mit Ausnahme der Buildnummer, auf 0 zurückgesetzt. Auf die Version 2.3.5 folgt also, je nach Grad der Änderung, die Version 2.3.6, 2.4.0 oder 3.0 (bzw. 3.0.0).
Häufig bildet die Hauptversion mit der Nummer 0 insofern eine Ausnahme, als auch bei einer Erhöhung der Nebenversion größere Änderungen möglich sind.
Grundsätzlich gibt es für die Bedeutung der einzelnen Werte jedoch keine festen Vorgaben, vielmehr haben sich Quasi-Standards etabliert: Unter dem .Net-Framework folgt man z. B. dem abweichenden Schema <Hauptversionsnummer>.<Nebenversionsnummer>.<Buildnummer>.<Revisionsnummer>
[3] (gegenüber obigem Beispiel vertauschte Position für Revisionsnummer und Buildnummer). In .NET unterscheidet man zudem zwischen unterschiedlichen Arten von Versionen:[4]
Versionsnummer | Beschreibung |
---|---|
AssemblyFileVersion |
Version, welche einen individuellen Build bezeichnet. Die Version zählt hoch wenn eine neue Assembly erstellt wird, auch wenn der Quelltext ident ist. |
AssemblyInformationalVersion |
Version eines Produktes, welches aus mehreren Assemblies besteht. |
AssemblyVersion | Version einer Assembly. Die Version bleibt ident, wenn diese aus identischem Quelltext erstellt wurde. |
Zu einem Versionsstand an einem beliebigen Zeitpunkt sagt man auch Build. Die Build-Nummer wird in vielen Projekten unabhängig von den anderen Nummern erhöht und nicht zurückgesetzt. Zum Beispiel gibt es beim Betriebssystem Windows von Microsoft zwei Produktreihen: in der Windows‑9x-Reihe sind die Builds 950 (Windows 95), 1998 (Windows 98) und 2222 (Windows 98 SE) bekannt, in der Reihe Windows‑NT-Reihe sind dies die Builds 1381 (Windows NT 4.0 Service Pack 6), 2600 (Windows XP), 6000 (Windows Vista), 7600 (Windows 7), 9200 (Windows 8) and 9600 (Windows 8.1). Seit Windows 10 trägt jede Version eine eigene Build-Nummer.
Oftmals ist es – vor allem bei Open-Source-Software – der Fall, dass sich die Versionsnummern von Programmen oder Systemen noch vor der Version 1.x befinden. Dies deutet jedoch nicht zwingend darauf hin, dass die Entwicklung noch nicht weit fortgeschritten ist, sondern eher, dass die Version noch nicht das von den Entwicklern gesteckte Ziel erreicht hat und sich weiterhin in der Entwicklung befindet. Teilweise gibt es sogar Open-Source-Programme, die – obwohl sie den Alpha- und Beta-Status längst verlassen haben – weiterhin noch unterhalb der Version 1.0 versioniert sind.
Eine Versionsnummer wird oft nach dem Programmnamen angeführt und manchmal durch „v.“, „v“ oder „V“ (für Version) speziell gekennzeichnet.
Ein alternativer Ansatz besteht darin, eine Versionsnummer mit einem Datum zu erstellen:
2024.10.12-0002 │ │ │ └── Buildnummer (innerhalb des Tages) │ │ └─────── Tag │ └────────── Monat └────────────── Jahr
Für die Software-Entwicklung stellen Versionsnummern eine weitaus wichtigere Information als für den Kunden dar. Mit Hilfe der Versionsnummern kann unter anderem sichergestellt werden, dass in Entwicklergruppen neue Programmteile nicht mit älteren überschrieben werden (siehe Versionsverwaltung).
In größeren Softwareprojekten wird unter Umständen aus Marketingaspekten von der internen, eher technisch motivierten Versionierung abgewichen, was dann zu Versionsnamen führt (Windows XP entspricht beispielsweise „Windows NT 5.1“), aus denen sich die Versionsfolge nicht mehr ohne weiteres erkennen lässt. Aus Marketinggründen kann es auch zum Überspringen von Versionsnummern kommen, um keine niedrigere Version (die als „älter“ interpretiert werden kann) als Mitwettbewerber zu haben. Dies war beispielsweise bei WinWord, dessen Version von 2.0 auf 6.0 sprang, Slackware und Windows 10 der Fall. Auch bei verschiedener Software vom gleichen Hersteller kann es ähnliche Fälle geben, so wurde z. B. die erste Version von Windows NT „Windows NT 3.1“ genannt, da sie nach Windows 3.1 auf den Markt kam und dieselbe grafische Oberfläche wie dieses verwendete. Bei Windows 7 wurde von der internen Versionsnummer („Windows NT 6.1“) aus technischen und psychologischen Gründen abgewichen und „Windows 9“ wurde als Produktname übersprungen (wobei die NT-Versionen 7 bis 9 ebenfalls übersprungen wurden).
Auch werden andere Arten, Programmversionen voneinander zu unterscheiden, verwendet, da sie leichter zu merken sind:
Je nach Entwicklungsstadium der Software gibt es noch Ergänzungen: