OMGDB DOCS
// Docs

Changelog

Dated, user-facing summaries of what changed in OMGDB, one entry per release pass.


What changed, written for users rather than as a commit log. For where the project is going next, see the roadmap.

2026-07-02 — the performance pass

A pass focused on making writes fast without giving up the text-canonical design, and on tightening the agent contract.

  • Bulk import: import-jsonl loads 50,000 documents in about 2 seconds, committing atomic batches with one fsync each.
  • Single writes: durable single-document writes are now fsync-bound — the same physical wall every embedded database hits — instead of paying a cache rewrite per operation. Derived cache checkpoints persist on a bounded-lag policy and heal lazily on read.
  • describe shows the write contract: the live manual now includes each collection’s indexes and validation rules alongside the inferred schema and samples.
  • Vectors: vsync is incremental (fresh embeddings are skipped), and vsearch/context reuse persisted vectors instead of re-embedding per call.
  • Query planning: $in now plans as a union of index buckets instead of falling back to a scan, and two-sided ranges scan the more selective bound.
  • MCP contract fixes: unknown tool names report “unknown tool”, destructive tools carry real destructive hints, and per-tool required parameters — including vsearch’s k/filter and context_pack’s budget/filter — are declared in the schema.
  • Structured errors: explain and diagnose fail loudly on a missing collection with a did-you-mean hint; find keeps empty-result semantics but warns on stderr.
  • Compaction honesty: compacting the op-log preserves each surviving record’s original timestamp.
  • Regression gate: the production benchmark harness now doubles as a coarse regression gate, so a reintroduced hot-path cost fails loudly in CI-adjacent runs.

The full engineering story of this pass — how a text-log database got its writes back — is in the blog post 63x faster inserts.

2026-06 — the hardening pass

A pass focused on durability and recovery guarantees.

  • Crash-truncation test matrix: the log is truncated at every plausible byte boundary in tests, including non-UTF-8 tears, and recovery must hold at each one.
  • Canonical codec property test: the codec is bit-exact — dump → load → dump is byte-identical, enforced by a property test rather than a handful of examples.
  • repair tool: an opt-in recovery command that reports a corrupt log’s intact prefix and truncates to it only with explicit confirmation, backing up the original first.
  • Cross-platform CI: Linux, Windows, and macOS, plus a pinned minimum supported Rust version.