mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-07-03 02:51:04 +02:00
* 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>
43 lines
2.4 KiB
Markdown
43 lines
2.4 KiB
Markdown
# 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](../user/operations/upgrade.md).
|