Releases: PolyhedraZK/Expander
Releases · PolyhedraZK/Expander
v1.2.0
What's Changed
- MPI: Scatter vector method by @tonyfloatersu in #273
- [Minor] Correct the size of eq_evals_first/second_half by @zhiyong1997 in #281
- Fix a corner case in build_eq_x_r_helper by @zhiyong1997 in #282
- implement M31x1 and Goldilocksx1 by @zhenfeizhang in #230
- implement exp_serde derive by @zhenfeizhang in #280
- Fix CI bugs. Use multi-thread msm for hyrax verify. Add Benchs by @zhenfeizhang in #283
- unfix pcs poly field by @chonpsk in #287
- Move the lifting to minimum supported vars into PCS itself by @zhiyong1997 in #284
- Zz/store srs by @zhenfeizhang in #291
- [feat] use uncompressed form for hyrax commitment by @zhenfeizhang in #292
- Replacing static value in MPI Config by @zhiyong1997 in #288
- Hyrax and KZG batch verification by @zhenfeizhang in #290
- api change in pcs to allow pass by reference by @zhiyong1997 in #297
- [fix] sumcheck generic bug by @zhenfeizhang in #295
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
- Refactoring the code structure and unify definitions
- Simplified transcript API
- Improved parallel verifier
- Implemented Goldilocks and BabyBear fields
- Refactored PCS interface, added Orion, Hyrax and HyperKZG; removed Bi-KZG
Details
- fix power gate by @zhenfeizhang in #128
- Recursive Verifier by @zhiyong1997 in #127
- Lagrange Form Bi kzg update by @zhiyong1997 in #130
- [impl] adding sumcheck-cuda by @slzk in #131
- stats code & release binary by @zhiyong1997 in #135
- fix-binary-release by @zhiyong1997 in #136
- Reuse eq_evals in prover, verifier, and recursive verifier by @zhiyong1997 in #138
- pcs trait v1 by @zhiyong1997 in #140
- Features: Orion implementation related peripheral building blocks by @tonyfloatersu in #142
- Feature: Merkle Tree implementation as Orion pcs building block by @tonyfloatersu in #143
- Zf/config refactor by @zhiyong1997 in #146
- PCS Trait V2 & Integration by @zhiyong1997 in #150
- Minor: Merging
FieldSerdeintoField, and deprecatingtry_deserialize_from_ecc_formatby @tonyfloatersu in #151 - Minor: Typo fixing for
GF2and tree bench shorten by @tonyfloatersu in #152 - Minor: MISC changes including rust fmt, CI caches, and MT serde by @tonyfloatersu in #154
- Minor: Extension Field From/To Limbs methods by @tonyfloatersu in #159
- Minor: Traits for multilinear polynomials, PCS minor changes by @tonyfloatersu in #158
- Minor: PCS CRS from external rng by @tonyfloatersu in #162
- Minor: Fixing BN254 Recursion on RawPCS deserialization by @tonyfloatersu in #163
- Expose expander-exec APIs for ECC by @mcfx in #165
- Minor: Poseidon M31 Transcript by @tonyfloatersu in #160
- Zf/virgo++ by @zhiyong1997 in #164
- fix mpi ci by @zhenfeizhang in #174
- [impl] update soft-lock based naive prepare impl by @slzk in #173
- fix ci (again) by @zhenfeizhang in #175
- Minor: Recursion Script Typo Fix from CI Fix by @tonyfloatersu in #176
- Minor: Orion PCS only base field impls by @tonyfloatersu in #177
- Minor: Mersenne31 GKR recursive verifier by @tonyfloatersu in #168
- Minor: Fixing
devCI build by @tonyfloatersu in #178 - Minor: SIMD orion PCS impls by @tonyfloatersu in #179
- Feature: Orion PCS Integration by @tonyfloatersu in #153
- CI: build ECC locally rather than downloading by @tonyfloatersu in #181
- Minor: Simpler CI from ECC script by @tonyfloatersu in #182
- Minor: AVX256 GF2_128 Fix by @tonyfloatersu in #183
- fix fiat-shamir by @zhenfeizhang in #184
- Minor: Unified CI workflows by @tonyfloatersu in #185
- Minor: Bringing benchmark machine back by @tonyfloatersu in #186
- Zf/pcs trait minor change by @zhiyong1997 in #188
- Minor: Fixing build workflow CI process by @tonyfloatersu in #187
- Minor: Remove rayon dependency in MT by @tonyfloatersu in #193
- Minor: M31 Orion integration into GKR config by @tonyfloatersu in #192
- Profiler by @zhiyong1997 in #194
- reduce input claims from 2 to 1 for non-Raw PCS by @zhiyong1997 in #195
- Dev by @niconiconi in #198
- [minor] more_configs by @zhiyong1997 in #201
- PCS: Hyrax support by @tonyfloatersu in #200
- Minor: PCS scratch pad field serde by @tonyfloatersu in #205
- [minor] circuit preprocess refactor by @zhiyong1997 in #208
- Gkr2 by @zhiyong1997 in #207
- feat: GKR2 verifier + SIMD for prover by @enpsi20481 in #139
- Change the required number of witnesses in MPI by @zhiyong1997 in #211
- Minor: FS transcript absorbing current digests on squeezing by @tonyfloatersu in #216
- PCS: Remove MPI in PCS trait verify method by @tonyfloatersu in #219
- update CLI; Fix CI's MPI issue by @zhenfeizhang in #222
- chore: added a new icon by @Shved775 in #228
- Update readme.md by @zhiyong1997 in #224
- docs: contributing by @Shved775 in #231
- unify serdes for circuit by @zhenfeizhang in #214
- Minor: Pad polynomial in GKR argument system if it is too short for PCS by @tonyfloatersu in #229
- PCS: Reduce excessive matrix transposes in Orion by @tonyfloatersu in #223
- PCS:
PCSForExpandertrait change, commit/open return optional by @tonyfloatersu in #226 - Fix recursion by @zhiyong1997 in #233
- PCS: MultilinearKZG implementation and integration by @tonyfloatersu in #191
- Minor: SIMD field method horizontal sum, and a weird application by @tonyfloatersu in #234
- Poly: FFT and univariate polynomial by @tonyfloatersu in #225
- Implement ExpSerde for Option by @siq1 in #237
- Minor Refactoring: PCS init for testing cleaner call site by @tonyfloatersu in #239
- impl goldilocks field by @zhenfeizhang in #235
- Shared Memory for Circuit by @zhiyong1997 in #220
- refactoring binaries by @zhenfeizhang in #238
- Fix some field operations by @siq1 in #249
- Building blocks for Orion MPI matrix transpose PR by @tonyfloatersu in #242
- fix goldilocks by @zhenfeizhang in #252
- Minor: Halo2curve performance from
asmfeature by @tonyfloatersu in #251 - Huge refactoring: unify all trait definitions by @zhenfeizhang in #240
- Sunset unused codes by @tonyfloatersu in #254
- SIMD: GF2x8 bit ordering in machine order by @tonyfloatersu in #255
- add GoldilocksExtConfigSha2Orion by @DreamWuGit in #259
- Field: Mersenne31 ext6 by @tonyfloatersu in #257
- Zz/impl babybear by @zhenfeizhang in #243
- PCS: Orion MPI transpose and MPI MT opening by @tonyfloatersu in #236
- Minor: Goldilocks Ext2 FFT by @tonyfloatersu in #263
- Poseidon pub by @hczphn in #265
- Revert Halo2curves ASM config by @tonyfloatersu in #266
- fast msm by @Tao-Lu-X in #253
- Multi-Core verifier by @zhiyong1997 in #247
- Field: Babybear FFT properties by @tonyfloatersu in #270
- generate proof binaries; refactoring executables by @zhenfeizhang in #271
- Zq/overloading by @chonpsk in #272
- Minor: Hyrax eval shape best effort being near square by @tonyfloatersu in #277
- Optimize Parallel Verifier by @zhiyong1997 in #274
- Zq/re transcript by @chonpsk in #275
New C...
v1.0.0
1.0.0 Release
Major changes
new features:
- implement Virgo++
- implement Orion PCS
- implement recursion for M31 circuits
Fixes
- fix fiat-shamir bug https://eprint.iacr.org/2025/118
- fix CI issues
Refactors
- change Transcripts API
- change PCS API
What's Changed
- Zz/refactor and clean up by @zhenfeizhang in #55
- Ci benchmark by @niconiconi in #57
- Automate benchmark by @niconiconi in #58
- Minor: Try to resolve some TODOs in neon by @tonyfloatersu in #60
- Feat/criterion by @niconiconi in #61
- Update circuit.rs by @zhiyong1997 in #63
- fix performance loss by @zhenfeizhang in #66
- allow for different FiatShamir hashes by @zhenfeizhang in #65
- Minor: CI process simplify with
dev-setuploading circuits by @tonyfloatersu in #62 - Minor: Serialization and Deserialization Error Propagation by @tonyfloatersu in #64
- Add sumcheck single iteration for CUDA sumcheck development by @slzk in #69
- Zz/gf2 128 mul by x by @zhenfeizhang in #68
- Revert "Zz/gf2 128 mul by x" by @niconiconi in #70
- Squash merge GF2_dev into main, accepting all GF2_dev changes by @niconiconi in #79
- Sumcheck opt by @niconiconi in #81
- handle layer with zero var. by @zhiyong1997 in #84
- Implement more field operations for ECC by @mcfx in #86
- avx256 by @chonpsk in #88
- Proof size by @zhiyong1997 in #87
- fix_pack by @niconiconi in #89
- Verification time by @zhiyong1997 in #90
- update CI by @zhenfeizhang in #102
- remove avx512 instructions from avx256 by @mcfx in #94
- [FIX] m31 exp by @enpsi20481 in #96
- fix ci by @zhenfeizhang in #104
- Mpi by @zhiyong1997 in #93
- use avx256 by default by @zhenfeizhang in #109
- Update readme.md by @siq1 in #110
- refactoring field impl by @zhenfeizhang in #95
- transcript refactor by @zhenfeizhang in #103
- Public input rebase by @zhiyong1997 in #108
- refactor sumcheck by @zhenfeizhang in #112
- update main to v0.0.4 by @zhenfeizhang in #126
- fix power gate by @zhenfeizhang in #128
- Recursive Verifier by @zhiyong1997 in #127
- Lagrange Form Bi kzg update by @zhiyong1997 in #130
- [impl] adding sumcheck-cuda by @slzk in #131
- stats code & release binary by @zhiyong1997 in #135
- fix-binary-release by @zhiyong1997 in #136
- Reuse eq_evals in prover, verifier, and recursive verifier by @zhiyong1997 in #138
- pcs trait v1 by @zhiyong1997 in #140
- v0.0.5 by @niconiconi in #132
- Features: Orion implementation related peripheral building blocks by @tonyfloatersu in #142
- Feature: Merkle Tree implementation as Orion pcs building block by @tonyfloatersu in #143
- Zf/config refactor by @zhiyong1997 in #146
- PCS Trait V2 & Integration by @zhiyong1997 in #150
- Minor: Merging
FieldSerdeintoField, and deprecatingtry_deserialize_from_ecc_formatby @tonyfloatersu in #151 - Minor: Typo fixing for
GF2and tree bench shorten by @tonyfloatersu in #152 - Minor: MISC changes including rust fmt, CI caches, and MT serde by @tonyfloatersu in #154
- Minor: Extension Field From/To Limbs methods by @tonyfloatersu in #159
- [Doc] Fixes broken link in the root readme by @yhassanzadeh13 in #147
- Minor: Traits for multilinear polynomials, PCS minor changes by @tonyfloatersu in #158
- Minor: PCS CRS from external rng by @tonyfloatersu in #162
- Minor: Fixing BN254 Recursion on RawPCS deserialization by @tonyfloatersu in #163
- Expose expander-exec APIs for ECC by @mcfx in #165
- Minor: Poseidon M31 Transcript by @tonyfloatersu in #160
- Zf/virgo++ by @zhiyong1997 in #164
- fix mpi ci by @zhenfeizhang in #174
- [impl] update soft-lock based naive prepare impl by @slzk in #173
- fix ci (again) by @zhenfeizhang in #175
- Minor: Recursion Script Typo Fix from CI Fix by @tonyfloatersu in #176
- Minor: Orion PCS only base field impls by @tonyfloatersu in #177
- Minor: Mersenne31 GKR recursive verifier by @tonyfloatersu in #168
- Minor: Fixing
devCI build by @tonyfloatersu in #178 - Minor: SIMD orion PCS impls by @tonyfloatersu in #179
- Feature: Orion PCS Integration by @tonyfloatersu in #153
- CI: build ECC locally rather than downloading by @tonyfloatersu in #181
- Minor: Simpler CI from ECC script by @tonyfloatersu in #182
- Minor: AVX256 GF2_128 Fix by @tonyfloatersu in #183
- fix fiat-shamir by @zhenfeizhang in #184
- Minor: Unified CI workflows by @tonyfloatersu in #185
- Minor: Bringing benchmark machine back by @tonyfloatersu in #186
- Zf/pcs trait minor change by @zhiyong1997 in #188
- Minor: Fixing build workflow CI process by @tonyfloatersu in #187
New Contributors
- @slzk made their first contribution in #69
- @chonpsk made their first contribution in #88
- @enpsi20481 made their first contribution in #96
- @siq1 made their first contribution in #110
- @yhassanzadeh13 made their first contribution in #147
Full Changelog: v0.0.3...v1.0.0
v0.0.5
What's Changed
- fix power gate by @zhenfeizhang in #128
- Recursive Verifier by @zhiyong1997 in #127
- Lagrange Form Bi kzg update by @zhiyong1997 in #130
- Adding sumcheck-cuda by @slzk in #131
- stats code & release binary by @zhiyong1997 in #135
- fix-binary-release by @zhiyong1997 in #136
- Reuse eq_evals in prover, verifier, and recursive verifier by @zhiyong1997 in #138
- pcs trait v1 by @zhiyong1997 in #140
Full Changelog: v0.0.4...v0.0.5
v0.0.4
Expander v0.0.4 Release note
Summary
- Major changes:
- Major code refactoring with modularization
- Add support for MPI
- Completed GF2_ext128 field
- Implemented GKR^2 prover
- Allow for public inputs at arbitrary layers
- Optimization of proof size: substitute the SIMD field with the native field in the proof message
- Minor changes:
- Improved test coverage
- Automated end to end tests
- Improved CI
What's Changed
- Zz/refactor and clean up by @zhenfeizhang in #55
- Ci benchmark by @niconiconi in #57
- Automate benchmark by @niconiconi in #58
- Minor: Try to resolve some TODOs in neon by @tonyfloatersu in #60
- Feat/criterion by @niconiconi in #61
- Update circuit.rs by @zhiyong1997 in #63
- fix performance loss by @zhenfeizhang in #66
- allow for different FiatShamir hashes by @zhenfeizhang in #65
- Minor: CI process simplify with
dev-setuploading circuits by @tonyfloatersu in #62 - Minor: Serialization and Deserialization Error Propagation by @tonyfloatersu in #64
- Add sumcheck single iteration for CUDA sumcheck development by @slzk in #69
- Zz/gf2 128 mul by x by @zhenfeizhang in #68
- Revert "Zz/gf2 128 mul by x" by @niconiconi in #70
- Squash merge GF2_dev into main, accepting all GF2_dev changes by @niconiconi in #79
- Sumcheck opt by @niconiconi in #81
- handle layer with zero var. by @zhiyong1997 in #84
- Implement more field operations for ECC by @mcfx in #86
- avx256 by @chonpsk in #88
- Proof size by @zhiyong1997 in #87
- fix_pack by @niconiconi in #89
- Verification time by @zhiyong1997 in #90
- update CI by @zhenfeizhang in #102
- remove avx512 instructions from avx256 by @mcfx in #94
- [FIX] m31 exp by @enpsi20481 in #96
- fix ci by @zhenfeizhang in #104
- Mpi by @zhiyong1997 in #93
- use avx256 by default by @zhenfeizhang in #109
- Update readme.md by @siq1 in #110
- refactoring field impl by @zhenfeizhang in #95
- transcript refactor by @zhenfeizhang in #103
- Public input rebase by @zhiyong1997 in #108
- refactor sumcheck by @zhenfeizhang in #112
- code refactor by @zhenfeizhang in #115
- Zz/fix poseidon witnesses by @zhenfeizhang in #118
- Zz/fix script by @zhenfeizhang in #120
- Mpi chunk size by @zhiyong1997 in #121
- Mpi chunk size by @zhiyong1997 in #123
- Fix expander-exec by @mcfx in #122
- fix mpi by @zhiyong1997 in #124
- Fix scratchpad and Optimize Expander Eq by @zhiyong1997 in #125
New Contributors
- @slzk made their first contribution in #69
- @mcfx made their first contribution in #86
- @chonpsk made their first contribution in #88
- @enpsi20481 made their first contribution in #96
- @siq1 made their first contribution in #110
Full Changelog: v0.0.3...v0.0.4
v0.0.3
v0.0.2
We fixed the soundness issue by Justin Thaler and we did a lot of optimizations to match our old performance number. Now it matches with the old buggy version.
v0.0.1
enable debug logging (#28)