La gestion sémantique de version définit des règles sur la manière de versionner une application/librairie. Le principe repose sur 3 numéros qui sont incrémentés de manières différentes.
Le premier numéro, désignant la version MAJEURE, est incrémenté lorsqu'il y a des changements qui ne sont pas rétro-compatibles (qui contiennent des breaking changes).
Le second numéro, désignant la version MINEURE, est incrémenté lorsqu'il y a un ajout de fonctionnalité (qui ne casse pas la rétrocompatibilité).
Le troisième numéro, désignant la version PATCH, est incrémenté quand il y a des corrections d'anomalies rétrocompatibles.
En plus de ces nombres, il est possible d'ajouter un libellé supplémentaire pour désigner des versions de prélivraison spécifique (-beta, -alpha...).