# Release Process
1. Update `Cargo.toml` and `CHANGELOG.md` for the release version.
2. Run the local verification matrix:
```bash
cargo fmt --check
cargo test --all-targets --locked
cargo test --doc --locked
cargo clippy --all-targets --all-features --locked -- -D warnings
cargo build --release --locked
```
3. Ensure the repository has a GitHub Actions secret named `CARGO_REGISTRY_TOKEN`
with a crates.io API token that can publish `mtag-cli`.
4. Package-check the crate:
```bash
cargo package --locked
```
5. Commit the release changes.
6. Push `main` to trigger the publish workflow:
```bash
git push origin main
```
7. Create and push a matching tag after the crate is published:
```bash
git tag v0.2.0
git push origin v0.2.0
```