Download Latest Version defradb-1.0.0-rc1.tar.gz (1.5 MB)
Email in envelope

Get an email when there's a new version of DefraDB

Home / v1.0.0-rc1
Name Modified Size InfoDownloads / Week
Parent folder
defradb_1.0.0-rc1_checksums.txt 2026-03-05 700 Bytes
defradb-1.0.0-rc1.tar.gz 2026-03-05 1.5 MB
defradb_1.0.0-rc1_windows_x86_64.exe 2026-03-05 166.0 MB
defradb_lite_1.0.0-rc1_windows_x86_64.exe 2026-03-05 161.8 MB
defradb_1.0.0-rc1_darwin_arm64 2026-03-05 173.0 MB
defradb_1.0.0-rc1_linux_x86_64 2026-03-05 187.3 MB
defradb_lite_1.0.0-rc1_darwin_arm64 2026-03-05 168.9 MB
defradb_lite_1.0.0-rc1_linux_x86_64 2026-03-05 183.1 MB
README.md 2026-03-05 33.7 kB
v1.0.0-rc1 Release source code.tar.gz 2026-03-05 1.5 MB
v1.0.0-rc1 Release source code.zip 2026-03-05 3.1 MB
Totals: 11 Items   1.0 GB 0

Changelog

DefraDB v1.0.0-rc1 is the first release candidate for our stable v1.0 release. This milestone marks the project's transition from pre-production to production readiness. Any subsequent release candidates will address issues identified during this phase before the final v1.0 release.

To get a full outline of the changes, we invite you to review the official changelog below. This release does include a Breaking Change to existing v0.20.x databases. If you need help migrating an existing deployment, reach out at hello@source.network or join our Discord at https://source.network/discord.

