relnote docs · Compare · Offline notes · CHANGELOG.md · Next version
gh relnote: release notes from conventional commits, inside the GitHub CLI
gh-relnote is a GitHub CLI extension that bundles relnote. It reads commit messages in your clone, groups feat, fix, and breaking changes, and hands the result to gh release create.
Install
gh extension install loki-inu/gh-relnote
gh relnote --help
Needs gh, git, and Python 3.11+ on PATH. No pip install and no third-party packages: relnote v0.2.0 is vendored in the extension. Set PYTHON=/path/to/python3 to pick an interpreter. Upgrade with gh extension upgrade relnote.
Preview the notes
gh relnote # latest tag → HEAD
gh relnote --since v1.2.0 --no-bots
gh relnote --output notes.md --quiet
Output is Markdown for a GitHub Release body, grouped as Features, Fixes, Breaking, and Other. Merge commits are skipped by default, --no-bots drops dependabot and renovate, and subjects that look like tokens or keys are never printed.
Create the release in one step
gh relnote create v1.3.0 --draft
gh relnote create v1.3.0 --title "v1.3.0" -- --no-bots --max 50
gh relnote create v1.3.0 -- --changelog CHANGELOG.md --changelog-title v1.3.0
create runs relnote for the latest tag to HEAD, writes the notes to a temp file, then runs gh release create TAG … --notes-file. Flags before -- go to gh release create (--draft, --prerelease, --title, --target, asset paths). Flags after -- go to relnote.
gh relnote vs gh release create --generate-notes
gh relnote | --generate-notes | |
|---|---|---|
| Source | Commit messages in your local clone | Merged pull requests on GitHub |
| Grouping | Conventional Commit type (feat, fix, breaking) | PR labels via .github/release.yml |
| Works for direct-to-main repos | Yes | Lists little or nothing without PRs |
| Preview before pushing a tag | Yes, offline | Online only, via the GitHub API |
| Contributor and PR links | Author names and short SHAs | Yes, with @-mentions and PR links |
If your team merges through PRs with good labels, --generate-notes is the better default. If your history already speaks Conventional Commits, or you push straight to main, gh relnote gives a cleaner body.
Not using gh?
The same notes are available as a plain CLI (pip install git+https://github.com/loki-inu/relnote.git) and as a GitHub Action (loki-inu/relnote@v0.3.0). See the relnote docs.