v2.1.0
Gentleman-Programming/engramv2.1.0Sep 23, 2026by github-actions[bot]
Upgrading?
AI Summary
This release publishes the Engram binary for v2.1.0 while keeping the npm package on version 0.1.14. It introduces atomic observation replacements and a new Kimi agent adapter, alongside critical fixes for database integrity and session binding.
Key Highlights
- Core-only release: Publishes binary without updating the npm package.
- Adds atomic observation replacements for memory management.
- Introduces a Kimi agent adapter for Kimi Code CLI.
- Fixes SQLite WAL integrity and write locking issues.
- Adds native Codex prompt hook support.
New Features
- Atomic observation replacements
- Kimi agent adapter for Kimi Code CLI
Full Release Notes
Engram 2.1.0 builds on the v2 foundation with atomic observation replacements, more reliable local storage and Cloud synchronization, and safer agent integrations. This tag publishes the **core binary**. The Pi package `gentle-engram` 0.1.15 was published separately after this core tag; see [Pi 0.1.15](#pi-0115-is-a-separate-release) below. ## What changed since v2.0.0 ### Memory and local data integrity - Added atomic literal find-and-replace for existing observations through the validated MCP and HTTP contracts ([#1342](https://github.com/Gentleman-Programming/engram/pull/1342)). - Acquired SQLite write locks at transaction start to avoid `SQLITE_BUSY_SNAPSHOT` failures in read-then-write transactions, and upgraded the SQLite runtime with the upstream WAL-reset integrity fix ([#1243](https://github.com/Gentleman-Programming/engram/pull/1243), [#1308](https://github.com/Gentleman-Programming/engram/pull/1308)). These fixes do **not** make network filesystems safe for the database; see [#1292](https://github.com/Gentleman-Programming/engram/issues/1292). - Added a confirmed, local-only `doctor repair` path for observations whose parent session is missing; diagnostics now distinguish repairable findings from informational checks ([#1268](https://github.com/Gentleman-Programming/engram/pull/1268), [#1265](https://github.com/Gentleman-Programming/engram/pull/1265)). ### Cloud and sync convergence - Materialized mutation-only session, observation, and prompt uploads; preserved local hard-delete tombstones during export ([#1312](https://github.com/Gentleman-Programming/engram/pull/1312), [#1313](https://github.com/Gentleman-Programming/engram/pull/1313)). - Continued pulling remote changes when enrollment blocks a push, and deferred pulled records only when their parent session is verifiably absent ([#1309](https://github.com/Gentleman-Programming/engram/pull/1309), [#1274](https://github.com/Gentleman-Programming/engram/pull/1274)). ### Agent integrations - Added a native Codex user-prompt hook command and tightened executable selection. **Windows adapter activation and end-to-end timeout verification are not included**; [#1271](https://github.com/Gentleman-Programming/engram/issues/1271) remains open for v2.2.0 ([#1356](https://github.com/Gentleman-Programming/engram/pull/1356), [#1354](https://github.com/Gentleman-Programming/engram/pull/1354)). - Bound supported Claude Code writes to their runtime session and added a declarative `engram setup kimi` adapter for Kimi Code CLI ([#1352](https://github.com/Gentleman-Programming/engram/pull/1352), [#793](https://github.com/Gentleman-Programming/engram/pull/793)). - Improved Pi detection of legacy pre-v2 servers and bounded retry timing in the package bundled with this core tag ([#1279](https://github.com/Gentleman-Programming/engram/pull/1279)). ## Pi 0.1.15 is a separate release [`gentle-engram` 0.1.15 on npm](https://www.npmjs.com/package/gentle-engram/v/0.1.15) ([`pi-v0.1.15` source tag](https://github.com/Gentleman-Programming/engram/tree/pi-v0.1.15)) improves transport timeout handling for [#1272](https://github.com/Gentleman-Programming/engram/issues/1272): bounded read retries, a write timeout budget that accommodates slower writes, and explicit unknown outcomes when a write may already have been applied. It does not silently retry uncertain writes. ```bash pi install npm:gentle-engram@0.1.15 ``` The **v2.1.0 core tag still pins Pi 0.1.14** in its bundled setup command. Install Pi 0.1.15 explicitly if you need this patch; it is not part of the v2.1.0 core archives. ## Upgrade checklist 1. Back up your local database and configuration. Keep the SQLite database on a **local filesystem**, not NFS/network storage. 2. Upgrade the core binary with the release archive or Homebrew; verify the archive against `checksums.txt` when downloading manually. 3. Run `engram doctor` and follow only the repair guidance applicable to your store. Restart long-running agent and MCP sessions to load the new binary. 4. If you use Pi, install `gentle-engram` 0.1.15 separately with the command above and restart Pi. ## Known limitations accepted for this release - **Network filesystem data safety:** [#1292](https://github.com/Gentleman-Programming/engram/issues/1292) — placing the local SQLite database on NFS/network storage can cause WAL corruption. Use a local filesystem and retain backups. - **Export/import:** [#1287](https://github.com/Gentleman-Programming/engram/issues/1287) — exports with blank session directories can fail to import. - **Windows sync:** [#1175](https://github.com/Gentleman-Programming/engram/issues/1175) — a large multi-project database can make local sync hang. - **Contributor code generation:** [#1260](https://github.com/Gentleman-Programming/engram/issues/1260) — documented `go tool templ generate` fails without a tool directive; use `make templ` instead. - **Windows Codex hook:** [#1271](https://github.com/Gentleman-Programming/engram/issues/1271) — its existing shell adapter can still exceed the two-second timeout. The native command added in #1356 is not yet wired on Windows; adapter activation and end-to-end timeout verification are deferred to v2.2.0. ## Installation and full comparison Release archives cover Linux, macOS, and Windows on amd64 and arm64, with `checksums.txt`; the stable Homebrew formula is also at 2.1.0. See the full core diff in [`v2.0.0...v2.1.0`](https://github.com/Gentleman-Programming/engram/compare/v2.0.0...v2.1.0). The Pi patch has its own tag and npm provenance. ## Changelog * 3090703a8a8fb15066738d22c27aa649687066f3 chore(lint): format remaining Go tests (#1317) * ad2e9beaa1b52f223f925bb7d0a56ed577481851 chore(mcp): dedupe session id schema guidance (#1319) * f74102fa34219fb9740d451dd007ee9648ce81d2 ci(workflows): add merge queue support (#1290) * 01bbdf65606e28de6dab3d4d6739bd76eb479487 docs(cloud): pin production container image (#1318) * 25c9b7cbe3c211e79a2e89a407a4923cab5ef622 docs(readme): animate the banner (#1341) * 08bcdfa3422d32c3794a65901a3eb3b59ce9ffe6 feat(memory): add atomic observation replacements (#1342) * ceb28a096b4df7c3f89e5b24d18c90c353965819 feat(setup): add kimi agent adapter for Kimi Code CLI (#793) * 9e34bf3bcbf12c5c306654adcc3e7dcc88921661 fix(claude): bind writes to hook session (#1315) * 48d5fd93a1371b15bfcdf9e4f05bf4b5bfed1bba fix(claude): wire authoritative session binding (#1352) * 3a1a04b33de07afb16f769bcb5fde78a39b665d6 fix(cli): reject conflicting conflict scan modes (#1280) * fa3acd6f4621ea2cfafe2c30c3508abcced1aabc fix(cloud): materialize mutation-only uploads (#1312) * cf7f82e20415f81a61b43abc3a0e002c1fa48f54 fix(codex): add native prompt hook on main (#1356) * 9ac5cef4c32c187ba9de895f1d4855e591afb6a8 fix(doctor): clarify diagnostic-only checks (#1265) * 9ac3750ed239f6a96890a5eabe7a0aee5d827622 fix(doctor): repair orphaned observation sessions (#1268) * f3f09e52c2223b285e429b742e516ea89c9d9218 fix(doctor): require authoritative project evidence (#1310) * 9f9d6379ea5e3b1f748de446b248a2f3d11dc852 fix(import): preserve orphaned relation audits (#1311) * a58ebdc13433e768b35cc086f7c6c18bf1b68e57 fix(mcp): keep project names out of shell guidance (#1314) * bbd352ca352d9d329b0139c4a042ee95b9700231 fix(pi): classify legacy pre-v2 servers and retry deterministic failures on a fixed 5s window (#1279) * 6ad49f17b558004b0fa1f70d161cb9f2fba62aae fix(session): enforce runtime owner liveness (#1267) * 9997a8531df69e25adda25b93aa5f13b29b38cdf fix(setup): pin Codex executable authority on main (#1354) * 3dd1f66ccec2bae42f5085ff984b1fbbcc421f0a fix(store): acquire write lock on begin to eliminate SQLITE_BUSY_SNAPSHOT (#1243) * c1536ad96d4581abff08092b4906c81fe0b0f056 fix(store): defer pulled records with missing sessions (#1274) * 4d8f99641aa60fe6bc6789cc7c5847ec43700e42 fix(store): upgrade SQLite WAL integrity (#1308) * 33f0fed36cc8f4b3cfb8f50bba98d101487c3152 fix(sync): export local hard-delete tombstones (#1313) * 998fc8a9a6737afb34f3008082c5e387ed136d47 fix(sync): pull while enrollment blocks push (#1309) * 1ec0fe9099cc99184db03a7edef7dd87312797a6 fix(test): isolate Windows temp Git discovery (#1328) * 6c4bab2401bfa89331c1a237cfbc3b8adf6a35d6 fix(test): select Git for Windows root Bash (#1339) * 3199156fdb265eefc4a90842fab8046dde6c747e fix(workflows): resolve pull requests for merge groups (#1329) * 70870987f56ae662acf3cfa36fa7e9a99efa9fb3 fix: treat blank Engram environment values as unset (#1299)
Related Repositories
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
Terminal session manager for AI coding agents. One TUI for Claude, Gemini, OpenCode, Codex, and more.
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
The world’s fastest framework for building websites.