Skip to content

Release v0.12.0 - #13

Merged
bhensley5 merged 1 commit into
mainfrom
release/v0.12.0
Jun 8, 2026
Merged

Release v0.12.0#13
bhensley5 merged 1 commit into
mainfrom
release/v0.12.0

Conversation

@bhensley5

@bhensley5 bhensley5 commented Jun 8, 2026

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.12.0] - 2026-06-08

Added

Optional Graph Schemas

  • Manifest-backed optional schemas. Added open-by-default node and edge schemas that validate required properties, value types, numeric and collection bounds, enum values, closed-property rules, edge metadata, self-loop policy, and endpoint label rules while preserving schemaless behavior for databases without schemas.
  • Shared schema enforcement. Schema validation now runs in the Rust core before WAL append, so native writes, transactions, batch ingestion, graph patches, GQL mutations, Node.js, and Python receive the same atomic validation behavior.
  • Schema management APIs. Added Rust, Node.js, and Python APIs for setting, dropping, listing, and checking node and edge schemas, plus graph-level bulk schema publication with bounded violation reports and persistence across reopen.

GQL Schema And Index DDL

  • GQL current-graph-type DDL. Added ALTER CURRENT GRAPH TYPE, CHECK CURRENT GRAPH TYPE, DROP CURRENT GRAPH TYPE, SHOW CURRENT GRAPH TYPE, SHOW NODE SCHEMAS, and SHOW EDGE SCHEMAS over the same schema management substrate as the native APIs.
  • GQL property-index DDL. Added target-based CREATE PROPERTY INDEX, DROP PROPERTY INDEX, and SHOW PROPERTY INDEXES for existing node and edge single-property equality and range indexes.
  • Connector DDL parity. Node.js and Python now convert schema stats, index stats, schema explain payloads, index explain payloads, schema rows, index rows, and async GQL DDL results with connector-native field naming.

Changed

Validation And Catalogs

  • Schema publication is atomic. Bulk schema add, replace, check, and drop operations now publish through one graph-schema management path with stable per-target result details and no partial catalog updates on validation failures.
  • Label membership scanning is shared. Schema endpoint validation and query endpoint scans now reuse shared source-list scanning machinery, reducing duplicate cursor logic while preserving visibility and deterministic behavior.
  • Public docs now cover schemas and DDL. README, getting-started, API reference, GQL subset docs, and architecture docs now include optional schemas, GQL schema DDL, and GQL property-index DDL.

Fixed

  • Schema correctness hardening. Fixed same-plan endpoint-rule rewrites, ID rollback after schema violations, manifest schema validation, canonical schema literal conversion, queued-write release after schema publication outcomes, and dry-run behavior under intervening writes.
  • Connector schema fidelity. Fixed Node.js and Python schema literal round trips for tagged unsigned integers, bytes, map markers, enum values, numeric bounds, returned-schema reuse, async dry-run coverage, and stub/type declaration parity.
  • Index DDL guardrails. Fixed unsupported GQL property-index syntax handling, side-effect-free EXPLAIN, unknown-label DROP behavior, cursor rejection, read-only execution behavior, manifest shape preservation, and planner fallback after dropped declarations.

## What's New
- Add manifest-backed optional node and edge schemas with shared Rust-core enforcement.
- Add native and bulk graph-schema management APIs across Rust, Node.js, and Python.
- Add GQL current-graph-type schema DDL and property-index DDL.

## Improvements
- Reuse shared label-membership scanning for schema endpoint checks and query endpoint scans.
- Preserve atomic schema publication with stable per-target results and bounded validation reports.
- Extend connector result and explain conversion for schema and index DDL payloads.

## Documentation
- Update README, getting-started, API reference, GQL subset, and architecture docs for schemas and DDL.
- Finalize CHANGELOG.md for v0.12.0.
@bhensley5
bhensley5 marked this pull request as ready for review June 8, 2026 03:31
@bhensley5
bhensley5 merged commit c2213c9 into main Jun 8, 2026
3 checks passed
@bhensley5
bhensley5 deleted the release/v0.12.0 branch June 8, 2026 03:32
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