Qu'est-ce que Versionnage Sémantique
Standard de numérotation MAJOR.MINOR.PATCH
Versionnage Sémantique (SemVer) — un standard de numérotation des versions logicielles au format MAJOR.MINOR.PATCH, où chaque partie a une signification spécifique.
Structure de version
- MAJOR (1.x.x) — changements d'API incompatibles
- MINOR (x.1.x) — nouvelle fonctionnalité avec rétrocompatibilité
- PATCH (x.x.1) — corrections de bugs rétrocompatibles
- Pré-version — 1.0.0-alpha, 1.0.0-beta.1
- Métadonnées de build — 1.0.0+build.123
Règles
- Version initiale — 0.1.0
- Première version stable — 1.0.0
- À l'incrémentation de MAJOR — réinitialiser MINOR et PATCH
- À l'incrémentation de MINOR — réinitialiser PATCH
- Les versions sont comparées de gauche à droite
Exemples de changements
- MAJOR: suppression de fonction, changement de signature de méthode
- MINOR: ajout de nouvel endpoint, nouveau paramètre optionnel
- PATCH: correction de bug, amélioration de performance
Outils
- npm — utilise SemVer pour les packages
- Composer — gestionnaire de packages PHP
- Maven — dépendances Java
- semantic-release — automatisation des releases
- commitizen — commits structurés
Avantages
- Prévisibilité — attentes claires des mises à jour
- Automatisation — détermination automatique de version
- Documentation — changelog depuis les commits
- Compatibilité — mises à jour sécurisées des dépendances