Naar inhoud springen

Software versioning

Uit Wikipedia, de vrije encyclopedie
Semantisch versioneren: een driedelig versienummer
Een voorbeeld van versienummers

Software versioning is het proces van het toewijzen van unieke nummers aan elke versie van computersoftware. Het is een regelmatig gebruikt versieschema[1] dat een versie beschrijft met een driedelig versienummer (Majeur.Mineur.Patch), een optionele tag en een optioneel label. Er wordt binnen dit schema groot belang gehecht aan het beschrijven van risico en functionaliteit.

Ingrijpende veranderingen worden aangegeven door het Majeur-getal te verhogen (hoog risico); nieuwe, compatibele wijzigingen verhogen het Mineure getal (gemiddeld risico); en alle andere niet-ingrijpende wijzigingen verhogen het patchnummer (laagste risico). Een tag kan worden meegegeven om eventuele risico's (-alpha, -beta) aan te duiden. Majeur versie nul (0.y.z) wordt gebruikt om aan te tonen dat een product nog drastisch kan veranderen.

Semantic versioning

[bewerken | brontekst bewerken]

Een voorstel om softwareversies te standaardiseren heet semantic versioning (ook afgekort tot SemVer)[2] Er wordt in dit schema betekenis gegeven aan de structuur van de versienummers, die bestaat uit drie natuurlijke getallen, elk gescheiden door een punt.

Een voorbeeld van het afleiden van compatibiliteit uit een SemVer-versie: software die afhankelijk is van versie 2.1.5 van een API is compatibel met versie 2.2.3, maar niet noodzakelijkerwijs met 3.2.4.

Ontwikkelaars hebben de optie om de Mineure versie met meer dan 1 cijfer tegelijk te verhogen om aan te geven dat er belangrijke functionaliteit werd toegevoegd. Dit rechtvaardigt echter niet het verhogen van de Majeure versie; bijvoorbeeld Internet Explorer 5 van 5.1 naar 5.5 of Adobe Photoshop 5 naar 5.5. Men kan dit doen om de waarde van de upgrade tegenover de gebruiker te benadrukken. Merk op dat de versiecijfers niet beperkt zijn tot een enkel cijfer, zoals in Blender versie 2.91 of Minecraft Java Edition vanaf 1.7.10).

Verschillende versienummerschema's werden opgesteld om verschillende versies van een stuk software bij te houden. Doordat computers niet weg te denken zijn uit het dagdagelijkse leven, worden deze schema's tegenwoordig ook buiten computers gebruikt.

Andere schema's kunnen waarde hechten aan meerdere versies:

majeur.mineur[.build[.revisie]] (voorbeeld: 1.2.12.102)
majeur.mineur[.maintenance[.build]] (voorbeeld: 1.4.3.5249)