Skip to content

v0.7.0

Choose a tag to compare

@engrava-release engrava-release released this 02 Oct 19:56
· 21 commits to dev since this release
Immutable release. Only release title and notes can be modified.

0.7.0 (2026-10-02)

Added

  • cli: add remember, recall and link one-shot commands (599d58b)
  • core: add a pre-insert preparation seam and stop bypassing overrides (6ba6660)
  • core: add a public way to attach a dreaming extension (d6f2966)
  • core: guard updates with an engine-maintained revision (809b3f4)
  • release: check that main carries the newest version tag (92f9ec8)
  • release: fail a release that moves the core schema on a patch bump (bc894b8)
  • release: fail a release whose computed version disagrees with the target (984abb6)
  • release: fail a run that silently published nothing for the target (10c3d63)

Fixed

  • assert atomic rollback, not partial survival, in v20->v21 test (5854aa5)
  • clear ruff check findings on release/v0.7.0 (17 -> 0) (fac993f)
  • cli: check the schema version before recall, remember and link open a database (255b97b)
  • cli: clear the journal too when restore --clear wipes the store (dbda8b9)
  • cli: error on a corrupt database instead of hanging forever (814afb7)
  • cli: exempt reflection centroid rows from restore's identity lock (c8c2c22)
  • cli: keep the full-text index consistent on every restore (c588b0f)
  • cli: make a snapshot export observe one consistent database state (d6d31dd)
  • cli: name the database in the error message (e048343)
  • cli: read export's thought and edge tables in one transaction (281b65f)
  • cli: refresh a persisted vector index entry a merge restore replaces (1441ab3)
  • cli: refuse a colliding merge into a store that has a journal (b4912bc)
  • cli: reject a malformed --filter key as a usage error (aa0a51c)
  • cli: reject a restored centroid whose vector width disagrees (58d6f0b)
  • cli: state what gc deletes, and pin the guards that stop it (0403e2c)
  • cli: tell the two schema versions apart (5e5c2c1)
  • cli: verify embedding identity against the target, not a provider (679c5d4)
  • cli: write snapshot and export output through a temp file (e74133b)
  • core: a no-op upsert_by_hash() no longer commits the caller's pending work (d92823b)
  • core: a write waits for another process's lock again instead of failing at once (356a08a)
  • core: bound the close of a wedged connection (92bbef5)
  • core: close the connection even when cancellation lands mid-cleanup (f7d592e)
  • core: drop a stale auto-embed completion instead of installing it (494c0dd)
  • core: exempt centroid vectors from the embedding identity lock (a70bcf6)
  • core: export the exceptions the documentation says to catch (ac3d892)
  • core: keep buffered accesses when a flush cannot take the write lock (cee9673)
  • core: keep the no-op upsert from committing after the seam merge (5f8787a)
  • core: keep the original error when rollback or pragma cleanup fails (332a318)
  • core: keep the update contract under contention, and journal what a delete really removed (554b354)
  • core: make a read-modify-write a critical section across tasks (48ff5ae)
  • core: make a vector's ownership follow its thought, not its row (807874e)
  • core: make a write and its confirming read-back failure-atomic (af09cf5)
  • core: make an embedding write and its vector-index update atomic (a41f02e)
  • core: make the child deletes atomic with the parent delete again (33982b6)
  • core: recover a row update and its journal entry together (aa5acd8)
  • core: reject a negative or boolean get_edges limit (d9f2dfb)
  • core: roll back or quarantine a failed commit instead of leaving it open (cb1355f)
  • core: sample transaction ownership again before upsert_by_hash's decisive probe (7a8fd06)
  • core: say when the unembedded row survives an auto-embed failure (059efa4)
  • core: serialise the dedup probe-and-insert across connections (7bb7c6c)
  • core: skip derivation only inside the current task's own transaction window (067f28c)
  • core: stop a write-free call from committing the caller's transaction (6f622a2)
  • core: store every timestamp in one canonical UTC form (02cd72d)
  • docs: correct auto-embed durability claims in api-reference/configuration (6b6b628)
  • docs: correct EmbeddingConfig.require_embedding durability docstring (a2254e5)
  • docs: split auto-embed durability into two independent questions (4a77d8e)
  • docs: stop conflating durability with method, add missing precondition (e1c00fa)
  • docs: teach the cleanup the library ships in every example (a6c61fa)
  • domain: say whether a metrics snapshot was actually measured (918161c)
  • dreaming: compute the cohesion gate as the cosine similarity it names (a851882)
  • dreaming: roll back a reflection whose own embedding fails (2fde4af)
  • embeddings: stop a rejected first write from locking corpus identity (6f2dbc9)
  • embeddings: stop logging the embedding provider's raw error message (06b323d)
  • extensions: roll back the migration savepoint on cancellation too (c7d9708)
  • hygiene: make a failed or cancelled hygiene pass leave nothing behind (bbb1ca2)
  • infra: keep one manager caller's cancellation away from the others (60acdac)
  • infra: share one lifecycle lock across create, delete, and close_all (1a157f6)
  • infra: wait for the aiosqlite worker after a failed connect (203baf9)
  • journal: a failed derived record undoes only itself, even inside your transaction (7aebc9a)
  • journal: make create, delete and outcome writes recover together with their journal entry (68eb360)
  • migration: make a migration step apply completely or not at all (2f5a949)
  • migration: roll back legacy-history adoption's savepoint on cancellation too (304327c)
  • migration: unwind a savepoint cancelled while it opens (0324c1f)
  • mindql: match quoted values exactly, including repeated whitespace (481fbee)
  • mindql: reject a LIMIT or OFFSET too large for SQLite to store (7ce08ce)
  • release: close the gaps the last round's claims papered over (a71edc8)
  • release: one boundary around reading the target, not a longer catch list (e5b46e9)
  • release: one lookup, one claim, and close three more false passes (48ebba7)
  • release: stop the was-published gate from passing on nothing (bdeb668)
  • search: apply collapse and reflection caps to the query-less fallback (1543c7f)
  • search: bound edge retrieval and graph ranking's neighbour fetch in SQL (60f7b47)
  • search: keep search query text out of the FTS fallback logs (1db1b6c)
  • search: keep the query-less fallback's order under the reflection cap (af8f162)
  • search: stop graph ranking from double-counting a cross-chunk edge (4b2a0dd)
  • search: turn cycle recency fully off at a zero weight (ef1f87a)
  • update stale schema-version golden to 21 (4a78102)