Release Notes: v0.5.0¶
Date: 2026-10-14
Version 0.5.0 changes the bundled agent integration path to a resident local IPC service. Claude Code, Codex, and other bundled Rust integrations can start the owner on their first request and communicate without opening a local TCP listener. The standalone HTTP API remains available for applications and custom integrations.
Session evidence and migration¶
- Claude Code and Codex now preserve each parsed transcript observation in source order as a
SourceDocument, with a linked whole-session context document reconciled throughMemoryService. Captures include tool calls and results where the provider transcript exposes them. These captures redact credentials and omit image payload bytes from text memory. - AGY's
Stophook stores every non-empty JSONL transcript record in order when the hook receives a usable transcript path, then reconciles linked session context throughMemoryService. - Existing
.lint-aiproject state migrates into.membrickduring startup. Non-conflicting data is preserved, and conflicts are archived under.membrick/migration-archive.
See the session recording design, semantic supersession guide, and migration guide for details.
Resident local IPC service¶
- Bundled Rust MCP adapters and provider lifecycle hooks connect to a workspace-specific resident owner over local IPC.
- macOS and Linux use a user-private Unix domain socket. Windows uses a named pipe. The resident startup coordination prevents concurrent first requests from starting multiple writers for the same workspace.
- The IPC and standalone HTTP listeners use the same API routes and
MemoryServiceimplementation. Only one process should own a workspace's on-disk stores at a time. - The bundled adapters use settings and workspace context to resolve the local endpoint; they do not need environment variables to choose the transport.
- Resident sockets, startup coordination, and diagnostics are stored in each project's
.membrick/runtime/directory.
See Local IPC server architecture for request flow, endpoint security, and HTTP compatibility details.
Transport benchmark¶
A repeated benchmark used the same MCP handler and workload for loopback HTTP and Unix-socket IPC: three 10-second runs per transport, four search callers, one writer, and a seeded 100-document workspace. Each request opened a fresh connection. All runs returned no errors, and every acknowledged write was searchable.
| Transport | Median searches/s | Search p50 / p95 / p99 | Writes/s | Write p50 / p95 / p99 |
|---|---|---|---|---|
| HTTP over loopback TCP | 2,008.6 | 1.660 / 3.520 / 3.998 ms | 1.8 | 59.59 / 62.18 / 63.40 ms |
| Local IPC over Unix socket | 1,808.5 | 1.596 / 3.831 / 4.183 ms | 1.8 | 59.37 / 66.84 / 66.87 ms |
Search throughput varied across runs, and these results do not establish a throughput advantage for either transport. The figures describe this local MCP workload; they do not measure Windows named pipes or a large production corpus. See the full benchmark report and its raw results.
Upgrade notes¶
- Existing HTTP clients can continue using the standalone HTTP server.
- Bundled Rust provider integrations use local IPC automatically. No environment variable or separately started HTTP server is required for that path.
- Do not run the standalone server and resident IPC owner as simultaneous writers for the same workspace data.
Documentation¶
The website now includes the local IPC architecture, updated MCP, server, and index concurrency guides, and this release page.