Skip to content

Commit

Permalink
Updated changelog.md
Browse files Browse the repository at this point in the history
  • Loading branch information
phklive committed Jul 16, 2024
1 parent c69b455 commit d05ab40
Showing 1 changed file with 29 additions and 1 deletion.
30 changes: 29 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#### Enhancements

- Added github workflow to check if `CHANGELOG.md` file has been modified (#1400).
- Added error codes support for the `mtree_verify` instruction (#1328).
- Added support for immediate values for `lt`, `lte`, `gt`, `gte` comparison instructions (#1346).
- Change MAST to a table-based representation (#1349)
Expand All @@ -21,12 +22,15 @@
- When using `if.(true|false) .. end`, the parser used to emit an empty block for the branch that was elided. The parser now emits a block containing a single `nop` instruction instead, which is equivalent to the code emitted by the assembler when lowering to MAST.

## 0.9.2 (2024-05-22) - `stdlib` crate only

- Skip writing MASM documentation to file when building on docs.rs (#1341).

## 0.9.2 (2024-05-09) - `assembly` crate only

- Remove usage of `group_vector_elements()` from `combine_blocks()` (#1331).

## 0.9.2 (2024-04-25) - `air` and `processor` crates only

- Allowed enabling debug mode via `ExecutionOptions` (#1316).

## 0.9.1 (2024-04-04)
Expand All @@ -36,19 +40,23 @@
## 0.9.0 (2024-04-03)

#### Packaging

- [BREAKING] The package `miden-vm` crate was renamed from `miden` to `miden-vm`. Now the package and crate names match (#1271).

#### Stdlib

- Added `init_no_padding` procedure to `std::crypto::hashes::native` (#1313).

#### VM Internals

- Removed unused `find_lone_leaf()` function from the Advice Provider (#1262).
- [BREAKING] Changed fields type of the `StackOutputs` struct from `Vec<u64>` to `Vec<Felt>` (#1268).
- [BREAKING] Migrated to `miden-crypto` v0.9.0 (#1287).

## 0.8.0 (02-26-2024)

#### Assembly

- Expanded capabilities of the `debug` decorator. Added `debug.mem` and `debug.local` variations (#1103).
- Introduced the `emit.<event_id>` assembly instruction (#1119).
- Introduced the `procref.<proc_name>` assembly instruction (#1113).
Expand All @@ -59,14 +67,16 @@
- Added the `RCombBase` instruction (#1216).

#### Stdlib
- Introduced `std::utils` module with `is_empty_word` procedure. Refactored `std::collections::smt`

- Introduced `std::utils` module with `is_empty_word` procedure. Refactored `std::collections::smt`
and `std::collections::smt64` to use the procedure (#1107).
- [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).
- [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).
- Added methods `StackOutputs::get_stack_item()` and `StackOutputs::get_stack_word()` (#1155).
- Added [Tracing](https://crates.io/crates/tracing) logger to the VM (#1139).
Expand All @@ -78,12 +88,14 @@
- Increased min version of `rustc` to 1.75.

#### CLI

- Introduced the `!use` command for the Miden REPL (#1162).
- Introduced a `BLAKE3` hashing example (#1180).

## 0.7.0 (2023-10-11)

#### Assembly

- Added ability to attach doc comments to re-exported procedures (#994).
- Added support for nested modules (#992).
- Added support for the arithmetic expressions in constant values (#1026).
Expand All @@ -94,9 +106,11 @@
- Refactored `push` instruction so now it parses long hex string in little-endian (#1076).

#### CLI

- Implemented ability to output compiled `.masb` files to disk (#1102).

#### VM Internals

- Simplified range checker and removed 1 main and 1 auxiliary trace column (#949).
- Migrated range checker lookups to use LogUp and reduced the number of trace columns to 2 main and
1 auxiliary (#1027).
Expand All @@ -110,6 +124,7 @@
- [BREAKING] Refactored `AdviceProvider` interface into `Host` interface (#1082).

#### Stdlib

- Completed `std::collections::smt` module by implementing `insert` and `set` procedures (#1036, #1038, #1046).
- Added new module `std::crypto::dsa::rpo_falcon512` to support Falcon signature verification (#1000, #1094)

Expand All @@ -120,6 +135,7 @@
## 0.6.0 (2023-06-28)

#### Assembly

- Added new instructions: `mtree_verify`.
- [BREAKING] Refactored `adv.mem` decorator to use parameters from operand stack instead of immediate values.
- [BREAKING] Refactored `mem_stream` and `adv_pipe` instructions.
Expand All @@ -130,10 +146,12 @@
- Implemented procedure re-exports from modules.

#### CLI

- Implemented support for all types of nondeterministic inputs (advice stack, advice map, and Merkle store).
- Implemented ability to generate proofs suitable for recursion.

#### Stdlib

- Added new module: `std::collections::smt` (only `smt::get` available).
- Added new module: `std::collections::mmr`.
- Added new module: `std::collections::smt64`.
Expand All @@ -142,6 +160,7 @@
- Greatly optimized recursive STARK verifier (reduced number of cycles by 6x - 8x).

#### VM Internals

- Moved test framework from `miden-vm` crate to `miden-test-utils` crate.
- Updated Winterfell dependency to v0.6.4.
- Added support for GPU acceleration on Apple silicon (Metal).
Expand All @@ -153,16 +172,19 @@
## 0.5.0 (2023-03-29)

#### CLI

- Renamed `ProgramInfo` to `ExecutionDetails` since there is another `ProgramInfo` struct in the source code.
- [BREAKING] renamed `stack_init` and `advice_tape` to `operand_stack` and `advice_stack` in input files.
- Enabled specifying additional advice provider inputs (i.e., advice map and Merkle store) via the input files.

#### Assembly

- Added new instructions: `is_odd`, `assert_eqw`, `mtree_merge`.
- [BREAKING] Removed `mtree_cwm` instruction.
- Added `breakpoint` instruction to help with debugging.

#### VM Internals

- [BREAKING] Renamed `Read`, `ReadW` operations into `AdvPop`, `AdvPopW`.
- [BREAKING] Replaced `AdviceSet` with `MerkleStore`.
- Updated Winterfell dependency to v0.6.0.
Expand All @@ -171,15 +193,18 @@
## 0.4.0 (2023-02-27)

#### Advice provider

- [BREAKING] Converted `AdviceProvider` into a trait which can be provided to the processor.
- Added a decorator for interpolating polynomials over degree 2 extension field (`ext2intt`).
- Added `AdviceSource` enum for greater future flexibility of advice injectors.

#### CLI

- Added `debug` subcommand to enable stepping through program execution forward/backward.
- Added cycle count to the output of program execution.

#### Assembly

- Added support for constant declarations.
- Added new instructions: `clk`, `ext2*`, `fri_ext2fold4`, `hash`, `u32checked_popcnt`, `u32unchecked_popcnt`.
- [BREAKING] Renamed `rpperm` to `hperm` and `rphash` to `hmerge`.
Expand All @@ -188,15 +213,18 @@
- [BREAKING] Replaced `ModuleProvider` with `Library` to improve 3rd party library support.

#### Processor, Prover, and Verifier

- [BREAKING] Refactored `execute()`, `prove()`, `verify()` functions to take `StackInputs` as one of the parameters.
- [BREAKING] Refactored `prove()` function to return `ExecutionProof` (which is a wrapper for `StarkProof`).
- [BREAKING] Refactored `verify()` function to take `ProgramInfo`, `StackInputs`, and `ExecutionProof` as parameters and return a `u32` indicating security level of the verified proof.

#### Stdlib

- Added `std::mem::memcopy` procedure for copying regions of memory.
- Added `std::crypto::fri::frie2f4::verify` for verifying FRI proofs over degree 2 extension field.

#### VM Internals

- [BREAKING] Migrated to Rescue Prime Optimized hash function.
- Updated Winterfell backend to v0.5.1

Expand Down

0 comments on commit d05ab40

Please sign in to comment.