This document describes the changelog generation setup for mcp-tasks.
The project uses git-cliff to automatically generate changelogs from conventional commit messages.
macOS:
brew install git-cliff
Other platforms: Download from git-cliff releases
File: cliff.toml in repository root
Key settings:
Commits are grouped by prefix:
feat: → Featuresfix: → Bug Fixesperf: → Performancerefactor: → Refactoringdocs: → Documentationtest: → Testingbuild: → Build Systemci: → CI/CDchore: → Choresstyle: → Code StyleAutomatically filtered from changelog:
(release) or (changelog)[skip changelog] or [changelog skip]local-integration-branchPreview unreleased changes:
git-cliff --unreleased
Generate full changelog:
git-cliff
Update CHANGELOG.md:
git-cliff -o CHANGELOG.md
Generate for version range:
git-cliff v0.1.0..HEAD
Critical: git-cliff uses git tags to segment changelog by version.
Tag format: v<version> (e.g., v0.1.42)
Baseline tag: v0.1.0 exists on initial commit (7bf270e)
Version calculation: Automatic via b/git-count-revs in dev/build.clj
0.1.<commit-count>0.1.42Without tags, all commits appear as "unreleased".
git-cliff -o CHANGELOG.mdgit tag -a v0.1.X -m "Release v0.1.X"All commits show as "unreleased":
git tag -a v0.1.0 <commit-sha> -m "Initial release"Commits missing from changelog:
cliff.toml filtersTemplate errors:
cliff.toml syntaxcliff.toml - ConfigurationCHANGELOG.md - Generated outputdoc/dev/release.md - Release process including changelogCan you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |