From 131b78705deaf07eb2856988f06f1e222dca9dee Mon Sep 17 00:00:00 2001 From: Ragnor Comerford Date: Tue, 9 Jun 2026 15:59:59 +0200 Subject: [PATCH] release: v0.6.2 --- AGENTS.md | 2 +- Cargo.lock | 10 ++--- crates/omnigraph-cli/Cargo.toml | 10 ++--- crates/omnigraph-compiler/Cargo.toml | 2 +- crates/omnigraph-policy/Cargo.toml | 2 +- crates/omnigraph-server/Cargo.toml | 8 ++-- crates/omnigraph/Cargo.toml | 8 ++-- docs/releases/v0.6.2.md | 55 ++++++++++++++++++++++++++++ openapi.json | 2 +- 9 files changed, 77 insertions(+), 22 deletions(-) create mode 100644 docs/releases/v0.6.2.md diff --git a/AGENTS.md b/AGENTS.md index 69272f8..d9573d0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,7 +16,7 @@ Tools that support `@`-imports (Claude Code) auto-include all three files via th `CLAUDE.md` is a symlink to this file — there is exactly one source of truth. Edit `AGENTS.md`. -**Version surveyed:** 0.6.1 +**Version surveyed:** 0.6.2 **Workspace crates:** `omnigraph-compiler`, `omnigraph` (engine), `omnigraph-policy`, `omnigraph-cli`, `omnigraph-server` **Storage substrate:** Lance 6.x (columnar, versioned, branchable) **License:** MIT diff --git a/Cargo.lock b/Cargo.lock index 3223b9c..65d253b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4543,7 +4543,7 @@ dependencies = [ [[package]] name = "omnigraph-cli" -version = "0.6.1" +version = "0.6.2" dependencies = [ "assert_cmd", "clap", @@ -4565,7 +4565,7 @@ dependencies = [ [[package]] name = "omnigraph-compiler" -version = "0.6.1" +version = "0.6.2" dependencies = [ "ahash", "arrow-array", @@ -4586,7 +4586,7 @@ dependencies = [ [[package]] name = "omnigraph-engine" -version = "0.6.1" +version = "0.6.2" dependencies = [ "arc-swap", "arrow-array", @@ -4627,7 +4627,7 @@ dependencies = [ [[package]] name = "omnigraph-policy" -version = "0.6.1" +version = "0.6.2" dependencies = [ "cedar-policy", "clap", @@ -4640,7 +4640,7 @@ dependencies = [ [[package]] name = "omnigraph-server" -version = "0.6.1" +version = "0.6.2" dependencies = [ "arc-swap", "async-trait", diff --git a/crates/omnigraph-cli/Cargo.toml b/crates/omnigraph-cli/Cargo.toml index 641068e..e0a3154 100644 --- a/crates/omnigraph-cli/Cargo.toml +++ b/crates/omnigraph-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "omnigraph-cli" -version = "0.6.1" +version = "0.6.2" edition = "2024" description = "CLI for the Omnigraph graph database." license = "MIT" @@ -13,10 +13,10 @@ name = "omnigraph" path = "src/main.rs" [dependencies] -omnigraph = { package = "omnigraph-engine", path = "../omnigraph", version = "0.6.1" } -omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.1" } -omnigraph-policy = { path = "../omnigraph-policy", version = "0.6.1" } -omnigraph-server = { path = "../omnigraph-server", version = "0.6.1" } +omnigraph = { package = "omnigraph-engine", path = "../omnigraph", version = "0.6.2" } +omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.2" } +omnigraph-policy = { path = "../omnigraph-policy", version = "0.6.2" } +omnigraph-server = { path = "../omnigraph-server", version = "0.6.2" } clap = { workspace = true } color-eyre = { workspace = true } serde = { workspace = true } diff --git a/crates/omnigraph-compiler/Cargo.toml b/crates/omnigraph-compiler/Cargo.toml index 545db83..8db46e6 100644 --- a/crates/omnigraph-compiler/Cargo.toml +++ b/crates/omnigraph-compiler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "omnigraph-compiler" -version = "0.6.1" +version = "0.6.2" edition = "2024" description = "Schema/query compiler for Omnigraph. Zero Lance dependency." license = "MIT" diff --git a/crates/omnigraph-policy/Cargo.toml b/crates/omnigraph-policy/Cargo.toml index 3d14fc5..0df2a12 100644 --- a/crates/omnigraph-policy/Cargo.toml +++ b/crates/omnigraph-policy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "omnigraph-policy" -version = "0.6.1" +version = "0.6.2" edition = "2024" description = "Policy / authorization layer for Omnigraph — Cedar-backed PolicyEngine, PolicyChecker trait, ResourceScope enum." license = "MIT" diff --git a/crates/omnigraph-server/Cargo.toml b/crates/omnigraph-server/Cargo.toml index 5994aa1..5f87082 100644 --- a/crates/omnigraph-server/Cargo.toml +++ b/crates/omnigraph-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "omnigraph-server" -version = "0.6.1" +version = "0.6.2" edition = "2024" description = "HTTP server for the Omnigraph graph database." license = "MIT" @@ -19,9 +19,9 @@ default = [] aws = ["dep:aws-config", "dep:aws-sdk-secretsmanager"] [dependencies] -omnigraph = { package = "omnigraph-engine", path = "../omnigraph", version = "0.6.1" } -omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.1" } -omnigraph-policy = { path = "../omnigraph-policy", version = "0.6.1" } +omnigraph = { package = "omnigraph-engine", path = "../omnigraph", version = "0.6.2" } +omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.2" } +omnigraph-policy = { path = "../omnigraph-policy", version = "0.6.2" } axum = { workspace = true } clap = { workspace = true } color-eyre = { workspace = true } diff --git a/crates/omnigraph/Cargo.toml b/crates/omnigraph/Cargo.toml index 70f51d8..24b0c9c 100644 --- a/crates/omnigraph/Cargo.toml +++ b/crates/omnigraph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "omnigraph-engine" -version = "0.6.1" +version = "0.6.2" edition = "2024" description = "Runtime engine for the Omnigraph graph database." license = "MIT" @@ -16,8 +16,8 @@ default = [] failpoints = ["dep:fail", "fail/failpoints"] [dependencies] -omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.1" } -omnigraph-policy = { path = "../omnigraph-policy", version = "0.6.1" } +omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.2" } +omnigraph-policy = { path = "../omnigraph-policy", version = "0.6.2" } lance = { workspace = true } lance-datafusion = { workspace = true } datafusion = { workspace = true } @@ -51,7 +51,7 @@ chrono = { workspace = true } arc-swap = { workspace = true } [dev-dependencies] -omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.1" } +omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.2" } tokio = { workspace = true } lance-namespace-impls = { workspace = true } serial_test = "3" diff --git a/docs/releases/v0.6.2.md b/docs/releases/v0.6.2.md new file mode 100644 index 0000000..2504813 --- /dev/null +++ b/docs/releases/v0.6.2.md @@ -0,0 +1,55 @@ +# Omnigraph v0.6.2 + +v0.6.2 is a maintenance-safety release on top of v0.6.1. It tightens the +`optimize` / recovery boundary, adds an explicit repair path for uncovered +manifest/head drift, accepts pretty-printed JSON load input, and updates the +project governance and release automation around those fixes. + +## Highlights + +- **Explicit `omnigraph repair`.** New `repair` CLI support previews uncovered + manifest/head drift by default and reports each table's classification, + action, manifest version, Lance HEAD version, Lance operations, and any + classification error. `--confirm` publishes verified maintenance-only drift; + `--force --confirm` can publish suspicious or unverifiable drift after + operator review. +- **Optimize skips uncovered drift.** `omnigraph optimize` now refuses to + interpret Lance HEAD movement that is ahead of `__manifest` without a recovery + sidecar. Those tables are reported as `skipped: DriftNeedsRepair` and left + untouched until `omnigraph repair` classifies them. +- **Optimize publishes compaction.** Successful compaction now publishes the + compacted Lance version back through the graph manifest and is covered by an + `Optimize` recovery sidecar. A crash after Lance compaction but before + manifest publish converges through the normal recovery sweep instead of + leaving hidden drift. +- **Recovery roll-back convergence.** Recovery roll-back now aligns the + manifest-visible version after restoring a table, closing the residual where + Lance HEAD and `__manifest` could stay out of sync after recovery. +- **Pretty-printed JSON load input.** `load` accepts multi-line JSON objects in + addition to one-object-per-line JSONL, so formatted fixture or export files no + longer need to be minified before import. + +## Operational Notes + +- `repair` requires a clean recovery state. Pending `__recovery` sidecars still + belong to automatic open-time recovery; reopen the graph first, then run + repair if drift remains. +- `repair --confirm` only auto-publishes drift made of Lance maintenance + operations (`Rewrite` and `ReserveFragments`). Semantic operations such as + append, delete, update, and merge are refused unless the operator uses + `--force --confirm`. +- `optimize` remains non-destructive. It still skips blob-bearing tables while + OmniGraph is pinned to the Lance version with the blob-v2 compaction issue. +- No manual on-disk migration is required. Existing graphs open under v0.6.2; + the internal manifest schema stamp remains v3. + +## Docs, Governance, And CI + +- Added issue, discussion, RFC, and pull-request templates plus governance docs + for the external contribution path. +- Regenerated CODEOWNERS tables and adjusted branch-protection docs so code + owners can bypass required PR review where repository rules allow it. +- Trimmed Windows release builds out of per-PR CI and kept Windows packaging on + tag releases. +- Made Homebrew audit diagnostic-only in the release workflow so a flaky audit + cannot block publishing an otherwise valid formula update. diff --git a/openapi.json b/openapi.json index aced64d..335c0bc 100644 --- a/openapi.json +++ b/openapi.json @@ -7,7 +7,7 @@ "name": "MIT", "identifier": "MIT" }, - "version": "0.6.1" + "version": "0.6.2" }, "paths": { "/branches": {