Version 0.17.0 of GuardianDB marks one of the most significant milestones in the project so far. This release completes the migration to Iroh 1.0, introduces a new model for secure namespace sharing across peers, and officially unveils the optional ODM layer, significantly expanding GuardianDB’s use cases in modern applications.
Below are the highlights of this release.
Secure namespace sharing with Iroh Docs
Until now, each node opening a database would create an isolated namespace. Starting with version 0.17, GuardianDB introduces secure namespace sharing for Iroh Docs–based stores (KeyValue and Document).
Key additions include:
- DocTickets, acting as explicit capabilities to join a shared namespace.
- APIs to generate and consume these tickets (
share_ticketandCreateDBOptions.doc_ticket). - Automatic ticket exchange over authenticated QUIC connections, with access control based on the peer’s public key.
- Deterministic creator resolution to avoid split-brain scenarios when multiple peers open the same store concurrently.
- Reactive live index synchronization, ensuring that reads immediately reflect remote writes without manual reloads.
Together, these changes make replication more predictable, secure, and transparent.
Optional ODM layer
GuardianDB 0.17 officially introduces an optional Object Document Mapper (ODM) layer, inspired by tools like Mongoose and TypeORM, while preserving GuardianDB’s decentralized storage model.
Key capabilities include:
- Document modeling with derive macros, primary keys, indexes, and unique constraints.
- Support for flexible or strict schemas with schema versioning.
- Typed and dynamic CRUD operations.
- MongoDB-style queries and updates, including operators such as
$set,$unset, and$inc. - Local validation for data integrity and consistency.
- Helper APIs for initializing and listing collections.
An initial transaction and consistency API scaffold was also added, clearly defining current limitations until a distributed coordinator is introduced.
TypeScript ODM SDK
Alongside the Rust ODM, this release introduces the TypeScript ODM SDK scaffold, paving the way for integrations with Node.js, WASM, and mobile platforms.
The SDK provides:
- Database and collection initialization and listing.
- Mongoose-style collection APIs.
- A process-local reference transport used for deterministic tests and future native bridges.
Migration to Iroh 1.0
GuardianDB is now officially built on Iroh 1.0, with a full upgrade of the surrounding crate ecosystem. This migration includes:
- New types (
EndpointId,EndpointAddr) and updated APIs. - Peer discovery via the N0 preset with mDNS support.
- Updates to connection, remote identification, and blob protocol models.
This transition removes legacy dependencies and aligns GuardianDB with the stable Iroh foundation.
Additional improvements
- Significant expansion of test coverage, including replication, authorization, wire formats, key synchronization, and ODM operators.
- Unified randomness under a single
randcrate. - Idempotent initialization of ODM collections.
- Complete removal of the legacy OrbitDB-inspired replication module, now fully replaced by Iroh-native replication.
As always, feedback and contributions are very welcome.