Browse / Learning Documentation / Changelog Management

Changelog Management

Generates and updates CHANGELOG.md files by analyzing git commit history based on conventional commit standards.

SkillLearning DocumentationTechnical WritingDocs StandardsGithub

The source repository doesn't declare a license. Check its terms before reusing the code.

Key features

  • Provides a script to automate the insertion of new version sections for releases.
  • Supports distinct workflows for formal releases versus daily development updates.
  • Automatically categorizes commits based on Conventional Commits format (e.g., feat, fix, docs).
  • Offers customization for output, including excluding commit types, stripping emojis, and JSON format.
  • Analyzes git history between specific tags or commit ranges to generate changelog entries.

Use cases

  • Documenting changes in an '[Unreleased]' section during daily development.
  • Updating a changelog with recent changes before a new version release.
  • Generating a new CHANGELOG.md file for a project.

FAQ

What key capabilities does it provide?

It can analyze commit ranges between tags, categorize commits automatically, exclude certain commit types, and output in Markdown or JSON. It also includes a dedicated script to professionally format and insert new version sections for releases.

What does this skill do?

This skill automates the creation and updating of `CHANGELOG.md` files. It analyzes your git commit history, categorizes changes based on Conventional Commits (like `feat`, `fix`, `docs`), and formats them into clean, readable release notes.

When should I use this skill?

Use this skill when preparing a new software release to document changes since the last version, or during daily development to keep an `[Unreleased]` section updated. It's ideal for any project that follows Conventional Commit standards.

How does this skill improve my workflow?

It saves significant time by automating the manual, error-prone task of writing release notes. It ensures consistency by enforcing a standard format and provides separate, clear workflows for formal releases versus daily updates.