A tool I recommend: cargo-release

cargo-release is a custom cargo command that handles a few simple steps when releasing new versions of a crate. It's a rather simple process, but it's good to have it automated.

  • Check that everything is committed
  • Make a version tag
  • Package and upload
  • Push branch and tag if the upload was successful.

It's something like that, and it has more features too if you want them. The tags are very useful for development (you can quickly check what changed between two versions, and in particular since the last release).