Current coordinated SDK release line: 0.16.x
guardian-shared- manifest:
crates/shared/Cargo.toml - version source:
Cargo.toml[workspace.package] version
- manifest:
guardian-client- manifest:
crates/client/Cargo.toml - internal release dependency:
guardian-shared
- manifest:
miden-confidential-contracts- manifest:
crates/contracts/Cargo.toml - internal release dependency:
guardian-shared
- manifest:
miden-multisig-client- manifest:
crates/miden-multisig-client/Cargo.toml - internal release dependencies:
guardian-client,guardian-shared,miden-confidential-contracts
- manifest:
TypeScript packages live in the packages/ npm workspace with a single
lockfile at packages/package-lock.json. @openzeppelin/miden-multisig-client depends
on @openzeppelin/guardian-client via a version range; the workspace links the
in-repo package for install/test/publish. Do not use the workspace: protocol.
@openzeppelin/guardian-client- manifest:
packages/guardian-client/package.json
- manifest:
@openzeppelin/guardian-evm-client- manifest:
packages/guardian-evm-client/package.json - no internal release dependencies
- manifest:
@openzeppelin/miden-multisig-client- manifest:
packages/miden-multisig-client/package.json - internal release dependency:
@openzeppelin/guardian-client
- manifest:
@openzeppelin/guardian-operator-client- manifest:
packages/guardian-operator-client/package.json - no internal release dependencies
- manifest:
Cargo.tomlcrates/client/Cargo.tomlcrates/contracts/Cargo.tomlcrates/miden-multisig-client/Cargo.tomlpackages/guardian-client/package.jsonpackages/guardian-evm-client/package.jsonpackages/miden-multisig-client/package.jsonpackages/guardian-operator-client/package.jsonpackages/package-lock.jsondocs/MULTISIG_SDK.mdif release examples or tag snippets need updating
Stable workflow:
.github/workflows/publish-crates.yml
Published releases select all four Rust crates. Manual runs provide dry-run,
and one boolean per crate. Pull requests changing the workflow run an
all-crate dry run without credentials.
The fixed selection and summary order is:
guardian-sharedguardian-clientmiden-confidential-contractsmiden-multisig-client
Cargo receives selected crates in one multi-package command and owns dependency ordering. Actual runs skip exact versions already visible on crates.io.
Each crate's crates.io trusted publisher is bound to:
GitHub owner: OpenZeppelin
Repository: guardian
Workflow: publish-crates.yml
Environment: release
OIDC trusted publishing is the only publication authentication path.
cd packages
npm ci
npm publish -w @openzeppelin/guardian-client --access public
npm publish -w @openzeppelin/guardian-evm-client --access public
npm publish -w @openzeppelin/miden-multisig-client --access public
npm publish -w @openzeppelin/guardian-operator-client --access public