SemVer (Semantic Versioning)

DevOps 🟢 Junior

Definition

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.

Termes lies

#devops#cicd#interview