Latest Edition ยท Updated
Automating your changelog and release notes saves time, ensures consistency, and keeps your users informed. This guide covers the tools, conventions, and workflows for hands-free release documentation.
Automated changelogs work best when your team follows Conventional Commits:
feat: add dark mode support fix: resolve login redirect loop docs: update API reference for v3 refactor: simplify database connection pooling perf: optimise image loading with lazy evaluation test: add unit tests for payment module chore: update CI configuration for Node 22
Each commit type maps to a changelog section:
feat โ Featuresfix โ Bug Fixesdocs โ Documentationperf โ PerformanceBREAKING CHANGE โ Breaking Changes (triggers major version bump)Fully automated version management and package publishing:
# .releaserc.json
{
"branches": ["main"],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"@semantic-release/npm",
"@semantic-release/git"
]
}
Designed for monorepos with per-package changelogs:
# Add a changeset npx changeset # Version packages npx changeset version # Publish all changed packages npx changeset publish
Creates release PRs automatically from conventional commits:
# release-please-config.json
{
"packages": {
".": {
"release-type": "node",
"changelog-path": "CHANGELOG.md"
}
}
}
commitlint)alpha, beta, next) for testingBREAKING CHANGE: footer