Changelog
Features
- feat: Ability to generate a new identity (sourcenetwork#2760)
- feat: Ability to relate private documents to actors (sourcenetwork#2907)
- feat: Ability to unrelate private documents from actors (sourcenetwork#3099)
- feat: Add Access Control Policy (sourcenetwork#2338)
- feat: Add CCIP Support (sourcenetwork#1896)
- feat: Add Defra-Lens support for branching schema (sourcenetwork#2421)
- feat: Add JSON scalar (sourcenetwork#2254)
- feat: Add OpenAPI route (sourcenetwork#1960)
- feat: Add P Counter CRDT (sourcenetwork#2482)
- feat: Add PN Counter CRDT type (sourcenetwork#2119)
- feat: Add PatchCollection (sourcenetwork#2402)
- feat: Add Swagger UI to playground (sourcenetwork#1979)
- feat: Add async transaction callbacks (sourcenetwork#2708)
- feat: Add authentication for ACP (sourcenetwork#2649)
- feat: Add blob scalar type (sourcenetwork#2091)
- feat: Add case insensitive
like
operator (sourcenetwork#2368) - feat: Add composite indexes (sourcenetwork#2226)
- feat: Add materialized views (sourcenetwork#3000)
- feat: Add means to fetch schema (sourcenetwork#2006)
- feat: Add replicator retry (sourcenetwork#3107)
- feat: Add support for one sided relations (sourcenetwork#3021)
- feat: Add support for views with Lens transforms (sourcenetwork#2311)
- feat: Add unique secondary index (sourcenetwork#2131)
- feat: Allow lens runtime selection via config (sourcenetwork#2684)
- feat: Allow mutation of col sources via PatchCollection (sourcenetwork#2424)
- feat: Allow setting null values on doc fields (sourcenetwork#2273)
- feat: Allow setting of default schema version (sourcenetwork#1888)
- feat: Allow users to add Views (sourcenetwork#2114)
- feat: CLI purge command (sourcenetwork#2998)
- feat: Change GetCollectionBySchemaFoo funcs to return many (sourcenetwork#1984)
- feat: Default scalar field values (sourcenetwork#2997)
- feat: Doc encryption with symmetric key (sourcenetwork#2731)
- feat: Doc field encryption (sourcenetwork#2817)
- feat: Enable Indexing of array fields (sourcenetwork#3092)
- feat: Enable indexing for DateTime fields (sourcenetwork#2933)
- feat: Enable playground in Docker build (sourcenetwork#1986)
- feat: Enable sec. indexes with ACP (sourcenetwork#2602)
- feat: Force explicit primary decl. in SDL for one-ones (sourcenetwork#2462)
- feat: GQL variables and operation name (sourcenetwork#2993)
- feat: Generate OpenAPI command (sourcenetwork#2235)
- feat: GraphQL fragments (sourcenetwork#3066)
- feat: GraphQL upsert mutation (sourcenetwork#3075)
- feat: Handle P2P with SourceHub ACP (sourcenetwork#2848)
- feat: Implement SourceHub ACP (sourcenetwork#2657)
- feat: Inherit
read
permission if onlywrite
access (sourcenetwork#3108) - feat: Inject ACP instance into the DB instance (sourcenetwork#2633)
- feat: Inline array filters (sourcenetwork#3028)
- feat: JSON type coercion (sourcenetwork#3098)
- feat: JSON type filter (sourcenetwork#3122)
- feat: Keyring (sourcenetwork#2557)
- feat: Lens runtime config (sourcenetwork#2497)
- feat: Make queries utilise secondary indexes (sourcenetwork#1925)
- feat: Min and max numerical aggregates (sourcenetwork#3078)
- feat: Model Col. SchemaVersions and migrations on Cols (sourcenetwork#2286)
- feat: Move relation field properties onto collection (sourcenetwork#2529)
- feat: Multiple docs with nil value on unique-indexed field (sourcenetwork#2276)
- feat: Mutation typed input (sourcenetwork#2167)
- feat: New cmd for docs auto generation (sourcenetwork#2096)
- feat: Remove CollectionDescription.Schema (sourcenetwork#1965)
- feat: Remove IsObjectArray (sourcenetwork#2859)
- feat: Remove collection from patch schema (sourcenetwork#1957)
- feat: Rename Schema.SchemaID to Schema.Root (sourcenetwork#2005)
- feat: Replace FieldDescription.RelationType with IsPrimary (sourcenetwork#2288)
- feat: Reverted order for indexed fields (sourcenetwork#2335)
- feat: Rework GetCollection/SchemaByFoo funcs into single (sourcenetwork#2319)
- feat: Sec. indexes on relations (sourcenetwork#2670)
- feat: Secure document encryption key exchange (sourcenetwork#2891)
- feat: Update corelog to 0.0.7 (sourcenetwork#2547)
Fix
- fix: Add
latest
image tag for ghcr (sourcenetwork#2340) - fix: Add check to filter result for logical ops (sourcenetwork#2573)
- fix: Add entropy to counter CRDT type updates (sourcenetwork#2186)
- fix: Add missing delta payload (sourcenetwork#2306)
- fix: Add missing directive definitions (sourcenetwork#2369)
- fix: Add missing logs at startup (sourcenetwork#2391)
- fix: Add ns precision support to time values (sourcenetwork#2940)
- fix: Add validation to JSON fields (sourcenetwork#2375)
- fix: Add version check in basicTxn.Query (sourcenetwork#2742)
- fix: Allow primary field declarations on one-many (sourcenetwork#2796)
- fix: Allow querying of 9th, 19th, 29th, etc collections (sourcenetwork#2819)
- fix: Allow update when updating non-indexed field (sourcenetwork#2511)
- fix: Change new identity keys to hex format (sourcenetwork#2773)
- fix: Create mutation introspection (sourcenetwork#2881)
- fix: Enable filtering doc by fields of JSON and Blob types (sourcenetwork#2841)
- fix: Filter with date and document with nil date value (sourcenetwork#2946)
- fix: Filtering on unique index if there is no match (sourcenetwork#2177)
- fix: Fix compound relational filters in aggregates (sourcenetwork#2297)
- fix: Fix test module relying on closed memory leak (sourcenetwork#2037)
- fix: GraphQL null argument parsing (sourcenetwork#3013)
- fix: Handle compound filters on related indexed fields (sourcenetwork#2575)
- fix: Handle index queries where child found without parent (sourcenetwork#2942)
- fix: Handle missing type in an SDL (sourcenetwork#3023)
- fix: Handle multiple child index joins (sourcenetwork#2867)
- fix: Handle multiple nil values on unique indexed fields (sourcenetwork#2178)
- fix: Ignore badger path if in-memory (sourcenetwork#2967)
- fix: Incorporate schema root into docID (sourcenetwork#2701)
- fix: Infinite loop when updating one-one relation (sourcenetwork#1915)
- fix: Keyring output (sourcenetwork#2784)
- fix: Load root dir before loading config (sourcenetwork#2266)
- fix: Log GQL endpoint correctly on node start (sourcenetwork#3037)
- fix: Make GraphQL errors spec compliant (sourcenetwork#3040)
- fix: Make all array kinds nillable (sourcenetwork#2534)
- fix: Make node options composable (sourcenetwork#2648)
- fix: Make peers sync secondary index (sourcenetwork#2390)
- fix: Make return type for FieldKind_INT an int64 (sourcenetwork#1982)
- fix: Make returned collections respect explicit transactions (sourcenetwork#2385)
- fix: Mark docs as deleted when querying in delete mut (sourcenetwork#2298)
- fix: Merge retry logic (sourcenetwork#2719)
- fix: Move field id off of schema (sourcenetwork#2336)
- fix: No panic if filter condition on indexed field is empty (sourcenetwork#2929)
- fix: Node private key requires data directory (sourcenetwork#1938)
- fix: Panic with different composite-indexed child objects (sourcenetwork#2947)
- fix: Panic with filter on unique composite index on relation (sourcenetwork#3020)
- fix: Prevent mutations from secondary side of relation (sourcenetwork#3124)
- fix: Queries with filter on 2 rel fields of composite index (sourcenetwork#3035)
- fix: Race condition when testing CLI (sourcenetwork#2713)
- fix: Remove collection name from schema ID generation (sourcenetwork#1920)
- fix: Remove duplication of block heads on delete (sourcenetwork#3096)
- fix: Remove limit for fetching secondary docs (sourcenetwork#2594)
- fix: Remove shared mutable state between database instances (sourcenetwork#2777)
- fix: Resolve incorrect merge conflict (sourcenetwork#2723)
- fix: Return correct results from one-many indexed filter (sourcenetwork#2579)
- fix: Return slice of correct length from db.AddSchema (sourcenetwork#2765)
- fix: Rework relation field kinds (sourcenetwork#2961)
- fix: Support one-many self joins without primary directive (sourcenetwork#2799)
- fix: Treat explicitly set nil values like omitted values (sourcenetwork#3101)
- fix: Update GetCollections behaviour (sourcenetwork#2378)
- fix: Use node representation for Block (sourcenetwork#2746)
- fix: Validate GraphQL schemas (sourcenetwork#3152)
Documentation
- docs: Add data definition document (sourcenetwork#2544)
- docs: Add http/openapi documentation & ci workflow (sourcenetwork#2678)
- docs: Document Event Update struct (sourcenetwork#2598)
- docs: Remove reference to client ping from readme (sourcenetwork#2793)
- docs: Rename _key to _docID in docs (sourcenetwork#2989)
- docs: Streamline cli documentation (sourcenetwork#2646)
Refactoring
- refactor: Add NormalValue (sourcenetwork#2404)
- refactor: Add peerstore to multistore (sourcenetwork#1980)
- refactor: Add strong typing to document creation (sourcenetwork#2161)
- refactor: CLI client interface (sourcenetwork#1839)
- refactor: CRDT merge direction (sourcenetwork#2016)
- refactor: Change counters to support encryption (sourcenetwork#2698)
- refactor: Change from protobuf to cbor for IPLD (sourcenetwork#2604)
- refactor: Change from protobuf to cbor for gRPC (sourcenetwork#3061)
- refactor: Change local_acp implementation to use acp_core (sourcenetwork#2691)
- refactor: Clean up client/request package (sourcenetwork#2443)
- refactor: DAG sync and move merge outside of net package (sourcenetwork#2658)
- refactor: DB transactions context (sourcenetwork#2513)
- refactor: Decouple client.DB from net (sourcenetwork#2768)
- refactor: Decouple net config (sourcenetwork#2258)
- refactor: Deprecate CollectionDescription.Schema (sourcenetwork#1939)
- refactor: Extract Defra specific logic from ACPLocal type (sourcenetwork#2656)
- refactor: Extract definition stuff from collection.go (sourcenetwork#2706)
- refactor: GQL responses (sourcenetwork#2872)
- refactor: Generate field ids using a sequence (sourcenetwork#2339)
- refactor: GraphQL order input (sourcenetwork#3044)
- refactor: HTTP config (sourcenetwork#2278)
- refactor: Index field directive (sourcenetwork#2994)
- refactor: Make CollectionDescription.Name Option (sourcenetwork#2223)
- refactor: Make SourceHub dep internal-only (sourcenetwork#2963)
- refactor: Make config internal to CLI (sourcenetwork#2310)
- refactor: Merge collection UpdateWith and DeleteWith (sourcenetwork#2531)
- refactor: Merge duplicate input args (sourcenetwork#3046)
- refactor: Move internal packages to internal dir (sourcenetwork#2599)
- refactor: Network test sync logic (sourcenetwork#2748)
- refactor: Node config (sourcenetwork#2296)
- refactor: P2P client interface (sourcenetwork#1924)
- refactor: Remove net GRPC API (sourcenetwork#1927)
- refactor: Remove unused Delete field from client.Document (sourcenetwork#2275)
- refactor: Rename key,id,dockey to docID terminology (sourcenetwork#1749)
- refactor: Reorganise collection description storage (sourcenetwork#1988)
- refactor: Reorganize global CLI flags (sourcenetwork#2615)
- refactor: Replace logging package with corelog (sourcenetwork#2406)
- refactor: Replace subscription events publisher (sourcenetwork#2686)
- refactor: Rework definition validation (sourcenetwork#2720)
- refactor: Rewrite convertImmutable (sourcenetwork#2445)
- refactor: Simplify Merkle CRDT workflow (sourcenetwork#2111)
- refactor: Unify Field Kind and Schema properties (sourcenetwork#2414)
- refactor: Use events to test network logic (sourcenetwork#2700)
Testing
- test: Add assert on DocIndex for child documents (sourcenetwork#2871)
- test: Add auto-doc generation (sourcenetwork#2051)
- test: Add bug bash tests for gql fragments (sourcenetwork#3136)
- test: Add flag to skip network tests (sourcenetwork#2495)
- test: Add more ACP integration tests (sourcenetwork#2583)
- test: Add relation substitute mechanic to tests (sourcenetwork#2682)
- test: Allow assertion of AddSchema results (sourcenetwork#2788)
- test: Allow test harness to execute benchmarks (sourcenetwork#2740)
- test: Fix refreshing of docs in change detector (sourcenetwork#2832)
- test: Remove duplicate test (sourcenetwork#2787)
- test: Remove hardcoded test identities (sourcenetwork#2822)
- test: Support asserting on doc index in test results (sourcenetwork#2786)
- test: Test node pkg constructor via integration test suite (sourcenetwork#2641)