Nach dem aktuellen Versionierungsschema müsste die kommende Java-Version die Releasenummer 25 bekommen. Doch dem ist nicht so, denn die Versionierung ändert sich.
Das vor zwei Wochen erschienene Java-Release 24 wird das letzte sein, das dem aktuellen Versionierungsschema folgt. Die ersten Releases von Java hatten alle die „1“ als Hauptversionsnummer („Major“ gemäß Semantic Versioning), und es wurde die „Minor“-Version hochgezählt. Die Releases hießen demnach 1.0, 1.1, 1.2, 1.3 und 1.4. Seit Java 5 (a.k.a. 1.5) wird nur noch die Major-Version verwendet, die bei jedem neuen Release hochgezählt wird, also 5, 6, 7 usw., bis aktuell 24. Entsprechend müsste das nächste Release, das im September diesen Jahres erscheint, die Versionsnummer 25 haben. Doch es kommt anders.
Jahresbasierte Software-Versionierung
Viele Software-Hersteller sind dazu übergegangen, ihre Releases nach dem Erscheinungsjahr zu benennen. So setzt sich beispielsweise bereits seit 2004 die Releasenummer der Linux-Distribution Ubuntu aus dem Jahr und dem Monat zusammen, in dem die Version erschienen ist – z.B. 24.10 für das im Oktober 2024 erschienene Release. Auch Microsoft hat sich diesem Trend angeschlossen, und benannte seine Office-Versionen nach dem jeweiligen Erscheinungsjahr (Office 2016, Office 2019, Office 2021). Genauso JetBrains, Hersteller der beliebten Java-IDE IntelliJ IDEA, welcher seit 2016 diesem Modell folgt, beginnend mit der Version 2016.2.5.
Vorteile der jahresbasierten Versionierung
Die Benennung von Releases nach dem Erscheinungsjahr hat etliche Vorteile. So spiegelt die Versionsnummer etwa sofort wider, wann eine Softwareversion veröffentlicht worden ist. Die Nutzer sehen demnach direkt, wie aktuell eine Version ist. Die Herausgabe von einem oder gar mehreren Releases pro Jahr fördert zudem das Vertrauen der Nutzer in die Langlebigkeit und Stabilität der Software.
Java-Versionierung bald auch jahresbasiert
Diese Vorteile möchten die Herausgeber von Java nun ebenfalls für sich nutzen. Die Tatsache, dass Java 25 (nach altem Schema) im Jahr 2025 erscheint, wird von ihnen als günstige Gelegenheit angesehen, auf das jahresbasierte Schema umzustellen. Mark Reinhold, Chief Architekt der Java Platform Group bei Oracle, schreibt dazu:
„The switch of the versioning model in the context of Release 25 is favourable, as it involves only a minor adjustment for the Java users. The only change is a minor version being added to the release number, while an adaption of the major version is not required.“
Die Java-Nutzer müssten sich laut Reinhold nur in geringem Maße umstellen, da lediglich eine Minor-Version hinzugefügt würde, während eine Anpassung der Hauptversionsnummer nicht erforderlich wäre.
Das neue Versionierungsschema lautet YY.X, wobei YY für die Jahreszahl steht (ohne den 2000er-Teil), und X für die Nummer des im selben Jahr veröffentlichten Release. Da die Java-Releases halbjährlich erscheinen (vgl. JEP-3 – JDK Release Process), wird es zwei Werte für X geben, nämlich jeweils 1 für das im März erscheinende Release, und 2 für das September-Release. Da das kommende Release im September erscheint, wird es die Versionsnummer „25.2“ bekommen. Dies mag zwar zunächst kontraintuitiv erscheinen, da es sich um das erste Release mit Hauptversionsnummer 25 handelt, doch laut Reinhold wolle man deswegen „[…] keine Ausnahme machen, sondern von Beginn an das neue Schema konsequent anwenden.“
Die folgenden Releases werden dann entsprechend die Nummern 26.1, 26.2, 27.1 usw. erhalten.
Details und Hintergründe zum neuen Versionierungsmodell finden sich im entsprechenden JDK Enhancement Proposal (JEP): JEP-4125 – Change versioning schema of the JDK).
Der Beitrag Java ändert Versionierungsschema erschien zuerst auf Business -Software- und IT-Blog – Wir gestalten digitale Wertschöpfung.