Skip to content

Releases: ingonyama-zk/icicle

Release v4.0.0

11 Jul 05:36
Compare
Choose a tag to compare

ICICLE v4.0.0 Release Notes

🎉 Major Release: ICICLE v4.0.0

We're excited to announce the release of ICICLE v4.0.0! This major version introduces significant improvements to the API design, making it more intuitive, object-oriented, and developer-friendly across all supported languages.

🚀 Key Highlights

  • Object-Oriented Field API: Complete redesign of field operations from static methods to instance methods
  • Method Chaining Support: Write more concise and expressive code with method chaining
  • Improved Rust API: Better trait design with standard operator overloading
  • Enhanced Program API: Reorganized Program module with better type safety
  • Backward Compatibility: Comprehensive migration guides for v3 to v4 transition
  • Post Quantum: Implemented a NIST FIPS203 (ML-KEM) protocol on CUDA, fully open-source
  • Lattice Based Cryptography: Add support for Lattice based cryptography, with integer ring support and a full LaBRADOR prover (soon announced)

🔄 Breaking Changes

C++ API Changes

Field Arithmetic Operations

All field operations have been converted from static methods to instance methods
Check the migration page for more details

Rust API Changes

Arithmetic Trait Redesign

The FieldImpl trait has been deprecated and split into focused, orthogonal traits

What's Changed

New Contributors

Full Changelog: v3.9.2...v4.0.0

Release v3.9.2

05 Jun 20:10
Compare
Choose a tag to compare

What's Changed

  • Fix compilation for g++14.2.0 by @ChickenLover in #924
  • [FEAT] add method to get challenges from sumcheck's Fiat-Shamir by @idanfr-ingo in #921
  • Feat: balanced decomposition for Rq polynomials by @yshekel in #922
  • Added Darkmode, Benchmarks update, fixed mobile display bug, added la… by @Shalmoni in #927
  • fri final polynomial degree check by @krakhit in #928
  • [FIX] Go runtime, hash, and merkle tree package tests for metal by @jeremyfelder in #925

Full Changelog: v3.9.1...v3.9.2

Release v3.9.1

28 May 09:06
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.9.0...v3.9.1

Release v3.9.0

15 May 05:28
Compare
Choose a tag to compare

What's Changed

🔥 New Features 🔥

🚀 Performance 🚀

📝 Docs 📝

Misc

Full Changelog: v3.8.0...v3.9.0

Release v3.8.0

24 Apr 16:07
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.7.1...v3.8.0

Release v3.7.1

21 Apr 15:17
Compare
Choose a tag to compare

V3.7.1

BUG FIX: Memory leak in Sumcheck-cuda

What's Changed

Full Changelog: v3.7.0...v3.7.1

Release v3.7.0

11 Apr 16:00
4565e79
Compare
Choose a tag to compare

ICICLE v3.7.0

Main updates

This version of ICICLE introduces:

  • Goldilocks field support
  • Curve pairings

What's Changed

Full Changelog: v3.6.0...v3.7.0

Release v3.6.0

15 Mar 02:55
Compare
Choose a tag to compare

ICICLE v3.6.0

  • Introducing a METAL backend!
  • At this release the backend is operable with cpp and Rust frontends.
  • Usage: same as CUDA backend, download, extract and set ICICLE_BACKEND_INSTALL_DIR env var
  • This version also add support for user-defined program to use with sumcheck, faster cpu sumcheck and infrastructure for integer rings

Known Issues

  • Metal backend is missing API implementations for Poseidon and Poseidon2 hashes, Merkle tree, Sumcheck and G2 montgomery conversions
  • Batch msm is only supported in shared-bases mode (where all msms reuse the same bases).

What's Changed

New Contributors

Full Changelog: v3.5.0...v3.6.0

Release v3.5.0

13 Feb 21:58
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.4.0...v3.5.0

Release v3.4.0

14 Jan 16:41
Compare
Choose a tag to compare

ICICLE v3.4.0

  • Improved CPU MSM Performance
  • Blake 3 CPU + CUDA

Known issues

  • Blake3 CUDA version currently supports input sizes up to 2kb

What's Changed

Full Changelog: v3.3.0...v3.4.0