Version (Software)
Eine Version, häufig auch englisch revision genannt, ist ein definiertes Entwicklungsstadium einer Software mit allen dazugehörigen Komponenten. Verschiedene Versionen stellen die Veränderung und Weiterentwicklung einer Software oder eines Teils (z. B. Programmbibliothek) über die Zeit dar, sie haben immer eine gemeinsame historische Basis. So werden Systeme zur Versionierung genutzt, um neuere Ausgaben einer Software von einer älteren zu unterscheiden.
Verschiedene numerische, alphanumerische oder auch datumsbasierte Versionsnummern werden zur Unterscheidung und Bezeichnung herangezogen. Der Prozess wird oft durch ein Versionsverwaltungssystem technisch begleitet. Software vor der Fertigstellung (z. B. Beta-Versionen) hat meist eine Versionsnummer, die mit „0“ beginnt.
Im allgemeinen sprachlichen Umgang werden häufig auch Varianten von Software (z. B. „Windows XP Home“ und „Windows XP Professional“) als Versionen bezeichnet. Um Verwechslungen jedoch vorzubeugen, ist die Differenzierung des Begriffs Version zur Variante sehr hilfreich, kann allerdings nicht immer exakt vollzogen werden.
Bei anderen Publikationen als Software (z. B. Bücher und Spiele) spricht man eher von Auflagen oder Ausgaben statt von Versionen.
Semantic Versioning
Ein Versuch, die Software-Versionierung zu standardisieren, ist Semantic Versioning (SemVer),[1] bei der die Version im Wesentlichen aus drei (je durch einen Punkt getrennten) natürlichen Zahlen besteht: Die „major version“, „minor version“ und „patch version“. Ein Inkrementieren der patch version bedeutet, dass die Software rückwärtskompatibel korrigiert wurde (siehe Patch), ein Inkrementieren der minor version bedeutet, dass neue Funktionalität rückwärtskompatibel hinzugefügt wurde, wohingegen eine neue major version auch Veränderungen beinhalten darf, die die API inkompatibel mit früheren Versionen werden lässt.