# Omnigraph v0.2.1

Omnigraph v0.2.1 is a focused follow-up release on top of v0.2.0. It adds query linting, improves query execution correctness, hardens the local RustFS bootstrap flow, and cleans up project config naming.

## Highlights

### Query lint and check

The CLI now ships a first-class query validation surface:

- `omnigraph query lint`
- `omnigraph query check`

These commands validate `.gq` files against either an explicit schema file or a local/S3-backed repo schema, emit structured results, and support both human-readable and JSON output.

### Query execution fixes and aggregate support

This release includes several improvements in the query engine:

- aggregate execution support for read queries
- nullable query parameters now accept omission and explicit null for nullable params
- traversal planning and join alignment are more robust for traversal-introduced bindings

Together, these changes make complex read queries more dependable and easier to author.

### Better local RustFS startup

The local RustFS bootstrap is more resilient:

- detects dirty/stale repo prefixes before blindly reinitializing
- makes bootstrap recovery clearer for persisted local RustFS state
- ships a more generic demo fixture instead of user-specific seed content

This reduces the most common failure mode in local-first setup.

### Config terminology cleanup

`omnigraph.yaml` now uses graph-oriented naming:

- `graphs:` instead of `targets:`
- `cli.graph` / `server.graph` instead of `target`

This removes one of the more confusing overloaded terms in the CLI/server config model.

## Included Changes

- PR #15: query lint and query check commands
- PR #6: aggregate execution support
- PR #3: nullable query parameter fixes
- PR #16: traversal planning and join-alignment fixes
- PR #13: local RustFS bootstrap recovery hardening
- PR #14: generic bootstrap fixture
- PR #17: config rename from targets to graphs

## Upgrade Notes

- If you maintain `.gq` files in-repo, add `omnigraph query lint` to your local validation workflow
- Existing configs must use `graphs:` / `graph:` after this release
- Local RustFS users should prefer the current bootstrap script from `main` or this release rather than older cached copies
