I’m excited to share cargo-verctl, a Cargo subcommand for automated version management — especially useful in CI/CD environments or multi-crate workspaces.
Highlights
Add or update version fields automatically in Cargo.toml
consider cargo_metadata for finding workspace members
consider semver for parsing version numbers
btw were you aware of cargo-edits cargo set-version? Some features from that that may be of interest
bumping workpace.package.version
updating version reqs for dependents within the workspace
cargo release version allows customizing the dependent version req update.
A feature I've been meaning to add but haven't is improving the build-metadata behavior, like
preserve on version change
auto create from public dependencies (e.g. clap_cargo can use it to make it clear which versions work with which major versions of clap and cargo_metadata
Something I haven't yet figured out is how to refer to relative vs absolute version bumps. For 0.1.0, major can mean you want to bump to either 0.2.0 or 1.0.0.