|
| 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 | + |
1 | 245 | <a name="v0.10.0"></a> |
2 | 246 | ## [v0.10.0] - 2024-04-22 |
3 | 247 | ### Bench |
|
2955 | 3199 | - Merge pull request [#5](https://github.com/consensys/gnark/issues/5) from ConsenSys/go1.14_deps |
2956 | 3200 |
|
2957 | 3201 |
|
| 3202 | +[v0.11.0]: https://github.com/consensys/gnark/compare/v0.10.0...v0.11.0 |
2958 | 3203 | [v0.10.0]: https://github.com/consensys/gnark/compare/v0.9.1...v0.10.0 |
2959 | 3204 | [v0.9.1]: https://github.com/consensys/gnark/compare/v0.9.0...v0.9.1 |
2960 | 3205 | [v0.9.0]: https://github.com/consensys/gnark/compare/v0.9.0-alpha...v0.9.0 |
|
0 commit comments