- [BREAKING] replaced the
TraceLdestruct with a trait (#207). - [BREAKING] refactored
RandomCointrait (#214). - [BREAKING] replaced the
ConstraintEvaluatorstruct with a trait (#217).
- Added conditional support for serde on field elements (#209)
- Simplified construction of constraint composition polynomial (#198).
- Refactored serialization of OOD frame in STARK proofs (#199).
- Re-exported
btree_mapandbtree_setmodules from core collections (#202). - Simplified construction of DEEP composition polynomial (#203).
- Sped up proof verification using batch inverse (#190).
- Updated
ConstraintCommitmentto useRowMatrixinternally (#191). - Sped up FRI prover via more efficient
get_inv_offsetsimplementation (#193). - Exposed
build_segments()method publicly (#194).
- Updated
MerkleTreeand matrix structs to make them more suitable for HW acceleration (#185). - Replaced
log2()usage with native.ilog2()(#186).
- Disabled proven security estimation in
no-stdcontext.
- Implemented more efficient remainder handling in FRI (#139)
- Removed term involving conjugate OOD challenge z from deep composition polynomial (#166).
- Added
FieldElement::EXTENSION_DEGREEconstant. - Added
FieldElement::base_elementandFieldElement::slice_from_base_elementsmethods. - [BREAKING] Renamed
FieldElement::as_base_elementsintoFieldElement::slice_as_base_elements. - Added
Matrix::num_base_colsandMatrix::get_base_elementmethods. - [BREAKING] Renamed
MatrixintoColMatrix. - [BREAKING] Replaced
ColMatrixwithRowMatrixto hold LDE trace in the prover (#168). - Updated conjectured security computation and added estimation of proven security (#151).
- Changed root of unity for
f64field (#169). - Implemented reduction of public inputs and proof context to field elements (#172).
- [BREAKING] Replaced
RandomCoinstruct with a trait (#176).
- Fix no-std build for winter-utils (#153)
- [BREAKING]: Refactored prover/verifier to take hash function as a generic parameter (#111).
- Introduced
FftInputstrait (#124). - Optimized
as_int()method forf64field (#127, #146). - Improved FRI remainder commitment methodology (#128).
- Added new arithmetization-friendly hash functions: Griffin and Rescue Prime Jive (#129).
- Fixed panic in prover when debugging with concurrent feature enabled (#130, #132).
- Added variable-time exponentiation option to
f64field (#134). - Optimized squaring for degree 2 and 3 extension fields of
f64field (#138). - Simplified conversion to base elements for degree 2 and 3 extension field elements (#147).
- Made closure types less restrictive for
TraceTable::fill()(#149). - [BREAKING] Refactored serialization/deserialization traits (#150).
- Removed most exponentiations from the constraint evaluation step for the Prover.
- Increased transition constraint exemption limit by 1.
- Implemented custom doubling for
f64andf62field. - Moved
f64field arithmetic to Montgomery form (constant time). - Updated MDS matrix and related-multiplication routine for
Rp64_256hash function. - Improved performance of
Matrix::interpolate_columnsfunction. - Added ability to "unbatch" a
BatchMerkleProof(viaBatchMerkleProof::into_paths()method). - Changed visibility of FRI utils (made them public).
- Added support for FRI folding factor of 2 (in addition to 4, 8, and 16).
- Added support for Randomized AIR (with example).
- Added support for custom number of transition constraint exemptions.
- Enabled transition constraints of degree n + 1 when blowup factor is n.
- Moved trace and constraint commitment construction into separate functions in the
Provertrait. - Introduced
Matrixstruct in the prover which is used as a backing type for trace and constraint evaluations. - Added
ExtensionOftrait and implemented it for all supported fields. - Sped up inversion in
f64field by using inversion method based on Fermat’s little theorem. - Implemented
Randomizabletrait foru32,u16, andu8types. - [BREAKING]
AirContext::new()now requiresnum_assertionsparameter. - [BREAKING] Various interface changes in the
Airtrait to support multi-segment traces. - Increased min version of
rustcto 1.60.
- Implemented into byte conversion for Rp64_256 digest.
- Moved capacity elements to the front of the state for Rp64_256.
- Implemented digest to array conversion for Rp64_256 digest.
- Exposed some internal functions of Rp64_256 publicly.
- Added
f64field. - Added support for cubic field extensions.
- Added an implementation of Rescue Prime hash function in
f64field. - Switched to Rust 2021 and increased min version of
rustcto 1.57. - [BREAKING] Renamed
Air::BaseElementtoAir::BaseField. - [BREAKING] Replaced
prover::prove()function withProvertrait. - [BREAKING] Split
ExecutionTracestruct intoTracetrait andTraceTablestruct.
- Added
Blake3_192as hash function option. - Implemented high-performance version of Rescue Prime hash function.
- Removed
allocfeature in favor of turning onno_stdvia--no-default-featuresflag only. - Moved
randdependency todev-dependenciesonly and removedhashbrowndependency. - Increased min version of
rustcto 1.54.
- Initial release