- 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.
- 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
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.
- Added
Blake3_192
as hash function option. - Implemented high-performance version of Rescue Prime hash function.
- Removed
alloc
feature in favor of turning onno_std
via--no-default-features
flag only. - Moved
rand
dependency todev-dependencies
only and removedhashbrown
dependency. - Increased min version of
rustc
to 1.54.
- Initial release