Release Process
The cargo dist configuration lives under [workspace.metadata.dist] in Cargo.toml. Follow these steps when preparing a release:
-
Start from a clean working tree and an updated
CHANGELOG.md. Once familiar, prefer the wrapper tasksmise run dist-planandmise run dist-build. -
Install the tooling:
cargo install cargo-dist -
Initialize metadata the first time:
cargo dist initArchives default to
.tar.gzon Unix and.zipon Windows sotx self-updatecan consume them without extra configuration. -
Review the changes to
Cargo.tomland any suggested workflow files; commit them together. -
For each release candidate:
cargo dist plan cargo dist build cargo dist host cargo dist announce -
Tag the release and push to GitHub.
When cargo dist edits CI workflows, prefer running it locally and committing the diff instead of patching YAML by hand.
Workspace crates and versioning
The project ships two crates: the tool-executor library, which contains all runtime logic, and the tx CLI wrapper that cargo dist publishes. Keep their versions aligned at all times—bump version in both Cargo.toml files together and confirm the workspace metadata points packages = ["tx"] so archives continue to use the short tx prefix.