Skip to content

Release v0.9.0 - #10

Merged
bhensley5 merged 1 commit into
mainfrom
release/v0.9.0
May 26, 2026
Merged

Release v0.9.0#10
bhensley5 merged 1 commit into
mainfrom
release/v0.9.0

Conversation

@bhensley5

Copy link
Copy Markdown
Owner

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.9.0] - 2026-05-26

Added

GQL Beta

  • Read-only GQL/Cypher-style query strings. Added execute_gql and explain_gql in Rust, executeGql / executeGqlAsync and explainGql / explainGqlAsync in Node.js, and execute_gql / explain_gql on both Python sync and async APIs.
  • Graph-row-backed execution. GQL Beta now lowers into the same shared graph-row executor as native APIs, so required matches, OPTIONAL MATCH, bounded variable-length paths, path values, row operations, cursors, caps, explain output, and connector result shapes share one implementation.
  • Supported read syntax. Added GQL support for MATCH, OPTIONAL MATCH, node and edge labels, relationship directions, finite bounded path quantifiers, WHERE, RETURN, aliases, scalar expressions, path functions, ORDER BY, SKIP / OFFSET, LIMIT, parameters, and explicit full-scan opt-in.
  • Path result values. Returning path aliases can now produce node IDs, edge IDs, optional hydrated elements, length, start_node, end_node, nodes, relationships, node_ids, and edge_ids values across Rust, Node.js, and Python.

Changed

Query Execution

  • Native graph-row substrate is now shared public API machinery. Structured graph-row queries now cover optional groups, bounded paths, ordering, cursors, compact rows, selected-field projection, vector opt-in, and truthful explain/profile summaries across all connectors.
  • GQL public naming is unified around execute/explain. The final advertised GQL Beta surface uses execute_gql / executeGql and explain_gql / explainGql, matching the read execution model and leaving mutation-capable naming room for a later beta.
  • Public docs position GQL as a first-class query option. README, API reference, and docs/gql-subset.md now document when to use native function APIs versus GQL Beta query strings, the supported subset, and intentionally unsupported beta features.

Fixed

  • GQL planner and runtime parity. GQL reads now match native graph-row behavior for optional null extension, path expansion, relaxed self-loop distinctness, temporal and prune visibility, stale index verification, row caps, cursor validation, ordering, projection needs, and vector omission defaults.
  • Connector parity. Node.js TypeScript declarations, Python stubs, async wrappers, and tests now expose the same GQL Beta behavior as the Rust core.

## What's New
- Add GQL Beta read-only query strings across Rust, Node.js, and Python.
- Route GQL through the shared graph-row executor for optional matches, bounded paths, cursors, and explain output.
- Add graph-row public API parity, connector tests, examples, and docs.

## Improvements
- Unify GQL public naming around execute/explain APIs.
- Harden graph-row planning, projection, ordering, caps, and cursor behavior.
- Update benchmark harness scenarios for graph-row and GQL parity.

## Documentation
- Refresh README and package README positioning around GQL Beta.
- Add the compact GQL Beta subset guide and API reference coverage.
- Finalize CHANGELOG.md for v0.9.0.
@bhensley5
bhensley5 marked this pull request as ready for review May 26, 2026 04:54
@bhensley5
bhensley5 merged commit 2749b17 into main May 26, 2026
3 checks passed
@bhensley5
bhensley5 deleted the release/v0.9.0 branch May 26, 2026 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant