Last release 6 days ago
21 Aug 2026
Ships fairly regularly
a new release about every 9 days
Nearly every release is documented
notes for 24 of 24 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
325 releases · first in 2021
Release timeline
325 releases since 2021Releases
- v1.0.1-0.20260701200302-96bb67162c011 Jul 2026pre-release
Nothing published for this version
- v1.0.029 Jun 2026
Release notes
Open source →Changelog
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 pre v1.0.0 databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://source.network/discord.
Features
- feat: Add Action system (#4922)
- feat: Add GetNodeOptions functionality to C bindings/CLI (#4876)
- feat: Add disconnect peer operation (#4879)
- feat: Add identity export/recovery to c bindings (#4839)
- feat: Add missing node options to C bindings (#4857)
- feat: Add support for building C bindings on Windows (#4691)
- feat: Add syntax sugar DeleteCollection cmd (#4688)
- feat: Branchable collection ACP (#4990)
- feat: Bump explorer version to v1.0.0 (#5015)
- feat: Create a .deb file when building C bindings for Linux (#4850)
- feat: DocID based on genesis CID (#4838)
- feat: Fetch orphan parent docs with exhaustive (#4454)
- feat: Gate commit queries with DAC (#4809)
- feat: Interactive secret prompt (#4928)
- feat: JS client p2p (#4793)
- feat: Render field Kind and Typ as strings (#4945)
- feat: Support comma-separated lists for connect/disconnect (#5000)
- feat: Support querying with multiple cids (#4794)
- feat: Support secondary index backfill (#4942)
- feat: Swap playground for explorer (#4919)
- feat: Transaction TTL Cache for HTTP API (#4994)
Fix
- fix: Add SkipChangeDetector mechanism for tests (#4975)
- fix: Add exhaustive directive to npx test fixtures (#4634)
- fix: Apply parent filter to pipe source in groupBy queries (#4955)
- fix: Bump api version to v1 (#4642)
- fix: Cap P2P stream length (#4728)
- fix: Clean schema heads on collection deletion/patch (#4805)
- fix: Clear stale errors in multiScanNode per accessor cycle (#4910)
- fix: Decrypt blocks during versioned-fetcher replay (#4790)
- fix: Derive CLI auth token audience from the API URL (#4929)
- fix: Enable auto tls again (#4979)
- fix: Encrypted index patch tests and validation (#4611)
- fix: Ensure list p2p replicator nac gate works (#4675)
- fix: Exit CLI on API server errors (#4740)
- fix: Fallback to scanNode if index can't handle (#4633)
- fix: Finalize DateTime inline array support (#4915)
- fix: Fix HTTP default address bug (#4941)
- fix: Fix LensVM stackoverflow (#4908)
- fix: Fix broken transaction behavior (#4587)
- fix: Fix change detector's behavior with commitTransaction (#4647)
- fix: Fix cli commands markdown output (#4681)
- fix: Fix duplicate relation groupBy (#4995)
- fix: Fix index and ACP bugs related to doc deletes (#4991)
- fix: Fix net relay bug in CLI (#4887)
- fix: Fix syncing of collections with no inactive version (#4926)
- fix: Fix transactional behavior in updateWithFilter (#4643)
- fix: GQL operation execution order (#5013)
- fix: Handle multi-layered self referencing relations (#4712)
- fix: Handle the refresh of views larger than 11MB (#4889)
- fix: Handle truncation of more than 11MB (#4877)
- fix: Improve wizard hint text visibility on dark terminals (#4875)
- fix: Inject release version in docker image build (#4930)
- fix: Introspection test bug (#4631)
- fix: KMS lookup under NAC for encrypted DAG sync (#4778)
- fix: Make COUNT work with groupBy (#4986)
- fix: Make DAC enabled by default (#4862)
- fix: Make GROUP respect result limit in ordered root object (#4958)
- fix: Make auth token rejection 403s describe their cause (#4934)
- fix: Make change detector skip transactional isolation tests (#4649)
- fix: Make non-existent transactions return an error (#4987)
- fix: Make silent build tag work on Android and Linux builds (#4761)
- fix: Make startup succeed if TLS is enabled for HTTP API (#4973)
- fix: Multi-peer KMS encryption-key fetch race (#4812)
- fix: Normalize trailing slashes on HTTP API routes (#4856)
- fix: OpenAPI optional bearerToken security scheme (#4980)
- fix: Orphan scan @exhaustive + relation ordering (#4662)
- fix: P2P KMS response key CID verification (#4961)
- fix: P2P-merged ACP doc with @index no corrupt index (#4835)
- fix: Parse schemas with multi-byte chars in SDL comments (#4836)
- fix: Patching of new fields on cols with sec. relations (#4709)
- fix: Persist test state for change detector (#4755)
- fix: Prevent doc writes after collection deleted (#4657)
- fix: Prevent txn-actions from executing concurrently (#4763)
- fix: Record view refresh errors against the refresh action (#4969)
- fix: Reduce telemetry logs (#4639)
- fix: Reject duplicate relation names without directive (#4861)
- fix: Reject nested list SDL with clear error (#4800)
- fix: Remove 'concurrent' transaction concept (#4692)
- fix: Remove ability to disable DAC (#4903)
- fix: Resolve the identity panic when no keyring (#4680)
- fix: Return ExecRequest errors correctly over http (#4730)
- fix: Sec. index edge cases in subscriptions and inv. joins (#4684)
- fix: Seed CollectionVersions from DB (#4750)
- fix: Subscription handler iterator leak on join collections (#4827)
- fix: Support field kind for non-nillable array scalars (#4895)
- fix: TopLevelNode.Close accumulates child errors (#4911)
- fix: Treat multiple filters as AND when join is inverted (#4656)
- fix: Truncate signed documents (#4672)
- fix: Use testing.Testing() for test mode detection (#4585)
Documentation
- docs: Better categorizing of HTTP ACP endpoints (#5010)
- docs: Clarify
keyring newcommand behavior (#4932) - docs: Clarify behavior of backup command (#4931)
- docs: Document soft delete behavior on CLI delete command (#4665)
- docs: Expand test suite documentation (#4699)
- docs: Rename leftover operator references (#4825)
- docs: Update DefraDB logo (#4664)
- docs: Update README to emphasize zero-trust (#4925)
- docs: Update link to ACP with new docs page (#4956)
Refactoring
- refactor: Default directive argument types (#4938)
- refactor: Inconsistent cli flags (#5006)
- refactor: Remove badger namespace from CLI path config (#5008)
- refactor: Remove collection cache from context (#4651)
- refactor: Remove txnMapHandle from C Binding wrapper (#4725)
- refactor: Separate cbindings to one function per file (#4786)
- refactor: Use JS txn directly instead of context (#4775)
Testing
- test: Add encrypted-docs test multiplier (#4914)
- test: Add signed-docs test multiplier (#4746)
- test: Cover GraphQL subscriptions on ACP-gated collections (#4852)
- test: Cover HTTP auth middleware rejection paths (#4892)
- test: Cover re-adding a deleted doc (#4854)
- test: Document incremental lens migration bug under indexes (#4737)
- test: Encrypt docs in replicator test (#4801)
- test: Extend CRDT tests (#4603)
- test: Introduce C binding smoke test (#4765)
- test: Introduce DeleteWithFilter test action (#4993)
- test: Migrate UpdateDoc action to new system (#4749)
- test: Migrate commit txn action to testo (#4754)
- test: Nil-guard collection slot before mutation (#4776)
- test: Track multiple expected DAG heads per doc (#4609)
Release notes2 sources agree
Open source →2026-06-29
Features
- Bump explorer version to v1.0.0 (#5015)
- Branchable collection ACP (#4990)
- DocID based on genesis CID (#4838)
- Transaction TTL Cache for HTTP API (#4994)
- Support comma-separated lists for connect/disconnect (#5000)
- Support secondary index backfill (#4942)
- Render field Kind and Typ as strings (#4945)
- Interactive secret prompt (#4928)
- Add Action system (#4922)
- JS client p2p (#4793)
- Add GetNodeOptions functionality to C bindings/CLI (#4876)
- Swap playground for explorer (#4919)
- Add disconnect peer operation (#4879)
- Add missing node options to C bindings (#4857)
- Create a .deb file when building C bindings for Linux (#4850)
- Add identity export/recovery to c bindings (#4839)
- Support querying with multiple cids (#4794)
- Gate commit queries with DAC (#4809)
- Add syntax sugar DeleteCollection cmd (#4688)
- Add support for building C bindings on Windows (#4691)
- Fetch orphan parent docs with exhaustive (#4454)
Fixes
- P2P-merged ACP doc with @index no corrupt index (#4835)
- Seed CollectionVersions from DB (#4750)
- Fix index and ACP bugs related to doc deletes (#4991)
- Make non-existent transactions return an error (#4987)
- OpenAPI optional bearerToken security scheme (#4980)
- Make COUNT work with groupBy (#4986)
- Enable auto tls again (#4979)
- Clear stale errors in multiScanNode per accessor cycle (#4910)
- Orphan scan @exhaustive + relation ordering (#4662)
- TopLevelNode.Close accumulates child errors (#4911)
- Inject release version in docker image build (#4930)
- Make startup succeed if TLS is enabled for HTTP API (#4973)
- Encrypted index patch tests and validation (#4611)
- Record view refresh errors against the refresh action (#4969)
- Add SkipChangeDetector mechanism for tests (#4975)
- P2P KMS response key CID verification (#4961)
- Apply parent filter to pipe source in groupBy queries (#4955)
- Reject nested list SDL with clear error (#4800)
- Make GROUP respect result limit in ordered root object (#4958)
- Introspection test bug (#4631)
- Fix broken transaction behavior (#4587)
- Fix change detector's behavior with commitTransaction (#4647)
- Make change detector skip transactional isolation tests (#4649)
- Finalize DateTime inline array support (#4915)
- Fix HTTP default address bug (#4941)
- Derive CLI auth token audience from the API URL (#4929)
- Make auth token rejection 403s describe their cause (#4934)
- Multi-peer KMS encryption-key fetch race (#4812)
- Support field kind for non-nillable array scalars (#4895)
- Remove ability to disable DAC (#4903)
- Fix LensVM stackoverflow (#4908)
- Decrypt blocks during versioned-fetcher replay (#4790)
- Handle the refresh of views larger than 11MB (#4889)
- Handle truncation of more than 11MB (#4877)
- Parse schemas with multi-byte chars in SDL comments (#4836)
- Fix net relay bug in CLI (#4887)
- Fix duplicate relation groupBy (#4995)
- Use testing.Testing() for test mode detection (#4585)
- Fix syncing of collections with no inactive version (#4926)
- Return ExecRequest errors correctly over http (#4730)
- Cap P2P stream length (#4728)
- Exit CLI on API server errors (#4740)
- Fix transactional behavior in updateWithFilter (#4643)
- Treat multiple filters as AND when join is inverted (#4656)
- Improve wizard hint text visibility on dark terminals (#4875)
- Subscription handler iterator leak on join collections (#4827)
- Reject duplicate relation names without directive (#4861)
- Make DAC enabled by default (#4862)
- Normalize trailing slashes on HTTP API routes (#4856)
- Clean schema heads on collection deletion/patch (#4805)
- KMS lookup under NAC for encrypted DAG sync (#4778)
- Fix cli commands markdown output (#4681)
- Prevent txn-actions from executing concurrently (#4763)
- Make silent build tag work on Android and Linux builds (#4761)
- Persist test state for change detector (#4755)
- GQL operation execution order (#5013)
- Reduce telemetry logs (#4639)
- Sec. index edge cases in subscriptions and inv. joins (#4684)
- Handle multi-layered self referencing relations (#4712)
- Patching of new fields on cols with sec. relations (#4709)
- Remove 'concurrent' transaction concept (#4692)
- Prevent doc writes after collection deleted (#4657)
- Resolve the identity panic when no keyring (#4680)
- Ensure list p2p replicator nac gate works (#4675)
- Truncate signed documents (#4672)
- Fallback to scanNode if index can't handle (#4633)
- Add exhaustive directive to npx test fixtures (#4634)
- Bump api version to v1 (#4642)
Documentation
- Better categorizing of HTTP ACP endpoints (#5010)
- Document soft delete behavior on CLI delete command (#4665)
- Update link to ACP with new docs page (#4956)
- Clarify
keyring newcommand behavior (#4932) - Clarify behavior of backup command (#4931)
- Update README to emphasize zero-trust (#4925)
- Rename leftover operator references (#4825)
- Expand test suite documentation (#4699)
- Update DefraDB logo (#4664)
Performance
- Batch index rebuild on collection version switch (#4976)
Refactoring
- Remove badger namespace from CLI path config (#5008)
- Inconsistent cli flags (#5006)
- Default directive argument types (#4938)
- Separate cbindings to one function per file (#4786)
- Use JS txn directly instead of context (#4775)
- Remove txnMapHandle from C Binding wrapper (#4725)
- Remove collection cache from context (#4651)
- i: Remove ctx-txn deadcode (#4716)
Testing
- Introduce C binding smoke test (#4765)
- Add signed-docs test multiplier (#4746)
- Add encrypted-docs test multiplier (#4914)
- Cover re-adding a deleted doc (#4854)
- Cover HTTP auth middleware rejection paths (#4892)
- Nil-guard collection slot before mutation (#4776)
- Encrypt docs in replicator test (#4801)
- Track multiple expected DAG heads per doc (#4609)
- Extend CRDT tests (#4603)
- Migrate UpdateDoc action to new system (#4749)
- Cover GraphQL subscriptions on ACP-gated collections (#4852)
- Document incremental lens migration bug under indexes (#4737)
- Introduce DeleteWithFilter test action (#4993)
- Migrate commit txn action to testo (#4754)
Chore
- Standard use strings in CLI (#4937)
- Prefer docID doc update/delete in c bindings (#4933)
- Update aggregate return types for non-nillable fields (#4923)
- Collection version templates in tests (#4723)
- Fix the C binding Linux build command (#4701)
- Clean up logs (#4677)
- Improve HTTP error status codes and response format (#4661)
- Improve error messages on different layers (#4650)
- Bump playground version (#4637)
Bot
- Update dependencies (bulk dependabot PRs) 2026-06-08 (#4906)
- Update dependencies (bulk dependabot PRs) 2026-06-02 (#4866)
- Update dependencies (bulk dependabot PRs) 2026-06-01 (#4858)
- Update dependencies (bulk dependabot PRs) 19-05-2026 (#4821)
- Update dependencies (bulk dependabot PRs) 2026-05-11 (#4810)
- Update dependencies (bulk dependabot PRs) 04-05-2026 (#4767)
- Update dependencies (bulk dependabot PRs) 23-04-2026 (#4747)
- Update dependencies (bulk dependabot PRs) 14-04-2026 (#4711)
- Update dependencies (bulk dependabot PRs) 2026-04-07 (#4693)
- Bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 (#4673)
- Bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 (#4686)
<a name="v1.0.0-rc1"></a>
- v1.0.0-rc1.0.20260710201422-1f995be71c1710 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260709185045-63f6bf7004349 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260708214723-21d11bb31ffc8 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260708192413-9bb5fe1363248 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260708180034-615763b3c5888 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260707235354-2d4392ec5d4a7 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260707223202-952c22423a047 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260707165346-cc1993c8e3fa7 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260706225440-7f26b463eb146 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260704000308-ba262e90c1a04 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260703215640-12058a9e06563 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260702200429-ff2648320d132 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260702175608-db520bc6107d2 Jul 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260630183541-6369a4a762d430 Jun 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260626160933-080f089390bb26 Jun 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260623184355-248db2a1879523 Jun 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260622213122-3f1bdba5182322 Jun 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260620001117-75405a442fea20 Jun 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260511201007-1fab9fb3d36b11 May 2026pre-release
Nothing published for this version
- v1.0.0-rc1.0.20260410215331-d5a5a8790f4a10 Apr 2026pre-release
Nothing published for this version
- v1.0.0-rc15 Mar 2026pre-release
Release notes
Open source →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 [email protected] 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
_eqand_neqto 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 _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
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
createtoaddterminology (#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 SyncCollectionstoSyncCollectionVersions#4217 Upgrade CommitLink with full Commit object support #4237 Update ACP Policy DSL #4264 Add methods AddLensandListLenses#4274 Rename foreign keys to _<rel>ID#4299 Rename schemaVersionIdtocollectionVersionId#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 ListertoEnumerable#4543 Rename GetCollectionsOptions.IncludeInactive#4544 Rename P2P commands from CreatetoAdd#4553 Rename CreateEncryptedIndex#4555 Rename index commands ( Drop→Delete,Get→List)#4560 Rename keyring commands #4561 Rename operations from createtoadd#4578 Change GQL commits.docIdparam to list#4579 Remove GetAllDocIDs/docIDsfrom collection API#4581 Rename document-level cmds under collection API #4591 Rename SchematoCollectionterminology#4594 Rename tx createtotx new#4600 Rename to have action verb first #4604 Rename encrypted index addtonew#4605 Rename index addtonew
1. GraphQL Schema
1.1 GQL Filter Operators
v0.20.0 Current _ne_neq_ge_geq_le_leqAll other operators unchanged (
_eq,_gt,_lt,_in,_nin,_like,_nlike,_ilike,_nilike,_any,_all,_none).1.2 GQL Aggregate Fields
v0.20.0 Current _avgAVG_countCOUNT_maxMAX_minMIN_sumSUM_groupGROUP_similaritySIMILARITY1.3 GQL Mutations
v0.20.0 Current create_<Type>(e.g.create_User)add_<Type>(e.g.add_User)createfield in upsert mutation argsaddfield1.4 GQL Foreign Key Fields
Convention changed from
<relation_name>_idto_<relationName>ID.v0.20.0 Current author_id_authorIDaddress_id_addressIDowner_id_ownerIDdevice_id_deviceIDspecs_id_specsIDboss_id_bossIDpublisher_id_publisherIDwrote_id_wroteIDfavourite_id_favouriteIDreviewedBy_id_reviewedByIDhost_id_hostIDhosts_id_hostsIDwalks_id_walksIDwalker_id_walkerIDbook_id_bookIDfeeds_id_feedsIDhates_id_hatesIDhatedBy_id_hatedByIDloves_id_lovesIDlovedBy_id_lovedByIDtoleratedBy_id_toleratedByIDtolerates_id_toleratesIDfedBy_id_fedByID1.5 GQL Field Renames
v0.20.0 Current schemaVersionIdcollectionVersionId1.6 GQL Commit Type Restructuring
v0.20.0 Current CommitLinktype (separate)Replaced by recursive Committypelinksfield (contained both Links + Heads)Split into links(block.Links only) +heads(block.Heads only)namefield onCommitLinkRemoved; replaced by fieldNameonCommitLinksNameFieldName = "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 _latestCommitsqueryRemoved (use _commitswith args instead)
2. CLI Commands
2.1 Collection / Schema / Document Commands
v0.20.0 Current Notes client schema addclient collection addSchema→Collection terminology client collection createclient document addMoved to documentnamespaceclient collection deleteclient document deleteMoved to documentnamespaceclient collection getclient document getMoved to documentnamespaceclient collection updateclient document updateMoved to documentnamespaceclient collection docIDsRemoved Made private, internal only Flag --name(on doc cmds)--collection(ondocumentparent)2.2 Index Commands
v0.20.0 Current client index createclient index newclient index dropclient index deleteclient index listclient index list(unchanged)2.3 Encrypted Index Commands
v0.20.0 Current client encrypted-index createclient encrypted-index newclient encrypted-index deleteclient encrypted-index delete(unchanged)client encrypted-index listclient encrypted-index list(unchanged)2.4 Transaction Commands
v0.20.0 Note truncated.
Release notes2 sources agree
Open source →2026-03-02
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 [email protected] or join our Discord at https://source.network/discord.
Features
- Serverless client side schema generation (#4263)
- Gate sync collection versions op with NAC (#4507)
- Require dev-mode for import/export (#4569)
- Gate sync documents op with NAC (#4528)
- Gate encrypted index delete op with NAC (#4534)
- Gate list encrypted indexes op with NAC (#4540)
- Gate encrypted index create op with NAC (#4532)
- Gate migration set op with NAC (#4530)
- Gate SyncBranchableCollection with NAC (#4522)
- Consolidate node options (#4501)
- Gate view add op with NAC (#4504)
- Gate view refresh op with NAC (#4505)
- Add support for
_eqand_neqto inline scalar arrays (#4293) - Make explain recursive for nested joins (#4471)
- Introduce options package for public methods (#4335)
- Gate active peers op with NAC (#4499)
- Gate lens add op with NAC (#4492)
- Gate lens list op with NAC (#4491)
- Gate PeerInfo with NAC & Add Context (#4282)
- Improve NotAuthorizedToPerformOperation errors (#4373)
- LevelDB store (#4298)
- Add optional file flags for cli view add command (#3314)
- Accept arrays of CIDs for GQL queries (#4571)
- Change GQL commits.docId param to list (#4578)
- Add keyring overwrite protection (#4290)
- Remove _latestCommits (#4169)
- Add collection truncate (#4326)
- Rename foreign keys to _<rel>ID (#4274)
- Add optional health check to setup wizard (#4313)
- Rename schema version id (#4299)
- Introduce setup wizard (#4273)
- Refresh materialized views on create (#4379)
- Create view from cid (#4278)
- Sync branchable collection (#4188)
- Add methods AddLens and ListLenses (#4264)
- Create unique index for 1-to-1 relations (#4218)
- Push topic peer events to event bus (#4247)
- Upgrade CommitLink with full Commit object support (#4217)
- Allow C binding view functions to take in identities (#4241)
- Support UTC_NOW as a DateTime value (#4210)
- Add _in/_nin to _commits filter (#4230)
- Enable filter on commit's fieldName (#4216)
- Add ability to bypass DAC for performance (#4115)
- Add ActivePeers function (#4206)
- Add secp256r1 support (#4202)
- Allow deletion of collections via PatchCollection (#4200)
- i: Remove blocks when truncating (#4365)
Fixes
- Null json index panic (#4338)
- Encode identity as hex in commit query (#4104)
- Lens file reading in collection patch command (#4564)
- Propagate unmarshal errors (#4563)
- Only scan relevant doc-commits in commit queries (#4512)
- Make CBinding NewNode attach identity to context (#4519)
- Make Wazero the lens runtime for C bindings (#4524)
- Remove extraneous comment in C Binding header (#4481)
- Async context use (#4455)
- Field short ID retrieval (#4457)
- Flaky SourceHub tests (#4416)
- Prevent database operations after close (#4435)
- Windows build (#4124)
- Reject index on accumulated CRDT fields (#4447)
- Ensure commit subscriptions filter by docID (#4436)
- Aggregates on indexed relations (#4438)
- Secondary index handle neq and nin filters (#4433)
- Test matcher subscription bug (#4429)
- Skip index for complex JSON filter values (#4426)
- Use index with _or conditions on same field (#4423)
- Index on JSON _geq and _leq null filter ops (#4415)
- Grouping by indexed field (#4409)
- Filter on top-level indexed JSON field (#4406)
- Correctly refresh views with already cached data (#4382)
- Add missing return after successful merge execution (#4356)
- Secondary index on sub query filter (#4344)
- Update to WebTransport 0.10.0 (#4589)
- Index-based order for nested queries (#4342)
- Handle _version property in time travel queries (#4147)
- Suppress error log on timeout in pubsub handler (#4292)
- Unify docID type to ID in graphql schema (#4291)
- On doc-sync wait for docs from all peers (#4296)
- Connect peers with retries in tests (#4289)
- Migrations with filtering (#4254)
- Make resolution of UTC_NOW the same across transaction (#4248)
- Sync DAG (#4270)
- Ordering by multiple fields (#4238)
- Sec. side relation via patch and AddSchema (#4221)
- Remove enabling NAC option from config (#4225)
- Introspection error and badly formatted GQL types (#4175)
- Lint issues in gendocs_test.go (#4203)
- Make node apply a default store path (#4186)
- Mutation of branchable collection (#4187)
- Handle _version alongside type joins (#4174)
- Bump sonic to version 14.2 with Go 1.24 support (#4167)
- Solve cyclic-dependency stack overflow bug (#4332)
- Lens-migrations-aware secondary indexes (#4114)
- Handle queries with _version prop and order param (#4146)
- Return error from CLI when collection not found (#4592)
- Fix identity-related bugs in c bindings (#4145)
- Set FieldID when syncing collections (#4142)
- Allow Lenses to pull docs from source (#4143)
- Glibc error with Docker container (#4129)
Documentation
Performance
- Skip value fetch when only keys are requested (#4372)
Refactoring
- Rename encrypted index add to encrypted index new (#4604)
- Rename index add to index new (#4605)
- Rename to have action verb first (#4600)
- Rename txn create to txn new (#4594)
- Rename 'Schema' to 'Collection' terminology (#4591)
- Rename document-level cmds under collection api (#4581)
- Remove GetAllDocIDs/docIDs from collection api (#4579)
- Rename operations from
createtoaddterminology (#4561) - Rename keyring commands (#4560)
- Rename index commands (#4555)
- Rename CreateEncryptedIndex (#4553)
- Move identity context funcs to internal (#4549)
- Rename GetCollectionsOptions.GetInactive (#4543)
- Rename options enumerable (#4527)
- Make P2P document names consistent (#4469)
- Make P2P collection names consistent (#4464)
- Rename certain GQL operators (#4357)
- Update ACP Policy DSL (#4237)
- Introduce collection lock system (#4276)
- Replace string literals with constants (#4301)
- Remove p2p transactions (#4212)
- Wrap Datastore in key-typed wrapper (#4242)
- Replace SE key collection root cid with short id (#4226)
- KMS sync ordering (#4214)
- Pass identity consistently in C binding functions (#4180)
- Rename SyncCollections to SyncCollectionVersions (#4183)
Testing
- Enable marking tests as flaky (#4582)
- Add truncate parallel test (#4420)
- Add test for lensed views after restart (#4445)
- Add tests for truncation of views (#4432)
- Migrate patch collection test action (#4395)
- Migrate CreateDoc action to testo (#4407)
- Migrate GetCollections test action to action package (#4389)
- Introduce secondary index test multiplier (#4387)
- Migrate request test actions to new framework (#4359)
- Migrate view test actions to action package (#4368)
- Migrate index related actions to new framework (#4349)
- Enable all TestSignature tests for C client (#4166)
Chore
- Add coderabbit config (#4440)
- Update secp256r1 logic (#4261)
- Rename GraphQL Aggregates (#4496)
- Make P2P replicator names consistent (#4472)
- Remove wasmer dependency (#4449)
- Use operator constants in schema definitions (#4448)
- Rename P2P commands from Create to Add (#4544)
- Expand git version support for Makefile build version (#4131)
- Improve cli error messages (#4477)
- Utilize default db path if blank string passed in (#4173)
- Make C bindings ViewRefresh take C.CollectionOptions (#4239)
- Bump to GoLang v1.25 (#4260)
Bot
- Update dependencies (bulk dependabot PRs) 03-03-2026 (#4606)
- Update dependencies (bulk dependabot PRs) 17-02-2026 (#4537)
- Update dependencies (bulk dependabot PRs) 2026-02-02 (#4462)
- Update dependencies (bulk dependabot PRs) 2026-01-26 (#4417)
- Bump github.com/cometbft/cometbft from 0.38.19 to 0.38.21 (#4408)
- Update dependencies (bulk dependabot PRs) 19-01-2026 (#4366)
- Update dependencies (bulk dependabot PRs) 18-01-2026 (#4360)
- Update dependencies (bulk dependabot PRs) 2026-01-06 (#4312)
- Update dependencies (bulk dependabot PRs) 2025-11-28 (#4220)
<a name="v0.20.0"></a>
- v0.20.1-0.20260504091340-feae5e8e546a4 May 2026pre-release
Nothing published for this version
- v0.20.1-0.20260420212822-78051146ddc320 Apr 2026pre-release
Nothing published for this version
- v0.20.1-0.20260324203720-98437e4f0d6024 Mar 2026pre-release
Nothing published for this version
- v0.20.1-0.20260324203312-45311ae62e9124 Mar 2026pre-release
Nothing published for this version
- v0.20.1-0.20260324202558-52ab446c5f4824 Mar 2026pre-release
Nothing published for this version
- v0.20.1-0.20260324200335-38a1976a4cc224 Mar 2026pre-release
Nothing published for this version
- v0.20.1-0.20260226155958-94d67870411526 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260226103559-1d015f219e0926 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260226090231-c707390fd37726 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260226082745-1f993b71e0b326 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260226081042-f227d30e4bf526 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260226072633-4ef29ee7bb7b26 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260225130221-78342bacf5fe25 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260225105546-b42bbf7352ba25 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260224175525-bc77716f8aad24 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260224073637-05f064f7dab924 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260220194541-2059686cc0d420 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260220180040-442fbda5ef7220 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260218230207-f7ad4fa8ca7c18 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260218150650-181b8888960e18 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260217142648-4d79597bfe4617 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260215161503-cad6e267f90015 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260213094625-346613fe104413 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260211032934-e7d5a2d8f7ac11 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260210124918-8a2d92878ebc10 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260209153712-d0c9d6eb562f9 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260209120703-10bb959c970b9 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260209112856-3050872857019 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260209105551-cad210faffb69 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260208102718-237f7890107e8 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260207021728-5c764c01d0227 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260207021208-21298107bafc7 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260206205651-66b43dd62b236 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260206150655-289fd156c69a6 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260206130701-2e0141c54a576 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260206121732-3e60444ba8806 Feb 2026pre-release
Nothing published for this version
- v0.20.1-0.20260205225306-b82990467bdf5 Feb 2026pre-release
Nothing published for this version