GitHub release notes generator

GitHub releases show Markdown notes under each tag. The usual layout is a “What’s Changed” heading, grouped changes and a Full Changelog link comparing the new tag with the previous one.

1. Paste commits

Tip: git log --oneline v1.4.2..HEAD or git log --format=%s. Conventional Commits work best, but plain messages are sorted by their first word.

2. Version

3. Release notes

Semantic version calculator

Saved you some time? Leave a tip, entirely optional.

Add your repository URL and current version and ChangelogMaker builds the compare link for you, suggests the new tag from your commits and groups the changes, ready to paste into the Draft a new release form.

How commits are sorted

Each line you paste is read as one commit. A leading hash from git log --oneline is kept separately, bullets are removed and merge commits are skipped. Conventional Commits are split into type, scope and subject; a ! after the type, or a following line that starts with “BREAKING CHANGE:”, marks the commit as breaking. Plain messages are classified by their first word: “Add” and “Implement” become features, “Fix” and “Resolve” become fixes, “Remove” and “Drop” become removals, and “Update” or “Improve” become changes.

For Keep a Changelog, features go under Added, fixes under Fixed, deprecations and removals under their own headings, anything mentioning security, CVEs or XSS under Security, and other user-visible changes under Changed. Docs, chores, CI, tests, build and style commits are hidden unless you include them.

Choosing the next version

ChangelogMaker follows semantic versioning. Any breaking change means a major bump, any new feature means a minor bump, and anything else is a patch. Before 1.0.0, breaking changes bump the minor number instead. You can always type your own release version, and the compare link and headings will use it.

Private by design

ChangelogMaker has no accounts, no server-side processing and never asks for repository access. Your commits stay in this browser and the latest input is saved in local storage on this device only.

Frequently asked questions

Does GitHub not generate notes itself?

It can list merged pull requests. ChangelogMaker works from commit messages instead, groups them by type and works for direct commits too.

Does the compare link work for GitLab?

Yes. GitLab URLs get the /-/compare/ form automatically.

What tag format is used?

Tags are written with a v prefix, such as v2.0.0, which is the most common convention.

Is ChangelogMaker free?

Yes. The changelog generator, release note formats and semver calculator are free with no account.

Are my commits uploaded?

No. Everything runs in your browser and your last input is saved only on this device.

More tools