All notable changes to neptune will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- chore: update ec-gpu, update const fns (lurk-lab#175)
- chore: minor upgrade (lurk-lab#173)
- fix: simplify the implementation of arity (lurk-lab#172)
- fix: Ensure preimage buffer is padded with newly variables that are actually constrained to be equal to zero (lurk-lab#169)
- Implement serde for PoseidonConstants (lurk-lab#165)
- fix: update to newer ec-gpu version (lurk-lab#164)
- chore: fix CI MacOS build (lurk-lab#161)
- Change write_rate_element to add_rate_element to agree with spec.
- Add Sponge API to README. (lurk-lab#158)
- IO pattern (lurk-lab#157)
- Sponge absorb add (lurk-lab#156)
- Add sponge circuit synthesis test and remove make_elt method. (lurk-lab#154)
- Implement sponge construction. (lurk-lab#151)
- feat: support other fields (lurk-lab#135)
- feat: update dependencies to the latest (lurk-lab#150)
- Reduce constraints (lurk-lab#148)
- Implement Arity for U1 (lurk-lab#145)
- Wasm support (lurk-lab#139)
- Use bellperson v0.19.0. (lurk-lab#141)
- refactor: use field name as part of the function names (lurk-lab#136)
- chore: update to Rust 1.56.0 (lurk-lab#138)
- chore: use Rust 1.51.0 (lurk-lab#134)
- Remove neptune-triton (Futhark) support. (lurk-lab#132)
- feat: add vanilla Poseidon benchmarks for Pasta scalar field (lurk-lab#124)
- Update README. (lurk-lab#129)
- fix: fix warning when compiling with OpenCL (lurk-lab#123)
- Fixes gaussian elimination for matrices with 0 entries (lurk-lab#122)
- Cleanup domain tags (lurk-lab#121)
- Fix, test, and enable custom domain tags. (lurk-lab#116)
- Update bellperson to v0.18.0 (lurk-lab#115)
- Fix spec's sparse factorization w vector (lurk-lab#114)
- Remove pairing requirement for circuits (lurk-lab#111)
- Add support for CUDA (lurk-lab#109)
- Use correct global work size (lurk-lab#108)
- Properly call ec_gpu_gen::common() (lurk-lab#110)
- Use upstream group, ff and pairing dependencies (lurk-lab#103)
- Remove unnecessary to_vec (lurk-lab#107)
- Pass GPU data from a pre-populated vector (lurk-lab#106)
- Upgrade to latest rust-gpu-tools (lurk-lab#91)
- Rename GPU feature to Futhark (lurk-lab#100)
- Improve Clippy on CI (lurk-lab#92)
- Fix Clippy warnings (lurk-lab#98)
- Remove BatcherType (lurk-lab#97)
- Remove GPUSelector (lurk-lab#96)
- Breaking update of
bellperson
to0.14
and associated dependency upgrades.
- Use bellperson 0.13.
- Pure OpenCL implementation of batch hashing. (lurk-lab#78)
- Customize batch-sizes of gbench through cli args. (lurk-lab#50)
- Remove [most] macos conditional code. (lurk-lab#72)
- Refactor, moving device selection to rust-gpu-tools. (lurk-lab#70)
- Only clear cache when no hashers are active for futhark context. (lurk-lab#68)
- Update
bellperson
to0.12.0
67
- Fix
GPUBatchHasher
not clearing GPU caches 66
- Enable
blst
backend. 63 - Explicitly reuse FutharkContext in related Batchers. 62
- Make GPUSelector accessible from gbench. 59
- Create SECURITY.MD. 57
- Avoid compiling any OpenCL on macos. 56
- Use latest neptune-triton. 55
- Add support for domain separation tags. In addition to support for new hash functions built on the Poseidon permutation, this introduces a breaking change to the DST used for Strengthened Poseidon. 43.