Maintains changelogs following Keep a Changelog format, categorizes changes by type. Use when updating CHANGELOG, preparing releases, or documenting version changes.
Create or update a changelog:
# Review recent commits
git log --oneline --since="2024-01-01"
# Check current version
cat package.json | grep version
Gather changes since last release:
# Get commits since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline
# Or since specific date
git log --since="2024-01-01" --pretty=format:"%s"
Group by type following Keep a Changelog:
| Category | Description | Examples |
|---|---|---|
| Added | New features | New API endpoint, new command |
| Changed | Changes to existing | Updated algorithm, changed default |
| Deprecated | Soon-to-be removed | Old API marked deprecated |
| Removed | Removed features | Deleted unused function |
| Fixed | Bug fixes | Fixed crash, corrected calculation |
| Security | Security fixes | Patched vulnerability |
Follow Keep a Changelog format:
## [Version] - YYYY-MM-DD
### Added
- New feature description
- Another new feature
### Changed
- Modified behavior description
### Fixed
- Bug fix description
Add new entry at the top (after "Unreleased"):
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [2.1.0] - 2024-01-15
### Added
- User authentication with JWT tokens
- Rate limiting for API endpoints
### Changed
- Updated database schema for better performance
- Improved error messages
### Fixed
- Fixed memory leak in background worker
- Corrected timezone handling in reports
## [2.0.0] - 2023-12-01
### Added
- Complete API rewrite
- GraphQL support
### Changed
- **BREAKING**: New authentication system
### Removed
- Legacy v1 API endpoints
## [Version] - YYYY-MM-DD
Order of sections:
Writing guidelines:
Good entries:
### Added
- User profile page with avatar upload (#123)
- Export data to CSV functionality
### Fixed
- Fixed crash when uploading files over 10MB (#456)
- Corrected calculation in tax report
Bad entries:
### Added
- Stuff
- Various improvements
### Fixed
- Bug fixes
Determine version bump:
| Change Type | Version Bump | Example |
|---|---|---|
| Breaking change | MAJOR | 1.0.0 → 2.0.0 |
| New feature | MINOR | 1.0.0 → 1.1.0 |
| Bug fix | PATCH | 1.0.0 → 1.0.1 |
Breaking changes:
If using conventional commits:
# Install
npm install -g conventional-changelog-cli
# Generate
conventional-changelog -p angular -i CHANGELOG.md -s