Please refer to auto-changelog documentation for more details and usage.
Add auto-changelog to the project:
npm install --save-dev auto-changelog
Example configuration in the release-it config:
{
"git": {
"changelog": "npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/main/templates/changelog-compact.hbs"
},
"hooks": {
"after:bump": "npx auto-changelog -p"
}
}
This is basically a copy of the
default auto-changelog template.
However, the title is removed, and the releases
iterator has a {{#if @first}}
block to only show commits within the
unreleased tag:
The template above changelog-compact.hbs can also be used directly from here:
{
"git": {
"changelog": "npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/main/templates/changelog-compact.hbs"
},
"hooks": {
"after:bump": "npx auto-changelog -p"
}
}
Projects without a package.json
that need to generate a CHANGELOG.md
compatible with
https://keepachangelog.com can use this example:
{
"git": {
"changelog": "npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/main/templates/changelog-compact.hbs"
},
"hooks": {
"after:bump": "npx auto-changelog --commit-limit false --template https://raw.githubusercontent.com/release-it/release-it/main/templates/keepachangelog.hbs"
}
}