Changelog Generator
Generate structured changelogs following the Keep a Changelog format.
Keep a Changelog Format
The Keep a Changelog format is a convention for writing changelogs that makes it easy for users and contributors to see precisely what notable changes have been made between each release of a project.
Changelog Categories
| Category | Description | Examples |
|---|---|---|
| Added | New features | New authentication system, Dashboard, API endpoints |
| Changed | Changes to existing functionality | Updated UI, Improved performance, Refactored code |
| Deprecated | Features that will be removed soon | Old API v1 endpoints, Legacy configuration |
| Removed | Features that have been removed | Deprecated API endpoints, Old dependencies |
| Fixed | Bug fixes | Login issue, Memory leak, Crash on startup |
| Security | Security vulnerability fixes | XSS patch, SQL injection fix, Updated dependencies |
Semantic Versioning
Changelogs work best when combined with semantic versioning (SemVer):
Version Format: MAJOR.MINOR.PATCH
- MAJOR (1.0.0): Breaking changes that are not backward compatible
- MINOR (0.1.0): New features that are backward compatible
- PATCH (0.0.1): Bug fixes that are backward compatible
Best Practices
DO:
- Write for humans, not machines
- Use the same format for each version
- List newest versions first
- Include the release date
- Group changes by category (Added, Changed, Fixed, etc.)
- Be specific about what changed and why
- Link to issues and pull requests when relevant
DON'T:
- Dump git logs - they're too noisy
- Ignore breaking changes - always highlight them
- Use inconsistent date formats - stick to YYYY-MM-DD
- Skip versions - document every release
- Use vague language like "various improvements"
Example Changelog Entry
## [2.1.0] - 2024-03-15
### Added
- New dark mode theme (#123)
- Export data as CSV feature
- Real-time notifications system
### Changed
- Improved search algorithm performance by 40%
- Updated dependencies to latest versions
- Redesigned settings page for better UX
### Fixed
- Login redirect not working for new users (#145)
- Memory leak in background sync process
- Incorrect timezone display in reports
### Security
- Patched XSS vulnerability in comment system (CVE-2024-1234)
Quick Tips
- Update changelog with every release
- Keep unreleased changes in an [Unreleased] section
- Use past tense ("Added" not "Add")
- Be specific but concise
- Think from user perspective