I tag releases, then dread writing the notes. So I automated it.
It's release day. You tag the release, then stare at 40 commits trying to remember what actually shipped. So you scroll through a raw log, copy-paste subject lines into a text file, squint at which ones are features and which are just chores, and miss the one breaking change buried at commit #27. git-release-notes does that archaeology for you — in one command, offline, conventional-commit aware:…
Release day arrives, you tag the release, then confront a daunting 40 commits, attempting to recall what was actually shipped. You sift through a raw log, copy-paste subject lines into a text file, discern which are features and which are merely chores, often missing a crucial breaking change hidden at commit #27. Git-release-notes streamlines this laborious process in a single command, offline and conventional-commit aware.
With just one command, it generates release notes, highlighting breaking changes, features, fixes, and other modifications. By default, it analyzes commits from the most recent tag to HEAD, falling back to the previous tag if the range is empty. Conventional-commit types such as feat, fix, docs, chore, refactor, perf, test, build, and ci each receive their own section, while ! markers and BREAKING CHANGE footers appear first in the Breaking Changes section.
All other changes are compiled into Other changes unless the --verbose flag is used to split them out. The tool outputs markdown to stdout, allowing for easy piping to pbcopy or direct incorporation into your release page. This tool is not linked to GitHub Actions, requiring no API, tokens, or CI workflow setup. It operates independently, compatible with a plane, monorepo, or bare server.
A single file is needed, written in Python 3.9+, with only the standard library as a dependency. Git release notes is already present if you're releasing. Tests pass at 13 out of 13, and the tool is licensed under MIT. For more information, visit the GitHub repository at https://github.com/hahahahahahahahah6/git-release-notes.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.