Releases: Consensys/gnark-crypto
Releases · Consensys/gnark-crypto
v0.19.2
v0.19.1
Full Changelog: v0.19.0...v0.19.1
v0.18.2
Full Changelog: v0.18.1...v0.18.2
v0.18.1
Full Changelog: v0.18.0...v0.18.1
v0.19.0
What's Changed
- updating link to GLV.pdf in whole repo by @kks-code in #696
- fix: fixes #697 by @ThomasPiellard in #698
- feat: set default size for state by @ThomasPiellard in #700
- fix: MerkleDamgardHasher IV by @Tabaie in #701
- fix: MerkleDamgardHasher.Sum by @Tabaie in #699
- perf: Legendre using Pornin20 by @Tabaie in #704
- perf: small scalarmul by @ivokub in #703
- perf: optimize Eisenstein arithmetic by @yelhousni in #706
- Feat: Subgroup membership testing on Bandersnatch by @yelhousni in #708
- Feat/iop koalabear by @ThomasPiellard in #695
- perf: Doubling and mixed doubling in Jacobians and ext. Jacobians by @yelhousni in #716
- fix: refactor asm code generation to avoid use of R15 with global memory accesses by @gbotrel in #712
- Refector: Add feed-forward step to CompressPoseidon2 function by @YaoJGalteland in #721
- CI: Upgrade linter by @Tabaie in #726
- CI: update linter for the "push to master" flow by @Tabaie in #728
New Contributors
Full Changelog: v0.18.0...v0.19.0
v0.18.0
What's Changed
- perf: disable cobra bit reverse for small fields by @gbotrel in #662
- perf: adds avx512 poseidon2 for small fields by @gbotrel in #665
- GKR Gate Registry by @Tabaie in #652
- chore: remove unused benchmark script by @ivokub in #675
- Remove GKR from gnark-crypto by @Tabaie in #670
- feat: make <31 bit field generated using uint32 by @gbotrel in #676
- refactor: hash to curve by @ivokub in #674
- fix: Eisenstein Half-GCD convergence by @feltroidprime in #680
- feat/hashregistry by @Tabaie in #687
- Feat/fftext by @YaoJGalteland in #684
- Feat/vortex options by @ThomasPiellard in #689
- [secp256k1]: replace outdated link to article by @gap-editor in #690
- feat: remove dependency on internal package in ecc.go by @gbotrel in #693
New Contributors
- @feltroidprime made their first contribution in #680
- @YaoJGalteland made their first contribution in #684
- @gap-editor made their first contribution in #690
Full Changelog: v0.17.0...v0.18.0
v0.17.0
What's Changed
- fix: missing Poseidon2 round keys by @Tabaie in #621
- feat: Poseidon2 Hash Instantiation for BLS12-377 by @Tabaie in #623
- feat: add Grumpkin elliptic curve (2-cycle with BN254) by @yelhousni in #625
- Perf: Poseidon2 GKR circuit by @Tabaie in #628
- feat: add sis avx512 and fft avx512 for koalabear by @gbotrel in #622
- InterpolateOnRange refactor by @Tabaie in #634
- chore: add auto close PR workflow by @gbotrel in #638
- perf: subgroup membership by @yelhousni in #635
- feat: poseidon2 for koala-bear, baby-bear and goldilocks by @yelhousni in #629
- chore: generify poseidon2 parameters for other curves/fr by @yelhousni in #636
- feat: baby-bear and koala-bear extensions of degree 4 by @yelhousni in #643
- fix: ensure fast path is taken only with fixed bound and degree by @gbotrel in #651
- Poseidon2 compression for small fields by @Tabaie in #644
- fix: poseidon2 templates by @yelhousni in #648
- test: improve NAF decomposition test coverage by @DeVikingMark in #617
- refactor: generate code for poseidon2_test by @yelhousni in #660
- test(bn254, bls12-381): test points intentionally not on sugroups G1/2 by @yelhousni in #658
- refactor: generify small fields extensions by @yelhousni in #647
New Contributors
- @DeVikingMark made their first contribution in #617
Full Changelog: v0.16.0...v0.17.0
v0.16.0
v0.15.0
What's Changed
Features
- Eisenstein integers (#543).
- Poseidon2 (#553).
- BabyBear and KoalaBear fields: 31-bit vanilla Go implementation (#558, #577).
- FFLonK (#498).
- KZG MPC setup (#589).
- Hash registry with state storer (#564).
- Miller loop with direct sextic extension (BW6-761) (#608).
Performance Improvements
- Add assembly implementations: Vector::Add, Sub, and ScalarMul (purego included) (#536).
- AVX512 optimizations: vector.Sum, vector.InnerProduct + assembly refactor (#547).
- AVX512 vector operations: KoalaBear and BabyBear fields (#568).
- ARM64 assembly optimizations: 4 and 6 words modulus (#554).
- ARM NEON assembly: KoalaBear and BabyBear fields (#588).
- Subgroup check optimizations (#557).
- SetBytes performance: Avoids allocations in non-fast paths (#599).
Fixes
- Polynomial evaluation (#539).
- Shplonk Buffer sizing (#551).
- Typos (#562, #610).
- Comment and variable naming fixes (#603).
Refactors
- Removed curves: BLS12-378 and BW6-756 (#534).
- SIS cleanup (#596).
- Removed ECC Encoder dependency: FFT domain marshal (#565).
- Cleaned IOP (#587).
Documentation
- Updated README (#533).
- Documented batchAddAffine function (#555).
- Updated element package documentation (#572).
- Less verbose Apache 2 header (#570).
- Fixed non-generated headers (#571).
- Changed copyright year to 2025 (#595).
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's Changed
- refactor: correct comments by @yelhousni in #511
- Feat/pedersen batch verify by @Tabaie in #517
- build: update runner and go version by @gbotrel in #531
- perf: remove uneeded bucket init in affine coordinates fixes #529 by @gbotrel in #530
- feat: Pedersen vector commitment scheme multi VK verification by @ivokub in #527
- chore: fix some function names by @drawdrop in #526
- fix: fixes #522 with bound check before computing twiddles when domain has no precompute set by @gbotrel in #523
- refactor(bls12-381, bls12-377): MillerLoopFixed corresponds to gnark by @yelhousni in #524
New Contributors
Full Changelog: v0.13.0...v0.14.0