Release v0.8.0 - #9
Merged
Merged
Conversation
## What's New - Add label-first graph APIs with automatic label catalog creation, multi-label nodes, and edge label IDs across Rust, Node.js, and Python. - Add direct edge query APIs, edge property indexes, edge query planning, and graph-pattern edge anchors. - Introduce packed core segments with required segment objects in segment.core and optional indexes kept outside the core payload. - Add segment component identity validation and public scrub APIs for detecting stale or mismatched segment sidecars. ## Improvements - Rename public type vocabulary to labels and remove numeric type-ID aliases from connector APIs. - Update WAL replay and recovery around atomic graph batches. - Expand planner stats, endpoint/property intersection planning, and edge-first pattern execution. ## Documentation - Document the pre-1.0 storage-format break for existing database directories. - Refresh API docs, getting started material, architecture overview, examples, and README content for v0.8.0. - Add a community integration link for OvergraphSwiftBridge.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.8.0] - 2026-05-20
Breaking Changes
Pre-1.0 Storage Format Reset
segment.corelayout. Databases created by earlier releases are not expected to open on0.8.0.0.8.0. This is an intentional pre-1.0 compatibility break so the storage layout, label model, and identity checks can settle before wider production use.type_id. Public node records exposelabelsinstead oftype_id.label_id/labelId, nottype_id/typeId."User"and"WORKS_AT". Ordinary graph APIs auto-create or resolve the internal label IDs for you. Numeric label IDs are exposed only through catalog diagnostics.Added
Public Label Model
type_idvalues into normal writes, reads, queries, traversals, vector scopes, prune policies, or exports.ensure_node_label,ensure_edge_label,get_node_label_id,get_edge_label_id,get_node_label,get_edge_label,list_node_labels, andlist_edge_labelsacross Rust, Node.js, Python, and async connector surfaces.NodeLabelFilter/LabelMatchModeacross query, traversal, vector search scope, graph algorithms, export, prune, and pattern APIs so callers can ask for any listed label or every listed label.Edge Queries And Edge Indexes
query_edge_ids,query_edges, andexplain_edge_queryacross Rust, Node.js, Python, and async connectors.fromendpoint sets,toendpoint sets, either-endpoint sets, pagination, and explicit full-scan opt-in.and/or/notfilters over weight ranges, validity windows, built-inupdated_at, property equality,in, property ranges,exists, andmissing.ensure_edge_property_index,drop_edge_property_index, andlist_edge_property_indexesfor optional edge equality and numeric range indexes scoped by edge label.Storage Identity And Scrub
segment_manifest.datcomponent records, source-group dependency digests, build fingerprints, identity headers, required-vs-optional availability rules, and generation-aware optional refresh.segment.corecontainer for immutable core source truth and required maintained indexes.Changed
API Model
labels. Hydrated node records now return the complete public label set. Node label collection APIs are namednodes_by_labels,get_nodes_by_labels,count_nodes_by_labels, and paged variants.labelId; Python exposeslabel_id. These are diagnostic token IDs, not ordinary graph API inputs.Segment Layout
segment.core. Node records, edge records, tombstones, node metadata, edge metadata, key indexes, node-label indexes, edge-label indexes, timestamp indexes, edge triple indexes, adjacency indexes/postings, vector source-truth blobs, and immutable edge metadata indexes are now packed into one required core container.Planner And Execution
Fixed
[0.7.0] - 2026-05-02
Added
Native Query Planner
query_node_ids,query_nodes, and explain APIs across Rust, Node.js, and Python for ID, key, type, property, timestamp, and compound predicate queries.query_patternandexplain_pattern_queryfor deterministic bounded pattern matching with node filters and edge-scoped post-filters.and,or,not,in,exists,missing, equality, numeric range, and updated-at range predicates.planner_stats.datsidecars that provide private cost estimates, adaptive candidate caps, and graph-pattern fanout evidence.