commitdog release automatically generates a changelog by reading your Git commit messages since the last tag. The changelog is grouped by conventional commit type and included in the release body on GitHub, GitLab, Gitea, and Forgejo. You can also preview the changelog at any time without triggering a release.
Preview the changelog without releasing
Run the following command to print the grouped changelog for commits since your last tag:How the changelog is built
commitdog reads commit subject lines (the first line of each commit message) between the latest tag andHEAD, excluding merge commits. It then classifies each commit by its conventional commit prefix and groups them under the following sections, in this order:
Commits that do not follow the
type: or type(scope): convention are placed in the Other section. Empty sections are omitted entirely. If there are no commits since the last tag, the changelog reads No changes.
Example output
Given a set of commits since the last tag, the output ofcommitdog release --changelog-only looks like this:
commitdog release and confirm. commitdog shows it to you as a changelog preview step before asking for your final confirmation, so you can review it before anything is published.
Changelog preview during release
During a normalcommitdog release run, the changelog preview appears after you pick a version bump and before any changes are made:
n to abort. Fix or amend the relevant commits, then run commitdog release again.