From d05ab402466515a7448b9f7757b974338908c1ee Mon Sep 17 00:00:00 2001 From: Paul-Henry Kajfasz Date: Tue, 16 Jul 2024 19:19:23 +0200 Subject: [PATCH] Updated changelog.md --- CHANGELOG.md | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 021cc296fe..de97209f60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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) @@ -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) @@ -36,12 +40,15 @@ ## 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` to `Vec` (#1268). - [BREAKING] Migrated to `miden-crypto` v0.9.0 (#1287). @@ -49,6 +56,7 @@ ## 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). @@ -59,7 +67,8 @@ - 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). @@ -67,6 +76,7 @@ - [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). @@ -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). @@ -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). @@ -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) @@ -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. @@ -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`. @@ -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). @@ -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. @@ -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`. @@ -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