GeeksforGeeks
Semantic versioning (noto anche come SemVer) è un sistema di versioning che è stato in aumento negli ultimi anni. È sempre stato un problema per gli sviluppatori di software, release manager e consumatori. Avere un modo universale di versioning dei progetti di sviluppo software è il modo migliore per tenere traccia di ciò che sta accadendo con il software come nuovi plugin, addons, librerie ed estensioni sono in costruzione quasi tutti i giorni.
Il versioning semantico è un numero a 3 componenti nel formato XYZ, dove :
- X sta per una versione principale.
- Y sta per una versione minore.
- Z sta per una patch.
Quindi, SemVer è della forma Maggiore.Minore.Patch.
Lavorare : L’obiettivo di SemVer era quello di portare un po ‘ di sanità mentale alla gestione dei target di rilascio del software in rapido movimento. Come discusso sopra, 3 numeri cioè, Maggiore, Minore e Patch sono necessari per identificare una versione del software. Ad esempio, se prendiamo la versione 5.12.2, ha una versione principale di 5, una versione minore di 12 e una versione patch di 2. Di seguito sono riportati gli scenari in cui si dovrebbe urtare il valore di X, Y e Z.
- Urtare il valore di X quando si interrompe l’API esistente.
- Bump il valore di Y quando si implementano nuove funzionalità in modo compatibile con le versioni precedenti.
- Bump il valore di Z durante la correzione di bug.
Gli identificatori validi sono nel set e non possono essere vuoti. I metadati pre-release vengono identificati aggiungendo un trattino alla fine della sequenza SemVer. Quindi una pre-release per la versione 1.0.0 potrebbe essere 1.0.0-alpha.1. Quindi se è necessaria un’altra build, diventerebbe 1.0.0-alpha.2, e così via. Si noti che i nomi non possono contenere zeri iniziali, ma i trattini sono consentiti nei nomi per gli identificatori pre-release.
Vantaggi di SemVer:
- È possibile tenere traccia di ogni transizione nella fase di sviluppo del software.
- Versioning può fare il lavoro di spiegare agli sviluppatori su che tipo di modifiche hanno avuto luogo e gli eventuali aggiornamenti che dovrebbero avvenire nel software.
- Aiuta a mantenere le cose pulite e significative.
- Aiuta altre persone che potrebbero utilizzare il tuo progetto come dipendenza.
Punti da tenere a mente :
- La prima versione inizia a 0.1.0 e non a 0.0.1, poiché non sono state apportate correzioni di bug, piuttosto iniziamo con una serie di funzionalità come prima bozza del progetto.
- Prima della 1.0.0 è solo la fase di sviluppo, in cui ti concentri sul fare le cose.
- SemVer non copre le librerie con tag 0.*.*. La prima versione stabile è 1.0.0.