barretenberg: v0.3.0
Pre-release
Pre-release
0.3.0 (2023-07-11)
⚠ BREAKING CHANGES
- Use circuit builders (#501)
- dsl: add hash index to pedersen constraint (#436)
- add support for ROM and RAM ACVM opcodes (#417)
- replace
MerkleMembershipConstraint
withComputeMerkleRootConstraint
(#385) - Remove TOOLCHAIN logic and replace with CMake presets (#162)
Features
- Add
get_sibling_path
method in MerkleTree (#584) (b3db9f8) - Add
signature_verification_result
to schnorr stdlib (#173) (7ae381e) - Add equality and serialization to poly_triple (#172) (142b041)
- Add installation targets for libbarretenberg, wasm & headers (#185) (f2fdebe)
- Add Noir DSL with acir_format and turbo_proofs namespaces (#198) (54fab22)
- Add pkgconfig output for installed target (#208) (d85a365)
- add support for ROM and RAM ACVM opcodes (#417) (697fabb)
- Allow bootstrap to work with linux + clang on ARM (#131) (52cb06b)
- api: external cpp header for circuits (#489) (fbbb342)
- bb.js: initial API (#232) (c860b02)
- Benchmark suite update (d7b1499)
- Benchmark suite update (#508) (d7b1499)
- CI to test aztec circuits with current commit of bberg (#418) (20a0873)
- dsl: Add ECDSA secp256r1 verification (#582) (adc4c7b)
- dsl: add hash index to pedersen constraint (#436) (e0b8804)
- github: add pull request template (65f3e33)
- honk: Shared relation arithmetic (#514) (0838474)
- Improve barretenberg headers (#201) (4e03839)
- Initial native version of bb binary. (#524) (4a1b532)
- Make the circuit constructors field agnostic so we can check circuits on grumpkin (#534) (656d794)
- Multithreaded Sumcheck (#556) (c4094b1)
- nullifier_tree: make empty nullifier tree leaves hash be 0 (#360) (#382) (b85ab8d)
- Optimize memory consumption of pedersen generators (#413) (d60b16a)
- Parallelised folding in Gemini (#550) (3b962d3)
- pkg-config: Add a bindir variable (#239) (611bf34)
- Remove TOOLCHAIN logic and replace with CMake presets (#162) (09db0be)
- replace
MerkleMembershipConstraint
withComputeMerkleRootConstraint
(#385) (74dbce5) - Sort includes (#571) (dfa8736)
- Split plonk and honk tests (#529) (ba583ff)
- Support nix package manager (#234) (19a72fe)
- ts: allow passing srs via env functions (#260) (ac78353)
- ultrahonk: Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero (b20b401)
- ultrahonk: Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero (#531) (b20b401)
- Utilize globally installed benchmark if available (#152) (fbc5027)
- Utilize globally installed gtest if available (#151) (efa18a6)
- Utilize globally installed leveldb if available (#134) (255dfb5)
- Working UltraPlonk for Noir (#299) (d56dfbd)
Bug Fixes
- add NUM_RESERVED_GATES before fetching subgroup size in composer (#539) (fa11abf)
- Adds
VERSION
file to release-please (#542) (31fb34c) - Align native library object library with wasm (#238) (4fa6c0d)
- Avoid bb.js memory issues. (#578) (96891de)
- Avoid targeting honk test files when testing is disabled (#125) (e4a70ed)
- BarycentricData instantiation time and unused code in secp curves (#572) (bc78bb0)
- bbmalloc linker error (#459) (d4761c1)
- Build on stock apple clang. (#592) (0ac4bc3)
- build: git add -f .yalc (#265) (7671192)
- bump timeout on common test. (c9bc87d)
- Check for wasm-opt during configure & run on post_build (#175) (1ff6af3)
- check_circuit bug fix (#510) (4b156a3)
- cleanup of include statements and dependencies (#527) (b288c24)
- cmake: Remove leveldb dependency that was accidentally re-added (#335) (3534e2b)
- dsl: Use info instead of std::cout to log (#323) (486d738)
- Ecdsa Malleability Bug (#512) (5cf856c)
- ecdsa: correct short weierstrass curve eqn (#567) (386ec63)
- Ensure barretenberg provides headers that Noir needs (#200) (0171a49)
- Ensure TBB is optional using OPTIONAL_COMPONENTS (#127) (e3039b2)
- Fixed the memory issue (#509) (107d438)
- Increment CMakeList version on releases (#536) (b571411)
- msgpack error (#456) (943d6d0)
- msgpack variant_impl.hpp (#462) (b5838a6)
- nix: Disable ASM & ADX when building in Nix (#327) (3bc724d)
- nix: Use wasi-sdk 12 to provide barretenberg-wasm in overlay (#315) (4a06992)
- Pass brew omp location via LDFLAGS and CPPFLAGS (#126) (54141f1)
- Remove leveldb_store from stdlib_merkle_tree (#149) (3ce5e7e)
- Revert "fix: add NUM_RESERVED_GATES before fetching subgroup size in composer" (#540) (a9fbc39)
- Revert generator changes that cause memory OOB access (#338) (500daf1)
- Soundness issue in bigfield's
evaluate_multiply_add
method (#558) (1a98ac6) - srs: Detect shasum utility when downloading lagrange (#143) (515604d)
- Store lagrange forms of selector polys w/ Ultra (#255) (b121963)
- throw -> throw_or_abort in sol gen (#388) (7cfe3f0)
- Trigger release-please (#594) (5042861)
- Update versioning in nix files when a release is made (#549) (1b3ff93)
- wasm: Remove the CMAKE_STAGING_PREFIX variable from wasm preset (#240) (f2f8d1f)
- Wrap each use of filesystem library in ifndef wasm (#181) (0eae962)