diff --git a/CHANGELOG.md b/CHANGELOG.md index 82b3ee81b7..3b62c58497 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,13 @@ # Changelog -## 0.8.0 (TBD) +## 0.8.0 (02-26-2024) #### Assembly - Expanded capabilities of the `debug` decorator. Added `debug.mem` and `debug.local` variations (#1103). - Introduced the `emit.` assembly instruction (#1119). - Introduced the `procref.` assembly instruction (#1113). - Added the ability to use constants as counters in `repeat` loops (#1124). -- All `checked` versions of the u32 instructions were removed. All `unchecked` versions were renamed: this mode specification was removed from their titles (#1115). +- [BREAKING] Removed all `checked` versions of the u32 instructions. Renamed all `unchecked` versions (#1115). - Introduced the `u32clz`, `u32ctz`, `u32clo`, `u32cto` and `ilog2` assembly instructions (#1176). - Added support for hexadecimal values in constants (#1199). - Added the `RCombBase` instruction (#1216). @@ -15,17 +15,21 @@ #### Stdlib - Introduced `std::utils` module with `is_empty_word` procedure. Refactored `std::collections::smt` and `std::collections::smt64` to use the procedure (#1107). -- Removed `checked` versions of the instructions in the `std::math::u64` module (#1142). +- [BREAKING] Removed `checked` versions of the instructions in the `std::math::u64` module (#1142). - Introduced `clz`, `ctz`, `clo` and `cto` instructions in the `std::math::u64` module (#1179). -- Removed `std::collections::smt64` (#1249) +- [BREAKING] Refactored `std::collections::smt` to use `SimpleSmt`-based implementation (#1215). +- [BREAKING] Removed `std::collections::smt64` (#1249) #### VM Internals - Introduced the `Event` decorator and an associated `on_event` handler on the `Host` trait (#1119). -- Updated Winterfell dependency to v0.7 (#1121). - Added methods `StackOutputs::get_stack_item()` and `StackOutputs::get_stack_word()` (#1155). - Added [Tracing](https://crates.io/crates/tracing) logger to the VM (#1139). +- Refactored auxiliary trace construction (#1140). +- [BREAKING] Optimized `u32lt` instruction (#1193) - Added `on_assert_failed()` method to the Host trait (#1197). - Added support for handling `trace` instruction in the `Host` interface (#1198). +- Updated Winterfell dependency to v0.8 (#1234). +- Increased min version of `rustc` to 1.75. #### CLI - Introduced the `!use` command for the Miden REPL (#1162). diff --git a/README.md b/README.md index 13abe7b7c1..f9934464f1 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ + A STARK-based virtual machine. diff --git a/air/Cargo.toml b/air/Cargo.toml index 1e02643ddf..29b177e84a 100644 --- a/air/Cargo.toml +++ b/air/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/miden-air/0.8.0" categories = ["cryptography", "no-std"] keywords = ["air", "arithmetization", "crypto", "miden"] edition = "2021" -rust-version = "1.73" +rust-version = "1.75" [lib] bench = false diff --git a/assembly/Cargo.toml b/assembly/Cargo.toml index 150bd4fa7d..59f1f692c3 100644 --- a/assembly/Cargo.toml +++ b/assembly/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/miden-assembly/0.8.0" categories = ["compilers", "no-std"] keywords = ["assembler", "assembly", "language", "miden"] edition = "2021" -rust-version = "1.73" +rust-version = "1.75" [lib] bench = false diff --git a/core/Cargo.toml b/core/Cargo.toml index 9a5b47438c..35b2772046 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/miden-core/0.8.0" categories = ["emulators", "no-std"] keywords = ["instruction-set", "miden", "program"] edition = "2021" -rust-version = "1.73" +rust-version = "1.75" [lib] bench = false diff --git a/docs/src/intro/usage.md b/docs/src/intro/usage.md index 10baae805e..d241e3f59e 100644 --- a/docs/src/intro/usage.md +++ b/docs/src/intro/usage.md @@ -1,5 +1,5 @@ # 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.8 requires Rust version **1.73** 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.8 requires Rust version **1.75** or later. Miden VM consists of several crates, each of which exposes a small set of functionality. The most notable of these crates are: * [miden-processor](https://crates.io/crates/miden-processor), which can be used to execute Miden VM programs. diff --git a/miden/Cargo.toml b/miden/Cargo.toml index bb11bd325f..1ee886c8bc 100644 --- a/miden/Cargo.toml +++ b/miden/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/miden-vm/0.8.0" categories = ["cryptography", "emulators", "no-std"] keywords = ["miden", "stark", "virtual-machine", "zkp"] edition = "2021" -rust-version = "1.73" +rust-version = "1.75" [[bin]] name = "miden" diff --git a/processor/Cargo.toml b/processor/Cargo.toml index d624167b6c..e9f1563e03 100644 --- a/processor/Cargo.toml +++ b/processor/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/miden-processor/0.8.0" categories = ["emulators", "no-std"] keywords = ["miden", "virtual-machine"] edition = "2021" -rust-version = "1.73" +rust-version = "1.75" [lib] bench = false diff --git a/prover/Cargo.toml b/prover/Cargo.toml index be3c7c1802..55e1988ca4 100644 --- a/prover/Cargo.toml +++ b/prover/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/miden-prover/0.8.0" categories = ["cryptography", "emulators", "no-std"] keywords = ["miden", "prover", "stark", "zkp"] edition = "2021" -rust-version = "1.73" +rust-version = "1.75" [features] concurrent = ["processor/concurrent", "std", "winter-prover/concurrent"] diff --git a/stdlib/Cargo.toml b/stdlib/Cargo.toml index 10e5c311dd..6b1f713f23 100644 --- a/stdlib/Cargo.toml +++ b/stdlib/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/miden-stdlib/0.8.0" categories = ["cryptography", "mathematics"] keywords = ["miden", "program", "stdlib"] edition = "2021" -rust-version = "1.73" +rust-version = "1.75" [lib] bench = false diff --git a/test-utils/Cargo.toml b/test-utils/Cargo.toml index 4c070bd809..7aa1af20aa 100644 --- a/test-utils/Cargo.toml +++ b/test-utils/Cargo.toml @@ -9,7 +9,7 @@ repository = "https://github.com/0xPolygonMiden/miden-vm" categories = ["development-tools::testing", "no-std"] keywords = ["miden", "test", "virtual-machine"] edition = "2021" -rust-version = "1.73" +rust-version = "1.75" [features] default = ["std"] @@ -25,5 +25,5 @@ vm-core = { package = "miden-core", path = "../core", version = "0.8", default-f winter-prover = { package = "winter-prover", version = "0.8", default-features = false } [target.'cfg(not(target_family = "wasm"))'.dependencies] -proptest = "1.3" +proptest = "1.4" rand-utils = { package = "winter-rand-utils", version = "0.8" } diff --git a/verifier/Cargo.toml b/verifier/Cargo.toml index 9fcb1bc966..bd0eebfcd4 100644 --- a/verifier/Cargo.toml +++ b/verifier/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/miden-verifier/0.8.0" categories = ["cryptography", "no-std"] keywords = ["miden", "stark", "verifier", "zkp"] edition = "2021" -rust-version = "1.73" +rust-version = "1.75" [lib] bench = false