Imports & Dependencies
Miden VM dependencies move from 0.20 to 0.22 and miden-crypto from 0.19 to 0.23. Several types have been relocated across crates, and Felt::as_int() has been renamed.
Quick Fix
Cargo.toml
# Replace these
miden-protocol = "0.13"
miden-standards = "0.13"
miden-assembly = "0.20"
miden-core = "0.20"
miden-processor = "0.20"
miden-prover = "0.20"
miden-crypto = "0.19"
# With these
miden-protocol = "0.14"
miden-standards = "0.14"
miden-assembly = "0.22"
miden-core = "0.22"
miden-processor = "0.22"
miden-prover = "0.22"
miden-crypto = "0.23"
Version Bumps
| Crate | v0.13 | v0.14 |
|---|---|---|
miden-protocol | 0.13 | 0.14 |
miden-standards | 0.13 | 0.14 |
miden-assembly | 0.20 | 0.22 |
miden-core | 0.20 | 0.22 |
miden-core-lib | 0.20 | 0.22 |
miden-processor | 0.20 | 0.22 |
miden-prover | 0.20 | 0.22 |
miden-crypto | 0.19 | 0.23 |
ExecutionOptions, ProvingOptions, ExecutionProof Relocated
These types moved out of miden-air into their respective crates:
// Before (0.13)
use miden_air::{ExecutionOptions, ProvingOptions, ExecutionProof};
// After (0.14)
use miden_processor::ExecutionOptions;
use miden_prover::ProvingOptions;
use miden_core::ExecutionProof;
Felt::as_int() → Felt::as_canonical_u64()
The Felt::as_int() method has been renamed to Felt::as_canonical_u64() for clarity:
// Before (0.13)
let value: u64 = felt.as_int();
// After (0.14)
let value: u64 = felt.as_canonical_u64();
Use find-and-replace across your codebase: as_int() → as_canonical_u64().
MSRV (Minimum Supported Rust Version)
If you depend on miden-client, update your rust-toolchain.toml to Rust 1.91:
rust-toolchain.toml
[toolchain]
channel = "1.91"
Migration Steps
- Bump every Miden crate version in
Cargo.tomlper the table above. - Move imports of
ExecutionOptions,ProvingOptions,ExecutionProofto their new homes. - Replace all
Felt::as_int()calls withFelt::as_canonical_u64(). - If you depend on
miden-client, update yourrust-toolchain.tomlto Rust 1.91. - Run
cargo updateto pull the new versions. - Run
cargo buildand fix any remaining import errors.
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
unresolved import miden_air::ExecutionOptions | Type moved | Import from miden_processor::ExecutionOptions. |
no method named as_int found for Felt | Method renamed | Use Felt::as_canonical_u64(). |
package requires rustc 1.91 | MSRV bumped | Update toolchain. |