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.
- fix: PoseidonConstants serde Implementation (https://github.com/lurk-lab/neptune/pull/184)
- chore: make version part of the release commit (https://github.com/lurk-lab/neptune/pull/185)
- refactor: Bump ff & group to 0.13, adjust dependent crates (https://github.com/lurk-lab/neptune/pull/179)
- ci: Add licenses audits with 'cargo-deny' (https://github.com/lurk-lab/neptune/pull/181)
- doc: covering PoseidonConstants and Poseidon abstractions with proper docs (https://github.com/lurk-lab/neptune/pull/178)
- chore: update ec-gpu, update const fns (https://github.com/lurk-lab/neptune/pull/175)
- chore: minor upgrade (https://github.com/lurk-lab/neptune/pull/173)
- fix: simplify the implementation of arity (https://github.com/lurk-lab/neptune/pull/172)
- fix: Ensure preimage buffer is padded with newly variables that are actually constrained to be equal to zero (https://github.com/lurk-lab/neptune/pull/169)
- Implement serde for PoseidonConstants (https://github.com/lurk-lab/neptune/pull/165)
- fix: update to newer ec-gpu version (https://github.com/lurk-lab/neptune/pull/164)
- chore: fix CI MacOS build (https://github.com/lurk-lab/neptune/pull/161)
- Change write_rate_element to add_rate_element to agree with spec.
- Add Sponge API to README. (https://github.com/lurk-lab/neptune/pull/158)
- IO pattern (https://github.com/lurk-lab/neptune/pull/157)
- Sponge absorb add (https://github.com/lurk-lab/neptune/pull/156)
- Add sponge circuit synthesis test and remove make_elt method. (https://github.com/lurk-lab/neptune/pull/154)
- Implement sponge construction. (https://github.com/lurk-lab/neptune/pull/151)
- feat: support other fields (https://github.com/lurk-lab/neptune/pull/135)
- feat: update dependencies to the latest (https://github.com/lurk-lab/neptune/pull/150)
- Reduce constraints (https://github.com/lurk-lab/neptune/pull/148)
- Implement Arity for U1 (https://github.com/lurk-lab/neptune/pull/145)
- Wasm support (https://github.com/lurk-lab/neptune/pull/139)
- Use bellperson v0.19.0. (https://github.com/lurk-lab/neptune/pull/141)
- refactor: use field name as part of the function names (https://github.com/lurk-lab/neptune/pull/136)
- chore: update to Rust 1.56.0 (https://github.com/lurk-lab/neptune/pull/138)
- chore: use Rust 1.51.0 (https://github.com/lurk-lab/neptune/pull/134)
- Remove neptune-triton (Futhark) support. (https://github.com/lurk-lab/neptune/pull/132)
- feat: add vanilla Poseidon benchmarks for Pasta scalar field (https://github.com/lurk-lab/neptune/pull/124)
- Update README. (https://github.com/lurk-lab/neptune/pull/129)
- fix: fix warning when compiling with OpenCL (https://github.com/lurk-lab/neptune/pull/123)
- Fixes gaussian elimination for matrices with 0 entries (https://github.com/lurk-lab/neptune/pull/122)
- Cleanup domain tags (https://github.com/lurk-lab/neptune/pull/121)
- Fix, test, and enable custom domain tags. (https://github.com/lurk-lab/neptune/pull/116)
- Update bellperson to v0.18.0 (https://github.com/lurk-lab/neptune/pull/115)
- Fix spec's sparse factorization w vector (https://github.com/lurk-lab/neptune/pull/114)
- Remove pairing requirement for circuits (https://github.com/lurk-lab/neptune/pull/111)
- Add support for CUDA (https://github.com/lurk-lab/neptune/pull/109)
- Use correct global work size (https://github.com/lurk-lab/neptune/pull/108)
- Properly call ec_gpu_gen::common() (https://github.com/lurk-lab/neptune/pull/110)
- Use upstream group, ff and pairing dependencies (https://github.com/lurk-lab/neptune/pull/103)
- Remove unnecessary to_vec (https://github.com/lurk-lab/neptune/pull/107)
- Pass GPU data from a pre-populated vector (https://github.com/lurk-lab/neptune/pull/106)
- Upgrade to latest rust-gpu-tools (https://github.com/lurk-lab/neptune/pull/91)
- Rename GPU feature to Futhark (https://github.com/lurk-lab/neptune/pull/100)
- Improve Clippy on CI (https://github.com/lurk-lab/neptune/pull/92)
- Fix Clippy warnings (https://github.com/lurk-lab/neptune/pull/98)
- Remove BatcherType (https://github.com/lurk-lab/neptune/pull/97)
- Remove GPUSelector (https://github.com/lurk-lab/neptune/pull/96)
- Breaking update of
bellperson
to0.14
and associated dependency upgrades.
- Use bellperson 0.13.
- Pure OpenCL implementation of batch hashing. (https://github.com/lurk-lab/neptune/pull/78)
- Customize batch-sizes of gbench through cli args. (https://github.com/lurk-lab/neptune/pull/50)
- Remove [most] macos conditional code. (https://github.com/lurk-lab/neptune/pull/72)
- Refactor, moving device selection to rust-gpu-tools. (https://github.com/lurk-lab/neptune/pull/70)
- Only clear cache when no hashers are active for futhark context. (https://github.com/lurk-lab/neptune/pull/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.