# Cutting a new release of the Spin Rust SDK To cut a new release, you will need to do the following: 1. Confirm that [CI is green](https://github.com/fermyon/spin-rust-sdk/actions) for the commit selected to be tagged and released. 2. Change the workspace version number in [Cargo.toml](./Cargo.toml) and the versions for any dependencies that are part of this workspace (e.g. `spin-macro`). 3. Create a pull request with these changes and merge once approved. 4. Checkout the commit with the version bump from above. 5. Create and push a new tag with a `v` and then the version number. As an example, via the `git` CLI: ``` # Create a GPG-signed and annotated tag git tag -s -m "Spin Rust SDK v3.1.0" v3.1.0 # Push the tag to the remote corresponding to fermyon/spin-rust-sdk (here 'origin') git push origin v3.1.0 ``` 6. Pushing the tag upstream will trigger the [release action](https://github.com/fermyon/spin-rust-sdk/actions/workflows/release.yml) which publishes the crates in this workspace to `crates.io` 7. If applicable, create PR(s) or coordinate [documentation](https://github.com/fermyon/developer) needs, e.g. for new features or updated functionality.