app cargo-release

Cargo subcommand for you to smooth your release process

56 releases

new 0.13.7 Sep 27, 2020
0.13.5 Jul 4, 2020
0.13.3 Mar 13, 2020
0.13.0 Dec 9, 2019
0.2.1 Mar 17, 2016

#33 in Cargo plugins

Download history 305/week @ 2020-06-08 206/week @ 2020-06-15 137/week @ 2020-06-22 353/week @ 2020-06-29 672/week @ 2020-07-06 591/week @ 2020-07-13 304/week @ 2020-07-20 215/week @ 2020-07-27 312/week @ 2020-08-03 448/week @ 2020-08-10 410/week @ 2020-08-17 408/week @ 2020-08-24 418/week @ 2020-08-31 470/week @ 2020-09-07 298/week @ 2020-09-14 269/week @ 2020-09-21

1,710 downloads per month
Used in 4 crates


2.5K SLoC

cargo release

Build Status Donate

Performs release best-practices, including:

  1. Ensure the git working directory is clean.
  2. Bump the version in Cargo.toml
  3. Create a git tag for this version
  4. Run cargo publish (if not disabled)
  5. Bump version for next development cycle
  6. git push

Features for workspaces include:

  • Report which crates might be able to be skipped
  • Update version ranges in dependent crates
  • Optionally using a single commit for all version bumps


Current release: 0.13.7

cargo install cargo-release


cargo release [level]

  • See the reference for more on level, other CLI arguments, and configuration file format.
  • See also the FAQ for help in figuring out how to adapt cargo-release to your workflow.


  • Your project should be managed by git.

Dry run

We recommend calling cargo release --dry-run with your custom options before actually executing it. The dry-run mode will print all commands to execute during the release process. And you will get an overview of what's going on.

Here is an example.

 $ cargo release --dry-run
cd .
git commit -S -am (cargo-release) version 0.18.3
cd -
cargo publish
Building and exporting docs.
cargo doc --no-deps
cd target/doc/
git init
cd -
cd target/doc/
git add .
cd -
cd target/doc/
git commit -S -am (cargo-release) generate docs
cd -
cd target/doc/
git push -f git@github.com:sunng87/handlebars-rust.git master:gh-pages
cd -
git tag -a 0.18.3 -m (cargo-release)  version 0.18.3 -s
Starting next development iteration 0.18.4-pre
cd .
git commit -S -am (cargo-release) start next development iteration 0.18.4-pre
cd -
git push origin --follow-tags


Licensed under either of


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


I'm now accepting donation on liberapay, if you find my work helpful and want to keep it going.


~415K SLoC