Aller au contenu

Changelog

Un changelog (ou journal des modifications) est un fichier texte qui documente les évolutions d'un projet logiciel au fil du temps.

Il recense les nouvelles fonctionnalités, les corrections de bugs, les améliorations et les changements majeurs introduits dans chaque version.

Ce fichier joue un rôle essentiel dans la transparence, la traçabilité et la communication entre les développeurs, les testeurs et les utilisateurs.

Objectifs du changelog

  • Fournir un historique clair et lisible des versions du projet.
  • Informer les utilisateurs des nouveautés, corrections et changements.
  • Faciliter la mise à jour et le diagnostic de régressions ou de problèmes.
  • Aider les développeurs à comprendre l'évolution du code et à collaborer efficacement.

➡️ Keep a Changelog

➡️ Semantic Versioning

Bonnes pratiques

Créez un fichier nommé CHANGELOG.md à la racine du projet.

Rédigez-le en Markdown pour un format clair et facilement lisible.

Documentez chaque version, de la plus récente à la plus ancienne, avec sa date au format AAAA-MM-JJ (ex. : ## [1.3.0] - 2026-09-24), en regroupant les changements par type :

  • Added - Nouvelles fonctionnalités
  • Changed - Modifications de fonctionnalités existantes
  • Deprecated - Fonctionnalités dépréciées (encore présentes, mais qui seront supprimées)
  • Removed - Fonctionnalités supprimées
  • Fixed - Corrections de bugs
  • Security - Correctifs de sécurité

Un changelog s'adresse à des humains : ne copiez pas la liste des commits (git log), mais résumez les changements importants pour les utilisateurs.

Suivez les conventions du site Keep a Changelog.

Source : Keep a Changelog - Keep a Changelog 1.1.0

Respectez la numérotation sémantique des versions (SemVer : MAJOR.MINOR.PATCH).

Exemples


📄 Exemple

# Changelog

## [1.7.0] - 2026-10-07

### Added

- Support `@import "tailwindcss"` using top-level `index.css` file ([#11205](https://example.com))
- Use `lightningcss` for nesting and vendor prefixes in PostCSS plugin ([#10399](https://example.com))
- Add `has-*` variants for `:has(…)` pseudo-class ([#11318](https://example.com))

### Changed

- Make the Rust based parser the default ([#11394](https://example.com))
- Simplify the `sans` font-family stack ([#11748](https://example.com))

### Deprecated

- Deprecate `--no-autoprefixer` flag in the CLI ([#11280](https://example.com))

### Removed

- Remove `autoprefixer` dependency ([#11315](https://example.com))

### Fixed

- Fix source maps issue resulting in a crash ([#11319](https://example.com))
- Improve normalisation of `calc()`-like functions ([#11686](https://example.com))
- Skip over classes inside `:not(…)` when nested in an at-rule ([#12105](https://example.com))

## [1.6.4] - 2025-04-25

### Fixed

- Fix issue where some pseudo-element variants generated the wrong selector ([#10943](https://example.com))
- Make font settings propagate into buttons, inputs, etc. ([#10940](https://example.com))

🖥️ Rendu

Changelog

[1.7.0] - 2026-10-07

Added

  • Support @import "tailwindcss" using top-level index.css file (#11205)
  • Use lightningcss for nesting and vendor prefixes in PostCSS plugin (#10399)
  • Add has-* variants for :has(…) pseudo-class (#11318)

Changed

  • Make the Rust based parser the default (#11394)
  • Simplify the sans font-family stack (#11748)

Deprecated

  • Deprecate --no-autoprefixer flag in the CLI (#11280)

Removed

  • Remove autoprefixer dependency (#11315)

Fixed

  • Fix source maps issue resulting in a crash (#11319)
  • Improve normalisation of calc()-like functions (#11686)
  • Skip over classes inside :not(…) when nested in an at-rule (#12105)

[1.6.4] - 2025-04-25

Fixed

  • Fix issue where some pseudo-element variants generated the wrong selector (#10943)
  • Make font settings propagate into buttons, inputs, etc. (#10940)

…