Releases: facebook/winterfell
Releases · facebook/winterfell
v0.6.4
v0.6.3
v0.6.2
v0.6.1
v0.6.0
- Implemented more efficient remainder handling in FRI (#139)
- Removed term involving conjugate OOD challenge z from deep composition polynomial (#166).
- Added
FieldElement::EXTENSION_DEGREE
constant. - Added
FieldElement::base_element
andFieldElement::slice_from_base_elements
methods. - [BREAKING] Renamed
FieldElement::as_base_elements
intoFieldElement::slice_as_base_elements
. - Added
Matrix::num_base_cols
andMatrix::get_base_element
methods. - [BREAKING] Renamed
Matrix
intoColMatrix
. - [BREAKING] Replaced
ColMatrix
withRowMatrix
to hold LDE trace in the prover (#168). - Updated conjectured security computation and added estimation of proven security (#151).
- Changed root of unity for
f64
field (#169). - Implemented reduction of public inputs and proof context to field elements (#172).
- [BREAKING] Replaced
RandomCoin
struct with a trait (#176).
v0.5.1
0.5.1 (2023-02-20)
- [BREAKING]: Refactored prover/verifier to take hash function as a generic parameter (#111).
- Introduced
FftInputs
trait (#124). - Optimized
as_int()
method forf64
field (#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
f64
field (#134). - Optimized squaring for degree 2 and 3 extension fields of
f64
field (#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).
v0.4.2
v0.4.1
- Increased transition constraint exemption limit by 1.
- Implemented custom doubling for
f64
andf62
field. - Moved
f64
field arithmetic to Montgomery form (constant time). - Updated MDS matrix and related-multiplication routine for
Rp64_256
hash function. - Improved performance of
Matrix::interpolate_columns
function. - 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).
v0.4.0
- 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
Prover
trait. - Introduced
Matrix
struct in the prover which is used as a backing type for trace and constraint evaluations. - Added
ExtensionOf
trait and implemented it for all supported fields. - Sped up inversion in
f64
field by using inversion method based on Fermat’s little theorem. - Implemented
Randomizable
trait foru32
,u16
, andu8
types. - [BREAKING]
AirContext::new()
now requiresnum_assertions
parameter. - [BREAKING] Various interface changes in the
Air
trait to support multi-segment traces. - Increased min version of
rustc
to 1.60.
v0.3.0
- Added
f64
field. - Added support for cubic field extensions.
- Added an implementation of Rescue Prime hash function in
f64
field. - Switched to Rust 2021 and increased min version of
rustc
to 1.57. - [BREAKING] Renamed
Air::BaseElement
toAir::BaseField
. - [BREAKING] Replaced
prover::prove()
function withProver
trait. - [BREAKING] Split
ExecutionTrace
struct intoTrace
trait andTraceTable
struct.