Qu'est-ce qu'un changelog et pourquoi est-il important ?
Un changelog (journal des modifications) est un fichier qui documente les changements notables de chaque version d'un projet. Il s'adresse aux utilisateurs et développeurs qui veulent savoir ce qui a changé entre deux versions : nouvelles fonctionnalités, corrections de bugs, changements cassants, fonctionnalités dépréciées. Sans changelog, les utilisateurs doivent lire les commits Git ou les pull requests pour comprendre les évolutions, ce qui est fastidieux et peu accessible. Un bon changelog est un signe de maturité et de professionnalisme pour un projet.
Le format Keep a Changelog
Keep a Changelog est une convention populaire qui standardise la structure d'un changelog. Chaque version est un titre h2 avec le numéro de version et la date (## [1.2.0] - 2024-01-15). Les modifications sont classées en catégories : Added (nouvelles fonctionnalités), Changed (modifications existantes), Deprecated (fonctionnalités qui seront retirées), Removed (fonctionnalités retirées), Fixed (corrections de bugs), Security (corrections de vulnérabilités). La version la plus récente apparaît en premier. Une section [Unreleased] en haut regroupe les changements pas encore publiés.
Versionning sémantique (SemVer)
Le versionning sémantique (SemVer) utilise trois chiffres : MAJEUR.MINEUR.PATCH. Incrémentez MAJEUR pour des changements incompatibles (breaking changes), MINEUR pour de nouvelles fonctionnalités rétrocompatibles, PATCH pour des corrections de bugs. Par exemple, passer de 1.2.3 à 2.0.0 signale des changements cassants. Passer de 1.2.3 à 1.3.0 indique une nouvelle fonctionnalité. Le changelog et SemVer se complètent : le numéro de version résume la nature du changement, et le changelog en donne les détails.