Innen datavitenskap , men spesielt innen programvareutvikling , tilsvarer versjonen (av en programvare , et program eller en applikasjon ) en viss tilstand i utviklingen av en programvare i henhold til bruken av versjonering ( liter. "versjonsstyring"). I følge Grand dictionnaire terminologique , versjonsnage [1] ( fransk ekvivalent til engelsk versjon) er den prosessen (under utvikling) for å vedlikeholde en versjon av programvare slik at den enkelt kan hentes frem, selv etter at nyere versjoner har blitt utgitt og implementert.
I løpet av en programvares levetid utvikles og publiseres flere versjoner av programvaren: noen av disse er foreløpige (som alfa- og betaversjoner ) og forblir ofte utilgjengelige for publikum - bortsett fra enhver (alfa- eller beta-) testing ; versjonene - i dette tilfellet kalt utgivelse [2] [3] [4] ( lit. "release") - etter salg eller distribusjon av programvaren, er knyttet til et nummer eller, i visse tilfeller, med et identifikasjonsnavn .
Konvensjonelt skilles store utgivelser , kalt større utgivelser , når forskjellene fra forrige utgivelse gjelder vesentlige utviklinger av programvarefunksjonene, som ikke er bakoverkompatible , og mindre utgivelser , kalt mindre utgivelser , når forskjellene hovedsakelig gjelder korrigeringer av programvarefeil ( bugs ) eller imidlertid tillegg av nye bakoverkompatible funksjoner.
Konvensjonene for nummerering av en programvareversjon gir vanligvis en triplett av tall i formen XYZ, der X, Y og Z er ikke-negative heltall, og ikke inneholder innledende nuller. [5] [6]
X er hovedversjonen , Y er mindreversjonen , og Z er patchversjonen . Hvert element øker som et tall for seg selv. For eksempel: 1.9.0 → 1.10.0 → 1.11.0 . For eksempel, for Linux -kjernen , distribuert som et komprimert arkiv linux-2.4.31.tar.bz2 , refererer det første tallet til hovedversjonen, det andre indikerer mindreversjonen og det tredje den korrigerende versjonen.
Økningen av X, mellom hovedversjoner , innebærer en inkompatibel modifikasjon; økningen av Y, mellom mindre versjoner , indikerer tillegg av funksjonalitet på en bakoverkompatibel måte; økningen av Z, mellom oppdateringsversjoner , indikerer tilstedeværelsen av rettelser på en bakoverkompatibel måte.