Releases: PolyhedraZK/Expander
Releases · PolyhedraZK/Expander
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-setup
loading 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
FieldSerde
intoField
, and deprecatingtry_deserialize_from_ecc_format
by @tonyfloatersu in #151 - Minor: Typo fixing for
GF2
and 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
dev
CI 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-setup
loading 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)