A changelog serves two audiences: users who want to know what changed, and maintainers who need an audit trail. Most changelog generators serve the first poorly and the second not at all — they collect commit messages and dump them sorted by date, which is only useful if your commit discipline is perfect.
GitIntel's changelog generator does three things conventional tools don't. First, it clusters semantically related commits — a feature that took 12 commits to land appears as one changelog entry, not 12 lines. Second, it distinguishes commit quality when generating summaries: commits with good messages get surfaced as-is, commits with poor messages ("fix stuff", "wip") get analyzed from their diff content. Third, it annotates which entries include AI-generated code, so users of your library or API can track when AI composition in your releases changed.
For teams following Conventional Commits (feat:, fix:, chore:, etc.), GitIntel generates Keep a Changelog-formatted output with automatic semantic versioning inference. For teams with messier commit hygiene, it applies clustering and summarization to produce a readable output regardless.
Run `gitintel changelog [--since v1.2.0]` to generate or update your CHANGELOG.md.