Release is a command line tool that automatically generates GitHub Releases and populates them with commits made since the last release.
The tool solves the problem of manually creating release notes by automating changelog generation from commit history. It works by analyzing commits since the previous release, determining the semantic version bump (major, minor, or patch), and creating a GitHub Release with formatted change information. Developers can pre-define change types directly in commit messages using parenthetical annotations, and the tool supports pre-releases with custom suffixes like canary or beta versions.
The tool suits projects that want to streamline their release workflow without maintaining separate changelog files. It works well for teams already using GitHub and npm, particularly those following semantic versioning conventions. The project includes a custom hook system that allows filtering and reformatting release information before publication, letting teams add intro text, reorder changes, or exclude specific commits marked with the ignore keyword.
Development activity shows consistent maintenance with regular updates addressing user needs. The project accepts community contributions through its standard contribution process. The tool remains actively aligned with its original purpose of automating release creation for teams managing multiple repositories.