Skip to content

v0.15.0

Latest

Choose a tag to compare

@ivokub ivokub released this 13 May 22:44
· 22 commits to master since this release
18368a5

What's Changed

  • fix: KZG proof verification for edge cases by @ivokub in #1567
  • fix: add G1 membership for ML and FE in bls precompile by @ivokub in #1591
  • feat: correct curve names in error messages and vector type by @Vap0RSh4wN in #1587
  • fix: bit/byte shift in random bound by @radik878 in #1590
  • Fix logic mismatch in newR1C for better Groth16 optimization by @tomasandroil in #1482
  • perf(bls12-381/map-to-g1): use triple in mul by seed by @yelhousni in #1604
  • feat: pointeval precompile circuit for failing inputs by @ivokub in #1572
  • feat: implement BLS signature verification (minimal public key) by @ivokub in #1473
  • chore: collect small contributions for next release v0.15 by @ivokub in #1606
  • fix: use the little-endian representation for serialized values in KZG Pointeval precompile by @ivokub in #1614
  • chore: use standard lib testing environment detection by @ivokub in #1631
  • feat: allow taking benchmarking instance in NewAssert by @ivokub in #1607
  • feat: add Grumpkin elliptic curve (native 2-cycle with BN254) by @yelhousni in #1409
  • chore: small cleanup in pairings by @ivokub in #1621
  • feat: add BLS12-377, BLS12-381 and BW6-761 GPU acceleration support for Groth16 by @ivokub in #1625
  • build(deps): bump github.com/consensys/gnark-crypto from 0.19.0 to 0.19.1 in the go_modules group across 1 directory by @dependabot[bot] in #1636
  • refactor: PLONK commitment input and output registration by @ivokub in #1642
  • Feat/recursive groth16 conditional check by @ivokub in #1647
  • test: refactor crumb test to standard path by @ivokub in #1648
  • fix: handle OR call for constant inputs by @ivokub in #1592
  • fix: avoid MulAcc overwriting constants by @ivokub in #1632
  • chore: use self hosted runners by @waskow-consensys in #1633
  • chore: regenerate tinyfield by @ivokub in #1602
  • test: handle gnark-crypto not returning malleable signatures anymore by @ivokub in #1601
  • build(deps): bump golang.org/x/crypto from 0.41.0 to 0.45.0 in the go_modules group across 1 directory by @dependabot[bot] in #1652
  • feat: EIP-7951 for ECDSA on P-256 curve by @yelhousni in #1649
  • perf: use generic hint mechanism for bls12-381 map to G1/G2 hints by @ivokub in #1653
  • feat: add example for printing constraints by @hawkadrian in #1643
  • perf(sw/emulated): use fakeGLV and remove scalarMulGeneric by @yelhousni in #1654
  • perf: save 1 inverse in P256Verify circuit by @yelhousni in #1656
  • doc: added zkBTC to gnark known users by @weijiguo in #1658
  • ci: enable security code scanner by @witmicko in #1655
  • refactor: support dynamic emulation parameters for ecrec by @ivokub in #1660
  • build: updated to latest gnark crypto api change (code gen) by @gbotrel in #1668
  • feat: Enable multiple GKR sub-circuits by @Tabaie in #1661
  • perf: deduplicate commitment copy constraints in PLONK by @ivokub in #1670
  • test: add small field test in checkcircuit by @ivokub in #1671
  • feat: add internal Koalabear E4 extension for field emulation and logderivative argument by @ivokub in #1672
  • feat: implement log-derivative argument over small fields by @ivokub in #1673
  • Feat: GKR-Hashers by @Tabaie in #1512
  • [Feat] - Add dynamic chain config to template by @thedarkjester in #1663
  • ICICLE: MSM chunking, safety on proof generation and GPU memory reduction by @p4u in #1665
  • fix: handle uints8 Long addition even in small field by @ivokub in #1674
  • feat: better emulation for small fields in large fields by @gbotrel in #1682
  • perf: optimize rangecheck recomposition for PlonK backend by @gbotrel in #1683
  • Ignore Claude Code settings by @Tabaie in #1675
  • fix: EdDSA strict equality check for s by @ivokub in #1684
  • feat: clean up interface assertions in circuits by @ivokub in #1685
  • feat: Compiled Gates for GKR by @Tabaie in #1676
  • perf: improve compile time by 20% by @gbotrel in #1686
  • feat: emulated arithmetic bound optimization by @ivokub in #1688
  • feat: add PointEval precompiles for 16-bit limbs by @ivokub in #1689
  • small fixes v15 by @ivokub in #1646
  • perf: optimize scs constraints for bls12377 poseidon2 permutation by @gbotrel in #1690
  • feat: add new api to profile package to capture virtual constraints by @gbotrel in #1696
  • feat: Test engine to store elements in Montgomery format by @Tabaie in #1695
  • perf: use known base length for small field emulation by @ivokub in #1693
  • perf: optimize smallmul zero check by @ivokub in #1694
  • perf: optimize range checks for small number of small field ops by @ivokub in #1699
  • perf: windowed-4 ModExp precompile by @yelhousni in #1700
  • refactor: remove bls24-315, bls24-317, and bw6-633 by @gbotrel in #1708
  • chore: update CI workflows to go 1.25 by @gbotrel in #1710
  • Perf(native/BLS12-377): Torus optimal ate pairing check by @yelhousni in #1702
  • docs: update README.md by @gbotrel in #1712
  • fix: fix cursor bot comments by @gbotrel in #1713
  • chore: add dependabot configuration for GitHub Actions updates by @eloi010 in #1714
  • Refactor/gkr/blueprints by @Tabaie in #1691
  • Feat/solidity verifier bls12381 by @ThomasPiellard in #1554
  • perf: optimize emulated multi-miller loops via sparse×sparse line multiplications for 0-bits by @yelhousni in #1701
  • perf(plonk): reduce LRO commitment MSM size via s0-padding identity by @gbotrel in #1716
  • perf(Mux): shared selector decomposition and ±Y symmetry optimization in emulated MSM by @yelhousni in #1704
  • fix: register gates in GKR Poseidon by @ivokub in #1719
  • perf: optimize LogUp for constant single-column tables (range checks) by @yelhousni in #1717
  • perf: optimize emulated ToBits and ToBitsCanonical by @yelhousni in #1707
  • Eliminate the Gate Registry by @Tabaie in #1718
  • perf: emulated Eval support negative coefficients by @ivokub in #1727
  • chore: golangcilint update by @ivokub in #1726
  • fix: non-native constant ops fast paths by @ivokub in #1730
  • perf: solver optimizations by @ivokub in #1728
  • feat: add grumpkin curve support by @yelhousni in #1729
  • fix: DivUnchecked consistency by @ivokub in #1734
  • fix: BLS12-381 Solidity contract init and proof marshaling by @ivokub in #1732
  • fix: emulated package tests failing with 1 constraint with PLONK backend by @ivokub in #1733
  • perf: GKR Levels by @Tabaie in #1735
  • fix: initialize in-circuit KZG SRS at compile time by @ivokub in #1738
  • feat: allow replacing hints in test engine by @ivokub in #1737
  • fix: add proof commitment length check for better error messages by @ivokub in #1739
  • feat(poseidon2): support BN254 widths t=4,8,12,16; fix matMulExternal indexing by @beeinger in #1743
  • perf: Factor Eq in ZeroCheck when possible by @Tabaie in #1742
  • Three pairing bug by @shramee in #1753
  • fix: plonk commitment input deduplicate effective constants by @ivokub in #1754
  • deps(actions)(deps): bump gotesttools/gotestfmt-action from 2.2.0 to 2.3.0 in the third-party-actions-minor-patch group by @dependabot[bot] in #1756
  • feat: make elliptic curve arithmetic complete by default and only fallback to incomplete path on request by @ivokub in #1751
  • perf: optimize native Fp2 mul by @yelhousni in #1758
  • fix, perf: complete the soundness fixes from #1751 for native and G2 + optimize AddUnified by @yelhousni in #1762
  • perf: dedicated Cube method in extension fields by @yelhousni in #1759
  • perf: generalize sparse solver optimizations by @gbotrel in #1761
  • chore: pin GitHub Actions to commit SHAs by @BGos87 in #1766
  • release: gnark v0.15.0 by @ivokub in #1731

New Contributors

Full Changelog: v0.14.0...v0.15.0