SemVer (Semantic Versioning)
DevOps 🟢 JuniorDefinition
Convention de versionnement MAJOR.MINOR.PATCH. Major = breaking change, Minor = nouvelle feature rétrocompatible, Patch = correction de bug.
Analogie
L'adresse d'un immeuble : numéro de rue (major), étage (minor), numéro d'appartement (patch).
Exemple de code
// 1.0.0 -> 1.0.1 (bugfix)
// 1.0.1 -> 1.1.0 (new feature)
// 1.1.0 -> 2.0.0 (breaking change)
npm version patch // 1.0.0 -> 1.0.1
npm version minor // 1.0.1 -> 1.1.0
npm version major // 1.1.0 -> 2.0.0
Cas d'usage
Communiquer clairement l'impact d'une mise à jour aux consommateurs d'une lib/API.
Anti-pattern
Publier des breaking changes en minor : les utilisateurs cassent leur code en mettant à jour.