NB! This release fixes security advisory GHSA-cph5-3pgr-c82g (OOM on specially crafted inputs).
What's Changed
- chore: up gnark-crypto by @yelhousni in #1274
- test: add scalar mul to stats by @yelhousni in #1275
- feat: replace stats gob format with csv for easier diffs by @gbotrel in #1276
- build: modify workflows for new CI slack bot by @gbotrel in #1277
- docs: final audit report from LA by @ivokub in #1283
- added sudoku example for prover and verifier by @2pir2 in #1282
- feat constant 'randomness' - domain-size-independent vk by @Tabaie in #1269
- chore: lint generated files by @ivokub in #1289
- docs: update api doc following audit suggestions by @gbotrel in #1291
- fix: fix slice init length by @cuishuang in #1288
- fix: allow only v=0 or v=1 by @ivokub in #1293
- chore: Pedersen verification key reference field by @ivokub in #1295
- feat: update to latest gnark-crypto by @gbotrel in #1298
- fix: expmod precompile if modulus is 1 by @ivokub in #1294
- Feat: 4-dimensional fake GLV by @yelhousni in #1296
- fix: sanitize groth16 verification key reading by @ivokub in #1307
- docs: add input packing example by @ivokub in #1311
- chore: Replace fmt.Printf calls with warning logs by @wwared in #1305
- chore: fix some function names in comment by @wangjingcun in #1304
- fix: initialize public committed by @ivokub in #1317
- feat: direct multivariate polynomial evaluation in non-native by @ivokub in #1299
- Feat/poseidon2 by @ThomasPiellard in #1300
- final exponentiation: select optimisation by @shramee in #1328
- perf: fast path operations for small non-native values by @ivokub in #1326
- perf: BW6 pairing computation using non-native Eval by @ivokub in #1312
- fix bn254 solidity template by @simplexity-ckcclc in #1324
- perf: normalize the random linear combination in logderivarg by @kustosz in #1333
- perf: using non-native Eval for curve arithmetic by @yelhousni in #1331
- Pairing check optimisation by @shramee in #1335
- feat: add ripemd160 hash function with permutation by @ivokub in #1120
- doc: add audit report by @ivokub in #1342
- docs: less verbose Apache 2 header, latest bavard by @gbotrel in #1344
- fix: NNA quotient length computation edge cases by @ivokub in #1340
- build(deps): bump golang.org/x/crypto from 0.26.0 to 0.31.0 by @dependabot in #1346
- Perf: Pairing on BN254 using direct Fp12 extension and non-native
Eval()
by @yelhousni in #1339 - feat(bls12-381): pairing using direct Fp12 + non-native
Eval()
by @yelhousni in #1349 - Update ICICLE integration to use v3 ICICLE by @jeremyfelder in #1318
- chore: remove duplicate nil-check by @ivokub in #1355
- fix: avoid linking icicle dependent files when tag not provided by @ivokub in #1352
- perf: G1/2 membership using Eval by @yelhousni in #1356
- refactor: move poseidon2 to permutation package by @ivokub in #1353
- fix: tinyfield generation with updated gnark-crypto by @ivokub in #1358
- Feat: settable hasher for MiMC by @AlexandreBelling in #1345
- optim: avoid div in millerLoopAndFinalExpResult by @shramee in #1363
- fix: typos fixes by @ivokub in #1325
- Change copyright year to 2025 by @Tabaie in #1383
- Faster ecdsa across all curves by @shramee in #1384
- fix: do not return unused sign by @ivokub in #1385
- perf(emulated): small perf on doubleAndAdd by @yelhousni in #1386
- docs: Change copyright year to 2025 (not autogenerated) by @yelhousni in #1388
- perf(bn254): include G2 membership check in ML by @yelhousni in #1387
- Feat/plonk memory optim by @ThomasPiellard in #1395
- perf:
PairingCheck
for BN254, BLS12-381, BLS12-377 and BW6-761 by @yelhousni in #1365 - fix: add G2 membership check for constant points by @ivokub in #1397
- fix: stashed typo fixes for v0.12 by @ivokub in #1398
- release: v0.12.0 by @ivokub in #1399
New Contributors
- @2pir2 made their first contribution in #1282
- @cuishuang made their first contribution in #1288
- @wwared made their first contribution in #1305
- @simplexity-ckcclc made their first contribution in #1324
- @kustosz made their first contribution in #1333
Full Changelog: v0.11.0...v0.12.0