What's Changed
Features
- Eisenstein integers (#543).
- Poseidon2 (#553).
- BabyBear and KoalaBear fields: 31-bit vanilla Go implementation (#558, #577).
- FFLonK (#498).
- KZG MPC setup (#589).
- Hash registry with state storer (#564).
- Miller loop with direct sextic extension (BW6-761) (#608).
Performance Improvements
- Add assembly implementations: Vector::Add, Sub, and ScalarMul (purego included) (#536).
- AVX512 optimizations: vector.Sum, vector.InnerProduct + assembly refactor (#547).
- AVX512 vector operations: KoalaBear and BabyBear fields (#568).
- ARM64 assembly optimizations: 4 and 6 words modulus (#554).
- ARM NEON assembly: KoalaBear and BabyBear fields (#588).
- Subgroup check optimizations (#557).
- SetBytes performance: Avoids allocations in non-fast paths (#599).
Fixes
- Polynomial evaluation (#539).
- Shplonk Buffer sizing (#551).
- Typos (#562, #610).
- Comment and variable naming fixes (#603).
Refactors
- Removed curves: BLS12-378 and BW6-756 (#534).
- SIS cleanup (#596).
- Removed ECC Encoder dependency: FFT domain marshal (#565).
- Cleaned IOP (#587).
Documentation
- Updated README (#533).
- Documented batchAddAffine function (#555).
- Updated element package documentation (#572).
- Less verbose Apache 2 header (#570).
- Fixed non-generated headers (#571).
- Changed copyright year to 2025 (#595).
Full Changelog: v0.14.0...v0.15.0