Keep a Changelog Categories
| Category | What goes here | Conventional Commit type |
|---|---|---|
| Added | New features and capabilities | feat |
| Changed | Changes to existing functionality | refactor, perf |
| Deprecated | Features that will be removed in future | — |
| Removed | Features removed in this release | — |
| Fixed | Bug fixes | fix |
| Security | Security patches and vulnerability fixes | fix (security) |
Changelog Format Example
## [1.4.0] - 2025-04-01
### Added
- Dark mode toggle in user preferences
- Export to CSV on all report pages
### Fixed
- Login form not submitting on Safari 16
- Incorrect totals in monthly summary email
### Changed
- Upgraded dependency: chart.js 3.x → 4.x
### Added
- Dark mode toggle in user preferences
- Export to CSV on all report pages
### Fixed
- Login form not submitting on Safari 16
- Incorrect totals in monthly summary email
### Changed
- Upgraded dependency: chart.js 3.x → 4.x
How to Use It
1
Open the tool
Go to Dev Utilities and scroll to the Changelog Generator.
2
Paste your commits
Paste git log output or individual commit messages. Run git log --oneline v1.3.0..HEAD to get commits since the last release.
3
Set version and date
Enter the version number (e.g. 1.4.0) and the release date.
4
Copy the Markdown
Copy the generated CHANGELOG.md section and prepend it to your existing changelog.
Pro Tips
💡Write changelogs for your users, not for developers. "Fixed login on Safari" is more useful than "corrected event propagation in auth handler". Translate internal jargon to user impact.
💡Use Conventional Commits (
feat:, fix:, chore:) to make automated changelog generation possible. Tools like standard-version or release-please generate changelogs from commit history automatically.💡Keep an
[Unreleased] section at the top of your CHANGELOG.md and move entries down to a versioned section on each release. This makes changelog maintenance incremental.Frequently Asked Questions
What is Keep a Changelog?
A convention for writing changelogs with standardized categories: Added, Changed, Deprecated, Removed, Fixed, Security. See keepachangelog.com for the full specification.
What is Conventional Commits?
A commit message format —
type(scope): description — that enables automated changelog generation. Types include feat, fix, refactor, chore, docs.Should I write or auto-generate my changelog?
Auto-generation from Conventional Commits is fast. Manual writing often reads better for users. Many teams auto-generate and then lightly edit for clarity before publishing.
Where does CHANGELOG.md go?
In the repository root alongside README.md. Link to it from your README so users know where to find it. Platforms like GitHub render it automatically.
Generate your changelog now
Open the Changelog Generator and create a structured CHANGELOG.md from your git commits — free, instant, no login.
Open Changelog Generator →