release-it-beautiful-changelog
November 8, 2025 ยท View on GitHub
A release-it plugin that uses @unjs/changelogen to generate clean, well-structured changelogs based on conventional commits. Let release-it handle versioning and publishing while this plugin takes care of producing and updating your CHANGELOG.md.
- release-it manages versioning, tagging, releasing, and publishing.
- @unjs/changelogen extracts and formats changelogs from conventional commit messages.
This plugin runs changelogen automatically during the release process and appends the generated changelog to your existing CHANGELOG.md.
Installation
Important: You must install
changelogenseparately. This plugin assumeschangelogenis available in your project.
pnpm add -D @unjs/changelogen release-it-beautiful-changelog
Configuration
In your .release-it.json (or release-it config equivalent), add the plugin:
{
"git": {
"commitMessage": "chore: release v${version}",
"tagName": "v${version}"
},
"github": {
"release": true,
"releaseName": "v${version}"
},
"npm": {
"release": true
},
"plugins": {
"release-it-beautiful-changelog": {
"disable": false,
"changelogFile": "./CHANGELOG.md",
"hideAuthorEmail": false, // hide author emails in changelog
"noAuthors": false // hide author contributions section
}
}
}
Example
After installing, simply run pnpm release-it and follow the guided steps to create your release. The generated changelog will be added to CHANGELOG.md and also included in the GitHub Release notes (if you're publishing to GitHub).
For example, the release v0.1.2 of my-typescript-library-starter was made with this command.
The screenshot below shows the interactive release-it CLI prompts, confirming that the plugin successfully generated the changelog.