In
informatica
, ma soprattutto nello
sviluppo software
, la
versione
(di un
software
,
programma
o
applicazione
) corrisponde a un determinato stato nello sviluppo di un software secondo l'uso del
versioning
(
lett.
"versionamento"). Secondo il
Grand dictionnaire terminologique
, il
versionnage
[1]
(equivalente
francese
dell'
inglese
versioning
) e quel processo (nello sviluppo), di mantenimento, di una versione di qualsiasi software in modo che possa essere facilmente recuperata, anche dopo che sono state rilasciate e implementate versioni piu recenti.
Durante il
corso della vita
di un software, vengono sviluppate e pubblicate piu versioni dello stesso: alcune di queste sono preliminari (come le versioni
alfa
e
beta
) e spesso rimangono inaccessibili al pubblico ? tranne che per eventuali (alfa o beta)
testing
; le versioni ? chiamate in questo caso
release
[2]
[3]
[4]
(
lett.
"rilascio") ? successive alla messa in vendita o diffusione del software, sono associate a un numero o, in certi casi, ad un nome identificativo.
Convenzionalmente, si distinguono
release
maggiori, dette
major release
, quando le differenze dalla
release
precedente riguardano sostanziali evoluzioni delle funzionalita del software, non
retrocompatibili
, e
release
minori, dette
minor release
, quando le differenze riguardano principalmente correzioni di malfunzionamenti del software (
bug
) o comunque aggiunta di nuove funzionalita retrocompatibili.
Il versioning semantico (Semantic Versioning), abbreviato come SemVer, e uno schema di numerazione delle versioni per il software che stabilisce regole e requisiti su come i numeri di versione vengono assegnati e incrementati.
E stato introdotto formalmente da Tom Preston-Werner, nonostante venisse utilizzato fin da prima della sua formalizzazione, ed e ampiamente utilizzato nella comunita dello sviluppo software.
Il numero di versione in SemVer e composto da tre segmenti: MAJOR.MINOR.PATCH. Ogni segmento ha un significato specifico:
- Versione MAJOR:
Si incrementa quando vengono introdotte modifiche incompatibili all'API. Questo indica che la nuova versione potrebbe non essere retrocompatibile con la versione precedente.
- Versione MINOR:
Si incrementa quando vengono aggiunte nuove funzionalita in modo retrocompatibile. Cio significa che il codice che funzionava con la versione precedente dovrebbe continuare a funzionare con quella nuova.
- Versione PATCH:
Si incrementa per correzioni di bug retrocompatibili. Indica che la nuova versione e retrocompatibile e contiene principalmente correzioni per problemi presenti nella versione precedente.
Inoltre, SemVer consente versioni di pre-rilascio e metadati di build:
- Versione di pre-rilascio:
Un trattino seguito da una serie di identificatori separati da punti, indicando una versione di pre-rilascio. Ad esempio, "1.0.0-alpha.1".
- Metadati di build:
Un segno piu seguito da una serie di identificatori separati da punti, indicando metadati di build. Ad esempio, "1.0.0+20130313144700".
Seguendo Semantic Versioning, sviluppatori e utenti possono rapidamente capire la natura dei cambiamenti in una release software, semplificando la gestione delle dipendenze e la determinazione della compatibilita.
Versioni preliminari
modifica
- ^
(
FR
)
Versionnage
, su
gdt.oqlf.gouv.qc.ca
,
Grand dictionnaire terminologique
.
URL consultato il 22 gennaio 2022
.
- ^
Release
, su
treccani.it
,
Treccani
.
URL consultato il 22 gennaio 2022
.
- ^
(
EN
)
RELEASE
, su
dictionary.cambridge.org
,
Cambridge Dictionary
.
- ^
(
EN
)
Release
, su
oxfordlearnersdictionaries.com
,
Oxford English Dictionary
.
- ^
Tom Preston-Werner,
Versionamento Semantico 2.0.0
, su
Semantic Versioning
.
URL consultato il 17 dicembre 2023
.
Collegamenti esterni
modifica