This is an improved version of the popular callowayproject/bump-my-version (formerly peritus/bumpversion and c4urself/bump2version) written in Rust.
- No more global
pip
installs! Easy to install viabrew
,cargo
, or precompiled static binary. - Fully compatible with your existing configuration in
.bumpversion.cfg
,setup.cfg
, orpyproject.toml
- Also supports configuration in your
Cargo.toml
- Additional hook system
The main added benefit of this library is the ability to use it as a library component for your local build and deployment scripts.
Often, people tag a new release using bumpversion
and push a tag into CI (e.g. GitHub actions).
But what if your project requires a lot of data that is not accessible from the CI/CD host?
You could use this library to write build scripts using the pre and post hooks provided to e.g. build and package your application and upon success tag a new release to be pushed into CI for deploying the packages built.
You can also just use this version as a drop-in replacement for the Python bump2version
.
Install it with
cargo install bumpversion
For usage instructions, please refer to the Python version.
TODO
- add a git2 backend and make the tests into macros
- add the versioning functions
- add the config file parsing
- add the main CLI loop