Release notes generator

Generate release notes from pasted commit messages or PR titles, grouped into new, improved and fixed and written for your users. Works for private repos.

AI · Free · No sign-up

How to copy the commits

  1. In your clone, run git log --oneline v1.4.0..HEAD (your last release tag instead of v1.4.0) and copy the output.
  2. Or on GitHub, open github.com/owner/repo/compare/v1.4.0...main and copy the commit titles, or copy the pull request titles from the Pull requests tab.
Works for private repositories too. Nothing you paste is stored.

How to use it

01

Paste the commits

The output of git log --oneline since your last tag, or commit titles copied from GitHub's compare page.

02

We read the commits

Merge noise is dropped. Commits are grouped into breaking changes, new, improved and fixed.

03

Copy the Markdown

Paste it into a GitHub release, your changelog or a blog post, and edit what needs a human.

Release notes are for users, not for the git log

A commit message says what the code does. A release note says what changed for the person using it. Good release notes:

  • Put breaking changes first, with what to do about them.
  • Describe the capability, not the implementation: “Webhooks retry on 502”, not “refactor retry loop”.
  • Describe fixes by the symptom users saw.
  • Leave out dependency bumps, CI and internal refactors unless users notice them.

What this release notes generator writes

You get Markdown your users can read: a ## What’s new heading, one or two sentences that sum up the update, then sections in this order, each only when it has entries:

  • Changed: anything users must act on, with what to do.
  • New, Improved, Fixed: one plain bullet per change, about what users can now do or no longer run into.

Related commits are merged into one bullet. Chores, CI, refactors, dependency bumps, typo fixes and merge commits are left out, and so are version numbers, issue and pull request numbers, and dates.

Other ways to generate release notes automatically

If you want notes generated inside your release process instead of pasted, these are the common options. They build the notes from pull request titles, labels or commit messages, so the result reads like your git history; this tool rewrites it for users.

ToolWorks fromGood when
GitHub’s generated release notesMerged pull requests since the previous release; labels and authors filtered in .github/release.ymlYou already publish GitHub releases and want a list of PRs and contributors in one click
Release DrafterPull request labels, sorted into categories you configureYou want a draft release kept up to date as PRs merge (a GitHub Action)
semantic-releaseConventional Commits since the last release, through conventional-changelog presetsVersioning, notes and publishing run fully in CI
release-pleaseConventional Commits; it opens a release PR that updates the changelogYou want to review the notes in a PR before you tag
git-cliffConventional Commits or your own regex parsers, rendered by a templateYou want full control of a CHANGELOG.md format from the command line

Checked on each project’s own docs or README, October 2026. For a step-by-step setup of these, see how to automate a changelog from GitHub.

Release notes vs. changelog

A changelog is the full, versioned list of notable changes, kept in the repository. Release notes are the story of one release, often with more context and examples. For a CHANGELOG.md in the Keep a Changelog format, use the Keep a Changelog generator. To pick the version number, use the semver calculator. To lay the notes out for a blog post, an app store or a GitHub release, copy one of these release notes templates. For App Store and Google Play text with their character limits, use the app release notes templates, and to send the notes to users by email, start from the product update email template.

Better commits, better notes

Notes are only as good as the commits behind them. Teams that write Conventional Commits get cleaner grouping, because feat: and fix: already say which section a change belongs in.

DevRelay does this for every release. DevRelay writes release notes and changelog entries from the actual diffs of every release, checks each claim against them, and waits for your approval. Start free.
FAQ

Questions about this tool.

01Which repositories work?

Any, including private ones: the tool only reads what you paste. It never connects to GitHub.

02Can I use it without GitHub?

Yes. It never connects to GitHub: paste any list of commit messages or PR titles, one per line, from any git host or tracker.

03Is this release notes generator free?

Yes, with no sign-up. Each visitor can run it a number of times in a short window, and all AI tools share a daily cap, so it stays available for everyone.

04How do I generate release notes from git commits?

Run git log --oneline <last tag>..HEAD, paste the output here and press Write release notes. To do it on every release in CI, use GitHub's generated release notes, Release Drafter, semantic-release, release-please or git-cliff (compared above).

05Does it invent features?

It is told to use only what is in the commits, and not to add numbers, dates or claims. It's still AI: read the notes before you publish.

06Is my input stored?

No. Commits are sent to the model to write the notes and are not kept.

Or let every release announce itself.

DevRelay writes release notes and changelog entries from the actual diffs of every release, checks each claim against them, and waits for your approval.

No credit card · Nothing posts without your approval