Definition

Versionierung (Versionsverwaltung)

Was ist Versionierung?

Versionierung oder Versionsverwaltung ist die Erstellung und Verwaltung mehrerer Produktversionen, die alle dieselbe allgemeine Funktion haben, aber verbessert, aktualisiert oder angepasst werden. Obwohl viele Entwickler und Anbieter den Begriff in unterschiedlichen Zusammenhängen verwenden, bezieht sich die Versionierung meist auf Betriebssysteme, Software-Artefakte und Webdienste.

So können Anbieter beispielsweise einer fortlaufenden Reihe von Produktversionen, wie Windows 10 und Windows 11, eindeutige Namen oder spezifische numerische Bezeichnungen zuweisen. Die Nummern stehen für verschiedene Versionen derselben Software oder Anwendung, und die zugewiesenen Nummern steigen mit den neuesten Entwicklungen und Versionen.

Nachfolgenden Versionen desselben Produkts können auch numerische Kennungen zugewiesen werden, die aus zwei oder drei durch Punkte getrennten Zahlen bestehen. Die erste Nummer, die so genannte Hauptnummer, wird erhöht, wenn es signifikante Verbesserungen oder Änderungen in der Funktionalität gibt. Zum Beispiel, als Microsoft seinen früheren Browser Internet Explorer 4 auf Internet Explorer 5 aktualisierte.

Die zweite Nummer, die so genannte Minor-Nummer, wird erhöht, wenn es kleinere Funktionsänderungen oder bemerkenswerte Fehlerbehebungen gibt. Internet Explorer 5.2 bedeutet, dass kleinere Änderungen an der Vorgängerversion Internet Explorer 5.1 vorgenommen wurden.

Die dritte Nummer, sofern vorhanden, wird als Revisionsnummer bezeichnet und wird hinzugefügt oder erhöht, wenn kleinere Fehler behoben wurden. Die 7 in Internet Explorer 5.1.7 zeigt beispielsweise an, dass in der Vorgängerversion Fehler behoben wurden.

Abbildung 1: Die Anbieter vergeben für jede neue Produktversion einer Serie eindeutige Namen oder spezifische numerische Kennungen, wie Microsoft es bei Windows 10 und Windows 11 getan hat.
Abbildung 1: Die Anbieter vergeben für jede neue Produktversion einer Serie eindeutige Namen oder spezifische numerische Kennungen, wie Microsoft es bei Windows 10 und Windows 11 getan hat.

Was bedeutet Versionierung in der Softwareentwicklung?

In der Softwareentwicklung ermöglicht die Versionskontrolle den Entwicklungsteams, die am Projektcode vorgenommenen Änderungen zu verfolgen. Bei den Änderungen kann es sich um neue Funktionen, Merkmale oder Fehlerbehebungen handeln. Auch kleinere Änderungen können auf ähnliche Weise nachverfolgt werden. Manchmal werden auch völlig neue Funktionen und Merkmale auf der Grundlage von Entwicklungen über mehrere Versionen hinweg freigegeben.

Die Versionierung, auch Softwareversionierungs-Workflow genannt, kann eine interne Praxis sein, die es den Entwicklern erleichtert, die Entwicklung des Codes zu verfolgen. Während der Entwicklung können die am Prozess beteiligten Teams interne Versionsnummern verwenden, die innerhalb eines Tages mehrmals erhöht werden können. Im Gegensatz dazu ändert sich die öffentlich freigegebene Version normalerweise nicht sehr oft. Die interne Versionsnummer, die von den Entwicklungsteams für Java SE 5.0 verwendet wird, lautet zum Beispiel 1.5.0.

Was ist semantische Versionierung?

Es gibt viele verschiedene Möglichkeiten, Softwareprodukte und Artefakte zu versionieren. Eines der beliebtesten Verfahren ist die semantische Versionierung. Semantische Versionierung, oder SemVer, wird häufig als Versionierungsrahmen für Anwendungen, Plug-ins, Erweiterungen und verschiedene Softwareobjekte verwendet.

SemVer besteht aus drei Teilen, X.Y.Z, wobei X, Y und Z nicht-negative ganze Zahlen sind. Das bedeutet, dass die Hauptversion X und die Nebenversion Y ist. Fehlerkorrekturen und Patches werden als Version Z bezeichnet, so dass sie immer die Form X.Y.Z oder major.minor.patch haben. In SemVer 1.8.0 steht beispielsweise 1 für die Hauptversion, 8 für die Nebenversion und 0 für Fehlerbehebungen oder Patches.

