The new introduces several key updates, with a focus on the stateless feature for the RLN module:
- Stateless RLN Feature: This feature removes the dependency on Merkle trees, simplifying the implementation. The stateless mode provides APIs for generating and verifying proofs, along with utility functions such as the Poseidon hasher.
- Integration with RLN-WASM: The stateless implementation is integrated into the RLN-WASM module. The RLN-WASM APIs have been updated to align with this stateless design, ensuring better modularity and usability.
- Performance Improvements: Updates include optimizations in handling uncompressed keys with Arkworks, reducing program runtime during file reads. The benchmarks indicate significant efficiency gains with these changes.
Some tasks related to replacing zkeys and auditing RLN-WASM have been deferred to version 0.7.0 to maintain focus on stability and core improvements in this release.
What's Changed
- chore(rln): add verifying key deser benchmark by @rymnc in #258
- chore(rln): use ark serialized verification key for faster serde by @rymnc in #259
- chore(rln): refactor resource initialization by @rymnc in #260
- chore(rln): further refactoring of interface by @rymnc in #261
- chore(release): v0.5.1 by @rymnc in #262
- fix(rln-wasm): run tests again by @rymnc in #264
- Stateless Feature by @seemenkina in #265
- fix(CI): add condition for stateless feature by @seemenkina in #267
- chore(rln-wasm): Make rln-wasm stateless by @seemenkina in #266
- fix(CI): update actions version by @seemenkina in #268
- fix(CI): add test for all features by @seemenkina in #270
- chore(rln): add uncompressed key and benches by @seemenkina in #269
Full Changelog: v0.5.1...v0.6.0