What is a changelog?
A dated list of the changes in each version of a product, written for the people who use it. A good one groups changes into new features, improvements and fixes, and leaves out internal work like refactors, CI tweaks and dependency bumps.
What's the difference between a changelog and release notes?
Mostly scope. A changelog is the running history of every version, usually one page you keep adding to. Release notes cover a single release and often add context, screenshots or upgrade steps. The output of this tool works as either: paste one release's commits and you get that release's notes, ready to add on top of your changelog.
Does this tool send my commits anywhere?
No. It runs entirely in your browser with fixed rules, no AI and no server calls, so private repository history never leaves the page.
Does it support Conventional Commits?
Yes. feat goes to New, fix to Fixed, perf to Improved, and a type with ! or a BREAKING CHANGE note goes to Breaking changes. chore, ci, test, docs, build, style and refactor are treated as internal and hidden unless you turn them on. Scopes like feat(billing) become a bold label. Commits without a prefix are sorted by their first verb: add, fix, remove, improve and so on.
How do I generate a changelog from GitHub pull requests?
Run gh pr list --state merged --limit 50 --json number,title --jq '.[] | "\(.title) (#\(.number))"' with the GitHub CLI, paste the output, and add your repo as owner/repo so every #number links to its pull request.
Is it compatible with Keep a Changelog?
It follows the same idea: newest version first, a date on every release and changes grouped by type. Keep a Changelog names its groups Added, Changed, Deprecated, Removed, Fixed and Security; this tool uses New, Improved, Fixed and Removed, plus Breaking changes, which read better for end users. Rename the headings if you need the exact spec.