bumpversion
📚 Documentation: romnn.github.io/bumpversion
This is an improved version of the popular callowayproject/bump-my-version (formerly peritus/bumpversion and c4urself/bump2version) written in Rust.
Features
- No more global
pipinstalls! Easy to install viabrew,cargo, or precompiled static binary. - Fully compatible with your existing configuration:
pyproject.toml.bumpversion.toml.bumpversion.cfgsetup.cfgCargo.toml(planned)
Installation
# will install `bumpversion` binary
# will install `cargo-bumpversion` binary (to be used as `cargo bumpversion` subcommand)
# or install from source (will install both `cargo-bumpversion` and `bumpversion` binaries)
CLI usage
You can use this as a drop-in replacement for the Python bumpversion, bump2version, or bump-my-version.
# Show every change a patch release would make, without making it
# Do it: rewrite the files, commit, tag
Rust projects
Bumping the version in Cargo.toml leaves Cargo.lock stale. A pre-commit hook refreshes it, and
additional_files carries it into the same release commit:
[]
= "1.4.2"
= true
= true
= ["cargo metadata --offline --format-version 1 >/dev/null"]
= ["Cargo.lock"]
[[]]
= "Cargo.toml"
cargo metadata rewrites the lockfile as a side effect of resolving the workspace. Prefer it over
cargo update, which re-resolves every dependency and turns a release into an unreviewed dependency
upgrade. The hooks documentation works the pattern through in full.
See the documentation for the configuration reference, the version-scheme model, and hooks.
Development