diff --git a/CHANGELOG.md b/CHANGELOG.md index a9def6d0..160c175b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,90 @@ All notable changes to claude-mem. +## [v10.0.0] - 2026-02-11 + +## OpenClaw Plugin — Persistent Memory for OpenClaw Agents + +Claude-mem now has an official [OpenClaw](https://openclaw.ai) plugin, bringing persistent memory to agents running on the OpenClaw gateway. This is a major milestone — claude-mem's memory system is no longer limited to Claude Code sessions. + +### What It Does + +The plugin bridges claude-mem's observation pipeline with OpenClaw's embedded runner (`pi-embedded`), which calls the Anthropic API directly without spawning a `claude` process. Three core capabilities: + +1. **Observation Recording** — Captures every tool call from OpenClaw agents and sends it to the claude-mem worker for AI-powered compression and storage +2. **MEMORY.md Live Sync** — Writes a continuously-updated memory timeline to each agent's workspace, so agents start every session with full context from previous work +3. **Observation Feed** — Streams new observations to messaging channels (Telegram, Discord, Slack, Signal, WhatsApp, LINE) in real-time via SSE + +### Quick Start + +Add claude-mem to your OpenClaw gateway config: + +```json +{ + "plugins": { + "claude-mem": { + "enabled": true, + "config": { + "project": "my-project", + "syncMemoryFile": true, + "observationFeed": { + "enabled": true, + "channel": "telegram", + "to": "your-chat-id" + } + } + } + } +} +``` + +The claude-mem worker service must be running on the same machine (`localhost:37777`). + +### Commands + +- `/claude-mem-status` — Worker health check, active sessions, feed connection state +- `/claude-mem-feed` — Show/toggle observation feed status +- `/claude-mem-feed on|off` — Enable/disable feed + +### How the Event Lifecycle Works + +``` +OpenClaw Gateway + ├── session_start ──────────→ Init claude-mem session + ├── before_agent_start ─────→ Sync MEMORY.md + track workspace + ├── tool_result_persist ────→ Record observation + re-sync MEMORY.md + ├── agent_end ──────────────→ Summarize + complete session + ├── session_end ────────────→ Clean up session tracking + └── gateway_start ──────────→ Reset all tracking +``` + +All observation recording and MEMORY.md syncs are fire-and-forget — they never block the agent. + +📖 Full documentation: [OpenClaw Integration Guide](https://docs.claude-mem.ai/docs/openclaw-integration) + +--- + +## Windows Platform Improvements + +- **ProcessManager**: Migrated daemon spawning from deprecated WMIC to PowerShell `Start-Process` with `-WindowStyle Hidden` +- **ChromaSync**: Re-enabled vector search on Windows (was previously disabled entirely) +- **Worker Service**: Added unified DB-ready gate middleware — all DB-dependent endpoints now wait for initialization instead of returning "Database not initialized" errors +- **EnvManager**: Switched from fragile allowlist to simple blocklist for subprocess env vars (only strips `ANTHROPIC_API_KEY` per Issue #733) + +## Session Management Fixes + +- Fixed unbounded session tracking map growth — maps are now cleaned up on `session_end` +- Session init moved to `session_start` and `after_compaction` hooks for correct lifecycle handling + +## SSE Fixes + +- Fixed stream URL consistency across the codebase +- Fixed multi-line SSE data frame parsing (concatenates `data:` lines per SSE spec) + +## Issue Triage + +Closed 37+ duplicate/stale/invalid issues across multiple triage phases, significantly cleaning up the issue tracker. + ## [v9.1.1] - 2026-02-07 ## Critical Bug Fix: Worker Initialization Failure @@ -1455,11 +1539,3 @@ Set in ~/.claude-mem/settings.json: **Full Changelog**: https://github.com/thedotmack/claude-mem/compare/v7.4.5...v8.0.0 **View PR**: https://github.com/thedotmack/claude-mem/pull/412 -## [v7.4.5] - 2025-12-21 - -## Bug Fixes - -- Fix missing `formatDateTime` import in SearchManager that broke `get_context_timeline` mem-search function - -🤖 Generated with [Claude Code](https://claude.com/claude-code) -