Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release: v0.12.0 #1399

Merged
merged 8 commits into from
Jan 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 95 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,97 @@
<a name="v0.12.0"></a>
## [v0.12.0] - 2025-01-23
### Build
- modify workflows for new CI slack bot ([#1277](https://github.com/Consensys/gnark/issues/1277))
- **deps:** bump golang.org/x/crypto from 0.26.0 to 0.31.0 ([#1346](https://github.com/Consensys/gnark/issues/1346))

### Chore
- use max builtin
- go mod update
- generate changelog
- update citation
- update hardcoded version
- fix some struct names in comment ([#1370](https://github.com/Consensys/gnark/issues/1370))
- fix typos ([#1371](https://github.com/Consensys/gnark/issues/1371))
- fix error message ([#1337](https://github.com/Consensys/gnark/issues/1337))
- use errors.New to replace fmt.Errorf with no parameters ([#1338](https://github.com/Consensys/gnark/issues/1338))
- fix some problematic function names in comment ([#1334](https://github.com/Consensys/gnark/issues/1334))
- fix some struct and interface names in comment ([#1329](https://github.com/Consensys/gnark/issues/1329))
- remove duplicate nil-check ([#1355](https://github.com/Consensys/gnark/issues/1355))
- fix some function names in comment ([#1304](https://github.com/Consensys/gnark/issues/1304))
- Replace fmt.Printf calls with warning logs ([#1305](https://github.com/Consensys/gnark/issues/1305))
- Pedersen verification key reference field ([#1295](https://github.com/Consensys/gnark/issues/1295))
- lint generated files ([#1289](https://github.com/Consensys/gnark/issues/1289))
- up gnark-crypto ([#1274](https://github.com/Consensys/gnark/issues/1274))

### Doc
- add audit report ([#1342](https://github.com/Consensys/gnark/issues/1342))

### Docs
- Change copyright year to 2025 (not autogenerated) ([#1388](https://github.com/Consensys/gnark/issues/1388))
- less verbose Apache 2 header, latest bavard ([#1344](https://github.com/Consensys/gnark/issues/1344))
- add input packing example ([#1311](https://github.com/Consensys/gnark/issues/1311))
- update api doc following audit suggestions ([#1291](https://github.com/Consensys/gnark/issues/1291))
- final audit report from LA ([#1283](https://github.com/Consensys/gnark/issues/1283))

### Feat
- settable hasher for MiMC ([#1345](https://github.com/Consensys/gnark/issues/1345))
- 4-dimensional fake GLV ([#1296](https://github.com/Consensys/gnark/issues/1296))

### Feat
- add ripemd160 hash function with permutation ([#1120](https://github.com/Consensys/gnark/issues/1120))
- direct multivariate polynomial evaluation in non-native ([#1299](https://github.com/Consensys/gnark/issues/1299))
- update to latest gnark-crypto
- replace stats gob format with csv for easier diffs ([#1276](https://github.com/Consensys/gnark/issues/1276))
- **bls12-381:** pairing using direct Fp12 + non-native `Eval()` ([#1349](https://github.com/Consensys/gnark/issues/1349))

### Fix
- stashed typo fixes for v0.12 ([#1398](https://github.com/Consensys/gnark/issues/1398))
- add G2 membership check for constant points ([#1397](https://github.com/Consensys/gnark/issues/1397))
- do not return unused sign ([#1385](https://github.com/Consensys/gnark/issues/1385))
- typos in documentation files ([#1369](https://github.com/Consensys/gnark/issues/1369))
- spellchecker ([#1359](https://github.com/Consensys/gnark/issues/1359))
- typos in documentation files ([#1327](https://github.com/Consensys/gnark/issues/1327))
- tinyfield generation with updated gnark-crypto ([#1358](https://github.com/Consensys/gnark/issues/1358))
- avoid linking icicle dependent files when tag not provided ([#1352](https://github.com/Consensys/gnark/issues/1352))
- NNA quotient length computation edge cases ([#1340](https://github.com/Consensys/gnark/issues/1340))
- initialize public committed ([#1317](https://github.com/Consensys/gnark/issues/1317))
- sanitize groth16 verification key reading ([#1307](https://github.com/Consensys/gnark/issues/1307))
- expmod precompile if modulus is 1 ([#1294](https://github.com/Consensys/gnark/issues/1294))
- allow only v=0 or v=1 ([#1293](https://github.com/Consensys/gnark/issues/1293))
- fix slice init length ([#1288](https://github.com/Consensys/gnark/issues/1288))

### Optim
- avoid div in millerLoopAndFinalExpResult ([#1363](https://github.com/Consensys/gnark/issues/1363))

### Perf
- `PairingCheck` for BN254, BLS12-381, BLS12-377 and BW6-761 ([#1365](https://github.com/Consensys/gnark/issues/1365))
- G1/2 membership using Eval ([#1356](https://github.com/Consensys/gnark/issues/1356))
- using non-native Eval for curve arithmetic ([#1331](https://github.com/Consensys/gnark/issues/1331))
- normalize the random linear combination in logderivarg ([#1333](https://github.com/Consensys/gnark/issues/1333))
- BW6 pairing computation using non-native Eval ([#1312](https://github.com/Consensys/gnark/issues/1312))
- fast path operations for small non-native values ([#1326](https://github.com/Consensys/gnark/issues/1326))
- **bn254:** include G2 membership check in ML ([#1387](https://github.com/Consensys/gnark/issues/1387))
- **emulated:** small perf on doubleAndAdd ([#1386](https://github.com/Consensys/gnark/issues/1386))

### Perf
- Pairing on BN254 using direct Fp12 extension and non-native `Eval()` ([#1339](https://github.com/Consensys/gnark/issues/1339))

### Refactor
- move poseidon2 to permutation package ([#1353](https://github.com/Consensys/gnark/issues/1353))

### Test
- add scalar mul to stats ([#1275](https://github.com/Consensys/gnark/issues/1275))

### Pull Requests
- Merge pull request [#1298](https://github.com/Consensys/gnark/issues/1298) from Consensys/build/gnark-crypto


<a name="v0.11.0"></a>
## [v0.11.0] - 2024-09-06
### Build
- update runner and go version ([#1260](https://github.com/Consensys/gnark/issues/1260))

### Chore
- update version
- explicit IO methods in interfaces ([#1266](https://github.com/Consensys/gnark/issues/1266))
- update gnark-crypto module
- clean old definition
Expand Down Expand Up @@ -57,6 +144,9 @@
### Feat
- implement FixedLengthSum of sha2 ([#821](https://github.com/Consensys/gnark/issues/821))

### Fix
- Build on 32-bit arch would raise int overflow https://github.com/Consensys/gnark/issues/1192 ([#1195](https://github.com/Consensys/gnark/issues/1195))

### Fix
- remove redundant select
- variable modulus subtraction padding ([#1200](https://github.com/Consensys/gnark/issues/1200))
Expand Down Expand Up @@ -116,9 +206,6 @@
- **pairing:** fix benchmarks
- **uints:** constrain valueOf ([#1139](https://github.com/Consensys/gnark/issues/1139))

### Fix
- Build on 32-bit arch would raise int overflow https://github.com/Consensys/gnark/issues/1192 ([#1195](https://github.com/Consensys/gnark/issues/1195))

### Perf
- eliminate final exp in bls12-381 optimized
- eliminate final exp in bls12-377
Expand Down Expand Up @@ -171,6 +258,9 @@
- **bw6:** remove benchmark
- **bw6:** apply review suggestion

### Release
- v0.11.0 ([#1272](https://github.com/Consensys/gnark/issues/1272))

### Style
- fixed wrong EcMul comment
- fixed comment
Expand Down Expand Up @@ -3199,6 +3289,7 @@
- Merge pull request [#5](https://github.com/Consensys/gnark/issues/5) from ConsenSys/go1.14_deps


[v0.12.0]: https://github.com/Consensys/gnark/compare/v0.11.0...v0.12.0
[v0.11.0]: https://github.com/Consensys/gnark/compare/v0.10.0...v0.11.0
[v0.10.0]: https://github.com/Consensys/gnark/compare/v0.9.1...v0.10.0
[v0.9.1]: https://github.com/Consensys/gnark/compare/v0.9.0...v0.9.1
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,17 +192,17 @@ If you use `gnark` in your research a citation would be appreciated.
Please use the following BibTeX to cite the most recent release.

```bib
@software{gnark-v0.11.0,
@software{gnark-v0.12.0,
author = {Gautam Botrel and
Thomas Piellard and
Youssef El Housni and
Ivo Kubjas and
Arya Tabaie},
title = {Consensys/gnark: v0.11.0},
month = sep,
year = 2024,
title = {Consensys/gnark: v0.12.0},
month = jan,
year = 2025,
publisher = {Zenodo},
version = {v0.11.0},
version = {v0.12.0},
doi = {10.5281/zenodo.5819104},
url = {https://doi.org/10.5281/zenodo.5819104}
}
Expand Down
3 changes: 1 addition & 2 deletions backend/groth16/bls12-377/verify.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions backend/groth16/bls12-381/verify.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions backend/groth16/bls24-315/verify.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions backend/groth16/bls24-317/verify.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions backend/groth16/bn254/verify.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions backend/groth16/bw6-633/verify.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions backend/groth16/bw6-761/verify.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions constraint/gkr.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
"sort"

"github.com/consensys/gnark-crypto/utils"
"github.com/consensys/gnark/constraint/solver"
"github.com/consensys/gnark/internal/algo_utils"
)
Expand Down Expand Up @@ -102,7 +101,7 @@ func (d *GkrInfo) Compile(nbInstances int) (GkrPermutations, error) {
oldW := d.Circuit[oldI]

if !oldW.IsInput() {
d.MaxNIns = utils.Max(d.MaxNIns, len(oldW.Inputs))
d.MaxNIns = max(d.MaxNIns, len(oldW.Inputs))
}

for j := range oldW.Dependencies {
Expand Down
2 changes: 1 addition & 1 deletion doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import (
"github.com/consensys/gnark-crypto/ecc"
)

var Version = semver.MustParse("0.11.0")
var Version = semver.MustParse("0.12.0")

// Curves return the curves supported by gnark
func Curves() []ecc.ID {
Expand Down
10 changes: 5 additions & 5 deletions docs/CITATION.bib
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
@software{gnark-v0.11.0,
@software{gnark-v0.12.0,
author = {Gautam Botrel and
Thomas Piellard and
Youssef El Housni and
Ivo Kubjas and
Arya Tabaie},
title = {ConsenSys/gnark: v0.11.0},
month = sep,
year = 2024,
title = {ConsenSys/gnark: v0.12.0},
month = jan,
year = 2025,
publisher = {Zenodo},
version = {v0.11.0},
version = {v0.12.0},
doi = {10.5281/zenodo.5819104},
url = {https://doi.org/10.5281/zenodo.5819104}
}
14 changes: 7 additions & 7 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ go 1.22
toolchain go1.22.6

require (
github.com/bits-and-blooms/bitset v1.14.2
github.com/bits-and-blooms/bitset v1.20.0
github.com/blang/semver/v4 v4.0.0
github.com/consensys/bavard v0.1.25
github.com/consensys/bavard v0.1.27
github.com/consensys/compress v0.2.5
github.com/consensys/gnark-crypto v0.14.1-0.20250116204316-e7fd38b0a0a6
github.com/consensys/gnark-crypto v0.15.0
github.com/fxamacker/cbor/v2 v2.7.0
github.com/google/go-cmp v0.6.0
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8
Expand All @@ -18,10 +18,10 @@ require (
github.com/leanovate/gopter v0.2.11
github.com/ronanh/intcomp v1.1.0
github.com/rs/zerolog v1.33.0
github.com/stretchr/testify v1.9.0
golang.org/x/crypto v0.31.0
github.com/stretchr/testify v1.10.0
golang.org/x/crypto v0.32.0
golang.org/x/exp v0.0.0-20240823005443-9b4947da3948
golang.org/x/sync v0.8.0
golang.org/x/sync v0.10.0
)

require (
Expand All @@ -31,7 +31,7 @@ require (
github.com/mmcloughlin/addchain v0.4.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/x448/float16 v0.8.4 // indirect
golang.org/x/sys v0.28.0 // indirect
golang.org/x/sys v0.29.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
rsc.io/tmplfunc v0.0.3 // indirect
)
Loading
Loading