diff --git a/CHANGELOG.md b/CHANGELOG.md index d98a8c2b5..7a4c11317 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog +## 0.11.0 (TBD) + ## 0.10.3 (2024-08-12) #### Enhancements diff --git a/Cargo.lock b/Cargo.lock index 1c39e0d0b..db15dfcc0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1000,7 +1000,7 @@ dependencies = [ [[package]] name = "miden-air" -version = "0.10.3" +version = "0.11.0" dependencies = [ "criterion", "miden-core", @@ -1013,7 +1013,7 @@ dependencies = [ [[package]] name = "miden-assembly" -version = "0.10.3" +version = "0.11.0" dependencies = [ "aho-corasick", "lalrpop", @@ -1031,7 +1031,7 @@ dependencies = [ [[package]] name = "miden-core" -version = "0.10.3" +version = "0.11.0" dependencies = [ "lock_api", "loom", @@ -1044,9 +1044,9 @@ dependencies = [ "num-traits", "parking_lot", "proptest", - "winter-math 0.9.0", + "winter-math", "winter-rand-utils", - "winter-utils 0.9.1", + "winter-utils", ] [[package]] @@ -1063,9 +1063,9 @@ dependencies = [ "rand", "rand_core", "sha3", - "winter-crypto 0.9.0", - "winter-math 0.9.0", - "winter-utils 0.9.1", + "winter-crypto", + "winter-math", + "winter-utils", ] [[package]] @@ -1085,7 +1085,7 @@ checksum = "ade33603aa2eaf78c6f06fd60f4dfe22b7ae1f5606698e386baf71eb9d246d50" dependencies = [ "metal", "once_cell", - "winter-math 0.9.0", + "winter-math", ] [[package]] @@ -1132,7 +1132,7 @@ dependencies = [ [[package]] name = "miden-processor" -version = "0.10.3" +version = "0.11.0" dependencies = [ "logtest", "miden-air", @@ -1140,14 +1140,14 @@ dependencies = [ "miden-core", "miden-test-utils", "tracing", - "winter-fri 0.9.0", + "winter-fri", "winter-prover", - "winter-utils 0.9.1", + "winter-utils", ] [[package]] name = "miden-prover" -version = "0.10.3" +version = "0.11.0" dependencies = [ "elsa", "miden-air", @@ -1160,7 +1160,7 @@ dependencies = [ [[package]] name = "miden-stdlib" -version = "0.10.3" +version = "0.11.0" dependencies = [ "blake3", "miden-air", @@ -1175,7 +1175,7 @@ dependencies = [ "sha2", "sha3", "winter-air", - "winter-fri 0.9.0", + "winter-fri", ] [[package]] @@ -1217,7 +1217,7 @@ dependencies = [ [[package]] name = "miden-verifier" -version = "0.10.3" +version = "0.11.0" dependencies = [ "miden-air", "miden-core", @@ -1227,7 +1227,7 @@ dependencies = [ [[package]] name = "miden-vm" -version = "0.10.3" +version = "0.11.0" dependencies = [ "assert_cmd", "blake3", @@ -1252,7 +1252,7 @@ dependencies = [ "tracing", "tracing-forest", "tracing-subscriber", - "winter-fri 0.8.3", + "winter-fri", ] [[package]] @@ -2733,22 +2733,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b72f12b88ebb060b52c0e9aece9bb64a9fc38daf7ba689dd5ce63271b456c883" dependencies = [ "libm", - "winter-crypto 0.9.0", - "winter-fri 0.9.0", - "winter-math 0.9.0", - "winter-utils 0.9.1", -] - -[[package]] -name = "winter-crypto" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aea508aa819e934c837f24bb706e69d890b9be2db82da39cde887e6f0a37246" -dependencies = [ - "blake3", - "sha3", - "winter-math 0.8.4", - "winter-utils 0.8.5", + "winter-crypto", + "winter-fri", + "winter-math", + "winter-utils", ] [[package]] @@ -2759,19 +2747,8 @@ checksum = "00fbb724d2d9fbfd3aa16ea27f5e461d4fe1d74b0c9e0ed1bf79e9e2a955f4d5" dependencies = [ "blake3", "sha3", - "winter-math 0.9.0", - "winter-utils 0.9.1", -] - -[[package]] -name = "winter-fri" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "660f47c5c9f5872940ac07a724b1df426590dcffad26776e0528466f2e3095f8" -dependencies = [ - "winter-crypto 0.8.3", - "winter-math 0.8.4", - "winter-utils 0.8.5", + "winter-math", + "winter-utils", ] [[package]] @@ -2780,18 +2757,9 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ab6077cf4c23c0411f591f4ba29378e27f26acb8cef3c51cadd93daaf6080b3" dependencies = [ - "winter-crypto 0.9.0", - "winter-math 0.9.0", - "winter-utils 0.9.1", -] - -[[package]] -name = "winter-math" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c36d2a04b4f79f2c8c6945aab6545b7310a0cd6ae47b9210750400df6775a04" -dependencies = [ - "winter-utils 0.8.5", + "winter-crypto", + "winter-math", + "winter-utils", ] [[package]] @@ -2800,7 +2768,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004f85bb051ce986ec0b9a2bd90aaf81b83e3c67464becfdf7db31f14c1019ba" dependencies = [ - "winter-utils 0.9.1", + "winter-utils", ] [[package]] @@ -2822,11 +2790,11 @@ checksum = "f17e3dbae97050f58e01ed4f12906e247841575a0518632e052941a1c37468df" dependencies = [ "tracing", "winter-air", - "winter-crypto 0.9.0", - "winter-fri 0.9.0", - "winter-math 0.9.0", + "winter-crypto", + "winter-fri", + "winter-math", "winter-maybe-async", - "winter-utils 0.9.1", + "winter-utils", ] [[package]] @@ -2836,15 +2804,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2b827c901ab0c316d89812858ff451d60855c0a5c7ae734b098c62a28624181" dependencies = [ "rand", - "winter-utils 0.9.1", + "winter-utils", ] -[[package]] -name = "winter-utils" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef7d7195967f35140fc2542b44813572e0907cde8a818507177ba8db666e7f17" - [[package]] name = "winter-utils" version = "0.9.1" @@ -2861,10 +2823,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "324002ade90f21e85599d51a232a80781efc8cb46f511f8bc89f9c5a4eb9cb65" dependencies = [ "winter-air", - "winter-crypto 0.9.0", - "winter-fri 0.9.0", - "winter-math 0.9.0", - "winter-utils 0.9.1", + "winter-crypto", + "winter-fri", + "winter-math", + "winter-utils", ] [[package]] diff --git a/README.md b/README.md index 42a6dbbcd..5c84ddc70 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Miden VM is a zero-knowledge virtual machine written in Rust. For any program ex ### Status and features -Miden VM is currently on release v0.10. In this release, most of the core features of the VM have been stabilized, and most of the STARK proof generation has been implemented. While we expect to keep making changes to the VM internals, the external interfaces should remain relatively stable, and we will do our best to minimize the amount of breaking changes going forward. +Miden VM is currently on release v0.11. In this release, most of the core features of the VM have been stabilized, and most of the STARK proof generation has been implemented. While we expect to keep making changes to the VM internals, the external interfaces should remain relatively stable, and we will do our best to minimize the amount of breaking changes going forward. The next version of the VM is being developed in the [next](https://github.com/0xPolygonMiden/miden-vm/tree/next) branch. There is also a documentation for the latest features and changes in the next branch [documentation next branch](https://0xpolygonmiden.github.io/miden-vm/intro/main.html). diff --git a/air/Cargo.toml b/air/Cargo.toml index 952b73131..de4138b86 100644 --- a/air/Cargo.toml +++ b/air/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "miden-air" -version = "0.10.3" +version = "0.11.0" description = "Algebraic intermediate representation of Miden VM processor" -documentation = "https://docs.rs/miden-air/0.10.3" +documentation = "https://docs.rs/miden-air/0.11.0" readme = "README.md" categories = ["cryptography", "no-std"] keywords = ["air", "arithmetization", "crypto", "miden"] @@ -32,7 +32,7 @@ testing = [] [dependencies] thiserror = { package = "miden-thiserror", version = "1.0", default-features = false } -vm-core = { package = "miden-core", path = "../core", version = "0.10", default-features = false } +vm-core = { package = "miden-core", path = "../core", version = "0.11", default-features = false } winter-air = { package = "winter-air", version = "0.9", default-features = false } winter-prover = { package = "winter-prover", version = "0.9", default-features = false } diff --git a/assembly/Cargo.toml b/assembly/Cargo.toml index 24d9f5ea3..ce816d9bf 100644 --- a/assembly/Cargo.toml +++ b/assembly/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "miden-assembly" -version = "0.10.3" +version = "0.11.0" description = "Miden VM assembly language" -documentation = "https://docs.rs/miden-assembly/0.10.3" +documentation = "https://docs.rs/miden-assembly/0.11.0" readme = "README.md" categories = ["compilers", "no-std"] keywords = ["assembler", "assembly", "language", "miden"] @@ -34,7 +34,7 @@ smallvec = { version = "1.13", features = ["union", "const_generics", "const_new thiserror = { package = "miden-thiserror", version = "1.0", default-features = false } tracing = { version = "0.1", default-features = false, features = ["attributes"] } unicode-width = { version = "0.1", features = ["no_std"] } -vm-core = { package = "miden-core", path = "../core", version = "0.10", default-features = false, features = [ +vm-core = { package = "miden-core", path = "../core", version = "0.11", default-features = false, features = [ "diagnostics", ] } diff --git a/core/Cargo.toml b/core/Cargo.toml index 9b39d798d..aa9334155 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "miden-core" -version = "0.10.3" +version = "0.11.0" description = "Miden VM core components" -documentation = "https://docs.rs/miden-core/0.10.3" +documentation = "https://docs.rs/miden-core/0.11.0" readme = "README.md" categories = ["emulators", "no-std"] keywords = ["instruction-set", "miden", "program"] diff --git a/docs/src/intro/main.md b/docs/src/intro/main.md index 4d39927d7..993772763 100644 --- a/docs/src/intro/main.md +++ b/docs/src/intro/main.md @@ -2,7 +2,7 @@ Miden VM is a zero-knowledge virtual machine written in Rust. For any program executed on Miden VM, a STARK-based proof of execution is automatically generated. This proof can then be used by anyone to verify that the program was executed correctly without the need for re-executing the program or even knowing the contents of the program. ## Status and features -Miden VM is currently on release v0.10. In this release, most of the core features of the VM have been stabilized, and most of the STARK proof generation has been implemented. While we expect to keep making changes to the VM internals, the external interfaces should remain relatively stable, and we will do our best to minimize the amount of breaking changes going forward. +Miden VM is currently on release v0.11. In this release, most of the core features of the VM have been stabilized, and most of the STARK proof generation has been implemented. While we expect to keep making changes to the VM internals, the external interfaces should remain relatively stable, and we will do our best to minimize the amount of breaking changes going forward. At this point, Miden VM is good enough for experimentation, and even for real-world applications, but it is not yet ready for production use. The codebase has not been audited and contains known and unknown bugs and security flaws. diff --git a/docs/src/intro/usage.md b/docs/src/intro/usage.md index 3df2dad65..a60cb7661 100644 --- a/docs/src/intro/usage.md +++ b/docs/src/intro/usage.md @@ -1,6 +1,6 @@ # Usage -Before you can use Miden VM, you'll need to make sure you have Rust [installed](https://www.rust-lang.org/tools/install). Miden VM v0.10 requires Rust version **1.80** or later. +Before you can use Miden VM, you'll need to make sure you have Rust [installed](https://www.rust-lang.org/tools/install). Miden VM v0.11 requires Rust version **1.80** or later. Miden VM consists of several crates, each of which exposes a small set of functionality. The most notable of these crates are: diff --git a/miden/Cargo.toml b/miden/Cargo.toml index 71b626be0..84790fbae 100644 --- a/miden/Cargo.toml +++ b/miden/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "miden-vm" -version = "0.10.3" +version = "0.11.0" description = "Miden virtual machine" -documentation = "https://docs.rs/miden-vm/0.10.3" +documentation = "https://docs.rs/miden-vm/0.11.0" readme = "README.md" categories = ["cryptography", "emulators", "no-std"] keywords = ["miden", "stark", "virtual-machine", "zkp"] @@ -57,17 +57,17 @@ metal = ["prover/metal", "std"] std = ["assembly/std", "processor/std", "prover/std", "verifier/std"] [dependencies] -assembly = { package = "miden-assembly", path = "../assembly", version = "0.10", default-features = false } +assembly = { package = "miden-assembly", path = "../assembly", version = "0.11", default-features = false } blake3 = "1.5" clap = { version = "4.4", features = ["derive"], optional = true } hex = { version = "0.4", optional = true } -processor = { package = "miden-processor", path = "../processor", version = "0.10", default-features = false } -prover = { package = "miden-prover", path = "../prover", version = "0.10", default-features = false } +processor = { package = "miden-processor", path = "../processor", version = "0.11", default-features = false } +prover = { package = "miden-prover", path = "../prover", version = "0.11", default-features = false } rustyline = { version = "13.0", default-features = false, optional = true } serde = { version = "1.0", optional = true } serde_derive = { version = "1.0", optional = true } serde_json = { version = "1.0", optional = true } -stdlib = { package = "miden-stdlib", path = "../stdlib", version = "0.10", default-features = false } +stdlib = { package = "miden-stdlib", path = "../stdlib", version = "0.11", default-features = false } tracing = { version = "0.1", default-features = false, features = [ "attributes", ] } @@ -79,8 +79,8 @@ tracing-forest = { version = "0.1", optional = true, features = [ "ansi", "smallvec", ] } -verifier = { package = "miden-verifier", path = "../verifier", version = "0.10", default-features = false } -vm-core = { package = "miden-core", path = "../core", version = "0.10", default-features = false } +verifier = { package = "miden-verifier", path = "../verifier", version = "0.11", default-features = false } +vm-core = { package = "miden-core", path = "../core", version = "0.11", default-features = false } [dev-dependencies] assert_cmd = "2.0" @@ -89,6 +89,6 @@ escargot = "0.5" num-bigint = "0.4" predicates = "3.0" test-utils = { package = "miden-test-utils", path = "../test-utils" } -vm-core = { package = "miden-core", path = "../core", version = "0.10" } -winter-fri = { package = "winter-fri", version = "0.8" } +vm-core = { package = "miden-core", path = "../core", version = "0.11" } +winter-fri = { package = "winter-fri", version = "0.9" } rand_chacha = "0.3.1" diff --git a/processor/Cargo.toml b/processor/Cargo.toml index 623e8f89d..00e7a1f61 100644 --- a/processor/Cargo.toml +++ b/processor/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "miden-processor" -version = "0.10.3" +version = "0.11.0" description = "Miden VM processor" -documentation = "https://docs.rs/miden-processor/0.10.3" +documentation = "https://docs.rs/miden-processor/0.11.0" readme = "README.md" categories = ["emulators", "no-std"] keywords = ["miden", "virtual-machine"] @@ -24,13 +24,13 @@ testing = ["miden-air/testing"] std = ["vm-core/std", "winter-prover/std"] [dependencies] -miden-air = { package = "miden-air", path = "../air", version = "0.10", default-features = false } +miden-air = { package = "miden-air", path = "../air", version = "0.11", default-features = false } tracing = { version = "0.1", default-features = false, features = ["attributes"] } -vm-core = { package = "miden-core", path = "../core", version = "0.10", default-features = false } +vm-core = { package = "miden-core", path = "../core", version = "0.11", default-features = false } winter-prover = { package = "winter-prover", version = "0.9", default-features = false } [dev-dependencies] -assembly = { package = "miden-assembly", path = "../assembly", version = "0.10", default-features = false } +assembly = { package = "miden-assembly", path = "../assembly", version = "0.11", default-features = false } logtest = { version = "2.0", default-features = false } test-utils = { package = "miden-test-utils", path = "../test-utils" } winter-fri = { package = "winter-fri", version = "0.9" } diff --git a/prover/Cargo.toml b/prover/Cargo.toml index 4f17da11f..b2b038b6e 100644 --- a/prover/Cargo.toml +++ b/prover/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "miden-prover" -version = "0.10.3" +version = "0.11.0" description = "Miden VM prover" -documentation = "https://docs.rs/miden-prover/0.10.3" +documentation = "https://docs.rs/miden-prover/0.11.0" readme = "README.md" categories = ["cryptography", "emulators", "no-std"] keywords = ["miden", "prover", "stark", "zkp"] @@ -20,8 +20,8 @@ metal = ["dep:miden-gpu", "dep:elsa", "dep:pollster", "concurrent", "std"] std = ["air/std", "processor/std", "winter-prover/std"] [dependencies] -air = { package = "miden-air", path = "../air", version = "0.10", default-features = false } -processor = { package = "miden-processor", path = "../processor", version = "0.10", default-features = false } +air = { package = "miden-air", path = "../air", version = "0.11", default-features = false } +processor = { package = "miden-processor", path = "../processor", version = "0.11", default-features = false } tracing = { version = "0.1", default-features = false, features = ["attributes"] } winter-prover = { package = "winter-prover", version = "0.9", default-features = false } diff --git a/stdlib/Cargo.toml b/stdlib/Cargo.toml index dd1a330d8..14952aa97 100644 --- a/stdlib/Cargo.toml +++ b/stdlib/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "miden-stdlib" -version = "0.10.3" +version = "0.11.0" description = "Miden VM standard library" -documentation = "https://docs.rs/miden-stdlib/0.10.3" +documentation = "https://docs.rs/miden-stdlib/0.11.0" readme = "README.md" categories = ["cryptography", "mathematics"] keywords = ["miden", "program", "stdlib"] @@ -27,15 +27,15 @@ std = ["assembly/std"] with-debug-info = [] [dependencies] -assembly = { package = "miden-assembly", path = "../assembly", version = "0.10", default-features = false } +assembly = { package = "miden-assembly", path = "../assembly", version = "0.11", default-features = false } [dev-dependencies] blake3 = "1.5" -miden-air = { package = "miden-air", path = "../air", version = "0.10", default-features = false } +miden-air = { package = "miden-air", path = "../air", version = "0.11", default-features = false } num = "0.4.1" num-bigint = "0.4" pretty_assertions = "1.4" -processor = { package = "miden-processor", path = "../processor", version = "0.10", default-features = false, features = [ +processor = { package = "miden-processor", path = "../processor", version = "0.11", default-features = false, features = [ "testing", ] } rand = { version = "0.8.5", default-features = false } @@ -48,4 +48,4 @@ winter-fri = { package = "winter-fri", version = "0.9" } [build-dependencies] -assembly = { package = "miden-assembly", path = "../assembly", version = "0.10" } +assembly = { package = "miden-assembly", path = "../assembly", version = "0.11" } diff --git a/test-utils/Cargo.toml b/test-utils/Cargo.toml index 0d6ac384b..acecc0916 100644 --- a/test-utils/Cargo.toml +++ b/test-utils/Cargo.toml @@ -24,17 +24,17 @@ std = [ ] [dependencies] -air = { package = "miden-air", path = "../air", version = "0.10", default-features = false } -assembly = { package = "miden-assembly", path = "../assembly", version = "0.10", default-features = false, features = [ +air = { package = "miden-air", path = "../air", version = "0.11", default-features = false } +assembly = { package = "miden-assembly", path = "../assembly", version = "0.11", default-features = false, features = [ "testing", ] } -processor = { package = "miden-processor", path = "../processor", version = "0.10", default-features = false, features = [ +processor = { package = "miden-processor", path = "../processor", version = "0.11", default-features = false, features = [ "testing", ] } -prover = { package = "miden-prover", path = "../prover", version = "0.10", default-features = false } +prover = { package = "miden-prover", path = "../prover", version = "0.11", default-features = false } test-case = "3.2" -verifier = { package = "miden-verifier", path = "../verifier", version = "0.10", default-features = false } -vm-core = { package = "miden-core", path = "../core", version = "0.10", default-features = false } +verifier = { package = "miden-verifier", path = "../verifier", version = "0.11", default-features = false } +vm-core = { package = "miden-core", path = "../core", version = "0.11", default-features = false } winter-prover = { package = "winter-prover", version = "0.9", default-features = false } [target.'cfg(target_family = "wasm")'.dependencies] diff --git a/verifier/Cargo.toml b/verifier/Cargo.toml index 24978a78d..fcb1c5c2a 100644 --- a/verifier/Cargo.toml +++ b/verifier/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "miden-verifier" -version = "0.10.3" +version = "0.11.0" description="Miden VM execution verifier" -documentation = "https://docs.rs/miden-verifier/0.10.3" +documentation = "https://docs.rs/miden-verifier/0.11.0" readme = "README.md" categories = ["cryptography", "no-std"] keywords = ["miden", "stark", "verifier", "zkp"] @@ -22,7 +22,7 @@ default = ["std"] std = ["air/std", "vm-core/std", "winter-verifier/std"] [dependencies] -air = { package = "miden-air", path = "../air", version = "0.10", default-features = false } +air = { package = "miden-air", path = "../air", version = "0.11", default-features = false } tracing = { version = "0.1", default-features = false, features = ["attributes"] } -vm-core = { package = "miden-core", path = "../core", version = "0.10", default-features = false } +vm-core = { package = "miden-core", path = "../core", version = "0.11", default-features = false } winter-verifier = { package = "winter-verifier", version = "0.9", default-features = false }