Releases: sourcenetwork/defradb
v0.15.0 Release
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 hello@source.network 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
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 hello@source.network 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 onlywrite
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
v0.13.0 Release
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 hello@source.network 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
v0.12.0 Release
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 hello@source.network 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
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 hello@source.network 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)
v0.10.0 Release
Changelog
DefraDB v0.10 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.9.x databases. If you need help migrating an existing deployment, reach out at hello@source.network or join our Discord at https://discord.source.network/.
Features
- feat: Add JSON scalar (#2254)
- feat: Add case insensitive
like
operator (#2368) - feat: Add composite indexes (#2226)
- feat: Add support for views with Lens transforms (#2311)
- feat: Allow setting null values on doc fields (#2273)
- feat: Generate OpenAPI command (#2235)
- feat: Model Col. SchemaVersions and migrations on Cols (#2286)
- feat: Multiple docs with nil value on unique-indexed field (#2276)
- feat: Replace FieldDescription.RelationType with IsPrimary (#2288)
- feat: Reverted order for indexed fields (#2335)
- feat: Rework GetCollection/SchemaByFoo funcs into single (#2319)
Fix
- fix: Add
latest
image tag for ghcr (#2340) - fix: Add missing delta payload (#2306)
- fix: Add missing directive definitions (#2369)
- fix: Add validation to JSON fields (#2375)
- fix: Fix compound relational filters in aggregates (#2297)
- fix: Load root dir before loading config (#2266)
- fix: Make peers sync secondary index (#2390)
- fix: Make returned collections respect explicit transactions (#2385)
- fix: Mark docs as deleted when querying in delete mut (#2298)
- fix: Move field id off of schema (#2336)
- fix: Update GetCollections behaviour (#2378)
Refactoring
- refactor: Decouple net config (#2258)
- refactor: Generate field ids using a sequence (#2339)
- refactor: HTTP config (#2278)
- refactor: Make CollectionDescription.Name Option (#2223)
- refactor: Make config internal to CLI (#2310)
- refactor: Node config (#2296)
- refactor: Remove unused Delete field from client.Document (#2275)
v0.9.0 Release
DefraDB v0.9 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.8.x databases. If you need help migrating an existing deployment, reach out at hello@source.network or join our Discord at https://discord.source.network/.
Changelog
Features
- feat: Add PN Counter CRDT type (#2119)
- feat: Add blob scalar type (#2091)
- feat: Add unique secondary index (#2131)
- feat: Allow users to add Views (#2114)
- feat: Mutation typed input (#2167)
- feat: New cmd for docs auto generation (#2096)
Fix
- fix: Add entropy to counter CRDT type updates (#2186)
- fix: Filtering on unique index if there is no match (#2177)
- fix: Handle multiple nil values on unique indexed fields (#2178)
Refactoring
- refactor: Add strong typing to document creation (#2161)
- refactor: Rename key,id,dockey to docID terminology (#1749)
- refactor: Simplify Merkle CRDT workflow (#2111)
Testing
- test: Add auto-doc generation (#2051)
v0.8.0 Release
DefraDB v0.8 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.7.x databases. If you need help migrating an existing deployment, reach out at hello@source.network or join our Discord at https://discord.source.network/.
Changelog
Features
- feat: Add CCIP Support (#1896)
- feat: Add OpenAPI route (#1960)
- feat: Add Swagger UI to playground (#1979)
- feat: Add means to fetch schema (#2006)
- feat: Allow setting of default schema version (#1888)
- feat: Change GetCollectionBySchemaFoo funcs to return many (#1984)
- feat: Enable playground in Docker build (#1986)
- feat: Make queries utilise secondary indexes (#1925)
- feat: Remove CollectionDescription.Schema (#1965)
- feat: Remove collection from patch schema (#1957)
- feat: Rename Schema.SchemaID to Schema.Root (#2005)
Fix
- fix: Fix test module relying on closed memory leak (#2037)
- fix: Infinite loop when updating one-one relation (#1915)
- fix: Make return type for FieldKind_INT an int64 (#1982)
- fix: Node private key requires data directory (#1938)
- fix: Remove collection name from schema ID generation (#1920)
Refactoring
- refactor: Add peerstore to multistore (#1980)
- refactor: CLI client interface (#1839)
- refactor: CRDT merge direction (#2016)
- refactor: Deprecate CollectionDescription.Schema (#1939)
- refactor: P2P client interface (#1924)
- refactor: Remove net GRPC API (#1927)
- refactor: Reorganise collection description storage (#1988)
v0.7.0 Release
DefraDB v0.7 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.
This release has focused on robustness, testing, and schema management. Some highlight new features include notable expansions to the expressiveness of schema migrations.
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.6.x databases. If you need help migrating an existing deployment, reach out at hello@source.network or join our Discord at https://discord.source.network/.
Features
- Allow field indexing by name in PatchSchema (#1810)
- Auto-create relation id fields via PatchSchema (#1807)
- Support PatchSchema relational field kind substitution (#1777)
- Add support for adding of relational fields (#1766)
- Enable downgrading of documents via Lens inverses (#1721)
Fixes
- Correctly handle serialisation of nil field values (#1872)
- Compound filter operators with relations (#1855)
- Only update updated fields via update requests (#1817)
- Error when saving a deleted document (#1806)
- Prevent multiple docs from being linked in one one (#1790)
- Handle the querying of secondary relation id fields (#1768)
- Improve the way migrations handle transactions (#1737)
Tooling
- Add Akash deployment configuration (#1736)
Refactoring
Testing
- Convert and move out of place explain tests (#1878)
- Update mutation tests to make use of mutation system (#1853)
- Test top level agg. with compound relational filter (#1870)
- Skip unsupported mutation types at test level (#1850)
- Extend mutation tests with col.Update and Create (#1838)
- Add tests for multiple one-one joins (#1793)
v0.6.0 Release
DefraDB v0.6 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.
There are several new and powerful features, important bug fixes, and notable refactors in this release. Some highlight features include: The initial release of our LensVM based schema migration engine powered by WebAssembly (#1650), newly embedded DefraDB Playround which includes a bundled GraphQL client and schema manager, and last but not least a relation field (_id) alias to improve the developer experience (#1609).
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.5.x databases. If you need help migrating an existing deployment, reach out at hello@source.network or join our Discord at https://discord.source.network/.
Features
- Add
_not
operator (#1631) - Schema list API (#1625)
- Add simple data import and export (#1630)
- Playground (#1575)
- Add schema migration get and set cmds to CLI (#1650)
- Allow relation alias on create and update (#1609)
- Make fetcher calculate docFetches and fieldFetches (#1713)
- Add lens migration engine to defra (#1564)
- Add
_keys
attribute toselectNode
simple explain (#1546) - CLI commands for secondary indexes (#1595)
- Add alias to
groupBy
related object (#1579) - Non-unique secondary index (no querying) (#1450)
- Add ability to explain-debug all nodes (#1563)
- Include dockey in doc exists err (#1558)
Fixes
- Better wait in CLI integration test (#1415)
- Return error when relation is not defined on both types (#1647)
- Change
core.DocumentMapping
to pointer (#1528) - Fix invalid (badger) datastore state (#1685)
- Discard index and subscription implicit transactions (#1715)
- Remove duplicated
peers
in peerstore prefix (#1678) - Return errors from typeJoinOne (#1716)
- Document change detector breaking change (#1531)
- Standardise
schema migration
CLI errors (#1682) - Introspection OrderArg returns null inputFields (#1633)
- Avoid duplicated requestable fields (#1621)
- Normalize int field kind (#1619)
- Change the WriteSyncer to use lock when piping (#1608)
- Filter splitting and rendering for related types (#1541)
Documentation
- Improve CLI command documentation (#1505)
Refactoring
- Schema list output to include schemaVersionID (#1706)
- Reuse lens wasm modules (#1641)
- Remove redundant txn param from fetcher start (#1635)
- Remove first CRDT byte from field encoded values (#1622)
- Merge
node
intonet
and improve coverage (#1593) - Fetcher filter and field optimization (#1500)
Testing
- Rework transaction test framework capabilities (#1603)
- Expand backup integration tests (#1699)
- Disable test (#1675)
- Add tests for 1-1 group by id (#1655)
- Remove CLI tests from make test (#1643)
- Bundle test state into single var (#1645)
- Convert explain group tests to new explain setup (#1537)
- Add tests for foo_id field name clashes (#1521)
- Resume wait correctly following test node restart (#1515)
- Require no errors when none expected (#1509)
Continuous integration
- Add workflows to push, pull, and validate docker images (#1676)
- Build mocks using make (#1612)
- Fix terraform plan and merge AMI build + deploy workflow (#1514)
- Reconfigure CodeCov action to ensure stability (#1414)