All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.11.0 - 2026-05-15
- expose validate_constraints on ProofRequest for pre-flight checks (#732)
- WIP-102 (#692)
- WIP-104 - Proving and Admin Authenticators with Different Permission Sets (#643)
- add proof type to proof requests (#711)
- support session proof generation (#712)
- add proof inputs validation (#721)
- [breaking] model indexer/gateway as ServiceEndpoint enum on Config (#729)
0.10.2 - 2026-05-04
- Make world-id-authenticator compile for wasm32 (#714)
0.10.1 - 2026-04-29
- Persist circuit artifacts for proof builds (#706)
- update Cargo.toml dependencies
- remove oprf-key-gen dep and use testcontainers (#691)
- migrate ohttp-gateway image build to ohttp-tools repo (#699)
- bump alloy to 2.0.1 (#687)
- fix check_query_input_validity errors (#698)
- highlight noir version in build.rs (#697)
0.10.0 - 2026-04-23
- ownership proof verification (#669)
- ownership proof generation (#657)
- ownership proof generation (#648)
- expose compression in authenticator crate (#670)
- Update docs & clarify around Authenticator management (#673)
- (primitives) move circuit_inputs to world-id-proof (#667)
- (primitives) move k256 to dev-dependencies (#666)
- (primitives) move proof compression to world-id-proof (#668)
- introduce registries crate (#671)
- fix registries crate (#678)
0.9.0 - 2026-04-14
- refactor authenticator:
get_packed_account_datais nowpub(crate),generate_single_proofremoved,generate_session_idsignature changed,load_nullifier_material_from_pathsnow returnsResult(#641)
- Add indexer endpoint for pending recovery agent (#644)
- (oprf-nodes) added WIP101 support at the nodes (#634)
- ohttp client (#545)
- proof orchestration (#640)
- add AuthenticatorConfig::from_json (#650)
- minor nomenclature improvements to sessions (#637)
- add public refresh_packed_account_data method (#652)
- (oprf-node) bump taceo crates (#651)
- remove examples (#638)
- refactor authenticator (#641)
- update Cargo.toml dependencies
0.8.2 - 2026-04-02
- generate session_id_r_seed through OPRF nodes (#628)
- rename sign_initiate_recovery_agent_update → danger_sign_initiate_recovery_agent_update (PROTO-4477) (#631)
- WIP-103 - Proof of Ownership (#622)
0.8.1 - 2026-04-01
- expose sign_initiate_recovery_agent_update on CoreAuthenticator (PROTO-4477) (#630)
0.8.0 - 2026-03-31
- expose from_be_bytes_mod_order (#624)
- use hex serde for all signature Vec fields in API types (#619)
- use hex_signature for signature parsing (#626)
- (oprf-nodes) [breaking] uses the nodes_common rpc provider over ws provider everywhere + removes AWS deps (#617)
- update Cargo.toml dependencies
0.7.1 - 2026-03-26
- add recovery agent update methods to CoreAuthenticator (#602)
- (oprf-node) misc stuff for oprf-nodes (v1.1) (#608)
- update Cargo.toml dependencies
0.7.0 - 2026-03-25
- GatewayRequestId newtype and Authenticator::poll_status (#603)
- improve docs for OPRF errors (#606)
- (oprf-node) add session route for OPRF (#596)
- rename to associated data commitment (#586)
- (indexer) expose offchain_signer_commitment (#593)
- recovery agent management gateway endpoints (#589)
- separate action prefix (#581)
- sign_recover_account with async processing (#597)
- lifecycle terminology (#605)
- (nodes) [breaking] add fine-grained error types for nodes (#585)
- improved documentation on main crate (#600)
- increase zstd compression level to 9 for circuit files (#591)
0.6.0 - 2026-03-18
- introduce cargo nextest and fix test port conflicts (#567)
0.5.4 - 2026-03-17
- authenticator management methods no longer require &mut self (#564)
0.5.3 - 2026-03-17
- signer doesn't need to be mutable (#556)
- remove unused error variant (#562)
0.5.2 - 2026-03-13
- /get-recovery-agent endpoint (#550)
- (authenticator,proof) make dependencies WASM-compatible (#512)
- introduce sign for leaf index verification (#551)
- signal as raw bytes (#548)
- update Cargo.toml dependencies
0.5.1 - 2026-03-07
0.5.0 - 2026-03-03
- [breaking] explicit nullifier type (#518)
- Rust Proof Input verification with nicer errors (#338)
- (gateway) add a batch submit policy (#505)
- println -> tracing:: (#474)
- gateway orphan sweeper (#494)
0.4.4 - 2026-02-24
- update Cargo.toml dependencies
- Finalize World ID 4 trusted setup docs, artifacts, and explainer video (#468)
0.4.3 - 2026-02-23
- (rp) include version byte in rp signature message
- expose eddsa keys & sig (#467)
0.4.2 - 2026-02-20
- bump circuit commit (#463)
0.4.1 - 2026-02-20
- Compute random action for session proofs (#377)
- (gateway) Add rate limitting. (#424)
- remove circuits feature flags on primitives crate (#425)
- (contract) full tree in storage (#402)
- (indexer) add deserialization from 0x hex or decimal (#419)
- (request) add enumerate constraint (#388)
- field element encoding (#461)
- (primitives) reject unknown and duplicate response credentials (#458)
- (authenticator) normalize sparse indexer pubkey slots before key set validation (#447)
- Temporarily remove decompressed zkey disk caching (#431)
- filter credentials_to_prove by issuer_schema_id (#410)
- use default to create empty AuthenticatorPublicKeySet (#460)
- bump deps (#435)
- (deps) update taceo crates and replace testcontainers with OPRF test secret_managers (#407)
0.4.0 - 2026-02-10
- add session_nullifier (#367)
- faux issuer (#371)
- [breaking] update names of OPRF node auth modules and types for new OprfModule names (#332)
- [breaking] add OPRF module for credential blinding factor generation, rename old one to nullifier, integrate into authenticator (#293)
- extract authenticator crate (#313)
- optionally compress embedded zkey files and cache to disk (#264)
- update poseidon2 (#305)
- [breaking] update taceo crates (#302)
- encoded proof output (#300)
- [breaking] split nullifier & proof generation (#278)
- [breaking] New rp_signature module and include action (#243)
- final circuit updates (#235)
- Make primitives crate wasm compatible (#229)
- [breaking] remove OprfPublicKey from ProofRequest, now is returned from oprf nodes during distributed_oprf (#215)
- integrate and update RpRegistry to load and verifiy ecdsa signature in oprf-node (#197)
- (deps) bump taceo crates to latest version (#384)
- compact signer and request into world-id-primitives (#386)
- move registry and types into the authenticator crate (#368)
- consolidate deps (#354)
- contracts housekeeping & final definitions (#331)
- document crate structure & drop credential crate (#320)
- rust nits (#211)
0.3.0 - 2026-01-14
- [breaking] update circuits, cred.id hashing & sub blinding factor (#162)
- make claim method reflect associated_data method (#163)
- [breaking] improve documentation for associated data (#160)
- update oprf client workflow in authenticator, add oprf node, add justfile with setup (#129)
- [breaking] rename AccountRegistry to WorldIDRegistry (#154)
- poseidon2 hash sponge construction from raw bytes (#150)
- update serialization formats for hex strings (#153)
- unify API requests & responses (#149)
- proof requests & responses (take II) (#141)
- (oprf-node) don't cache invalid roots (#169)
- (deps) update deps to crates.io, add patches to stay compatible with git dev deps (#161)