This checklist prepares a Bitmesh release. Publishing to crates.io, creating a tag, and creating a GitHub release require explicit maintainer approval.
- Public Rust API changes are documented in
CHANGELOG.md. -
BMDCERTv1,BMCOMPOSEv1, andBMDPOSCERTv1 golden bytes and digests are unchanged. - Any new byte contract has distinct magic or a new version byte.
- The proof-kind string and claim boundary are reviewed.
-
Cargo.toml,Cargo.lock, README, changelog, andCITATION.cffagree on the release version and minimum Rust version.
Run from a clean clone:
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --locked
cargo test --locked --release
cargo rustdoc --all-features --lib -- -D warnings -D missing-docs
cargo run --locked --example certify_fen -- \
'7k/8/8/p1p1p1p1/PpPpPpPp/1P1P1P1P/8/K7 w - - 0 1'
cargo package --locked
cargo test --locked --manifest-path target/package/bitmesh-0.1.0/Cargo.toml
cargo package --locked --list
cargo publish --locked --dry-run- CI passes on the minimum Rust version, stable Rust, Linux, macOS, and Windows.
- The packaged crate contains no local paths, generated results, secrets, or unrelated files.
- A clean consumer crate builds against the packaged artifact.
- Dependency licenses and security advisories have been reviewed.
- The exact commit is approved for publication.
-
cargo publish --lockedcompletes successfully. - An immutable signed
vX.Y.Ztag points to the published commit. - The GitHub release records checksums and user-visible changes.
- docs.rs finishes successfully.
- Downstream compatibility checks run against the registry release.