Generate changelogs from commits between releases and automatically create GitHub releases
Streamline your release workflow with intelligent changelog generation
Automatically detects version tags and commit ranges to generate changelogs with zero configuration
Simple or grouped changelog formats with support for conventional commits and custom titles
Create tags, GitHub releases, and upload artifacts in a single workflow step
Automatically detects existing draft releases and publishes them with updated version information
Get started in minutes
See what the generated changelogs look like
Complete reference for all inputs and outputs
| Input | Description | Default |
|---|---|---|
from-tag |
Starting tag (auto-detects latest vX.Y.Z if not provided) | (auto) |
to-tag |
Ending tag/ref | HEAD |
format |
Changelog format: simple or grouped |
simple |
include-merge-commits |
Include merge commits in changelog | false |
changelog-title |
Title for the changelog section | ## Changes |
create-tag |
Create a new tag (auto-increments from latest) | false |
version-bump |
Version bump type: patch, minor, or major |
patch |
new-tag |
Tag name for new release (auto-increments if not provided) | (auto) |
create-release |
Create a GitHub release | false |
release-name |
Release name (supports {tag} variable) |
Release {tag} |
release-body |
Custom release body (uses changelog if empty) | (changelog) |
draft |
Create draft release | false |
prerelease |
Mark as prerelease | false |
make-latest |
Mark as latest release | true |
generate-release-notes |
Use GitHub's automatic release notes | false |
artifacts |
Newline-delimited list of artifact paths | (none) |
artifact-content-type |
Content type for artifacts | application/octet-stream |
commit |
Commit to tag for release | (current) |
discussion-category-name |
Create discussion in specified category | (none) |
token |
GitHub token for releases | ${{ github.token }} |
| Output | Description |
|---|---|
changelog |
Generated changelog content |
changelog-file |
Path to changelog file (CHANGELOG.md) |
from-tag |
Tag used as starting point |
to-tag |
Tag used as ending point |
new-tag |
New tag created (if create-tag: true) |
release-url |
URL of created release |
release-id |
ID of created release |