Bumps the semver version of an app and cascades patch bumps to dependents.
[app] is optional in single-app projects (when only one app is
discovered, the name is inferred). In umbrella / poncho projects with
multiple apps, the name is required.
Usage
mix releaser.bump [app] <major|minor|patch>
mix releaser.bump [app] <major|minor|patch> --mode prerelease --tag dev
mix releaser.bump [app] --mode prerelease --tag dev # iterate / promote
mix releaser.bump [app] release # finalize pre-release
mix releaser.bump [app] 2.0.0 # explicit version
mix releaser.bump --list
mix releaser.bump --all <major|minor|patch>Modes
The optional --mode flag makes your intent explicit:
prerelease— open / iterate / promote a pre-release. Requires--tag NAME. Accepts an optional bump type.
Without --mode the task infers behavior from current state (legacy).
Gitflow workflow example
# dev branch — open cycle toward 2.0.0
mix releaser.bump major --mode prerelease --tag dev # 1.0.0 → 2.0.0-dev.1
# dev branch — each subsequent merge
mix releaser.bump --mode prerelease --tag dev # 2.0.0-dev.1 → 2.0.0-dev.2
# feature grande
mix releaser.bump minor --mode prerelease --tag dev # 2.0.0-dev.3 → 2.1.0-dev.1
# beta branch — promote
mix releaser.bump --mode prerelease --tag beta # 2.1.0-dev.5 → 2.1.0-beta.1
# main branch — release
mix releaser.bump release # 2.1.0-beta.1 → 2.1.0
# main branch — hotfix
mix releaser.bump patch # 2.1.0 → 2.1.1Options
--mode MODE Explicit mode. Currently supports `prerelease`.
--tag TAG Pre-release tag (dev, beta, rc, alpha, etc.).
--build BUILD Build metadata (e.g., 20260420).
--dry-run Show what would change without modifying files.
--no-cascade Only bump the specified app, skip dependents.
--no-hooks Skip pre/post hooks.
--list List all apps with current versions.
--all TYPE Bump all apps by the given type.