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. einer 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.
Im allgemeinen sprachlichen Umgang werden häufig auch Varianten von Software (z. B. „Windows XP Home“ und „Windows XP Professional“) als Versionen bezeichnet. Um jedoch Verwechslungen vorzubeugen, ist die Differenzierung der Begriffe Version und Variante hilfreich, kann allerdings nicht immer exakt vollzogen werden.
Ein Versuch, die Software-Versionierung zu standardisieren, ist Semantic Versioning (SemVer),[1] d. h. der Aufbau der Versionsnummern wird mit Bedeutung versehen. Dabei besteht die Version im Wesentlichen aus drei (durch je einen Punkt getrennten) natürlichen Zahlen (einschließlich der Null). In der folgenden Liste wird die Bedeutung einer Inkrementierung der jeweiligen Versionsteile beschrieben:
Die major version: Eine neue Version darf auch Veränderungen beinhalten, die die API inkompatibel mit früheren Versionen werden lassen.