Skip to content

Releases: sourcenetwork/defradb

v0.20.0 Release

01 Nov 04:26
d27b83f

Choose a tag to compare

Changelog

DefraDB v0.20 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.19.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: Add Android build support (#4034)
  • feat: Allow syncing of collection versions over P2P (#4088)
  • feat: Gate DAC ops with NAC (#4083)
  • feat: Gate collection doc ops with NAC (#4100)
  • feat: Gate collection get op with NAC (#4075)
  • feat: Gate collection patch op with NAC (#3996)
  • feat: Gate collection set active version op with NAC (#4077)
  • feat: Gate p2p ops with NAC (#4111)
  • feat: Gate schema add op with NAC (#3905)
  • feat: Gate sec. index ops with NAC (#4097)
  • feat: Gate verify signature op with NAC (#4093)
  • feat: Handle invalid CGO handles in C bindings (#3966)
  • feat: Include query source in collection block (#4079)
  • feat: Only allow zero or one query sources (#4050)
  • feat: Remove LensRegistry (#4070)
  • feat: Remove unused context from Txn funcs (#4056)
  • feat: Rename gql fields to use consistent underscoring (#4078)
  • feat: Searchable encryption (#3873)
  • feat: Support Commit API on GQL Subscriptions (#4019)

Fix

  • fix: Add missing composite commits for change detector (#4040)
  • fix: Allow JSON variables in GQL (#3992)
  • fix: Allow configuring node identity with embedded Defra (#4023)
  • fix: Allow docs to contain nillable arrays of nillable types (#4061)
  • fix: Default json value (#4064)
  • fix: Forbid default null value for json field type (#4069)
  • fix: GraphQL SSE event stream (#3975)
  • fix: Passive sync with node chain (#4012)
  • fix: Prevent blocking on server close (#3977)
  • fix: Remove recursive issue in versioned fetcher (#4029)
  • fix: Signature selection panic (#4004)
  • fix: Version query with delete (#4071)
  • fix: Windows build (#4124)

Documentation

  • docs: Update broken docs link in Readme (#4117)

Refactoring

  • refactor: Cache collections in context (#3954)
  • refactor: Limit previous collection versions to one or zero (#4062)
  • refactor: Make net.Host interface easier to consume (#4009)
  • refactor: Move business logic out of net (#3948)
  • refactor: Remove CollectionDefinition (#3939)
  • refactor: Remove SchemaDescription (#3842)
  • refactor: Remove isArray from field definition delta (#4121)
  • refactor: Remove gRPC from net (#3907)
  • refactor: Remove playground source (#3914)
  • refactor: Standardize errors in C bindings (#3970)
  • refactor: Update CLI Examples (#4095)
  • refactor: Use 64bit cid encoding in blockstore (#4047)
  • refactor: Utilize CGO handles for C bindings (#3950)

Testing

  • test: Add many-to-many integration tests (#4045)
  • test: Test blocking off of patching secondary indexes (#4044)

v0.19.0 Release

08 Aug 21:37
9d048c0

Choose a tag to compare

Changelog

DefraDB v0.19 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.18.x databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://discord.gg/w7jYQVJ/.

Features

  • feat: Add WASM support for Playground (#3813)
  • feat: Add explicit p2p doc subscription (#3822)
  • feat: Add node access control (nac) system (#3758)
  • feat: Enable range queries for secondary indexes (#3788)
  • feat: JavaScript event system (#3794)
  • feat: Playground ACP (#3871)
  • feat: Provide C Bindings (#3787)
  • feat: SourceHub ACP JS (#3863)
  • feat: Sync documents on demand (#3834)

Fix

  • fix: Allow operations on _similarity results (#3927)
  • fix: Playground keypair reset (#3922)
  • fix: Race condition on connection access (#3814)

Refactoring

  • refactor: ACP Identity (#3808)
  • refactor: Configure P2PCollections with names instead of IDs (#3815)
  • refactor: Simplify interfaces usage (#3739)

v0.18.0 Release

13 Jun 19:12
497a5c7

Choose a tag to compare

Changelog

DefraDB v0.18 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.17.x databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://discord.gg/w7jYQVJ/.

Features

  • feat: JS client (#3658)
  • feat: Make Collection.Name immutable (#3671)
  • feat: Replace commit query fieldID with fieldName (#3701)
  • feat: Utilize secondary indexes for ordering (#3652)

Fix

  • fix: Bypass composite index ordering on order mismatch (#3781)
  • fix: Check if collection exists in index cli commands (#3777)
  • fix: Correct index fetching order (#3776)
  • fix: Enable doc encryption for embedded client (#3755)
  • fix: Get indexes for a specific collection (#3643)

Documentation

  • docs: Add data flow documentation (#3736)
  • docs: Update outdated disclaimer about lack of encryption (#3647)

Refactoring

  • refactor: Allow retrieval of txn from ctx everywhere (#3705)
  • refactor: Remove collection field id (#3710)
  • refactor: Rename CollectionDescription to CollectionVersion (#3676)
  • refactor: Rename CollectionDescription.ID to VersionID (#3677)
  • refactor: Replace Collection ID with SchemaVersionID (#3640)
  • refactor: Replace CollectionDescription.Root with ColID (#3644)
  • refactor: Replace schema-only collections with boolean (#3653)
  • refactor: Store index description in collection version (#3716)
  • refactor: Unify crdt packages (#3679)

Testing

  • test: Update test Lens modules to latest SDK (#3773)

v0.17.0 Release

18 Apr 01:44
68d5bf9

Choose a tag to compare

Changelog

DefraDB v0.17 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.16.x databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://discord.gg/w7jYQVJ/.

Features

  • feat: Enable block verification by clients (#3591)
  • feat: Introduce digital signatures (#3505)
  • feat: JS build support (#3548)
  • feat: Make DAC write permission more granular (#3218)
  • feat: Make replicator retry intervals configurable (#3574)
  • feat: Make signing algorithm configurable (#3545)

Fix

  • fix: Only give badger a path if not in-memory (#3552)
  • fix: PeerInfo sync issue (#3606)

Refactoring

  • refactor: Changed paths for lens migration in CLI (#3510)
  • refactor: Make validator return joined errors (#3513)
  • refactor: Replace datastore package with corekv (#3508)

Testing

  • test: Add example CLI integration tests (#3550)
  • test: Incorporate gomega matchers (#3489)

v0.16.0 Release

24 Feb 14:31
20eed95

Choose a tag to compare

Changelog

DefraDB v0.16 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.15.x databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://discord.gg/w7jYQVJ/.

Features

  • feat: Add 'keyring list' command to CLI (#3331)
  • feat: Add contraints and embedding directives (#3405)
  • feat: Add cosine similarity query (#3464)
  • feat: Add open telemetry metrics and traces (#3404)
  • feat: Add special encoding of json array elements (#3368)
  • feat: Enable secondary index for compound filter conditions (#3417)
  • feat: Multiple schema file support in schema add (#3352)
  • feat: P2P ACP (#3317)
  • feat: Purge ACP state on DB purge (#3363)
  • feat: Sec. index on json (#3330)

Fix

  • fix: Consistent version query semantics (#3477)
  • fix: Ensure no ACP doc check when action is node specific (#3387)
  • fix: Maintain indexes across schema versions (#3366)
  • fix: Maintain indexes across schema versions (#3367)
  • fix: Make --no-encryption flag work without keyring (#3466)
  • fix: Updating of document via cli (#3474)

v0.15.0 Release

13 Dec 22:32
6da615e

Choose a tag to compare

Changelog

DefraDB v0.15 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.14.x databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://discord.gg/w7jYQVJ/.

Features

  • feat: Add ACP to pubsub KMS (#3206)
  • feat: Add ability to add/delete relationship for all actors (#3254)
  • feat: Add node identity (#3125)
  • feat: Add support for branchable collection time-traveling (#3260)
  • feat: Add support for branchable collections (#3216)
  • feat: Add support for cid-only time travel queries (#3256)
  • feat: Aggregate filter alias targeting (#3252)
  • feat: Aggregate order alias targeting (#3293)
  • feat: Error if purge request made with dev mode disabled (#3295)
  • feat: Filter alias target (#3201)
  • feat: Order alias target (#3217)
  • feat: Support for descending fields CLI index creation (#3237)

Fix

  • fix: Add Authorization header to CORS allowed headers (#3178)
  • fix: Add support for operationName and variables in HTTP GET (#3292)
  • fix: Adjust OpenAPI index POST example request body (#3268)
  • fix: Make requests with no identity work with "*" target (#3278)
  • fix: Prevent over span (#3258)
  • fix: Resolve CORS errors in OpenAPI tab of Playground (#3263)

Documentation

  • docs: Update discord link (#3231)

Refactoring

  • refactor: Add unified JSON interface (#3265)
  • refactor: Breakup core/keys.go file (#3198)
  • refactor: Consolidate node-related fields into a struct (#3232)
  • refactor: Remove indirection from crdt packages (#3192)
  • refactor: Rework core.Spans (#3210)
  • refactor: Simplify merkle/crdt code (#3200)

Testing

  • test: Allow soft-referencing of Cids in tests (#3176)

v0.14.0 Release

20 Oct 02:52
47d38a8

Choose a tag to compare

Changelog

DefraDB v0.14 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.13.x databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://discord.gg/w7jYQVJ/.

Features

  • feat: JSON type filter (#3122)
  • feat: Add replicator retry (#3107)
  • feat: Inherit read permission if only write access (#3108)
  • feat: JSON type coercion (#3098)
  • feat: Ability to unrelate private documents from actors (#3099)
  • feat: Enable Indexing of array fields (#3092)
  • feat: Min and max numerical aggregates (#3078)
  • feat: Ability to relate private documents to actors (#2907)
  • feat: GraphQL upsert mutation (#3075)
  • feat: GraphQL fragments (#3066)
  • feat: Secure document encryption key exchange (#2891)
  • feat: Inline array filters (#3028)
  • feat: CLI purge command (#2998)
  • feat: Add support for one sided relations (#3021)
  • feat: Add materialized views (#3000)
  • feat: Default scalar field values (#2997)
  • feat: GQL variables and operation name (#2993)

Fixes

  • fix: Make GraphQL errors spec compliant (#3040)
  • fix: Ignore badger path if in-memory (#2967)
  • fix: Rework relation field kinds (#2961)
  • fix: Panic with filter on unique composite index on relation (#3020)
  • fix: Handle missing type in an SDL (#3023)
  • fix: GraphQL null argument parsing (#3013)
  • fix: Prevent mutations from secondary side of relation (#3124)
  • fix: Treat explicitly set nil values like omitted values (#3101)
  • fix: Remove duplication of block heads on delete (#3096)
  • fix: Log GQL endpoint correctly on node start (#3037)
  • fix: Panic with different composite-indexed child objects (#2947)
  • fix: Validate GraphQL schemas (#3152)
  • fix: Queries with filter on 2 rel fields of composite index (#3035)

Documentation

  • doc: Rename _key to _docID in docs (#2989)

Refactoring

  • refactor: Change from protobuf to cbor for gRPC (#3061)
  • refactor: GraphQL order input (#3044)
  • refactor: Merge duplicate input args (#3046)
  • refactor: Index field directive (#2994)
  • refactor: Make SourceHub dep internal-only (#2963)

Testing

  • test: Add bug bash tests for gql fragments (#3136)

Chore

  • chore: Make keyring non-interactive (#3026)
  • chore: Change from ipld traversal to direct link access (#2931)
  • chore: Bump to GoLang v1.22 (#2913)

v0.13.0 Release

23 Aug 19:53
495c456

Choose a tag to compare

Changelog

DefraDB v0.13 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.12.x databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://discord.source.network/.

Features

  • feat: Doc encryption with symmetric key (#2731)
  • feat: Doc field encryption (#2817)
  • feat: Enable indexing for DateTime fields (#2933)
  • feat: Handle P2P with SourceHub ACP (#2848)
  • feat: Implement SourceHub ACP (#2657)
  • feat: Remove IsObjectArray (#2859)

Fix

  • fix: Add ns precision support to time values (#2940)
  • fix: Allow querying of 9th, 19th, 29th, etc collections (#2819)
  • fix: Create mutation introspection (#2881)
  • fix: Enable filtering doc by fields of JSON and Blob types (#2841)
  • fix: Filter with date and document with nil date value (#2946)
  • fix: Handle index queries where child found without parent (#2942)
  • fix: Handle multiple child index joins (#2867)
  • fix: No panic if filter condition on indexed field is empty (#2929)
  • fix: Panic with different composite-indexed child objects (#2947)
  • fix: Support one-many self joins without primary directive (#2799)

Refactoring

  • refactor: Decouple client.DB from net (#2768)
  • refactor: GQL responses (#2872)
  • refactor: Network test sync logic (#2748)

Testing

  • test: Add assert on DocIndex for child documents (#2871)
  • test: Fix refreshing of docs in change detector (#2832)
  • test: Remove hardcoded test identities (#2822)

v0.12.0 Release

28 Jun 18:36
1f9c3ee

Choose a tag to compare

Changelog

DefraDB v0.12 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.11.x databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://discord.source.network/.

Features

  • feat: Ability to generate a new identity (#2760)
  • feat: Add async transaction callbacks (#2708)
  • feat: Add authentication for ACP (#2649)
  • feat: Allow lens runtime selection via config (#2684)
  • feat: Enable sec. indexes with ACP (#2602)
  • feat: Inject ACP instance into the DB instance (#2633)
  • feat: Keyring (#2557)
  • feat: Sec. indexes on relations (#2670)

Fix

  • fix: Add version check in basicTxn.Query (#2742)
  • fix: Allow primary field declarations on one-many (#2796)
  • fix: Change new identity keys to hex format (#2773)
  • fix: Incorporate schema root into docID (#2701)
  • fix: Keyring output (#2784)
  • fix: Make node options composable (#2648)
  • fix: Merge retry logic (#2719)
  • fix: Race condition when testing CLI (#2713)
  • fix: Remove limit for fetching secondary docs (#2594)
  • fix: Remove shared mutable state between database instances (#2777)
  • fix: Resolve incorrect merge conflict (#2723)
  • fix: Return slice of correct length from db.AddSchema (#2765)
  • fix: Use node representation for Block (#2746)

Documentation

  • docs: Add http/openapi documentation & ci workflow (#2678)
  • docs: Document Event Update struct (#2598)
  • docs: Remove reference to client ping from readme (#2793)
  • docs: Streamline cli documentation (#2646)

Refactoring

  • refactor: Change counters to support encryption (#2698)
  • refactor: Change from protobuf to cbor for IPLD (#2604)
  • refactor: Change local_acp implementation to use acp_core (#2691)
  • refactor: DAG sync and move merge outside of net package (#2658)
  • refactor: Extract Defra specific logic from ACPLocal type (#2656)
  • refactor: Extract definition stuff from collection.go (#2706)
  • refactor: Move internal packages to internal dir (#2599)
  • refactor: Reorganize global CLI flags (#2615)
  • refactor: Replace subscription events publisher (#2686)
  • refactor: Rework definition validation (#2720)
  • refactor: Use events to test network logic (#2700)

Testing

  • test: Add relation substitute mechanic to tests (#2682)
  • test: Allow assertion of AddSchema results (#2788)
  • test: Allow test harness to execute benchmarks (#2740)
  • test: Remove duplicate test (#2787)
  • test: Support asserting on doc index in test results (#2786)
  • test: Test node pkg constructor via integration test suite (#2641)

v0.11.0 Release

06 May 14:31
85f70a4

Choose a tag to compare

Changelog

DefraDB v0.11 is a major pre-production release. Until the stable version 1.0 is reached, the SemVer minor patch number will denote notable releases, which will give the project freedom to experiment and explore potentially breaking changes.

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.10.x databases. If you need help migrating an existing deployment, reach out at [email protected] or join our Discord at https://discord.source.network/.

Features

  • feat: Add Access Control Policy (#2338)
  • feat: Add Defra-Lens support for branching schema (#2421)
  • feat: Add P Counter CRDT (#2482)
  • feat: Add PatchCollection (#2402)
  • feat: Allow mutation of col sources via PatchCollection (#2424)
  • feat: Force explicit primary decl. in SDL for one-ones (#2462)
  • feat: Lens runtime config (#2497)
  • feat: Move relation field properties onto collection (#2529)
  • feat: Update corelog to 0.0.7 (#2547)

Fix

  • fix: Add check to filter result for logical ops (#2573)
  • fix: Allow update when updating non-indexed field (#2511)
  • fix: Handle compound filters on related indexed fields (#2575)
  • fix: Make all array kinds nillable (#2534)
  • fix: Return correct results from one-many indexed filter (#2579)

Documentation

  • docs: Add data definition document (#2544)

Refactoring

  • refactor: Add NormalValue (#2404)
  • refactor: Clean up client/request package (#2443)
  • refactor: DB transactions context (#2513)
  • refactor: Merge collection UpdateWith and DeleteWith (#2531)
  • refactor: Replace logging package with corelog (#2406)
  • refactor: Rewrite convertImmutable (#2445)
  • refactor: Unify Field Kind and Schema properties (#2414)

Testing

  • test: Add flag to skip network tests (#2495)