app cargo-release

Cargo subcommand for you to smooth your release process

49 releases

✓ Uses Rust 2018 edition

0.13.0 Dec 9, 2019
0.12.4 Aug 3, 2019
0.12.3 Jul 28, 2019
0.12.0-beta.4 Mar 14, 2019
0.2.1 Mar 17, 2016

#2 in Cargo plugins

Download history 404/week @ 2019-10-13 204/week @ 2019-10-20 372/week @ 2019-10-27 278/week @ 2019-11-03 147/week @ 2019-11-10 220/week @ 2019-11-17 251/week @ 2019-11-24 354/week @ 2019-12-01 576/week @ 2019-12-08 224/week @ 2019-12-15 166/week @ 2019-12-22 115/week @ 2019-12-29 686/week @ 2020-01-05 405/week @ 2020-01-12 402/week @ 2020-01-19

1,199 downloads per month
Used in devicon-lookup


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.0

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.


~463K SLoC