Releases: ingonyama-zk/icicle
v3.0.0
This version introduces a completely new design for ICICLE. We've developed a front-end user API that is backend-agnostic, supporting various hardware configurations. Additionally, we've added CPU support for MSM and NTT, with the CPU backend now set as the default. This allows developers to compile and run ICICLE seamlessly on Apple Mac and Linux machines as well.
What's Changed
- ICICLE V3 by @yshekel in #526
- Marketing dev docs review by @Otsar-Raikou in #602
- NTT simple cpu backend by @ShanieWinitz in #533
- Add tasks manager classes to ease multithreading for cpu by @Koren-Brand in #573
- implement multithread CPU vec ops by @mickeyasa in #577
- make features (G2,ecntt) default on by @yshekel in #583
- use ccache if available by @yshekel in #585
- Remove V2 files and rename V3 files by @yshekel in #586
- use 64b type for add/mul of field elements on CPU by @HadarIngonyama in #588
- Add Mersenne to v3 by @emirsoyturk and @nonam3e in #579
- v3 msm by @Koren-Brand in #581
- mv icicle m31 by @nonam3e, @ChickenLover, @jeremyfelder in #590
- Release script and install docs by @yshekel in #589
- fix api by @nonam3e in #592
- update MSM config struct field for shared bases by @HadarIngonyama in #562
- add rust test for batch-msm shared and non-shared points cases by @nonam3e in #587
- Fix typo for license error and updated docs by @yshekel in #593
- getting started edits by @Otsar-Raikou in #595
- Update README by @yshekel in #596
- Edit on README by @Otsar-Raikou, @yshekel and @jeremyfelder in #599
- edit intro doc by @Otsar-Raikou in #601
- parallel ntt on cpu by @ShanieWinitz in #591
- Rename extension field to complex and quatric extension by @ChickenLover in #598
- V3 golang bindings by @nonam3e, @jeremyfelder and @yshekel in #594
Next Up
- Hash and Merkle tree API, CPU support
- Additional Backend devices support
Full Changelog: v2.8.0...v3.0.0
Release v2.8.0
What's Changed
- Field creation automated through macros by @DmytroTym in #551
- Feat/roman/tree builder by @ChickenLover in #525
- add keccak tree builder by @ChickenLover in #555
- Feat/roman/hash docs by @ChickenLover in #556
Full Changelog: v2.7.1...v2.8.0
Release v2.7.1
What's Changed
- Fix affine to projective zero point bug by @vladfdp in #552
- Fix large (>512 elements) ecntt issue by @yshekel in #553
Full Changelog: v2.7.0...v2.7.1
Release v2.7.0
What's Changed
- bug fix by @HadarIngonyama in #549
- RISC0 example using Polynomial API by @svpolonsky in #548
- Feat/m31 by @nonam3e in #547
Full Changelog: v2.6.0...v2.7.0
Release v2.6.0
What's Changed
Features
- [FEAT]: Golang Bindings for pinned host memory by @jeremyfelder in #519
Docs
- Added v2 paper by @Otsar-Raikou in #544
- Msm/update docs by @HadarIngonyama in #545
Full Changelog: v2.5.0...v2.6.0
Release v2.5.0
What's Changed
- workflow curve fix by @yshekel in #536
- accumulate stwo by @vhnatyk in #535
- chore: remove repeat word by @cangqiaoyuzhuo in #540
- recreated images for poseidon.md by @Otsar-Raikou in #541
- Fix link and correct path for running test deploy workflow by @jeremyfelder in #542
- MSM - supporting all window sizes by @HadarIngonyama in #534
New Contributors
- @cangqiaoyuzhuo made their first contribution in #540
Full Changelog: v2.4.0...v2.5.0
Release v2.4.0
What's Changed
- precompute bug fix by @HadarIngonyama in #529
- bit reverse by @nonam3e in #528
- added example cpp: example_commit_with_device_memory_view() by @krakhit in #532
- perf: projective scalar multiplication use dbl() rather than + by @yshekel in #530
New Contributors
Full Changelog: v2.3.1...v2.4.0
Release v2.3.1
What's Changed
- Allow overriding compiler's chosen GPU arch via cmake by @liuhao230 in #518
- bug fix regarding cmake set_gpu_env() by @yshekel in #520
- [HOTFIX] rust msm benchmarks by @LeonHibnik in #521
- fix: ntt mixed-radix bug regarding large ntts by @yshekel in #523
New Contributors
- @liuhao230 made their first contribution in #518
Full Changelog: v2.3.0...v2.3.1
Release v2.3.0
This version of ICICLE introduces Poseidon API implementation in Go
, as well as Go
usage examples and an improved best practice example with NTT
, various fixes for polynomial API, CI and our dev docs
What's Changed
- Fix broken link by @sukrucildirr in #512
- Update CI to run on some non-code changes by @jeremyfelder in #515
- Yshekel/poly view fix by @yshekel in #514
- golang examples init by @nonam3e in #516
- Stas/best-practice-ntt by @svpolonsky in #517
- Feat/vlad/poseidon go binding by @vladfdp in #513
New Contributors
- @sukrucildirr made their first contribution in #512
Full Changelog: v2.2.0...v2.3.0
Release v2.2.0
This version introduces Rust benchmarks, Poseidon2 support for babybear
field and bn254
, together with fixes for multi GPU environment in Go and polynomial evaluations view in CUDA
and polynomial API examples in C++
What's Changed
- rust classic benches with Criterion for ecntt/msm/ntt by @vhnatyk in #499
- [DOCS]: Tidy up docs by @jeremyfelder in #502
- Stas/example poly by @svpolonsky in #434
- Updated hall of fame by @Otsar-Raikou in #505
- [FIX]: Fix releasing device set on host thread during multigpu call by @jeremyfelder in #501
- [CI]: Update Cpp CI to include build args by @jeremyfelder in #503
- fix: bug regarding polynomial evaluations view in CUDA backend by @yshekel in #506
- keccak docs by @nonam3e in #508
- Feat/roman/poseidon2 by @ChickenLover in #507
- rust ecntt hotfix by @vhnatyk in #509
- Feat/roman/poseidon2 by @ChickenLover in #510
- syntax highlight by @LeonHibnik in #511
Full Changelog: v2.1.0...v2.2.0