You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Major breaking changes
[BREAKING] Changed backend from winterfell to Plonky3 (#2472).
[BREAKING] Removed Process, VmStateIterator and miden_processor::execute_iter() (#2483).
[BREAKING] Removed miden debug, miden analyze and miden repl (#2483).
[BREAKING] Standardized operand-stack ordering around a unified little-endian (LE) convention (low limb/coeff closest to the top). This includes multi-limb integer ops, extension field elements, and streaming memory operations. Also remapped the sponge state and adjusts hperm/digest extraction plus advice hash-insert instructions for consistent LE semantics. (#2547).
[BREAKING] Renamed u32overflowing_mul to u32widening_mul, u32overflowing_madd to u32widening_madd, and math::u64::overflowing_mul to math::u64::widening_mul (#2584).
[BREAKING] Changed the VM’s native hash function from RPO to Poseidon2 (#2599).
Enhancements
Added initial math::u128 functions for lib/core/math runtime. (#2438).
Added constants support as an immediate value of the repeat statement (#2548).
Added procedure_names to DebugInfo for storing procedure name mappings by MAST root digest, enabling debuggers to resolve human-readable procedure names during execution (#2474).
Added deserialization of the MastForest from untrusted sources. Add fuzzing for MastForest deserialization. (#2590).
Added StackInterface::get_double_word() method for reading 8 consecutive stack elements (#2607).
Added error messages to asserts in the standard library (#2650)
Optimized ExecutionTracer to avoid cloning Vec<OpBatch> on every basic block entry. (#2664)
Fixes
Fixed memory chiplet constraint documentation: corrected f_i variable definitions, first row flag, and f_mem_nl constraint expression (#2423).
Removed the intentional HALT-insertion bug from the parallel trace generation (#2484).
FastProcessor now correctly returns an error if the maximum number of cycles was exceeded during execution (#2537).
FastProcessor now correctly only executes trace decorators when tracing is enabled (with ExecutionOptions) (#2539).
Fixed a bug where trace generation would fail if a core trace fragment started on the END operation of a loop that was not entered (#2587).
Added missing as_canonical_u64() method to IntValue in miden-assembly-syntax, fixing compilation errors in the generated grammar code (#2589).
Fixed off-by-one error in cycle limit check that caused programs using exactly max_cycles cycles to fail (#2635).
Fixed prover log message reporting main_trace_len() instead of trace_len() for the pre-padding length (#2671).
System event errors now include the operation index, so diagnostics point to the exact emit instruction instead of the first operation in the basic block (#2672).
Added generation of AssemblyOp decorators for JoinNodes so that error diagnostics can point to the begin...end block (#2674).
Renamed snapshot test files to use __ instead of :: for Windows compatibility (#2580).
Changes
Added --kernel flag to CLI commands (run, prove, verify, debug) to allow loading custom kernels from .masm or .masp files (#2363).
Implemented running batch inversion concurrently per fragment in parallel trace generation (#2405).