Git & Version Controlbeginner
Generate CHANGELOG.md from git history using conventional commits
Changelog Generator
Generate CHANGELOG.md from git history using conventional commits
Generate a CHANGELOG.md from git history using conventional commits.
Instructions
- Read the existing CHANGELOG.md (if any) to match formatting
- Get commits since last tag:
git log $(git describe --tags --abbrev=0 2>/dev/null || echo "HEAD~50")..HEAD \
--pretty=format:"%s|%h|%an" --no-merges
-
Parse each commit and group by type:
feat:→ Featuresfix:→ Bug Fixesperf:→ PerformanceBREAKING CHANGE:→ Breaking Changes (at top)- Skip: chore, ci, style, docs (unless user wants them)
-
Generate in this format:
## [1.2.0] - 2026-03-24
### Breaking Changes
- **auth**: /login endpoint response shape changed (abc1234)
### Features
- **payments**: add Stripe subscription support (def5678)
- **api**: add cursor-based pagination (ghi9012)
### Bug Fixes
- **auth**: fix token refresh race condition (jkl3456)
- Prepend to existing CHANGELOG.md (don't replace)
Rules
- Include commit hash as reference
- Group by scope when there are many entries
- Ask user for the new version number or suggest based on changes (breaking=major, feat=minor, fix=patch)