v2.0.0
refactoringhq/tolariav2.0.0Sep 18, 2026by github-actions[bot]
Upgrading?
AI Summary
Engram 2.0.0 is the first stable release of the v2 line, featuring 462 commits that introduce project-aware memory, advanced agent integrations, relation-aware retrieval, optional Cloud replication, and managed access.
Key Highlights
- Project-aware memory and ownership with consistent identity resolution across CLI, Git, and configuration.
- Richer local memory and retrieval with FTS5 search, conflict detection, and review cycles.
- Expanded agent integrations and session safety mechanisms for various AI clients.
- Optional Cloud replication with managed access, dashboard, and token management.
- Data-integrity hardening, reliability improvements, and diagnostic tools.
Breaking Changes
- Go module path changed to `github.com/Gentleman-Programming/engram/v2`.
- Read scoping behavior changed: omitted project selectors now resolve the canonical current project instead of reading all projects.
- Project resolution now fails with available-project information if the current directory is ambiguous.
- Cloud sync is strictly project-scoped; `engram sync --cloud --all` is rejected.
- Cloud servers now require `ENGRAM_CLOUD_ALLOWED_PROJECTS` and a non-default `ENGRAM_JWT_SECRET`.
New Features
- Added `mem_current_project` and project management commands (listing, consolidation, pruning, merging).
- Implemented conflict detection with `mem_save`, `mem_judge`, and `mem_compare` for verdicts like `supersedes` and `conflicts_with`.
- Expanded agent integration support for Claude Code, OpenCode, Codex, Pi, Gemini CLI, Cursor, and various MCP clients.
- Added optional `engram cloud serve` with Postgres-backed storage and opt-in autosync.
- Introduced a managed dashboard with project grants, token issuance/revocation, and audit logging.
- Added `engram doctor` for diagnostics and `gentle-engram@0.1.13` for Pi integration.
Full Release Notes
Engram 2.0.0 is the first stable release of the v2 line. It contains 462 commits since v1.20.0 across project-aware memory, agent integrations, relation-aware retrieval, optional Cloud replication, managed access, diagnostics, and data-integrity hardening. ## What changed since v1.20.0 ### Project-aware memory and ownership - Project identity is resolved consistently from explicit configuration, `ENGRAM_PROJECT`, Git metadata, and the current directory. - Added `mem_current_project`, project listing/consolidation/pruning, project merging, explicit global reads, and legacy ownership rescue tooling. - Runtime-bound session attribution prevents writes from being assigned to the wrong session, project, worktree, or agent process. - Project-scoped reads now behave consistently across CLI, MCP, HTTP, export, review, Obsidian export, and sync status. ### Richer local memory and retrieval - Added curated prompt capture, topic-key upserts, duplicate/revision tracking, review cycles, local pinning, context-size limits, UTF-8-safe truncation, and compact context output. - Expanded FTS5 search with project and scope filters, match modes, topic-key results, and CJK/trigram support. - Added `engram doctor`, expanded project-management commands, improved the Bubble Tea TUI, and introduced beta Obsidian knowledge-graph export. - Backup export/import now preserves pinned observations and memory relations. ### Conflict detection and memory relations - `mem_save` can surface likely conflicting memories for review. - Added `mem_judge` and `mem_compare` for persisted verdicts including `supersedes`, `conflicts_with`, `compatible`, and `not_conflict`. - Search results expose stable relation annotations. - CLI and local HTTP surfaces support conflict listing, scanning, statistics, inspection, and deferred-relation replay. - Relation judgments participate in local, Git, and Cloud synchronization with dependency-aware deferral. ### Agent integrations and session safety - Expanded setup and integration coverage for Claude Code, OpenCode, Codex, Pi, Gemini CLI, Cursor, VS Code Copilot, Kiro, Kilo Code, Qwen Code, Windsurf, and other MCP clients. - Added thin plugin and hook integrations for session lifecycle, compaction recovery, passive capture, prompt capture, and Memory Protocol injection. - Hardened Pi cross-project write protection, shutdown handling, package compatibility, error reporting, and installer/package-version parity. - Published `gentle-engram@0.1.13`, matching the version installed by `engram setup pi`. - The OpenCode 1.x adapter now works in Node-hosted plugin environments without relying on Bun globals. ### Optional Cloud replication and autosync - Added the optional `engram cloud serve` runtime with Postgres-backed storage, project enrollment, compressed chunk transport, mutation push/pull, and deterministic reason codes. - Added opt-in autosync for `engram serve` and `engram mcp`, with lease protection, bounded retries, exponential backoff, degraded-state reporting, and graceful shutdown. - Added project-scoped Cloud upgrade commands: `doctor`, `repair`, `bootstrap`, `status`, and pre-verification rollback. - Added per-target tombstone floors and offline reconciliation for unenrolled legacy journal entries. - Local SQLite remains authoritative; Cloud remains optional replication and browser visibility. ### Cloud dashboard and managed access - Added server-rendered project, session, observation, prompt, contributor, health, sync-control, audit, and managed-user dashboard surfaces. - Added managed principals, human users, project grants, token issuance/revocation, first-admin bootstrap, and audit logging. - Added dedicated managed-token hashing through `ENGRAM_CLOUD_TOKEN_PEPPER`. - Dashboard reads now enforce the authenticated principal’s project grants instead of relying only on the deployment allowlist. - Existing `ENGRAM_CLOUD_TOKEN` and `ENGRAM_CLOUD_ADMIN` credentials remain available as a legacy fallback. ### Reliability and data-integrity hardening - Added safe planning and explicit partial outcomes for legacy ownership repair. - Hardened nullable legacy-session handling across store reads, export, deletion, lifecycle operations, and diagnostics. - Added doctor findings for unowned sessions and orphaned observation/session references. - Rejected titleless observations before side effects, preventing poisoned mutation queues. - Hardened sync ordering, mutation payload validation, CJK migrations, UTF-8 truncation, autosync shutdown, and SQLite generation boundaries. - Added Obsidian export path-containment protection. - Made Cloud push limits configurable while preserving the 8 MiB default. - `doctor repair` now distinguishes repairable checks from diagnostic-only checks and prints executable continuations. ## Breaking and compatibility changes ### Go module path Source consumers must use the v2 module path: ```bash go install github.com/Gentleman-Programming/engram/v2/cmd/engram@latest ``` ### Read scoping Omitted project selectors now resolve the canonical current project instead of implicitly reading every project. Use `--all` or `all_projects=true` only when a global read is intentional. ### Project resolution Ambiguous current-directory detection now fails with available-project information. Configure `.engram/config.json`, set `ENGRAM_PROJECT`, move into the intended repository, or pass an explicit project. ### Cloud scope and authentication - Cloud sync remains explicitly project-scoped; `engram sync --cloud --all` is rejected. - Cloud servers require `ENGRAM_CLOUD_ALLOWED_PROJECTS`. - Authenticated deployments require a non-default `ENGRAM_JWT_SECRET`. - `ENGRAM_CLOUD_TOKEN_PEPPER` enables managed-token authentication and must be distinct from `ENGRAM_JWT_SECRET`. Without it, legacy Cloud credentials continue to work. ## Upgrade checklist 1. Back up `~/.engram/engram.db`. 2. Upgrade Engram through Homebrew or a release archive. 3. Run `engram doctor` and follow any reported repair path. 4. Restart long-running MCP servers and agent sessions so they load the v2 binary and contracts. 5. Pi users should rerun `engram setup pi` if their installation still resolves an older `gentle-engram` package. 6. For enrolled Cloud projects, follow the Cloud `doctor` → `repair` → `bootstrap` upgrade sequence instead of assuming an implicit remote migration. ## Known limitations - [#1242](https://github.com/Gentleman-Programming/engram/issues/1242): a stale OpenCode root session can still make omitted-session `mem_save` fail closed. End the stale session or provide the intended `session_id`. - [#1220](https://github.com/Gentleman-Programming/engram/issues/1220): the dedicated OpenCode 2.x adapter is not included; `engram setup opencode` targets OpenCode 1.x. - [#1182](https://github.com/Gentleman-Programming/engram/issues/1182): concurrent processes can still encounter SQLite write contention and transient MCP connectivity loss. - [#1135](https://github.com/Gentleman-Programming/engram/issues/1135): a permanently unsatisfiable relation dependency can stall Cloud import convergence. - [#1175](https://github.com/Gentleman-Programming/engram/issues/1175): local sync can become pathologically slow on very large stores containing extensive duplicate history. ## Installation Release archives include Linux, macOS, and Windows builds for amd64 and arm64 plus `checksums.txt`. The stable tag also updates the Homebrew formula. ## Full comparison See every commit in [`v1.20.0...v2.0.0`](https://github.com/Gentleman-Programming/engram/compare/v1.20.0...v2.0.0).
Related Repositories
openclaw/openclaw★ 392,706
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,074
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 358,310
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,720
The open source coding agent.
n8n-io/n8n★ 208,261
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.