Releases are published to crates.io by .github/workflows/release.yml when a
tag named vX.Y.Z is pushed. The tag must match the version in Cargo.toml,
and its commit must be on main.
crates.io Trusted Publishing is configured for this repository's release.yml
workflow and its release environment. The workflow uses GitHub OIDC to obtain
a short-lived publishing token; no crates.io API token or GitHub Actions secret
is needed.
-
Update the version in
Cargo.tomland regenerateCargo.lockif needed. -
Add the dated release entry to
Changelog.md. -
Merge the release commit into
mainand wait for the Rust workflow to pass. -
Tag that commit and push the tag:
git tag vX.Y.Z git push origin vX.Y.Z
The release workflow checks formatting, strict all-target Clippy, tests, documentation, Markdown, snapshots, dependency advisories, and the packaged crate before publishing. Rerunning it is safe when that exact version is already on crates.io.