REPOMATIC-PREPARE-RELEASE(1) REPOMATIC-PREPARE-RELEASE(1)

repomatic prepare-release - Freeze version, changelog and pins for a release

repomatic prepare-release [OPTIONS]

Prepare files for a release or post-release version bump.

This command consolidates all release preparation steps:

- Set release date in changelog (replaces "(unreleased)" with today's date).
- Set release date in citation.cff.
- Update changelog comparison URL from "...main" to "...v{version}".
- Remove the "[!WARNING]" development warning block from changelog.
- Optionally update workflow URLs to use versioned tag.

When running in GitHub Actions, --update-workflows is auto-detected:
it defaults to True when $GITHUB_REPOSITORY matches the canonical
workflows repository (kdeldycke/repomatic).

For post-release (after the release commit), use --post-release to retarget workflow URLs back to the default branch.

With --commit, the changes to tracked files are then committed by the CI bot. The release commit is named after the version to release. The post-release commit, made on top of it once the next version is bumped, names both versions. The edits are idempotent, so committing after running them once already changes nothing more.

Path to the changelog file. Defaults to [tool.repomatic] changelog.location.
Path to the citation file. Skipped when it does not exist.
Path to the GitHub workflows directory.
Name of the default branch for workflow URL updates.
Update workflow URLs to use versioned tag instead of default branch. Defaults to True when $GITHUB_REPOSITORY is the canonical workflows repo.
Run post-release steps (retarget workflow URLs to default branch).
Commit every tracked change once the files are prepared, as the release commit, or with --post-release as the post-release commit.
Write version=X.Y.Z, the version being released, to this file, like $GITHUB_OUTPUT.
Show this message and exit.

Path to the changelog file. Defaults to [tool.repomatic] changelog.location.
Path to the citation file. Skipped when it does not exist.
Path to the GitHub workflows directory.
Name of the default branch for workflow URL updates.
Update workflow URLs to use versioned tag instead of default branch. Defaults to True when $GITHUB_REPOSITORY is the canonical workflows repo.
Run post-release steps (retarget workflow URLs to default branch).
Commit every tracked change once the files are prepared, as the release commit, or with --post-release as the post-release commit.
Write version=X.Y.Z, the version being released, to this file, like $GITHUB_OUTPUT.
Show this message and exit.

0
Success.
1
A runtime error, an aborted prompt (Ctrl-D), or a declined confirmation.
2
A usage error: unknown option, invalid value, missing operand, or an unparsable configuration file.
130
Interrupted with Ctrl-C: the process ends by SIGINT, reported as 130.

Prepare release (changelog + citation)

repomatic prepare\-release

Post-release: retarget workflows to main branch

repomatic prepare\-release \-\-post\-release

Commit the freeze, and hand its version to a later step

repomatic prepare\-release \-\-commit \-\-output "$GITHUB_OUTPUT"

Commit the post-release bump

repomatic prepare\-release \-\-post\-release \-\-commit

Kevin Deldycke

2026-10-29 8.0.1.dev0