Skip to content

Commit dc04a1d

Browse files
authored
release: v0.11.0 (#1272)
* chore: update version * chore: update CHANGELOG * chore: update citation * chore: remove unrelease in changelog
1 parent b2e6197 commit dc04a1d

File tree

4 files changed

+254
-9
lines changed

4 files changed

+254
-9
lines changed

CHANGELOG.md

Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,247 @@
1+
<a name="v0.11.0"></a>
2+
## [v0.11.0] - 2024-09-06
3+
### Build
4+
- update runner and go version ([#1260](https://github.com/consensys/gnark/issues/1260))
5+
6+
### Chore
7+
- update version
8+
- explicit IO methods in interfaces ([#1266](https://github.com/consensys/gnark/issues/1266))
9+
- update gnark-crypto module
10+
- clean old definition
11+
- generate
12+
- define interface for solidity-supported VK
13+
- make function comments match function names ([#1163](https://github.com/consensys/gnark/issues/1163))
14+
15+
### Docs
16+
- update README ([#1255](https://github.com/consensys/gnark/issues/1255))
17+
- update reference
18+
- describe potential length extension attack when using MiMC in-circuit ([#1198](https://github.com/consensys/gnark/issues/1198))
19+
- fix typo in package doc
20+
- add documentation
21+
- update documentation for ecdsa and eddsa
22+
- update TODOs ([#1109](https://github.com/consensys/gnark/issues/1109))
23+
24+
### Feat
25+
- use offset variable in derive_gamma
26+
- handle invalid signature failures in ECRecover precompile ([#1101](https://github.com/consensys/gnark/issues/1101))
27+
- allow configurable hash-to-field function for Groth16 Solidity verifier ([#1102](https://github.com/consensys/gnark/issues/1102))
28+
- add IsOnG2 for BN254 ([#1204](https://github.com/consensys/gnark/issues/1204))
29+
- use blake2 for variable hashcode ([#1197](https://github.com/consensys/gnark/issues/1197))
30+
- simplified offset computation
31+
- ensure verifying keys implement Solidity interface
32+
- handle solidity options in CI check
33+
- use fpstr in Groth16 Solidity template
34+
- define fpstr method for groth16 solidity template
35+
- define import_fp template
36+
- code gen
37+
- statistical zero knowledge option for bn254
38+
- use offset in pairing
39+
- capture O variable in gate for external range checker ([#1211](https://github.com/consensys/gnark/issues/1211))
40+
- code gen
41+
- add BN254 final exponentiation check with output ([#1209](https://github.com/consensys/gnark/issues/1209))
42+
- use anonymous struct
43+
- added version solidity template groth16 verifier
44+
- re ran code gen and add files
45+
- update solidity template groth16
46+
- update template
47+
- change signature ExportSolidity groth16
48+
- code gen
49+
- code gen
50+
- modified plonk template
51+
- code gen
52+
- modified signature of ExportSolidity in template
53+
- addition of export options for solidity verifiers
54+
- simplify loop constraint index
55+
- **bw6:** Fp6 as a direct extension using Montgomery-6
56+
57+
### Feat
58+
- implement FixedLengthSum of sha2 ([#821](https://github.com/consensys/gnark/issues/821))
59+
60+
### Fix
61+
- remove redundant select
62+
- variable modulus subtraction padding ([#1200](https://github.com/consensys/gnark/issues/1200))
63+
- branch with unchecked cast could panic at compile time ([#1234](https://github.com/consensys/gnark/issues/1234))
64+
- minimum 1 bit for constant binary decomposition ([#1229](https://github.com/consensys/gnark/issues/1229))
65+
- edge case with PLONK backend when 1 constraint ([#1226](https://github.com/consensys/gnark/issues/1226))
66+
- strict ModReduce in emulated fields ([#1224](https://github.com/consensys/gnark/issues/1224))
67+
- used size in domain instead of recomputing it
68+
- remove unconstrained and unused variables
69+
- remove unconstrained and unused variables ([#1218](https://github.com/consensys/gnark/issues/1218))
70+
- avoid malicious hint in BLS12-381 final exp check
71+
- avoid infinite loop in hint when previous ML=0
72+
- avoid malicious hint in BN254 final exp check
73+
- conditional check in non-native IsZero for applying optimization ([#1145](https://github.com/consensys/gnark/issues/1145))
74+
- use consecutive powers instead of squaring ([#1212](https://github.com/consensys/gnark/issues/1212))
75+
- use emulated arithmetic for GLV decomp ([#1167](https://github.com/consensys/gnark/issues/1167))
76+
- restored cfg struct
77+
- fixed error_mod_exp comment
78+
- shift constraint indices by nb of public vars ([#1128](https://github.com/consensys/gnark/issues/1128))
79+
- fixed conflicts
80+
- fixed comment prove
81+
- fixed typo PROOF_H_0_X -> PROOF_H_0_COM_X
82+
- fixed UnmarshalSolidity
83+
- fixed comment
84+
- fixed fold_h comment
85+
- fixed comment
86+
- fixed comment
87+
- removed redundant computation pointer update
88+
- remove redundant computation
89+
- several external typo fixes ([#1261](https://github.com/consensys/gnark/issues/1261))
90+
- ensure condition is bool in api.Select
91+
- fix OR computation in case one input is constant and other variable ([#1181](https://github.com/consensys/gnark/issues/1181))
92+
- fixed comment unmarshal
93+
- fixed comment solidity
94+
- fixed comment solidity
95+
- fixed comment solidity
96+
- fixed comment solidity
97+
- fixed some comments
98+
- fixed L-05
99+
- fixed L-04
100+
- fixed M-04
101+
- fixed L-04
102+
- fixed l-02
103+
- defer to math.bits when nbdigits big or not set
104+
- fix [#1149](https://github.com/consensys/gnark/issues/1149) by removing unused code ([#1164](https://github.com/consensys/gnark/issues/1164))
105+
- exact width for upper part
106+
- more descriptive error message ([#1104](https://github.com/consensys/gnark/issues/1104))
107+
- added missing import in template
108+
- fixed solidity template
109+
- fixes [#1157](https://github.com/consensys/gnark/issues/1157) ensures calls to AttachDebugInfo are surrounded with… ([#1160](https://github.com/consensys/gnark/issues/1160))
110+
- **bls12-377:** use FinalExponentiationCheck in pairing2.go
111+
- **bls12-377:** push to cyclo group in pairing2.go
112+
- **bls12-377:** hint computation for final exp
113+
- **bls12-377:** naming of Fp6 mul
114+
- **bw6:** Toom-Cook 6-way mul
115+
- **bw6:** pairing using direct sextic extension
116+
- **pairing:** fix benchmarks
117+
- **uints:** constrain valueOf ([#1139](https://github.com/consensys/gnark/issues/1139))
118+
119+
### Fix
120+
- Build on 32-bit arch would raise int overflow https://github.com/Consensys/gnark/issues/1192 ([#1195](https://github.com/consensys/gnark/issues/1195))
121+
122+
### Perf
123+
- eliminate final exp in bls12-381 optimized
124+
- eliminate final exp in bls12-377
125+
- optimize final exp bls12-377
126+
- **bls12-381:** use cyclotomic group in finel exp check
127+
- **bls12-381:** eliminate finalexp ~naively
128+
- **bls12-381:** revisit tower extension
129+
- **bn254:** eliminate finalexp as per eprint 2024/640
130+
- **bn254:** use cyclotomic group in final exp check
131+
- **bn254:** revisit tower extension
132+
- **bn254:** save one mul in finalExp check
133+
- **bn254:** optimize addchain for exp by 6u+2
134+
- **bn254:** eliminate finalexp in precompile
135+
- **bw6:** optimize specialized Montgomery-6 mul
136+
- **bw6:** sparse mul by lines
137+
- **bw6:** save 2 subs in fp6 sq
138+
- **bw6:** optimize mulby023
139+
- **bw6:** mulby02345
140+
- **bw6:** save some subs in Fp6 square
141+
- **bw6:** Square uses Karatsuba over Chung-Hasan instead of TC6
142+
- **bw6:** revisit tower extension
143+
- **bw6:** save some adds in specialized mul e6
144+
- **bw6:** use hint to divide by 362880 in Toom-6
145+
- **bw6:** optimize Montgomery-6 mul
146+
- **bw6:** optimize pairing with new tower
147+
- **bw6:** use Karabina12345 instead of GS for small sizes too
148+
- **bw6:** toom-cook-3x for Fp3 mul
149+
- **bw6-761:** eliminate finalexp
150+
- **bw6-761:** use Karabina even for 1 square
151+
- **bw6-761:** push ML to cyclo-group before FE elimination
152+
153+
### Refactor
154+
- clean code
155+
- revert to old line computation and adjust gnark-crypto instead
156+
- move utils from std/ to internal
157+
- apply review suggestions
158+
- apply review suggestions
159+
- separate fixed circuits used in zkevm ([#1217](https://github.com/consensys/gnark/issues/1217))
160+
- clean code
161+
- clean code
162+
- move limb composition to package
163+
- use single implementation
164+
- clean code
165+
- removes todods ([#1111](https://github.com/consensys/gnark/issues/1111))
166+
- **bls12-377:** karabina decompression
167+
- **bn254:** clean FE elimination code
168+
- **bn254:** add some comments
169+
- **bw6:** remove dead code
170+
- **bw6:** remove benchmark
171+
- **bw6:** remove benchmark
172+
- **bw6:** apply review suggestion
173+
174+
### Style
175+
- fixed wrong EcMul comment
176+
- fixed comment
177+
- fixed comment
178+
- fixed typos
179+
- added comment
180+
- removed unused variable
181+
- constant for fixed size proof
182+
- SHA2 constant to replace 0x2
183+
- cleaner computation nb BSB commitments
184+
- renamed H commitments constants
185+
- reuse variable
186+
- removed redundant if statement
187+
- lagrangeOne -> lagrangeZero
188+
- verify_opening_linearised_polynomial -> compute_opening_linearised_polynomial
189+
- divideByXMinusOne could -> divideByZH
190+
- fixed typo
191+
- clean code
192+
- remove old todos ([#1106](https://github.com/consensys/gnark/issues/1106))
193+
194+
### Test
195+
- update stats
196+
- update stats
197+
- added non regression test for api.Select bool cond
198+
- add issue 1153 repro
199+
- update stats
200+
- check errors in test circuit ([#1140](https://github.com/consensys/gnark/issues/1140))
201+
- update stats
202+
- update stats
203+
- update stats
204+
- update stats
205+
- add PLONK test for public input mapping ([#1123](https://github.com/consensys/gnark/issues/1123))
206+
- update stats
207+
208+
### Wip
209+
- toom-cook-3x
210+
211+
### Pull Requests
212+
- Merge pull request [#1254](https://github.com/consensys/gnark/issues/1254) from Consensys/perf/ML
213+
- Merge pull request [#1258](https://github.com/consensys/gnark/issues/1258) from Consensys/refactor/limb-composition
214+
- Merge pull request [#1251](https://github.com/consensys/gnark/issues/1251) from Consensys/build/bump-gnarkcrypto-vsn
215+
- Merge pull request [#1247](https://github.com/consensys/gnark/issues/1247) from Consensys/fix/issue1246
216+
- Merge pull request [#1207](https://github.com/consensys/gnark/issues/1207) from Consensys/perf/eliminate-finalExp-bls
217+
- Merge pull request [#1214](https://github.com/consensys/gnark/issues/1214) from Consensys/fix/BN254-finalExp
218+
- Merge pull request [#1196](https://github.com/consensys/gnark/issues/1196) from ThomasPiellard/audit/final-commit-fixes
219+
- Merge pull request [#1143](https://github.com/consensys/gnark/issues/1143) from Consensys/perf/eliminate-finalExp
220+
- Merge pull request [#1187](https://github.com/consensys/gnark/issues/1187) from Consensys/fix/groth16-solidity-templates
221+
- Merge pull request [#1155](https://github.com/consensys/gnark/issues/1155) from Consensys/perf/eliminate-finalExp-bw6761
222+
- Merge pull request [#1173](https://github.com/consensys/gnark/issues/1173) from Consensys/perf/eliminate-finalExp-bls12381
223+
- Merge pull request [#11](https://github.com/consensys/gnark/issues/11) from ThomasPiellard/audit/M-04
224+
- Merge pull request [#10](https://github.com/consensys/gnark/issues/10) from ThomasPiellard/audit/L-02
225+
- Merge pull request [#14](https://github.com/consensys/gnark/issues/14) from ThomasPiellard/audit/H-01
226+
- Merge pull request [#13](https://github.com/consensys/gnark/issues/13) from ThomasPiellard/audit/N-05
227+
- Merge pull request [#2](https://github.com/consensys/gnark/issues/2) from ThomasPiellard/audit/N-01
228+
- Merge pull request [#5](https://github.com/consensys/gnark/issues/5) from ThomasPiellard/audit/L-08
229+
- Merge pull request [#7](https://github.com/consensys/gnark/issues/7) from ThomasPiellard/audit/L-06
230+
- Merge pull request [#6](https://github.com/consensys/gnark/issues/6) from ThomasPiellard/audit/L-07
231+
- Merge pull request [#8](https://github.com/consensys/gnark/issues/8) from ThomasPiellard/audit/L-05
232+
- Merge pull request [#4](https://github.com/consensys/gnark/issues/4) from ThomasPiellard/audit/N-03
233+
- Merge pull request [#3](https://github.com/consensys/gnark/issues/3) from ThomasPiellard/audit/N-02
234+
- Merge pull request [#1](https://github.com/consensys/gnark/issues/1) from ThomasPiellard/audit/N-04
235+
- Merge pull request [#9](https://github.com/consensys/gnark/issues/9) from ThomasPiellard/audit/L-04
236+
- Merge pull request [#12](https://github.com/consensys/gnark/issues/12) from ThomasPiellard/audit/L-03
237+
- Merge pull request [#1165](https://github.com/consensys/gnark/issues/1165) from Consensys/fix/partition-bounds
238+
- Merge pull request [#1138](https://github.com/consensys/gnark/issues/1138) from Consensys/feat/option_solidity
239+
- Merge pull request [#1131](https://github.com/consensys/gnark/issues/1131) from Consensys/perf/toom3-r1cs
240+
- Merge pull request [#1126](https://github.com/consensys/gnark/issues/1126) from Consensys/perf/direct-extensions
241+
- Merge pull request [#1110](https://github.com/consensys/gnark/issues/1110) from Consensys/perf/field-extensions
242+
- Merge pull request [#1113](https://github.com/consensys/gnark/issues/1113) from Consensys/docs/signatures
243+
244+
1245
<a name="v0.10.0"></a>
2246
## [v0.10.0] - 2024-04-22
3247
### Bench
@@ -2955,6 +3199,7 @@
29553199
- Merge pull request [#5](https://github.com/consensys/gnark/issues/5) from ConsenSys/go1.14_deps
29563200

29573201

3202+
[v0.11.0]: https://github.com/consensys/gnark/compare/v0.10.0...v0.11.0
29583203
[v0.10.0]: https://github.com/consensys/gnark/compare/v0.9.1...v0.10.0
29593204
[v0.9.1]: https://github.com/consensys/gnark/compare/v0.9.0...v0.9.1
29603205
[v0.9.0]: https://github.com/consensys/gnark/compare/v0.9.0-alpha...v0.9.0

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,17 +191,17 @@ If you use `gnark` in your research a citation would be appreciated.
191191
Please use the following BibTeX to cite the most recent release.
192192

193193
```bib
194-
@software{gnark-v0.10.0,
194+
@software{gnark-v0.11.0,
195195
author = {Gautam Botrel and
196196
Thomas Piellard and
197197
Youssef El Housni and
198198
Ivo Kubjas and
199199
Arya Tabaie},
200-
title = {ConsenSys/gnark: v0.10.0},
201-
month = apr,
200+
title = {ConsenSys/gnark: v0.11.0},
201+
month = sep,
202202
year = 2024,
203203
publisher = {Zenodo},
204-
version = {v0.10.0},
204+
version = {v0.11.0},
205205
doi = {10.5281/zenodo.5819104},
206206
url = {https://doi.org/10.5281/zenodo.5819104}
207207
}

doc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
"github.com/consensys/gnark-crypto/ecc"
2323
)
2424

25-
var Version = semver.MustParse("0.10.0")
25+
var Version = semver.MustParse("0.11.0")
2626

2727
// Curves return the curves supported by gnark
2828
func Curves() []ecc.ID {

docs/CITATION.bib

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
@software{gnark-v0.10.0,
1+
@software{gnark-v0.11.0,
22
author = {Gautam Botrel and
33
Thomas Piellard and
44
Youssef El Housni and
55
Ivo Kubjas and
66
Arya Tabaie},
7-
title = {ConsenSys/gnark: v0.10.0},
8-
month = apr,
7+
title = {ConsenSys/gnark: v0.11.0},
8+
month = sep,
99
year = 2024,
1010
publisher = {Zenodo},
11-
version = {v0.10.0},
11+
version = {v0.11.0},
1212
doi = {10.5281/zenodo.5819104},
1313
url = {https://doi.org/10.5281/zenodo.5819104}
1414
}

0 commit comments

Comments
 (0)