2021-01-22 15:54:31 -08:00
|
|
|
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
|
and this project adheres to Rust's notion of
|
|
|
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
|
|
|
|
## [Unreleased]
|
2022-01-20 10:28:44 -08:00
|
|
|
(relative to `halo2 0.1.0-beta.1`)
|
|
|
|
|
2021-12-20 04:08:33 -08:00
|
|
|
### Added
|
2022-01-20 10:28:44 -08:00
|
|
|
- `halo2_proofs::dev::FailureLocation` (used in `VerifyFailure::Lookup`)
|
2021-12-20 04:08:33 -08:00
|
|
|
|
2021-05-18 11:29:10 -07:00
|
|
|
### Changed
|
2022-01-20 10:28:44 -08:00
|
|
|
- `halo2_proofs` now depends on `rand_core` instead of `rand`, and requires the
|
|
|
|
caller to provide the specific RNG implementation:
|
|
|
|
- `halo2_proofs::plonk::{create_proof, verify_proof}` now take an argument
|
2022-01-20 08:16:48 -08:00
|
|
|
`R: rand_core::RngCore`.
|
2022-01-20 10:28:44 -08:00
|
|
|
- `halo2_proofs::plonk::Error` has been overhauled:
|
2021-11-04 06:38:38 -07:00
|
|
|
- `Error` now implements `std::fmt::Display` and `std::error::Error`.
|
2021-05-26 14:28:11 -07:00
|
|
|
- `Error` no longer implements `PartialEq`. Tests can check for specific error
|
2021-11-15 13:26:28 -08:00
|
|
|
cases with `assert!(matches!(..))`, or the `assert_matches` crate.
|
2021-05-18 11:29:10 -07:00
|
|
|
- `Error::IncompatibleParams` is now `Error::InvalidInstances`.
|
2021-11-16 23:54:26 -08:00
|
|
|
- `Error::NotEnoughRowsAvailable` now stores the current value of `k`.
|
2021-05-26 15:55:40 -07:00
|
|
|
- `Error::OpeningError` is now `Error::Opening`.
|
|
|
|
- `Error::SynthesisError` is now `Error::Synthesis`.
|
|
|
|
- `Error::TranscriptError` is now `Error::Transcript`, and stores the
|
|
|
|
underlying `io::Error`.
|
2022-01-20 10:28:44 -08:00
|
|
|
- `halo2_proofs::dev::CircuitLayout::render` now takes `k` as a `u32`, matching
|
|
|
|
the regular parameter APIs.
|
|
|
|
- `halo2_proofs::dev::VerifyFailure` has been overhauled:
|
2021-12-20 06:45:56 -08:00
|
|
|
- `VerifyFailure::Cell` has been renamed to `VerifyFailure::CellNotAssigned`.
|
2021-12-20 04:08:33 -08:00
|
|
|
- `VerifyFailure::ConstraintNotSatisfied` now has a `cell_values` field,
|
|
|
|
storing the values of the cells used in the unsatisfied constraint.
|
2021-12-20 18:42:25 -08:00
|
|
|
- The `row` fields of `VerifyFailure::{ConstraintNotSatisfied, Lookup}` have
|
|
|
|
been replaced by `location` fields, which can now indicate whether the
|
|
|
|
location falls within an assigned region.
|
2022-01-20 10:28:44 -08:00
|
|
|
- `halo2_proofs::plonk::ConstraintSystem::enable_equality` and
|
|
|
|
`halo2_proofs::plonk::ConstraintSystem::query_any` now take `Into<Column<Any>>`
|
|
|
|
instead of `Column<Any>` as a parameter to avoid excesive `.into()` usage.
|
2021-05-18 11:29:10 -07:00
|
|
|
|
2021-09-30 14:35:33 -07:00
|
|
|
### Removed
|
2022-01-20 10:28:44 -08:00
|
|
|
- `halo2_proofs::arithmetic::BatchInvert` (use `ff::BatchInvert` instead).
|
|
|
|
- `impl Default for halo2_proofs::poly::Rotation` (use `Rotation::cur()` instead).
|
|
|
|
- `halo2_proofs::poly`:
|
2022-01-19 13:53:17 -08:00
|
|
|
- `EvaluationDomain::{add_extended, sub_extended, mul_extended}`
|
|
|
|
- `Polynomial::one_minus`
|
|
|
|
- `impl Neg, Sub for Polynomial`
|
|
|
|
- `impl Mul for Polynomial<_, ExtendedLagrangeCoeff>`
|