Table of contents
Tag Ranges and Rollup
The changelog is built from the commits between two tags: a from tag (start of the range) and a to tag (end of the range, the release being described).
Default range
Without tag, to_tag, and from_tag, the two most recent tags are used:
- to = the newest tag.
- from = the tag immediately before it.
If the repository has only one tag, there is no from tag, so the changelog is built from every commit up to that tag. This is expected for a first release.
Choosing tags explicitly
| Input | Effect |
|---|---|
tag |
Generate the changelog for this tag. |
to_tag |
End tag of the comparison range. |
from_tag |
Start tag of the comparison range. |
When none of these are set, the newest tag is used as the end of the range.
Rollup
By default the range is always the newest tag compared against the tag before it. For a minor or major release this can hide changes that shipped in earlier patch releases of the same series.
Set rollup: true to widen the range by semantic version:
- A patch release (
v3.2.12afterv3.2.11) still compares against the previous tag. - A minor release (
v3.3.0) compares against the start of the previous minor series (v3.2.0), so everyv3.2.xchange is included. - A major release (
v4.0.0) compares against the start of the previous major series (v3.0.0), so everyv3.xchange is included. - Tags with a
vprefix and tags without one are both accepted. - Pre-release tags resolve to their core version, so
v3.2.0-rc1is treated asv3.2.0.
Examples
Given these tags, newest first:
| Tags | Rollup | From | To | Why |
|---|---|---|---|---|
v3.3.0, v3.2.11, v3.2.0, v3.1.0 |
off | v3.2.11 |
v3.3.0 |
Previous tag only. |
v3.2.12, v3.2.11, v3.2.0 |
on | v3.2.11 |
v3.2.12 |
Patch release keeps the previous tag. |
v3.3.0, v3.2.11, v3.2.0, v3.1.0 |
on | v3.2.0 |
v3.3.0 |
Minor release rolls to the previous minor series start. |
v4.0.0, v3.2.11, v3.2.0, v3.0.0 |
on | v3.0.0 |
v4.0.0 |
Major release rolls to the previous major series start. |
Fallbacks
Rollup is best-effort. It falls back to the previous tag, with a warning, when:
- the base tag does not exist in the repository (for example
v3.2.0was never tagged); - the newest or previous tag is not valid semantic versioning;
- the release is a patch release, so there is no wider range to roll up.
For a repository with tags v3.3.0, v3.2.11, v3.1.0 and rollup: true, the base tag v3.2.0 is missing, so the range falls back to v3.2.11.
Home · Installation · Inputs Reference · Outputs and Commit Groups · Writing Changelogs to the Repository · Styles and LLM Providers · Troubleshooting