version 0.4.0
One-context now protects against cross-project mixing, survives concurrent writes from multiple AI tools, ships a real test suite + CI, and can back up and restore your context. Fully backward-compatible — existing ~/.ctx/ctx.db databases upgrade automatically.
Context isolation
ctx_resolve(repo_path)— reverse-lookup from a workspace folder (or any subfolder, case-insensitive) to its linked project. The folder is the source of truth, not a remembered name.- Folder-ownership guards —
ctx_update/ctx_note/ctx_mapnow refuse to auto-create a different project for a folder already linked elsewhere, preventing typo-split projects (e.g.pocketlabvspocket-lab) from forking your context. ctx_listnow returns each project's linkedrepo_path.
Reliability
- Atomic concurrent writes — the full read-merge-write runs inside a single
BEGIN IMMEDIATEtransaction with a busy-timeout, so two tools (Claude, Cline, Codex…) updating the same project can no longer silently clobber each other. Verified against 40 concurrent writers with zero lost updates. - 83-test pytest suite + GitHub Actions CI on Ubuntu & Windows × Python 3.10 / 3.12.
Security
ctx servenow binds127.0.0.1by default (was0.0.0.0). HTTP mode is no longer exposed to your whole network unless you opt in.- Optional bearer-token auth via
CTX_AUTH_TOKENfor network exposure. With auth on,/healthhides the tool list and CORS is restricted to localhost origins. stdio mode (the default) has no network surface.
Durability
ctx_export/ctx_importMCP tools andctx export/ctx importCLI commands — JSON backups (idempotent merge or replace) plus human-readable Markdown.- Bucket size caps (
CTX_MAX_BUCKET_CHARS,CTX_MAX_MAP_CHARS) trim oldest entries on write;ctx_get view="brief"returns just the recent slice of DONE for context-tight sessions.
Install
pip install -U one-ctx
# or, in any MCP client:
uvx --from one-ctx one-context stdio
Full changelog: https://github.com/m4vic/one-context-mcp/compare/v0.3.0...v0.4.0
---
That `compare` link at the bottom auto-renders a full commit diff on GitHub — nice touch for a release.
Once you've published it, tell me and I'll finalize the 0.5.0 privacy-hardening plan (private-project flag, scoped search, last-writer visibility) and we start building. The plan's already drafted and ready — I just need to add the "0.4.0 release is done" checkpoint and re-confirm scope with you before writing code.