diff --git a/CHANGELOG.md b/CHANGELOG.md index ca2bbfd8..566030e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,73 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [13.0.1] - 2026-05-10 + +## Bug fixes + +### MCP server +- **#2371** — drop `${_R%/}` parameter-expansion trim in `.mcp.json` that tripped Claude Code's MCP validator + +### Environment isolation +- **#2357** — block `ANTHROPIC_BASE_URL` leak; use a three-branch OAuth-skip predicate +- Add `CLAUDE_MEM_ENV_FILE` lazy resolver so tests (and multi-profile users) can redirect the env-file path without module-load-order constraints + +### Worker lifecycle +- Classify Claude SDK HTTP 400 as **unrecoverable** so the worker stops retrying a doomed request +- Stop hook crash hardened: `onclose` handler now performs background tree-kill on unexpected subprocess exit + +### Chroma +- **#2313** — enforce a single `chroma-mcp` subprocess per worker (singleton via `disposeCurrentSubprocess()` on every code path; tree-kill of orphans on dispose) +- Pin `onnxruntime>=1.20` and `protobuf<7` to fix `INVALID_PROTOBUF` on macOS arm64 + +### Build +- Polyfill `import.meta.url` to `pathToFileURL(__filename)` in the CJS worker bundle so ESM-style code resolves correctly (CodeRabbit-driven follow-up) + +### Tests / review +- `tests/env-isolation.test.ts` no longer mutates the real `~/.claude-mem/.env`; OAuth spy wrapped in try/finally to avoid leaks across runs +- 3 new chroma-mcp regression tests for #2313 (singleton enforcement) + +### Misc +- Daily dependency bump per CLAUDE.md maintenance policy + +Full diff: https://github.com/thedotmack/claude-mem/pull/2394 + +## [13.0.0] - 2026-05-08 + +## Highlights + +This is the **claude-mem 13** major release, landing the Server Beta runtime and the project's relicense. + +### Server Beta runtime (opt-in) +- Independent server-beta service with its own lifecycle (`claude-mem server start/status/stop`) +- Postgres-backed observation storage +- BullMQ + Redis observation queue engine (gated behind `CLAUDE_MEM_QUEUE_ENGINE=bullmq`, fail-fast) +- New `/v1` REST API surface (events, sessions, memories, search, context, audit, jobs) +- API-key auth + Better-Auth proxy +- Outbox pattern for transactional event-to-job pipelines +- Generation-job primitives (`ServerJobQueue`, `ActiveServerBetaQueueManager`, deterministic colon-free SHA-256 job IDs) +- Docker Compose + E2E harness for the new stack + +### Licensing +- Repository relicensed from **AGPL-3.0** to **Apache-2.0** +- `NOTICE` file added +- `docs/license.md` and `docs/ip-boundary.md` clarify the OSS / commercial boundary +- `ragtime/` subproject also relicensed to Apache-2.0 + +### Installer +- Server Beta is exposed as an installer option (default off — open-source core is unaffected) + +## Migration notes +- Existing users on the worker-era plugin keep working — no breaking changes for the default install +- Server Beta is opt-in. Worker continues to run on its existing port and SQLite store. +- See `docs/migration-worker-to-server.md` for forward-looking migration guidance + +## Compatibility +- Node ≥ 20, Bun ≥ 1.0 +- Server Beta requires Postgres + Redis (only when enabled) + +Full diff: https://github.com/thedotmack/claude-mem/compare/v12.7.5...v13.0.0 + ## [12.7.5] - 2026-05-07 Patch release for npx installs that hit an existing Codex marketplace registration.