Skip to content

v0.19.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Sep 08:08
· 125 commits to main since this release

What's Changed

  • fix(wasm): make task-local access reentrant by @iverc in #1390
  • ci: report release artifact size changes by @iverc in #1355
  • refactor: replace multicodec crate with inline codec constants by @edjroz in #1384
  • build(deps): declare the tokio features each crate uses by @edjroz in #1380
  • build(deps): drop tokio full from the workspace entry by @edjroz in #1387
  • ci: share the binary cache over Thunderbolt, then let Build & Test use either studio by @jackzampolin in #1424
  • chore(telemetry): gate tracing-subscriber behind the otlp feature by @edjroz in #1386
  • fix(wasm): make the debug feature actually control the panic hook by @edjroz in #1385
  • Add defra-node feature-graph harness to just and CI by @jackzampolin in #1431
  • Make defra-node SourceHub ACP a default-on optional feature by @jackzampolin in #1432
  • Plumb defra-node wasmtime-runtime and fail Lens without a runtime by @jackzampolin in #1433
  • Feature-gate db-merge libp2p types off the Iroh-only graph by @jackzampolin in #1434
  • Prove defra-node Iroh-only p2p is libp2p-free by @jackzampolin in #1435
  • chore(deps): unify sysinfo on 0.33 and document the duplicates we cannot unify by @edjroz in #1383
  • ci: accept merge_group events so a merge queue can be enabled by @jackzampolin in #1427
  • perf(keyring): replace josekit with a pure-Rust JWE, dropping OpenSSL from macOS cli builds by @edjroz in #1381
  • ci: stop cancelling main's post-merge validation runs by @jackzampolin in #1426
  • build(deps): select rustls for reqwest, dropping OpenSSL from Linux lark and rocksdb builds by @edjroz in #1382
  • build: add a super-dev profile selectable via the justfile profile variable (#1396) by @edjroz in #1397
  • fix(db): preserve concurrent first counter increments by @iverc in #1430
  • fix(db): scope field priorities to their own history by @iverc in #1437
  • fix(query): remove wall-clock race from downsample rollup test by @jackzampolin in #1446
  • Share one http_client for otel exporters by @christopherbm in #1323
  • Defra Vector Index Traits + HNSW + Flat index by @vertexclique in #1377
  • Vector indexes: IVF-PQ by @vertexclique in #1442
  • Vector indexes: SSG by @vertexclique in #1443
  • Vector indexes: benchmarks by @vertexclique in #1447
  • ci: publish the binary cache to both studio hosts by @jackzampolin in #1455
  • fix(p2p): keep one connection per peer to stop gossipsub dying against Go by @jackzampolin in #1473
  • ci: run rust integration suites at 8 threads instead of serialized by @jackzampolin in #1454
  • fix(index): deduplicate typed array index values by @iverc in #1441
  • fix(query): match JSON membership for missing keys by @iverc in #1451
  • ci: make signed-docs the sole PR integration leg by @jackzampolin in #1499
  • fix(ci): preserve queued main validations by @iverc in #1491
  • ci: build and test the integration legs with the super-dev profile by @jackzampolin in #1500
  • fix(schema): reject multiple active collection versions by @iverc in #1486
  • fix(wasm): validate schemas before creating collections by @iverc in #1487
  • feat(defra-node): expose the document ACP (DAC) API on EmbeddedNode by @edjroz in #1445
  • Persist the policy-ID counter so ids do not repeat after a restart by @edjroz in #1460
  • fix(p2p): surface the io error when a listen address fails to bind by @jackzampolin in #1503
  • fix(db): apply collection patch migrations atomically by @iverc in #1439
  • fix(document): preserve Blob values through lens migrations by @iverc in #1440
  • fix(schema): validate relation ID field kinds by @iverc in #1489
  • fix(storage): encode DateTime index keys as separate seconds and nanos by @vertexclique in #1461
  • chore(deps): bump defra-harness for the restart port guard by @jackzampolin in #1477
  • fix(defra-node): stop asserting an exact delta on process-global retry metrics by @vertexclique in #1525
  • ci: fall back when sccache is unavailable by @iverc in #1515
  • fix(schema): validate encrypted index fields by @iverc in #1488
  • fix(ffi): expose p2p sync status by @iverc in #1514
  • fix(query): route similarity queries through the vector index by @vertexclique in #1474
  • fix(http): serve Go's wire paths for policy registration and views by @vertexclique in #1498
  • refactor(p2p): isolate transport-only dependencies by @iverc in #1527
  • test(p2p): move public API tests out of source by @iverc in #1528
  • test(p2p): honor transport feature boundaries by @iverc in #1529
  • test(p2p-adapter): isolate transport fixtures by @iverc in #1530
  • fix(db-blocks): let a remote signer sign blocks with a secp256r1 key by @vertexclique in #1456
  • fix(p2p): centralize DAG ingestion and merge ownership by @jackzampolin in #1502
  • chore(crates): fold query-plan into the query crate (1/3) by @edjroz in #1533
  • chore(crates): fold query-parse into the query crate (2/3) by @edjroz in #1534
  • chore(crates): fold query-types into the query crate (3/3) by @edjroz in #1535
  • fix(test): assert restart ownership per document by @edjroz in #1553
  • Enforce --max-schema-size and --max-backup-size at the request boundary by @edjroz in #1480
  • Honour --no-signing instead of always signing with a node identity by @edjroz in #1481
  • Map --valuelogfilesize onto the lark and rocksdb target file size by @edjroz in #1482
  • Prove --max-schema-size on the wire against a real node by @edjroz in #1483
  • chore(db): compartmentalize db, 1/4 error, event, view, database, collection, txn by @vertexclique in #1544
  • refactor(db): compartmentalize db, 2/4 split the transaction registry and adopt one-word names by @vertexclique in #1545
  • chore(db): compartmentalize db, 3/4 write, read, block, definition, access, docid by @vertexclique in #1546
  • test(db): compartmentalize db, 4/4 move every test into the tests tree by @vertexclique in #1547
  • chore(db): compartmentalize db, 5/5 fold the six db-* crates into db by @vertexclique in #1556
  • chore(benches): scaffold the benches package and move defra-core by @edjroz in #1558
  • chore(benches): move the five straightforward crates by @edjroz in #1559
  • chore(benches): move storage and the db vector benches by @edjroz in #1560
  • chore(benches): extract the shared runtime helpers by @edjroz in #1561
  • chore(benches): suppress empty libtest harnesses and add bench recipes by @edjroz in #1563
  • fix(ci): satisfy Rust 1.98 Clippy lints by @iverc in #1554
  • test(p2p): move wire tests into the tests tree by @iverc in #1549
  • test(p2p): move libp2p protocol tests into the tests tree by @iverc in #1550
  • test(p2p): move sync state tests into the tests tree by @iverc in #1551
  • /document crate unit test clean up by @christopherbm in #1570
  • embedded crate unit test clean up by @christopherbm in #1571
  • events crate test cleanup by @christopherbm in #1572
  • fix(http): mount the API router at Go's unversioned /api prefix by @vertexclique in #1574
  • fix(http): honor Go's collection selectors on GET /collections by @vertexclique in #1575
  • fix(http): make DELETE /collections/{name} Go's filtered document delete by @vertexclique in #1576
  • fix(http): serve Go's filtered document update on PATCH /collections/{name} by @vertexclique in #1577
  • fix(schema): enforce relation integrity by @iverc in #1584
  • fix(schema): validate field defaults by @iverc in #1585
  • fix(db): preserve active name selector precedence by @iverc in #1588
  • fix(http): align collection selector query parsing by @iverc in #1589
  • fix(http): list transaction-scoped collections by @iverc in #1590
  • feat(ffi-test): resolve the Go checkout explicitly by @edjroz in #1567
  • fix(view): protect populated cache on dematerialize by @iverc in #1586
  • fix(p2p): align replicator replay triggers by @iverc in #1513
  • fix(p2p): recover transient marker writes by @iverc in #1578
  • ci: move validation to GitHub-hosted runners by @iverc in #1606
  • test(embedded): prevent shutdown test lost wakeup by @iverc in #1617
  • fix(p2p): replay only composite document heads by @iverc in #1453
  • fix(http): add the P2P disconnect route by @iverc in #1490
  • fix(schema): align index kind wire envelope by @iverc in #1526
  • fix(query): preserve child scan order in one-to-many joins by @edjroz in #1611
  • fix(query): plan order-by-relation joins without panicking by @edjroz in #1612
  • fix(query): duplicate relation selections and grouped _docID leak by @edjroz in #1613
  • fix(query): honor groupBy on aggregate targets by @edjroz in #1614
  • fix: preserve f64 bits through JSON parsing by @edjroz in #1615
  • test(query): cover concurrent schema initialization by @iverc in #1621
  • feat(db): support filtered collection truncate by @iverc in #1620
  • fix(defra-node): expose schema add over embedded HTTP by @jackzampolin in #1592
  • feat(ffi-test): pin the Go client checkout by @edjroz in #1566
  • fix(db): match Go wording for create-on-deleted-document error by @edjroz in #1608
  • feat(storage): Default Regolith and shed every other backend by @vertexclique in #1622
  • p2p: bind gossip fetch obligations to transport-routable origins; expose rebroadcast-on-merge by @mike7c2 in #1624
  • defra-node: serve real document and collection heads over P2P by @mike7c2 in #1625
  • ci: drop iroh from generic FFI artifacts by @iverc in #1629
  • feat(p2p): expose authenticated peer identity by @jackzampolin in #1623
  • fix(ffi): let panics unwind into FFI errors instead of aborting the host (#1594) by @edjroz in #1610
  • fix(defra-node): wire the KMS so encrypted documents replicate over iroh by @mike7c2 in #1626
  • feat(defra-node): explicit-counter DAC policy registration for policy-bound P2P collections by @mike7c2 in #1627
  • fix(db): tie-break equal index keys by public DocID by @edjroz in #1609
  • refactor(db): share auto-commit transaction lifecycle by @iverc in #1628

New Contributors

Full Changelog: v0.18.0...v0.19.0