All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Rust's notion of Semantic Versioning.
(relative to halo2 0.1.0-beta.1
)
halo2_proofs::plonk
:VerificationStrategy
SingleVerifier
, an implementation ofVerificationStrategy
for verifying proofs individually.BatchVerifier
, an implementation ofVerificationStrategy
for verifying multiple proofs in a batch.
halo2_proofs::dev::FailureLocation
(used inVerifyFailure::Lookup
)
halo2_proofs::commitment::verifier::Guard
, which is returned fromhalo2_proofs::plonk::verify_proof
, has changed so that values returned from its methodcompute_g
and expected in its methoduse_g
are not backwards compatible with values in previous versions.halo2_proofs::plonk::verify_proof
now takes aVerificationStrategy
instead of anMSM
directly.halo2_proofs
now depends onrand_core
instead ofrand
.halo2_proofs::plonk::create_proof
now take an argumentR: rand_core::RngCore
.halo2_proofs::plonk::Error
has been overhauled:Error
now implementsstd::fmt::Display
andstd::error::Error
.Error
no longer implementsPartialEq
. Tests can check for specific error cases withassert!(matches!(..))
, or theassert_matches
crate.Error::IncompatibleParams
is nowError::InvalidInstances
.Error::NotEnoughRowsAvailable
now stores the current value ofk
.Error::OpeningError
is nowError::Opening
.Error::SynthesisError
is nowError::Synthesis
.Error::TranscriptError
is nowError::Transcript
, and stores the underlyingio::Error
.
halo2_proofs::dev::CircuitLayout::render
now takesk
as au32
, matching the regular parameter APIs.halo2_proofs::dev::VerifyFailure
has been overhauled:VerifyFailure::Cell
has been renamed toVerifyFailure::CellNotAssigned
.VerifyFailure::ConstraintNotSatisfied
now has acell_values
field, storing the values of the cells used in the unsatisfied constraint.- The
row
fields ofVerifyFailure::{ConstraintNotSatisfied, Lookup}
have been replaced bylocation
fields, which can now indicate whether the location falls within an assigned region.
halo2_proofs::plonk::ConstraintSystem::enable_equality
andhalo2_proofs::plonk::ConstraintSystem::query_any
now takeInto<Column<Any>>
instead ofColumn<Any>
as a parameter to avoid excesive.into()
usage.
halo2_proofs::arithmetic::BatchInvert
(useff::BatchInvert
instead).impl Default for halo2_proofs::poly::Rotation
(useRotation::cur()
instead).halo2_proofs::poly
:EvaluationDomain::{add_extended, sub_extended, mul_extended}
Polynomial::one_minus
impl Neg, Sub for Polynomial
impl Mul for Polynomial<_, ExtendedLagrangeCoeff>