omnigraph/docs/releases/v0.8.0.md
Andrew Altshuler 23e838ffa8
docs(release): trim v0.8.0 notes + drop internal RFC references (#322)
* docs(release): trim v0.8.0 notes, drop internal RFC references

Shorten the v0.8.0 release notes to a scannable highlights + upgrade format and
remove internal RFC-track references (RFC-013 Phase 7, step 3a, etc.), which are
not public-inspectable and don't belong in OSS-facing release notes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(release): widen rebuild note to any pre-v0.8.0 graph

Greptile P1: the version gate blocks any pre-v4 graph (v0.4.x-v0.7.x), not just
v0.7.x. The trim over-narrowed it and left older-release users without a signal.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 01:11:19 +03:00

2.4 KiB

Omnigraph v0.8.0

The first release with an on-disk format change since v0.4.0. Graph commit lineage now lives in __manifest, the two legacy commit-graph datasets are gone, constraint validation is unified (and stricter in a few cases), and the storage-format version is now visible to operators. Storage is strict-single-version: a graph from an older release is rebuilt via export/import, not migrated in place. Read the upgrade notes before rolling out.

Highlights

  • Graph lineage moved into __manifest (internal schema v4). The commit DAG (commits, parents, branch heads, actor) is now written in the same atomic commit as a graph's table-version rows, closing the crash window where a manifest version could exist without its lineage. The two legacy datasets (_graph_commits.lance, _graph_commit_actors.lance) are no longer created or read — one fewer moving part and two fewer directory listings per open.

  • Stricter, unified constraint validation. The loader, mutation, and branch-merge paths now share one validator, so they can no longer drift. All changes are stricter (none relax an existing check): enum constraints are enforced on merge, a @unique value that collides with an already-committed different row is rejected, duplicate-key semantics are precise (a key repeated within one input batch is rejected; the same id across batches coalesces), and overwrite loads validate per touched table. A pipeline that unknowingly relied on one of these gaps will now fail loudly at write time.

  • Storage-format version is visible. omnigraph version prints the format version this binary serves, omnigraph snapshot reports a graph's on-disk version, and the server GET /healthz response includes it.

  • Prebuilt linux-arm64 (aarch64) binaries now ship alongside Linux x86_64, macOS arm64, and Windows x86_64, with a matching Homebrew bottle.

Upgrade

  • Upgrade every binary that touches a graph to v0.8.0 together. Older-format graphs are refused on open in both directions: a newer binary refuses an old-format graph, and an old binary refuses this one.
  • Any pre-v0.8.0 graph is rebuilt, not migrated: export it with the old binary, then init + load with v0.8.0. Data, vectors, and blobs are preserved; commit history and branches are not carried over. See the upgrade guide.