v3.1.0

Gen-Verse/MMaDAv3.1.0Oct 5, 2026by github-actions[bot]

Upgrading?

AI Summary

Engram 3.1.0 adds observation version history for topic-key upserts and fixes dashboard visibility, Git binding scope drift, and database invalidation handling.

Key Highlights

  • Observation version history for topic-key upserts via `include_history` in MCP.
  • Fix for managed dashboard visibility using project grants, including literal characters.
  • Guard initial Git project binding against conflicting historical directory evidence.
  • Process stops serving after permanent database-generation invalidation is observed.

New Features

  • Repair titleless queued sync payloads using validated local observation titles.
  • Improved deferred-relation and identity-repair diagnostics.
  • Simplified OpenCode JSONC setup I/O and dashboard pagination recovery.
  • Expanded isolated PostgreSQL and plugin lifecycle coverage in tests.

Full Release Notes

# Engram 3.1.0

## Highlights
- Add observation version history for topic-key upserts and updates. MCP `mem_get_observation` supports opt-in `include_history`, with pages of up to 50 prior snapshots and `history_cursor` continuation. History is not reconstructed retroactively. (#1286)

## Fixes
- Preserve managed dashboard visibility using project grants, including empty registered projects and canonical names containing spaces or literal percent characters. (#1609, #1630)
- Guard initial Git project binding against conflicting historical directory evidence instead of silently adopting a different scope. (#1596)
- Persist managed-token authentication usage. (#1610)
- Publish identity files atomically on Linux without requiring hard-link support, retaining the compatibility fallback. (#1621)
- Repair titleless queued sync payloads using validated current local observation titles, and improve deferred-relation and identity-repair diagnostics. (#1623, #1611)
- Stop a serving process after permanent database-generation invalidation is observed, with bounded cleanup. This does not retrofit the fix into an already-running older process. (#1646)

## Maintenance
- Simplify OpenCode JSONC setup I/O, dashboard pagination recovery, and CLI export error handling. (#1606, #1615, #1616)
- Expand isolated PostgreSQL, database-generation, and plugin lifecycle coverage. Tests do not establish that every reported runtime incident is fixed. (#1614, #1641, #1643, #1645)

## Upgrade
Back up your database and configuration. Validate compatibility with your integrations, retain a known-good installation, and restart long-running Engram servers and MCP processes to use the new binary. Go source consumers continue to use the `/v3` module path.

## Release scope and known limitations
This is the core binary release. It does not publish a new `gentle-engram` npm package; npm remains at 0.2.0, and newer Pi changes on main are not delivered by this core tag. Open resume reports #1622, #1635, #1624, and #1593 are not claimed resolved.

Thanks to @josegarvinvictoria, @Reaan06, and @dnlrsls for the merged contributions.

## Full source changelog
The comparison includes Pi source changes; their presence here does not imply a new npm release.

## Changelog
* 804953e298f4b83c70c47fc933a3fa13a33e7759 feat(store,mcp): add observation version history for topic_key upserts (#184) (#1286)
* e48fac27ad0fa24c1193f6170499ff5bf8c817da fix(cloud): align managed dashboard visibility with project grants (#1609)
* 267946a64dadfffc5a0c8c52c5d9634c4d582ae6 fix(cloud): persist managed token authentication usage (#1610)
* a5d942993f461a512818c664a5478cf1239eb127 fix(cloudstore): resolve canonical granted dashboard projects (#1630)
* 0f79d5ea0bb842f65a0d2234ce3fef6353314846 fix(identity): publish atomically without hard links on Linux (#1621)
* e5c2277f856a5ee8739f297a006cabf6432ba77d fix(pi): confirm session-scoped bridge memory ownership (#1648)
* 0ed6c88b8ed0429749312009343f6a3e9c37af2c fix(pi): negotiate core resume compatibility (#1637)
* 5b8e718041e4fce2e2709aeb62f44aa79d5a0114 fix(pi): preserve actionable ownership mismatch diagnostics (#1608)
* 3951380435b95e41febb1243572a7d44c1a71ecf fix(pi): preserve session registration transport diagnostics (#1627)
* 38c301760de23cdbf6b5535ec9e02e67e76f34ea fix(project): guard initial Git identity against historical scope drift (#1596)
* f8e8ec075496872cb4028f4943c025418c00e9d5 fix(server): stop serving after database generation invalidation (#1646)
* 772daf6ada0771cfe5a9e2d4aa6aa36d203844f1 fix(sync): clarify deferred relation and identity repair diagnostics (#1611)
* f26c0b237b2e88557f178f4c062b2b2e8bd32e77 fix(sync): repair titleless payloads from current local titles (#1623)
* 6178d6ea23b4499bffe40efb6efa7d5691da778a refactor(cli): return error from cmdExport instead of calling fatal (#1616)
* 3b84efe545d8a4357b5a41ea1f0fd5b99747f917 refactor(dashboard): consolidate pagination recovery (#1615)
* 603bba2185f3906037dfa48f013f6b83da42aceb refactor(setup): share OpenCode JSONC config I/O (#1606)
* cd6fc63b4b0628c72a58fddcae43572fe5c53986 test(cloud): cover managed dashboard registry with PostgreSQL (#1614)
* f5552deed3c21d1e425922e72a7dd7d18ba71344 test(pi): add isolated shutdown delivery mechanism coverage (#1643)
* 7d95d9dd0c005abaac4edb03731adfd9ad842303 test(pi): characterize startup against an unhealthy listener (#1641)
* 7c92daf8b24e9bbf8f0e9345769f77093069a59e test(store): characterize rejection after database identity drift (#1645)


Full comparison: https://github.com/Gentleman-Programming/engram/compare/v3.0.0...v3.1.0

Related Repositories