Skip to content

Release v1.0.0

Latest

Choose a tag to compare

@seemenkina seemenkina released this 19 Dec 09:26
· 14 commits to master since this release
2071346

Zerokit v1.0.0 has arrived!

This isn’t just a version bump; this is a major milestone for the project. We’ve spent a lot of time under the hood cleaning up the architecture, unifying how our types work, and making sure the library is rock-solid for production.

Here is the lowdown on what we’ve been working on.

The Great Refactor (API & Types)

The biggest change in v1.0.0 is a massive unification effort. Previously, our FFI, WASM, and Rust APIs sometimes felt like distant cousins. We’ve brought them all under one roof.

  • Unified RLN Types: We aligned the types across the board. Whether you are using Rust, WASM, or FFI, the data structures and serialization logic now behave consistently.
  • Cleaner APIs: We refactored the public interfaces to make them more intuitive and simplified how we handle errors.
  • Documentation: We’ve updated the docs and examples to match this new reality, so getting started should be much smoother.

WebAssembly Improvements

For those of you running Zerokit in the browser:

  • No more Buffers: We reworked the rln-wasm modules to move away from buffer-based serialization in favor of a cleaner approach.
  • Parallel Package: We split out the parallel WASM package, giving you more flexibility in how you bundle and deploy for the web.

Other Improvements

  • Memory Leak Fix: We found a tricky memory leak in calc_witness that could cause issues over long-running processes. We patched the leak and improved the pattern for how we handle memory deallocation in the FFI. It’s much tighter now.
  • Nix Love: We bumped nixpkgs and added a binary cache, so if you're using Nix, your builds should be snappier.

What's Changed

  • Update zerokit-utils to version 0.7.0 in utils/README.md file by @sydhds in #348
  • chore: use rust nightly-2025-09-24 until patch version release by @vinhtc27 in #351
  • Set ruint dependency with fewer features by @sydhds in #349
  • nix: bump nixpkgs and add binary cache by @jakubgs in #346
  • Add initial code for ffi rework by @sydhds in #337
  • fix(rln): resolve memory leak in calc_witness and improve FFI memory deallocation pattern by @vinhtc27 in #354
  • feat(wasm): rework rln-wasm and rln-wasm-utils modules, remove buffer-based serialization, and update public.rs and protocol.rs accordingly by @vinhtc27 in #352
  • feat: unify RLN types, refactor public APIs, add full (de)serialization, align FFI/WASM/APIs, simplify errors, update docs/examples, and clean up zerokit by @vinhtc27 in #355
  • fix(ci): nightly build failed due to incorrect config flag for pm_tree_adapter by @vinhtc27 in #357
  • feat(rln): extend error handling for rln module by @vinhtc27 in #358
  • fix(ci): nightly build failed due to import paths for zerokit_utils::merkle_tree in poseidon_tree.rs file by @vinhtc27 in #359
  • feat(rln-wasm): seperate rln wasm parallel package by @vinhtc27 in #360
  • Release v1.0.0 by @seemenkina in #361

Full Changelog: v0.9.0...v1.0.0