Immutable
release. Only release title and notes can be modified.
0.5.0 (2026-07-08)
- Merge branch 'docs/claim-and-audit-honesty' into release/v0.5.0 (260ca89)
- Merge branch 'docs/dreaming-activation-and-provenance-docs' into release/v0.5.0 (ebc8172)
- Merge branch 'docs/v0.5.0-release-prep' into release/v0.5.0 (4e94b85)
- Merge branch 'feature/fallback-filter-fix-and-test-hardening' into release/v0.5.0 (49dae4a)
- Merge branch 'feature/pool-overfetch-backfill-assembly' into release/v0.5.0 (835cfe0)
- Merge branch 'fix/reversible-archive-restore' into release/v0.5.0 (c16df75)
- Merge dev into main: CI action bumps (setup-python v6, cache v5) (1d1494a)
- Merge pull request #30 from sovantica/dev (3fb9792), closes #30
- Merge pull request #43 from sovantica/release/v0.5.0 (08d95f5), closes #43
- Merge remote-tracking branch 'origin/dev' into release/v0.5.0 (fe78a66)
- chore: gitignore *.pem so publishing keys are never committable (dca2bf1)
- chore(config): extend commitlint scope allowlist and sync docs/scopes.md (b83e544)
- chore(deps): bump actions/checkout from 5 to 7 (#32) (53e5fcb), closes #32
- chore(deps): bump actions/create-github-app-token from 2 to 3 (#31) (dfd213f), closes #31
- chore(extensions): list Engrava on the official MCP Registry (server.json + OIDC publish) (#33) (fbf6a18), closes #33
- chore(extensions): remove the stale in-tree MCP registry artifacts (#42) (1716c01), closes #42 33/#38
- chore(extensions): switch MCP Registry namespace to ai.sovantica (DNS auth) (#38) (3511808), closes #38
- chore(gitignore): ignore the mcp-publisher binary (9412ce3)
- test(actions): cover non-terminal verification no-op and mixed-mean exclusion (9fb0989)
- test(docs): drop stale .consolidate phantom-guard entry (real since dreaming activation) (77c0cd3)
- test(docs): execute or behaviour-assert every example; register compile-only blocks (1531ed6)
- test(dreaming): cover 6th-signal activation e2e and access-flush journal exclusion (537502e)
- test(dreaming): cover access-buffer cap/FIFO-eviction invariants (df0f2e4)
- test(dreaming): cover cold-start clusters under content-quality gating (49bc7bd)
- test(embeddings): cover require_embedding on the update_thought re-embed path (66d1947)
- test(lifecycle): assert restore journals UPDATE_THOUGHT; document canonical path (fcb4f67)
- test(perf): drop the SQLite-planner-formatting-dependent plan substring (520681c)
- test(search): cover empty-IN filter starvation end-to-end (27a0ef3)
- test(search): cover filter x reflection-cap composition (fb40cbc)
- test(search): cover scoped metadata-filtered retrieval (893e66e)
- test(search): strengthen collapse x reflection-cap backfill assertion (1ca1daf)
- test(vec0): pin cross-backend tie-break determinism at the backend boundary (22bac37)
- docs: distinguish the UPDATE_ACTION journal string from the enum (a3c84ba)
- docs: document dreaming activation — consolidate() and access tracking (49d673a)
- docs: document the provenance-capture API (ba12027)
- docs: fix post-0.5.0 drift — drop removed-MCP refs, correct scoped-retrieval claims (6cc8cbb)
- docs: note UPDATE_ACTION in the journal append docstring (27c94bd)
- docs: scope audit-trail and dreaming claims to their real boundaries (0612cb1)
- docs(api-reference): document restore_thought and scoped retrieval params (1345ded)
- docs(changelog): curate 0.5.0 Unreleased block and mark MCP removal breaking (5cf3a78)
- docs(changelog): remove the dead manual Unreleased section (ff70668)
- docs(journal): disclose that verify_journal cannot detect tail truncation (657c884)
- docs(performance): document the filtered vector-arm trade-off and clarify the bypass rationale (c9a2a82)
- docs(pyproject): align package description with the honest journal claim (de1fa58)
- docs(readme): quote extras in install commands so zsh does not glob (32584bb)
- docs(search): add the whole-turn assembly caller-side recipe (6c3339c)
- docs(search): document scoped retrieval and the ranked-path filter (cf0ab8f)
- refactor(embeddings): clarify resolve-test intent and batch-embed failure id (d066552)
- refactor(search): confine fallback filter SQL to a private method (465d076)
- fix: use absolute GitHub links in README so PyPI does not 404 (acf56bf)
- fix(dreaming): add opt-in cold-start clustering fallback (35aedab)
- fix(lifecycle): make archived thoughts restorable to ACTIVE (88c2e3e)
- fix(search): apply filters/visibility in the query-less fallback arm (2f0640e)
- fix(search): correct the sqlite-vec backend — purge deleted vectors, fill top_k (d884052)
- fix(search): neutral midpoint for the degenerate min-max fusion case (815f23b)
- feat: remove the in-tree MCP server (now the standalone engrava-mcp package) (1417e91)
- feat(core): action-outcome feedback loop and mutable action lifecycle (2008a3f)
- feat(core): add opt-in deterministic memory-hygiene forgetting loop (9167948)
- feat(core): batch/get-or-create write primitives and embed-failure visibility (e9c2021)
- feat(core): opt-in typed provenance-context capture at create_thought (b8b8fa3)
- feat(dreaming): activate consolidation — reachable scoring + live access substrate (5114f81)
- feat(embeddings): opt-in asymmetric query/document prefixes (12e61fb)
- feat(journal): expose hash-chain verification via API, CLI, and on-open gate (b26f519)
- feat(mindql): read-surface ergonomics — IN, boolean WHERE, ORDER BY, OFFSET, EXPLAIN, bound SELECT (eca5a74)
- feat(search): add collapse_key de-fragmentation to hybrid retrieval (6c80277)
- feat(search): add metadata and visibility filters to ranked retrieval (a56fcc7)
- feat(search): add opt-in per-unit retention depth for collapse backfill (e72cd22)
- feat(search): batch read-path decode, inbound edge index, eviction visibility (0e1b81f)
- merge: filtered vector-arm performance note into v0.5.0 (a5cbdeb)
- merge: scoped metadata-filtered ranked retrieval into v0.5.0 (8743c7e)
- ci(config): exempt dependabot commits from commitlint body-length (#36) (462d468), closes #36
- ci(config): exempt dependabot commits from commitlint body-length (#36) (2d391ee), closes #36
- build(deps): cap numpy <2.3 to keep mypy --strict green at the 3.11 target (#34) (91be8d4), closes #34
- build(deps): cap numpy <2.3 to keep mypy --strict green at the 3.11 target (#34) (dea6be6), closes #34
BREAKING CHANGE
- the in-tree MCP server is removed from engrava. The engrava[mcp]
optional-dependency extra, the in-engrava engrava-mcp console script, and the
in-tree server module are gone; a plain 'pip install engrava' is unaffected. The
server moved to the standalone engrava-mcp package (uvx engrava-mcp), which
consumes engrava's public API. Migrate per the docs/upgrade.md 0.4 -> 0.5 notes.