Thanks to visit codestin.com
Credit goes to lib.rs

#semver #pre-release #semver-cli #first-class #version-bump

app cargo-goose

A strict, explicit SemVer CLI with first-class prerelease support

11 unstable releases (3 breaking)

Uses new Rust 2024

0.4.0 Jan 9, 2026
0.3.0 Jan 9, 2026
0.2.0 Jan 7, 2026
0.1.6 Jan 6, 2026

#106 in Cargo plugins

Apache-2.0

40KB
991 lines

cargo-goose 🪿

A strict, explicit SemVer CLI with first-class prerelease support.

CI Lint

Installation

cargo install cargo-goose

Usage

cargo goose bump <command>

Commands

Bump a release version

Bump the current version by level:

cargo goose bump version patch
# 1.2.3 → 1.2.4
cargo goose bump version minor
# 1.2.3 → 1.3.0
cargo goose bump version major
# 1.2.3 → 2.0.0

Start a prerelease on the new version line:

cargo goose bump version minor rc
# 1.2.3 → 1.3.0-rc.1

Prerelease management

Increment the current prerelease counter:

cargo goose bump prerelease
# alpha.1 → alpha.2

Transition to a new prerelease identifier:

cargo goose bump prerelease beta
# 1.2.3-alpha.3 → 1.2.3-beta.1

Finalize a release

Finalize a prerelease into a stable release:

cargo goose bump release
# 1.2.0-rc.2 → 1.2.0

Build metadata

All commands accept optional build metadata:

cargo goose bump version patch --metadata git.abc123

Dry run

Don't want to screw up your Cargo.toml just yet? Add the --dry-run flag to see what cargo-goose will do without modifying any files:

cargo goose --dry-run bump ...

Prerelease format

Prereleases must use the following format:

<identifier>.<counter>

Examples:

  • alpha.1
  • beta.2
  • rc.3

Invalid prerelease formats are rejected.

Dependencies

~5–7.5MB
~130K SLoC