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