Skip to content

Commit

Permalink
chore: update crate versions to v0.11.0
Browse files Browse the repository at this point in the history
  • Loading branch information
bobbinth committed Nov 5, 2024
1 parent e3fa9ec commit 0a9344c
Show file tree
Hide file tree
Showing 15 changed files with 94 additions and 98 deletions.
12 changes: 6 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
# Changelog

## 0.11.0 (TBD)
## 0.11.0 (2024-11-04)

#### Enhancements

- Added support for procedure annotation (attribute) syntax to Miden Assembly
- Added `miden_core::utils::sync::racy_lock` module (#1463).
- Updated `miden_core::utils` to re-export `std::sync::LazyLock` and `racy_lock::RacyLock as LazyLock` for std and no_std environments, respectively (#1463).
- Debug instructions can be enabled in the cli `run` command using `--debug` flag (#1502).
- Added support for procedure annotation (attribute) syntax to Miden Assembly (#1510).
- Make `miden-prover::prove()` method conditionally asynchronous (#1563).

#### Changes

- [BREAKING] Wrapped `MastForest`s in `Program` and `Library` structs in `Arc` (#1465).
- `MastForestBuilder`: use `MastNodeId` instead of MAST root to uniquely identify procedures (#1473).
- Added `miden_core::utils::sync::racy_lock` module (#1463).
- Updated `miden_core::utils` to re-export `std::sync::LazyLock` and `racy_lock::RacyLock as LazyLock` for std and no_std environments, respectively (#1463).
- Made the undocumented behavior of the VM with regard to undefined behavior of u32 operations, stricter (#1480).
- Introduced the `Emit` instruction (#1496).
- Debug instructions can be enabled in the cli `run` command using `--debug` flag (#1502).
- [BREAKING] ExecutionOptions::new constructor requires a boolean to explicitly set debug mode (#1502).
- [BREAKING] The `run` and the `prove` commands in the cli will accept `--trace` flag instead of `--tracing` (#1502).
- Migrated to new padding rule for RPO (#1343).
Expand All @@ -25,7 +26,6 @@
- [BREAKING] `DYN` operation now expects a memory address pointing to the procedure hash (#1535).
- [BREAKING] `DYNCALL` operation fixed, and now expects a memory address pointing to the procedure hash (#1535).
- Permit child `MastNodeId`s to exceed the `MastNodeId`s of their parents (#1542).
- Make `miden-prover::prove()` method conditionally asynchronous (#1563).
- Don't validate export names on `Library` deserialization (#1554)

#### Fixes
Expand Down
52 changes: 29 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![LICENSE](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/0xPolygonMiden/miden-vm/blob/main/LICENSE)
[![Test](https://github.com/0xPolygonMiden/miden-vm/actions/workflows/test.yml/badge.svg)](https://github.com/0xPolygonMiden/miden-vm/actions/workflows/test.yml)
[![Build](https://github.com/0xPolygonMiden/miden-vm/actions/workflows/build.yml/badge.svg)](https://github.com/0xPolygonMiden/miden-vm/actions/workflows/build.yml)
[![RUST_VERSION](https://img.shields.io/badge/rustc-1.80+-lightgray.svg)](https://www.rust-lang.org/tools/install)
[![RUST_VERSION](https://img.shields.io/badge/rustc-1.82+-lightgray.svg)](https://www.rust-lang.org/tools/install)
[![Crates.io](https://img.shields.io/crates/v/miden-vm)](https://crates.io/crates/miden-vm)

A STARK-based virtual machine.
Expand All @@ -22,7 +22,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).

Expand Down
8 changes: 4 additions & 4 deletions air/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[package]
name = "miden-air"
version = "0.10.5"
version = "0.11.0"
description = "Algebraic intermediate representation of Miden VM processor"
documentation = "https://docs.rs/miden-air/0.10.5"
documentation = "https://docs.rs/miden-air/0.11.0"
readme = "README.md"
categories = ["cryptography", "no-std"]
keywords = ["air", "arithmetization", "crypto", "miden"]
Expand Down Expand Up @@ -32,11 +32,11 @@ 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.10", default-features = false }
winter-prover = { package = "winter-prover", version = "0.10", default-features = false }

[dev-dependencies]
criterion = "0.5"
proptest = "1.3"
proptest = "1.5"
rand-utils = { package = "winter-rand-utils", version = "0.10" }
8 changes: 4 additions & 4 deletions assembly/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[package]
name = "miden-assembly"
version = "0.10.5"
version = "0.11.0"
description = "Miden VM assembly language"
documentation = "https://docs.rs/miden-assembly/0.10.5"
documentation = "https://docs.rs/miden-assembly/0.11.0"
readme = "README.md"
categories = ["compilers", "no-std"]
keywords = ["assembler", "assembly", "language", "miden"]
Expand Down Expand Up @@ -33,8 +33,8 @@ regex = { version = "1.10", optional = true, default-features = false, features
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 = [
unicode-width = { version = "0.2", features = ["no_std"] }
vm-core = { package = "miden-core", path = "../core", version = "0.11", default-features = false, features = [
"diagnostics",
] }

Expand Down
8 changes: 4 additions & 4 deletions core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[package]
name = "miden-core"
version = "0.10.5"
version = "0.11.0"
description = "Miden VM core components"
documentation = "https://docs.rs/miden-core/0.10.5"
documentation = "https://docs.rs/miden-core/0.11.0"
readme = "README.md"
categories = ["emulators", "no-std"]
keywords = ["instruction-set", "miden", "program"]
Expand Down Expand Up @@ -36,10 +36,10 @@ math = { package = "winter-math", version = "0.10", default-features = false }
memchr = { version = "2.7", default-features = false }
miden-crypto = { version = "0.12", default-features = false }
miden-formatting = { version = "0.1", default-features = false }
miette = { package = "miden-miette", version = "7.1", default-features = false, features = [
miette = { package = "miden-miette", version = "7.1", default-features = false, optional = true, features = [
"fancy-no-syscall",
"derive"
], optional = true }
] }
num-derive = { version = "0.4", default-features = false }
num-traits = { version = "0.2", default-features = false }
parking_lot = { version = "0.12", optional = true }
Expand Down
2 changes: 1 addition & 1 deletion docs/src/intro/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/intro/usage.md
Original file line number Diff line number Diff line change
@@ -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.82** or later.

Miden VM consists of several crates, each of which exposes a small set of functionality. The most notable of these crates are:

Expand Down
36 changes: 14 additions & 22 deletions miden/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[package]
name = "miden-vm"
version = "0.10.5"
version = "0.11.0"
description = "Miden virtual machine"
documentation = "https://docs.rs/miden-vm/0.10.5"
documentation = "https://docs.rs/miden-vm/0.11.0"
readme = "README.md"
categories = ["cryptography", "emulators", "no-std"]
keywords = ["miden", "stark", "virtual-machine", "zkp"]
Expand Down Expand Up @@ -57,38 +57,30 @@ 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 }
tracing = { version = "0.1", default-features = false, features = [
"attributes",
] }
tracing-subscriber = { version = "0.3", optional = true, features = [
"std",
"env-filter",
] }
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 }
stdlib = { package = "miden-stdlib", path = "../stdlib", version = "0.11", default-features = false }
tracing = { version = "0.1", default-features = false, features = ["attributes"] }
tracing-subscriber = { version = "0.3", optional = true, features = ["std", "env-filter"] }
tracing-forest = { version = "0.1", optional = true, features = ["ansi", "smallvec"] }
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"
criterion = "0.5"
escargot = "0.5"
num-bigint = "0.4"
predicates = "3.0"
predicates = "3.1"
test-utils = { package = "miden-test-utils", path = "../test-utils" }
vm-core = { package = "miden-core", path = "../core", version = "0.10" }
vm-core = { package = "miden-core", path = "../core", version = "0.11" }
winter-fri = { package = "winter-fri", version = "0.10" }
rand_chacha = "0.3.1"
rand_chacha = "0.3"
2 changes: 1 addition & 1 deletion miden/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ If you want to execute, prove, and verify programs on Miden VM, but don't want t

### Compiling Miden VM

First, make sure you have Rust [installed](https://www.rust-lang.org/tools/install). The current version of Miden VM requires Rust version **1.80** or later.
First, make sure you have Rust [installed](https://www.rust-lang.org/tools/install). The current version of Miden VM requires Rust version **1.82** or later.

Then, to compile Miden VM into a binary, run the following `make` command:

Expand Down
Loading

0 comments on commit 0a9344c

Please sign in to comment.