Wie funktioniert Versionierung in AWS?

In Amazon Web Services (AWS) hilft die Versionierung dabei, mehrere Varianten eines Objekts in einem einzigen Speicher-Bucket zu speichern. Mithilfe der Versionierungsfunktion von Amazon Simple Storage Service (S3) können Benutzer alle verschiedenen Versionen jedes in Amazon S3-Buckets gespeicherten Objekts aufbewahren, abrufen und wiederherstellen.

Die AWS S3-Versionierung hilft Benutzern bei der schnellen Wiederherstellung nach Anwendungsfehlern und unbeabsichtigten Benutzeraktionen. Wenn die Versionierung von S3-Buckets aktiviert ist, speichert Amazon S3 unterschiedliche Objekte, wenn es mehrere Schreibanforderungen erhält. Dieser Ansatz hilft Benutzern, versehentlich überschriebene oder gelöschte Objekte wiederherzustellen. Wenn ein Benutzer beispielsweise ein Objekt löscht, fügt Amazon S3 eine Löschmarkierung ein, anstatt das Objekt dauerhaft zu entfernen. Die Löschmarkierung wird zur aktuellen Version des Objekts, so dass die Benutzer es schnell wiederherstellen können, indem sie zur vorherigen Version zurückkehren.

Wie funktioniert Versionierung in der API?

Versionierung in der Anwendungsprogrammierschnittstelle (API) ist der Prozess der transparenten Verwaltung von Änderungen an einer API. Die API-Versionierung gilt als effektive Methode, um Änderungen an der API zu kommunizieren. Auf diese Weise wissen die Benutzer, was sie von der neuesten Version erwarten können.

Was ist Versionierung in einer Web-API?

Web-API-Versionierung steht für mehrere Implementierungen und Versionen einer Web-API. Die Versionierung von Web-APIs umfasst mehrere Abhängigkeiten wie Datenbanken und Systeme von Drittanbietern, die gepflegt und den Benutzern zur Verfügung gestellt werden. Die Nutzer können dann eine bestimmte Web-API-Version anfordern, indem sie die Version in der Kopfzeile des Hypertext Transfer Protocol, im Querystring oder in verschiedenen Medientypen definieren.

Was ist Versionierung in REST API?

Bei der REST-API-Versionierung wird wie bei der API-Versionierung eine Nummer verwendet, die einen Teil der Basis-URL für REST-Anfragen bildet, zum Beispiel https://localhost:9334/ibmmq/rest/v3/admin/installation. Die Versionsnummer der REST-API hilft dabei, die Kunden von Änderungen an der REST-API zu isolieren, die die Entwicklungsteams in zukünftigen Versionen einführen wollen.

Was ist der Unterschied zwischen Versionierung und Versionskontrolle?

Obwohl die Begriffe Versionierung und Versionskontrolle oft austauschbar verwendet werden, haben sie unterschiedliche technische Bedeutungen.

Versionierung hilft bei der Erstellung und Verwaltung mehrerer digitaler Produktversionen, zum Beispiel von Software. Sie haben zwar alle dieselben allgemeinen Funktionen, aber einige Versionen werden verbessert, angepasst oder aufgerüstet.

In ähnlicher Weise sorgt die Versionskontrolle für eine effiziente und gemeinsame Nutzung und Bearbeitung von Daten durch verschiedene Benutzer eines Systems. Dies kann den Benutzern helfen, Änderungen am Software-Quellcode im Laufe der Zeit zu verfolgen und zu verwalten. Diese Benutzer können zu einem bestimmten Zeitpunkt innerhalb des Systems verschiedene Versionen des Produkts verwenden.

Abbildung 2: Schematische Darstellung der Funktionsweise der verteilten Versionskontrolle in der Softwareentwicklung.
Abbildung 2: Schematische Darstellung der Funktionsweise der verteilten Versionskontrolle in der Softwareentwicklung.

Die Versionskontrolle ist auch für DevOps-Teams von entscheidender Bedeutung, die sich bemühen, die Entwicklungszeit zu verkürzen und gleichzeitig erfolgreiche Implementierungen zu beschleunigen.

Diese Definition wurde zuletzt im Februar 2025 aktualisiert

Erfahren Sie mehr über Business-Software