Features

  • feat: Accept arrays of CIDs for GQL queries (#4571)
  • feat: Add ActivePeers function (#4206)
  • feat: Add _in/_nin to _commits filter (#4230)
  • feat: Add ability to bypass DAC for performance (#4115)
  • feat: Add collection truncate (#4326)
  • feat: Add keyring overwrite protection (#4290)
  • feat: Add methods AddLens and ListLenses (#4264)
  • feat: Add optional file flags for cli view add command (#3314)
  • feat: Add optional health check to setup wizard (#4313)
  • feat: Add secp256r1 support (#4202)
  • feat: Add support for _eq and _neq to inline scalar arrays (#4293)
  • feat: Allow C binding view functions to take in identities (#4241)
  • feat: Allow deletion of collections via PatchCollection (#4200)
  • feat: Change GQL commits.docId param to list (#4578)
  • feat: Consolidate node options (#4501)
  • feat: Create unique index for 1-to-1 relations (#4218)
  • feat: Create view from cid (#4278)
  • feat: Enable filter on commit's fieldName (#4216)
  • feat: Gate PeerInfo with NAC & Add Context (#4282)
  • feat: Gate SyncBranchableCollection with NAC (#4522)
  • feat: Gate active peers op with NAC (#4499)
  • feat: Gate encrypted index create op with NAC (#4532)
  • feat: Gate encrypted index delete op with NAC (#4534)
  • feat: Gate lens add op with NAC (#4492)
  • feat: Gate lens list op with NAC (#4491)
  • feat: Gate list encrypted indexes op with NAC (#4540)
  • feat: Gate migration set op with NAC (#4530)
  • feat: Gate sync collection versions op with NAC (#4507)
  • feat: Gate sync documents op with NAC (#4528)
  • feat: Gate view add op with NAC (#4504)
  • feat: Gate view refresh op with NAC (#4505)
  • feat: Improve NotAuthorizedToPerformOperation errors (#4373)
  • feat: Introduce options package for public methods (#4335)
  • feat: Introduce setup wizard (#4273)
  • feat: LevelDB store (#4298)
  • feat: Make explain recursive for nested joins (#4471)
  • feat: Push topic peer events to event bus (#4247)
  • feat: Refresh materialized views on create (#4379)
  • feat: Remove _latestCommits (#4169)
  • feat: Rename foreign keys to _<rel>ID (#4274)
  • feat: Rename schema version id (#4299)
  • feat: Require dev-mode for import/export (#4569)
  • feat: Serverless client side schema generation (#4263)
  • feat: Support UTC_NOW as a DateTime value (#4210)
  • feat: Sync branchable collection (#4188)
  • feat: Upgrade CommitLink with full Commit object support (#4217)

Fix

  • fix: Add missing return after successful merge execution (#4356)
  • fix: Aggregates on indexed relations (#4438)
  • fix: Allow Lenses to pull docs from source (#4143)
  • fix: Async context use (#4455)
  • fix: Bump sonic to version 14.2 with Go 1.24 support (#4167)
  • fix: Connect peers with retries in tests (#4289)
  • fix: Correctly refresh views with already cached data (#4382)
  • fix: Encode identity as hex in commit query (#4104)
  • fix: Ensure commit subscriptions filter by docID (#4436)
  • fix: Field short ID retrieval (#4457)
  • fix: Filter on top-level indexed JSON field (#4406)
  • fix: Fix identity-related bugs in c bindings (#4145)
  • fix: Flaky SourceHub tests (#4416)
  • fix: Glibc error with Docker container (#4129)
  • fix: Grouping by indexed field (#4409)
  • fix: Handle _version alongside type joins (#4174)
  • fix: Handle _version property in time travel queries (#4147)
  • fix: Handle queries with _version prop and order param (#4146)
  • fix: Index on JSON _geq and _leq null filter ops (#4415)
  • fix: Index-based order for nested queries (#4342)
  • fix: Introspection error and badly formatted GQL types (#4175)
  • fix: Lens file reading in collection patch command (#4564)
  • fix: Lens-migrations-aware secondary indexes (#4114)
  • fix: Lint issues in gendocs_test.go (#4203)
  • fix: Make CBinding NewNode attach identity to context (#4519)
  • fix: Make Wazero the lens runtime for C bindings (#4524)
  • fix: Make node apply a default store path (#4186)
  • fix: Make resolution of UTC_NOW the same across transaction (#4248)
  • fix: Migrations with filtering (#4254)
  • fix: Mutation of branchable collection (#4187)
  • fix: Null json index panic (#4338)
  • fix: On doc-sync wait for docs from all peers (#4296)
  • fix: Only scan relevant doc-commits in commit queries (#4512)
  • fix: Ordering by multiple fields (#4238)
  • fix: Prevent database operations after close (#4435)
  • fix: Propagate unmarshal errors (#4563)
  • fix: Reject index on accumulated CRDT fields (#4447)
  • fix: Remove duplicate filter on update/upsert operations (#4283)
  • fix: Remove enabling NAC option from config (#4225)
  • fix: Remove extraneous comment in C Binding header (#4481)
  • fix: Return error from CLI when collection not found (#4592)
  • fix: Sec. side relation via patch and AddSchema (#4221)
  • fix: Secondary index handle neq and nin filters (#4433)
  • fix: Secondary index on sub query filter (#4344)
  • fix: Set FieldID when syncing collections (#4142)
  • fix: Skip index for complex JSON filter values (#4426)
  • fix: Solve cyclic-dependency stack overflow bug (#4332)
  • fix: Suppress error log on timeout in pubsub handler (#4292)
  • fix: Sync DAG (#4270)
  • fix: Test matcher subscription bug (#4429)
  • fix: Unify docID type to ID in graphql schema (#4291)
  • fix: Update to WebTransport 0.10.0 (#4589)
  • fix: Use index with _or conditions on same field (#4423)

Documentation

  • docs: Add build requirements documentation (#4224)
  • docs: Switch git clone URL to use https (#4177)

Refactoring

  • refactor: Introduce collection lock system (#4276)
  • refactor: KMS sync ordering (#4214)
  • refactor: Make P2P collection names consistent (#4464)
  • refactor: Make P2P document names consistent (#4469)
  • refactor: Move identity context funcs to internal (#4549)
  • refactor: Pass identity consistently in C binding functions (#4180)
  • refactor: Remove GetAllDocIDs/docIDs from collection api (#4579)
  • refactor: Remove p2p transactions (#4212)
  • refactor: Rename 'Schema' to 'Collection' terminology (#4591)
  • refactor: Rename CreateEncryptedIndex (#4553)
  • refactor: Rename GetCollectionsOptions.GetInactive (#4543)
  • refactor: Rename SyncCollections to SyncCollectionVersions (#4183)
  • refactor: Rename certain GQL operators (#4357)
  • refactor: Rename document-level cmds under collection api (#4581)
  • refactor: Rename encrypted index add to encrypted index new (#4604)
  • refactor: Rename index add to index new (#4605)
  • refactor: Rename index commands (#4555)
  • refactor: Rename keyring commands (#4560)
  • refactor: Rename operations from create to add terminology (#4561)
  • refactor: Rename options enumerable (#4527)
  • refactor: Rename to have action verb first (#4600)
  • refactor: Rename txn create to txn new (#4594)
  • refactor: Replace SE key collection root cid with short id (#4226)
  • refactor: Replace string literals with constants (#4301)
  • refactor: Update ACP Policy DSL (#4237)
  • refactor: Wrap Datastore in key-typed wrapper (#4242)

Testing

  • test: Add test for lensed views after restart (#4445)
  • test: Add tests for truncation of views (#4432)
  • test: Add truncate parallel test (#4420)
  • test: Enable all TestSignature tests for C client (#4166)
  • test: Enable marking tests as flaky (#4582)
  • test: Introduce secondary index test multiplier (#4387)
  • test: Migrate CreateDoc action to testo (#4407)
  • test: Migrate GetCollections test action to action package (#4389)
  • test: Migrate index related actions to new framework (#4349)
  • test: Migrate patch collection test action (#4395)
  • test: Migrate request test actions to new framework (#4359)
  • test: Migrate view test actions to action package (#4368)

Exhaustive Rename Changelog: v0.20.0 → v1.0.0-rc1

All renames, removals, and restructurings to public API surface since release v0.20.0. Only final renames are shown (A→C, not A→B→C).

PRs That Contributed Renames

PR Title
[#4169] Remove _latestCommits
[#4183] Rename SyncCollections to SyncCollectionVersions
[#4217] Upgrade CommitLink with full Commit object support
[#4237] Update ACP Policy DSL
[#4264] Add methods AddLens and ListLenses
[#4274] Rename foreign keys to _<rel>ID
[#4299] Rename schemaVersionId to collectionVersionId
[#4301] Replace string literals with constants (internal only)
[#4357] Rename certain GQL operators
[#4448] Use operator constants in schema definitions (internal only)
[#4464] Make P2P collection names consistent
[#4469] Make P2P document names consistent
[#4472] Make P2P replicator names consistent
[#4496] Rename GraphQL Aggregates
[#4527] Rename options Lister to Enumerable
[#4543] Rename GetCollectionsOptions.IncludeInactive
[#4544] Rename P2P commands from Create to Add
[#4553] Rename CreateEncryptedIndex
[#4555] Rename index commands (DropDelete, GetList)
[#4560] Rename keyring commands
[#4561] Rename operations from create to add
[#4578] Change GQL commits.docId param to list
[#4579] Remove GetAllDocIDs/docIDs from collection API
[#4581] Rename document-level cmds under collection API
[#4591] Rename Schema to Collection terminology
[#4594] Rename tx create to tx new
[#4600] Rename to have action verb first
[#4604] Rename encrypted index add to new
[#4605] Rename index add to new

1. GraphQL Schema

1.1 GQL Filter Operators

v0.20.0 Current
_ne _neq
_ge _geq
_le _leq

All other operators unchanged (_eq, _gt, _lt, _in, _nin, _like, _nlike, _ilike, _nilike, _any, _all, _none).

1.2 GQL Aggregate Fields

v0.20.0 Current
_avg AVG
_count COUNT
_max MAX
_min MIN
_sum SUM
_group GROUP
_similarity SIMILARITY

1.3 GQL Mutations

v0.20.0 Current
create_<Type> (e.g. create_User) add_<Type> (e.g. add_User)
create field in upsert mutation args add field

1.4 GQL Foreign Key Fields

Convention changed from <relation_name>_id to _<relationName>ID.

v0.20.0 Current
author_id _authorID
address_id _addressID
owner_id _ownerID
device_id _deviceID
specs_id _specsID
boss_id _bossID
publisher_id _publisherID
wrote_id _wroteID
favourite_id _favouriteID
reviewedBy_id _reviewedByID
host_id _hostID
hosts_id _hostsID
walks_id _walksID
walker_id _walkerID
book_id _bookID
feeds_id _feedsID
hates_id _hatesID
hatedBy_id _hatedByID
loves_id _lovesID
lovedBy_id _lovedByID
toleratedBy_id _toleratedByID
tolerates_id _toleratesID
fedBy_id _fedByID

1.5 GQL Field Renames

v0.20.0 Current
schemaVersionId collectionVersionId

1.6 GQL Commit Type Restructuring

v0.20.0 Current
CommitLink type (separate) Replaced by recursive Commit type
links field (contained both Links + Heads) Split into links (block.Links only) + heads (block.Heads only)
name field on CommitLink Removed; replaced by fieldName on Commit
LinksNameFieldName = "name" LinksNameFieldName = "linkName"

1.7 GQL Commit Query Parameter

v0.20.0 Current
_commits(docID: ID) (scalar) _commits(docID: [ID!]) (list)

1.8 GQL Removals

v0.20.0 Current
_latestCommits query Removed (use _commits with args instead)

2. CLI Commands

2.1 Collection / Schema / Document Commands

v0.20.0 Current Notes
client schema add client collection add Schema→Collection terminology
client collection create client document add Moved to document namespace
client collection delete client document delete Moved to document namespace
client collection get client document get Moved to document namespace
client collection update client document update Moved to document namespace
client collection docIDs Removed Made private, internal only
Flag --name (on doc cmds) --collection (on document parent)

2.2 Index Commands

v0.20.0 Current
client index create client index new
client index drop client index delete
client index list client index list (unchanged)

2.3 Encrypted Index Commands

v0.20.0 Current
client encrypted-index create client encrypted-index new
client encrypted-index delete client encrypted-index delete (unchanged)
client encrypted-index list client encrypted-index list (unchanged)

2.4 Transaction Commands

v0.20.0 Current
client tx create client tx new

2.5 Keyring Commands

v0.20.0 Current
keyring generate keyring new
keyring import keyring add
keyring export keyring get

2.6 P2P Replicator Commands

v0.20.0 Current
p2p replicator set p2p replicator add
p2p replicator delete p2p replicator delete (unchanged)
p2p replicator getall p2p replicator list

2.7 P2P Collection Commands

v0.20.0 Current
p2p collection add p2p collection add (unchanged)
p2p collection remove p2p collection delete
p2p collection getall p2p collection list
p2p collection sync p2p collection sync-versions

2.8 P2P Document Commands

v0.20.0 Current
p2p document add p2p document add (unchanged)
p2p document remove p2p document delete
p2p document getall p2p document list

2.9 Lens Commands (New)

v0.20.0 Current
(did not exist) client lens add
(did not exist) client lens list

3. Go Public Interfaces

3.1 Collection Interface (client/collection.go)

v0.20.0 Current
Create() AddDocument()
CreateMany() AddManyDocuments()
Update() UpdateDocument()
Save() SaveDocument()
Delete() DeleteDocument()
Exists() ExistsDocument()
Get() GetDocument()
UpdateWithFilter() UpdateDocumentsWithFilter()
DeleteWithFilter() DeleteDocumentsWithFilter()
GetAllDocIDs() Removed (private getAllDocIDsChan for backup)
CreateIndex() NewIndex()
DropIndex() DeleteIndex()
GetIndexes() ListIndexes()
CreateEncryptedIndex() NewEncryptedIndex()
DeleteEncryptedIndex() DeleteEncryptedIndex() (unchanged)
ListEncryptedIndexes() ListEncryptedIndexes() (unchanged)

3.2 Store Interface (client/db.go)

v0.20.0 Current
AddSchema() AddCollection()
GetAllIndexes() ListIndexes()
(did not exist) ListAllEncryptedIndexes()
(did not exist) AddLens()
(did not exist) ListLenses()

3.3 P2P Interface (client/p2p.go)

v0.20.0 Current
SetReplicator() AddReplicator()
DeleteReplicator() DeleteReplicator() (unchanged)
GetAllReplicators() ListReplicators()
AddP2PCollections() AddP2PCollections() (unchanged)
RemoveP2PCollections() DeleteP2PCollections()
GetAllP2PCollections() ListP2PCollections()
AddP2PDocuments() AddP2PDocuments() (unchanged)
RemoveP2PDocuments() DeleteP2PDocuments()
GetAllP2PDocuments() ListP2PDocuments()
SyncCollections() SyncCollectionVersions()
SyncDocuments() SyncDocuments() (unchanged)

3.4 Client Types

v0.20.0 Current
IndexCreateRequest NewIndexRequest
CollectionDefinition.CreateIndexes CollectionDefinition.NewIndexes
DocIDResult Removed
LensConfig.SourceSchemaVersionID LensConfig.SourceCollectionVersionID
LensConfig.DestinationSchemaVersionID LensConfig.DestinationCollectionVersionID
RelatedObjectID = "_id" Removed (replaced by ToFieldID() / ToRelatedObjectName())
SchemaVersionIDFieldName = "schemaVersionId" CollectionVersionIDFieldName = "collectionVersionId"
request.CreateInput = "create" request.AddInput = "add"
MutationType.CreateObjects MutationType.AddObjects

3.5 Options Types (client/options/)

v0.20.0 Current
options.Lister[T] options.Enumerable[T]
DocCreateOption AddDocumentOptions
CollectionCreateOptions N/A (absorbed into AddDocumentOptions)
GetCollectionsOptions.IncludeInactive GetCollectionsOptions.GetInactive
CollectionGetAllDocIDsOptions Removed

Index Options:

v0.20.0 Current
(index options did not exist as typed builders) NewCollectionIndexOptions / NewCollectionIndex()
(index options did not exist as typed builders) DeleteCollectionIndexOptions / DeleteCollectionIndex()
(index options did not exist as typed builders) ListCollectionIndexesOptions / ListCollectionIndexes()
(index options did not exist as typed builders) NewEncryptedIndexOptions / NewEncryptedIndex()
(index options did not exist as typed builders) DeleteEncryptedIndexOptions / DeleteEncryptedIndex()
(index options did not exist as typed builders) ListCollectionEncryptedIndexesOptions / ListCollectionEncryptedIndexes()
(index options did not exist as typed builders) TruncateCollectionOptions / TruncateCollection()

Store Options:

v0.20.0 Current
(options package did not exist) AddCollectionOptions / AddCollection()
(options package did not exist) ListIndexesOptions / ListIndexes()
(options package did not exist) AddLensOptions / AddLens()
(options package did not exist) ListLensesOptions / ListLenses()
(options package did not exist) SetMigrationOptions / SetMigration()

P2P Options:

v0.20.0 Current
(options package did not exist) AddReplicatorOptions / AddReplicator()
(options package did not exist) DeleteReplicatorOptions / DeleteReplicator()
(options package did not exist) ListReplicatorsOptions / ListReplicators()
(options package did not exist) AddP2PCollectionsOptions / AddP2PCollections()
(options package did not exist) DeleteP2PCollectionsOptions / DeleteP2PCollections()
(options package did not exist) ListP2PCollectionsOptions / ListP2PCollections()
(options package did not exist) AddP2PDocumentsOptions / AddP2PDocuments()
(options package did not exist) DeleteP2PDocumentsOptions / DeleteP2PDocuments()
(options package did not exist) ListP2PDocumentsOptions / ListP2PDocuments()
(options package did not exist) SyncCollectionVersionsOptions / SyncCollectionVersions()
(options package did not exist) SyncBranchableCollectionOptions / SyncBranchableCollection()
(options package did not exist) SyncDocumentsOptions / SyncDocuments()

3.6 Error Variables

v0.20.0 Current
errDocCreate / NewErrDocCreate() errDocAdd / NewErrDocAdd()
ErrSchemaVersionIDEmpty ErrCollectionVersionIDEmpty
ErrDeltaMissingSchemaVersionID ErrDeltaMissingCollectionVersionID
ErrEmptySchemaString ErrEmptyCollectionSDL
errSchemaRootDoesntMatch errCollectionRootDoesntMatch
errFieldKindDoesNotMatchFieldSchema errFieldKindDoesNotMatchFieldDefinition
errCollectionWithSchemaRootNotFound errCollectionRootNotFound
errPublishingToSchemaTopic errPublishingToCollectionTopic
errCollectionSchemaVersionIDCannotBeMutated errCollectionVersionIDCannotBeMutated

4. HTTP / OpenAPI

4.1 HTTP Routes Changed

v0.20.0 Current
DELETE /collections/{name}/{docID} DELETE /collections/{name}/document/{docID}
GET /collections/{name}/{docID} GET /collections/{name}/document/{docID}
PATCH /collections/{name}/{docID} PATCH /collections/{name}/document/{docID}
GET /collections/{name} (list docIDs) Removed
/p2p/collections/sync /p2p/collections/sync-versions
(did not exist) POST /lens
(did not exist) GET /lens
(did not exist) POST /collections/migrations

4.2 HTTP operationIds (all verb-first now)

v0.20.0 Current
collection_create add_document
collection_get get_document
collection_update update_document
collection_delete delete_document
collection_keys Removed
index_create new_index
index_drop delete_index
index_list list_indexes
encrypted_index_create new_encrypted_index
encrypted_index_delete delete_encrypted_index
encrypted_index_list list_encrypted_indexes
add_schema add_collection
collection_describe describe_collection
collection_update_with_filter update_collection_with_filter
collection_delete_with_filter delete_collection_with_filter
backup_export export_backup
backup_import import_backup
graphql_post post_graphql
graphql_get get_graphql
peer_info get_peer_info
peer_replicator_set add_peer_replicator
peer_replicator_delete delete_peer_replicator
peer_replicator_list list_peer_replicators
peer_collections_add add_peer_collections
peer_collections_remove delete_peer_collections
peer_collections_list list_peer_collections
peer_documents_add add_peer_documents
peer_documents_remove delete_peer_documents
peer_documents_list list_peer_documents
peer_sync_collections sync_peer_collection_versions
peer_sync_documents sync_peer_documents
peer_sync_branchable_collection sync_peer_branchable_collection
(did not exist) get_peer_active_peers (was peer_active_peers)
(did not exist) connect_peer
debug_dump dump_debug
node_identity get_node_identity
transaction_commit commit_transaction
transaction_discard discard_transaction
ccip_post post_ccip
ccip_get get_ccip
(did not exist) lens_addadd_lens
(did not exist) lens_listlist_lenses
(did not exist) collection_set_migrationset_collection_migration
(did not exist) indexes_list_alllist_all_indexes
(did not exist) encrypted_indexes_list_alllist_all_encrypted_indexes
view_add add_view
view_refresh refresh_view

4.3 OpenAPI Schema Keys

v0.20.0 Current
index_create new_index
set_replicator_params add_replicator_params
graphql_request request_graphql
collection_update update_collection
collection_delete delete_collection
encrypted_index_create new_encrypted_index

5. ACP Permissions

5.1 Node Resource Permissions (full list)

v0.20.0 Constant v0.20.0 String Current Constant Current String
NodeDACBypassPerm "dac-bypass" NodeBypassDACPerm "bypass-dac"
NodeDACEnablePerm "dac-enable" NodeEnableDACPerm "enable-dac"
NodeDACDisablePerm "dac-disable" NodeDisableDACPerm "disable-dac"
NodeDACPurgePerm "dac-purge" NodePurgeDACPerm "purge-dac"
NodeDACStatusPerm "dac-status" NodeGetDACStatusPerm "get-dac-status"
NodeDACRelationAddPerm "dac-relation-add" NodeAddDACRelationPerm "add-dac-relation"
NodeDACRelationDeletePerm "dac-relation-delete" NodeDeleteDACRelationPerm "delete-dac-relation"
NodeDACPolicyAddPerm "dac-policy-add" NodeAddDACPolicyPerm "add-dac-policy"
NodeNACReEnablePerm "nac-re-enable" NodeReEnableNACPerm "re-enable-nac"
NodeNACDisablePerm "nac-disable" NodeDisableNACPerm "disable-nac"
NodeNACPurgePerm "nac-purge" NodePurgeNACPerm "purge-nac"
NodeNACStatusPerm "nac-status" NodeGetNACStatusPerm "get-nac-status"
NodeNACRelationAddPerm "nac-relation-add" NodeAddNACRelationPerm "add-nac-relation"
NodeNACRelationDeletePerm "nac-relation-delete" NodeDeleteNACRelationPerm "delete-nac-relation"
NodeCollectionPatchPerm "collection-patch" NodePatchCollectionPerm "patch-collection"
NodeCollectionGetPerm "collection-get" NodeGetCollectionPerm "get-collection"
NodeCollectionTruncatePerm "collection-truncate" NodeTruncateCollectionPerm "truncate-collection"
NodeDocumentReadPerm "document-read" NodeReadDocumentPerm "read-document"
NodeDocumentUpdatePerm "document-update" NodeUpdateDocumentPerm "update-document"
NodeDocumentDeletePerm "document-delete" NodeDeleteDocumentPerm "delete-document"
NodeIndexListPerm "index-list" NodeListIndexPerm "list-index"
NodeIndexCreatePerm "index-create" NodeNewIndexPerm "new-index"
NodeIndexDropPerm "index-drop" NodeDeleteIndexPerm "delete-index"
NodeEncryptedIndexCreatePerm "encrypted-index-create" NodeNewEncryptedIndexPerm "new-encrypted-index"
NodeEncryptedIndexDeletePerm "encrypted-index-delete" NodeDeleteEncryptedIndexPerm "delete-encrypted-index"
NodeEncryptedIndexListPerm "encrypted-index-list" NodeListEncryptedIndexPerm "list-encrypted-index"
NodeEncryptedIndexListAllPerm "encrypted-index-list-all" NodeListAllEncryptedIndexPerm "list-all-encrypted-index"
NodeP2PPeerInfo "p2p-peer-info" NodeGetP2PPeerInfoPerm "get-p2p-peer-info"
NodeP2PPeerConnectPerm "p2p-peer-connect" NodeConnectP2PPeerPerm "connect-p2p-peer"
NodeP2PPeerActivePerm "p2p-peer-active" NodeGetP2PActivePeersPerm "get-p2p-active-peers"
NodeP2PReplicatorCreatePerm "p2p-replicator-create" NodeAddP2PReplicatorPerm "add-p2p-replicator"
NodeP2PReplicatorDeletePerm "p2p-replicator-delete" NodeDeleteP2PReplicatorPerm "delete-p2p-replicator"
NodeP2PReplicatorListPerm "p2p-replicator-list" NodeListP2PReplicatorPerm "list-p2p-replicator"
NodeP2PCollectionAddPerm "p2p-collection-add" NodeAddP2PCollectionPerm "add-p2p-collection"
NodeP2PCollectionDeletePerm "p2p-collection-delete" NodeDeleteP2PCollectionPerm "delete-p2p-collection"
NodeP2PCollectionListPerm "p2p-collection-list" NodeListP2PCollectionPerm "list-p2p-collection"
NodeP2PDocumentAddPerm "p2p-document-add" NodeAddP2PDocumentPerm "add-p2p-document"
NodeP2PDocumentDeletePerm "p2p-document-delete" NodeDeleteP2PDocumentPerm "delete-p2p-document"
NodeP2PDocumentListPerm "p2p-document-list" NodeListP2PDocumentPerm "list-p2p-document"
NodeP2PSyncDocumentsPerm "p2p-sync-documents" NodeSyncP2PDocumentsPerm "sync-p2p-documents"
NodeP2PSyncCollectionVersionsPerm "p2p-sync-collection-versions" NodeSyncP2PCollectionVersionsPerm "sync-p2p-collection-versions"
NodeP2PSyncBranchableCollectionPerm "p2p-sync-branchable-collection" NodeSyncP2PBranchableCollectionPerm "sync-p2p-branchable-collection"
NodeSignatureVerifyPerm "signature-verify" NodeVerifySignaturePerm "verify-signature"
NodeLensCreatePerm "lens-create" NodeAddLensPerm "add-lens"
NodeLensListPerm "lens-list" NodeListLensPerm "list-lens"
NodeViewRefreshPerm "view-refresh" NodeRefreshViewPerm "refresh-view"
NodeViewAddPerm "view-add" NodeAddViewPerm "add-view"
NodeMigrationSetPerm "migration-set" NodeSetMigrationPerm "set-migration"

5.2 ACP Policy DSL Format

v0.20.0 Current
resources: { name: { ... } } (map) resources: [ { name: ..., ... } ] (list)
permissions: { name: { expr: ... } } (map) permissions: [ { name: ..., expr: ... } ] (list)
relations: { name: { types: [...] } } (map) relations: [ { name: ..., types: [...] } ] (list)
User-defined owner relation allowed owner is reserved/auto-added
JSON policy format supported JSON policy format removed

6. C Bindings (cbindings/)

v0.20.0 Export Current Export
CollectionCreate AddDocument
CollectionDelete DeleteDocument
CollectionGet GetDocument
CollectionUpdate UpdateDocument
CollectionListDocIDs Removed
CollectionAddAddSchema AddCollection
CollectionDescribe DescribeCollection
CollectionPatch PatchCollection
CollectionTruncate TruncateCollection
IndexCreate NewIndex
IndexDrop DeleteIndex
IndexList ListIndexes
EncryptedIndexCreate NewEncryptedIndex
EncryptedIndexDelete DeleteEncryptedIndex
EncryptedIndexList ListEncryptedIndexes
IdentityNew NewIdentity
NodeIdentity GetNodeIdentity
IdentityFree FreeIdentity
NodeClose CloseNode
VersionGet GetVersion
TransactionCreate CreateTransaction
TransactionCommit CommitTransaction
TransactionDiscard DiscardTransaction
BlockVerifySignature VerifyBlockSignature
ViewAdd AddView
ViewRefresh RefreshView
LensSet SetLens
(did not exist) AddLens
(did not exist) ListLenses
P2PsetReplicator AddP2PReplicator
P2PdeleteReplicator DeleteP2PReplicator
P2PgetAllReplicators ListP2PReplicators
P2PcollectionAdd AddP2PCollection
P2PcollectionRemove DeleteP2PCollection
P2PcollectionGetAll ListP2PCollections
P2PdocumentAdd AddP2PDocument
P2PdocumentRemove DeleteP2PDocument
P2PdocumentGetAll ListP2PDocuments
P2PcollectionSync SyncP2PCollectionVersions
P2PdocumentSync SyncP2PDocuments
(did not exist) SyncP2PBranchableCollection
P2Pconnect ConnectP2PPeers
P2PInfo GetP2PInfo
(did not exist) ListP2PActivePeers

7. JS Bindings (js/)

7.1 Store-Level Methods

v0.20.0 Current
addSchema addCollection
getAllIndexes listIndexes
(did not exist) listAllEncryptedIndexes
(did not exist) addLens
(did not exist) listLenses

7.2 Collection-Level Methods

v0.20.0 Current
create addDocument
createMany addManyDocuments
update updateDocument
save saveDocument
delete deleteDocument
exists existsDocument
get getDocument
updateWithFilter updateDocumentsWithFilter
deleteWithFilter deleteDocumentsWithFilter
getAllDocIDs Removed
createIndex newIndex
dropIndex deleteIndex
getIndexes listIndexes
createEncryptedIndex newEncryptedIndex
deleteEncryptedIndex deleteEncryptedIndex (unchanged)
listEncryptedIndexes listEncryptedIndexes (unchanged)

8. Planner / Internal

v0.20.0 Current
createNode / "createNode" addNode / "addNode"
Planner.CreateDocs() Planner.AddDocs()
createExecInfo addExecInfo
Source: README.md, updated 2026-03-05