Skip to main content
releaser
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

CLI Reference

Common workflows

# Scaffold a default .releaser.yml
releaser --init

# Preview next version (no side effects)
releaser --dry-run

# Full release: bump versions, commit, tag, push, create release
releaser

# Commit and tag locally — skip push and release creation
releaser --no-push

# Push commit and tag but skip creating the release
releaser --no-release

# Update files but stop before committing
releaser --no-commit
# ... review changes, then commit manually and re-run:
releaser --tag-only

# Verbose mode: show config sources, commit analysis, version decision
releaser --verbose --dry-run

Flags

FlagDefaultDescription
--dry-runfalsePrint next version and exit without making any changes
--branch <name>auto-detectedOverride branch name (useful in detached HEAD / CI)
--branch-pattern <regex>^(?:.*/)?release/(\d+)\.(\d+)$Override branch pattern (two capture groups: major, minor)
--tag-prefix <prefix>""Prefix for version tags (e.g. vv1.2.3)
--pom <path>pom.xmlPath to pom.xml relative to repo root
--gradle <path>Override gradle.build_file from config
--pyproject <path>Override python.pyproject_toml from config
--changelog-file <path>CHANGELOG.mdPath to changelog file
--release-env-file <path>release.envPath for dotenv artifact; pass "" to disable
--no-commitfalseUpdate version files but stop before committing
--no-pushfalseCommit and tag locally, skip push and release
--no-releasefalsePush branch and tag but skip release creation
--tag-onlyfalseSkip version file updates — tag HEAD and push
--initfalseScaffold a default .releaser.yml and exit
--verbosefalsePrint config table, commit analysis, and version decision

Exit codes

CodeMeaning
0Success
1Error (config, git, API, etc.)
2No releasable commits found — nothing to do

Version bump rules

By default all releasable commits bump the patch component (minor is pinned to the branch). Override per commit type via git.bump_rules in .releaser.yml:

Commit typeDefaultConfigurable via bump_rules
fix:patchfix: "minor" to bump minor
feat:patchfeat: "minor" to bump minor
feat!: / BREAKING CHANGEpatchbreaking: "minor" to bump minor
chore:, docs:, etc.none
unparseable messagenonenon-strict: silently ignored