Skip to content

VevDB v0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Sep 15:15
· 6 commits to main since this release

VevDB 0.4.0

VevDB 0.4.0 adds bounded keyset paging over immutable database values and
substantially improves durable storage behavior for native applications.

Highlights

Bounded immutable query paging

q-page walks a unique composite-key index in stable order, returns an opaque
continuation key, and resumes against the exact immutable basis that produced
the previous page. The operation has explicit error categories and bounded
query planning. It is available through the Kvist and Odin clients and the C
ABI.

See the query model for the supported
query shape and source semantics.

Durable basis coordinates

Applications can inspect the latest committed storage basis separately from
the latest indexed basis. This makes deferred index maintenance observable and
keeps the existing storage-basis API as a compatibility alias.

Storage and transaction improvements

  • Reduced durable write amplification and added index reclamation support.
  • Improved the first durable transaction on an empty store.
  • Reduced planning and allocation overhead for small resident transactions.
  • Hardened source-backed reverse reads, pull validation, and ownership across
    the Kvist boundary.
  • Added a fallible Kvist pull-many facade.

Compatibility

The native ABI remains at version 3. Durable stores created by VevDB 0.3.0 can
be opened, queried, and updated by VevDB 0.4.0. The release gate exercises this
path with the published 0.3.0 CLI before every release.

q-page is intentionally narrower than general Datalog. Clojure, Java,
Python, Rust, Go, Node.js, and the CLI continue to expose the existing query
APIs, but do not yet expose q-page.