docs: update CHANGELOG.md for v10.4.0
This commit is contained in:
+68
-95
@@ -2,6 +2,74 @@
|
|||||||
|
|
||||||
All notable changes to claude-mem.
|
All notable changes to claude-mem.
|
||||||
|
|
||||||
|
## [v10.4.0] - 2026-02-24
|
||||||
|
|
||||||
|
## v10.4.0 — Stability & Platform Hardening
|
||||||
|
|
||||||
|
Massive reliability release: 30+ root-cause bug fixes across 10 triage phases, plus new features for agent attribution, Chroma control, and broader platform support.
|
||||||
|
|
||||||
|
### New Features
|
||||||
|
|
||||||
|
- **Session custom titles** — Agents can now set `custom_title` on sessions for attribution (migration 23, new endpoint)
|
||||||
|
- **Chroma toggle** — `CLAUDE_MEM_CHROMA_ENABLED` setting allows SQLite-only fallback mode (#707)
|
||||||
|
- **Plugin disabled state** — Early exit check in all hook entry points when plugin is disabled (#781)
|
||||||
|
- **Context re-injection guard** — `contextInjected` session flag prevents re-injecting context on every UserPromptSubmit turn (#1079)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
#### Data Integrity
|
||||||
|
- SHA-256 content-hash deduplication on observation INSERT (migration 22 with backfill + index)
|
||||||
|
- Project name collision fix: `getCurrentProjectName()` now returns `parent/basename`
|
||||||
|
- Empty project string guard with cwd-derived fallback
|
||||||
|
- Stuck `isProcessing` reset: pending work older than 5 minutes auto-clears
|
||||||
|
|
||||||
|
#### ChromaDB
|
||||||
|
- Python version pinning in uvx args for both local and remote mode (#1196, #1206, #1208)
|
||||||
|
- Windows backslash-to-forward-slash path conversion for `--data-dir` (#1199)
|
||||||
|
- Metadata sanitization: filter null/undefined/empty values in `addDocuments()` (#1183, #1188)
|
||||||
|
- Transport error auto-reconnect in `callTool()` (#1162)
|
||||||
|
- Stale transport retry with transparent reconnect (#1131)
|
||||||
|
|
||||||
|
#### Hook Lifecycle
|
||||||
|
- Suppress `process.stderr.write` in `hookCommand()` to prevent diagnostic output showing as error UI (#1181)
|
||||||
|
- Route all `console.error()` through logger instead of stderr
|
||||||
|
- Verified all 7 handlers return `suppressOutput: true` (#598, #784)
|
||||||
|
|
||||||
|
#### Worker Lifecycle
|
||||||
|
- PID file mtime guard prevents concurrent restart storms (#1145)
|
||||||
|
- `getInstalledPluginVersion()` ENOENT/EBUSY handling (#1042)
|
||||||
|
|
||||||
|
#### SQLite Migrations
|
||||||
|
- Schema initialization always creates core tables via `CREATE TABLE IF NOT EXISTS`
|
||||||
|
- Migrations 5-7 check actual DB state instead of version tracking (fixes version collision between old/new migration systems, #979)
|
||||||
|
- Crash-safe temp table rebuilds
|
||||||
|
|
||||||
|
#### Platform Support
|
||||||
|
- **Windows**: `cmd.exe /c` uvx spawn, PowerShell `$_` elimination with WQL filtering, `windowsHide: true`, FTS5 runtime probe with fallback (#1190, #1192, #1199, #1024, #1062, #1048, #791)
|
||||||
|
- **Cursor IDE**: Adapter field fallbacks, tolerant session-init validation (#838, #1049)
|
||||||
|
- **Codex CLI**: `session_id` fallbacks, unknown platform tolerance, undefined guard (#744)
|
||||||
|
|
||||||
|
#### API & Infrastructure
|
||||||
|
- `/api/logs` OOM fix: tail-read replaces full-file `readFileSync` (64KB expanding chunks, 10MB cap, #1203)
|
||||||
|
- CORS: explicit methods and allowedHeaders (#1029)
|
||||||
|
- MCP type coercion for batch endpoints: string-to-array for `ids` and `memorySessionIds`
|
||||||
|
- Defensive observation error handling returns 200 on recoverable errors instead of 500
|
||||||
|
- `.git/` directory write guard on all 4 CLAUDE.md/AGENTS.md write sites (#1165)
|
||||||
|
|
||||||
|
#### Stale AbortController Fix
|
||||||
|
- `lastGeneratorActivity` timestamp tracking with 30s timeout (#1099)
|
||||||
|
- Stale generator detection + abort + restart in `ensureGeneratorRunning`
|
||||||
|
- `AbortSignal.timeout(30000)` in `deleteSession` prevents indefinite hang
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
- `resolveRoot()` replaces hardcoded marketplace path using `CLAUDE_PLUGIN_ROOT` env var (#1128, #1166)
|
||||||
|
- `installCLI()` path correction and `verifyCriticalModules()` post-install check
|
||||||
|
- Build-time distribution verification for skills, hooks, and plugin manifest (#1187)
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
- 50+ new tests across hook lifecycle, context re-injection, plugin distribution, migration runner, data integrity, stale abort controller, logs tail-read, CORS, MCP type coercion, and smart-install
|
||||||
|
- 68 files changed, ~4200 insertions, ~900 deletions
|
||||||
|
|
||||||
## [v10.3.3] - 2026-02-23
|
## [v10.3.3] - 2026-02-23
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
@@ -1344,98 +1412,3 @@ Migration 17 renamed session ID columns but used a single check to determine if
|
|||||||
|
|
||||||
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
||||||
|
|
||||||
## [v8.5.0] - 2025-12-30
|
|
||||||
|
|
||||||
# Cursor Support Now Available 🎉
|
|
||||||
|
|
||||||
This is a major release introducing **full Cursor IDE support**. Claude-mem now works with Cursor, bringing persistent AI memory to Cursor users with or without a Claude Code subscription.
|
|
||||||
|
|
||||||
## Highlights
|
|
||||||
|
|
||||||
**Give Cursor persistent memory.** Every Cursor session starts fresh - your AI doesn't remember what it worked on yesterday. Claude-mem changes that. Your agent builds cumulative knowledge about your codebase, decisions, and patterns over time.
|
|
||||||
|
|
||||||
### Works Without Claude Code
|
|
||||||
|
|
||||||
You can now use claude-mem with Cursor using free AI providers:
|
|
||||||
- **Gemini** (recommended): 1,500 free requests/day, no credit card required
|
|
||||||
- **OpenRouter**: Access to 100+ models including free options
|
|
||||||
- **Claude SDK**: For Claude Code subscribers
|
|
||||||
|
|
||||||
### Cross-Platform Support
|
|
||||||
|
|
||||||
Full support for all major platforms:
|
|
||||||
- **macOS**: Bash scripts with `jq` and `curl`
|
|
||||||
- **Linux**: Same toolchain as macOS
|
|
||||||
- **Windows**: Native PowerShell scripts, no WSL required
|
|
||||||
|
|
||||||
## New Features
|
|
||||||
|
|
||||||
### Interactive Setup Wizard (`bun run cursor:setup`)
|
|
||||||
A guided installer that:
|
|
||||||
- Detects your environment (Claude Code present or not)
|
|
||||||
- Helps you choose and configure an AI provider
|
|
||||||
- Installs Cursor hooks automatically
|
|
||||||
- Starts the worker service
|
|
||||||
- Verifies everything is working
|
|
||||||
|
|
||||||
### Cursor Lifecycle Hooks
|
|
||||||
Complete hook integration with Cursor's native hook system:
|
|
||||||
- `session-init.sh/.ps1` - Session start with context injection
|
|
||||||
- `user-message.sh/.ps1` - User prompt capture
|
|
||||||
- `save-observation.sh/.ps1` - Tool usage logging
|
|
||||||
- `save-file-edit.sh/.ps1` - File edit tracking
|
|
||||||
- `session-summary.sh/.ps1` - Session end summary
|
|
||||||
- `context-inject.sh/.ps1` - Load relevant history
|
|
||||||
|
|
||||||
### Context Injection via `.cursor/rules`
|
|
||||||
Relevant past context is automatically injected into Cursor sessions via the `.cursor/rules/claude-mem-context.mdc` file, giving your AI immediate awareness of prior work.
|
|
||||||
|
|
||||||
### Project Registry
|
|
||||||
Multi-project support with automatic project detection:
|
|
||||||
- Projects registered in `~/.claude-mem/cursor-projects.json`
|
|
||||||
- Context automatically scoped to current project
|
|
||||||
- Works across multiple workspaces simultaneously
|
|
||||||
|
|
||||||
### MCP Search Tools
|
|
||||||
Full MCP server integration for Cursor:
|
|
||||||
- `search` - Find observations by query, date, type
|
|
||||||
- `timeline` - Get context around specific observations
|
|
||||||
- `get_observations` - Fetch full details for filtered IDs
|
|
||||||
|
|
||||||
## New Commands
|
|
||||||
|
|
||||||
| Command | Description |
|
|
||||||
|---------|-------------|
|
|
||||||
| `bun run cursor:setup` | Interactive setup wizard |
|
|
||||||
| `bun run cursor:install` | Install Cursor hooks |
|
|
||||||
| `bun run cursor:uninstall` | Remove Cursor hooks |
|
|
||||||
| `bun run cursor:status` | Check hook installation status |
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
Full documentation available at [docs.claude-mem.ai/cursor](https://docs.claude-mem.ai/cursor):
|
|
||||||
- Cursor Integration Overview
|
|
||||||
- Gemini Setup Guide (free tier)
|
|
||||||
- OpenRouter Setup Guide
|
|
||||||
- Troubleshooting
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
### For Cursor-Only Users (No Claude Code)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/thedotmack/claude-mem.git
|
|
||||||
cd claude-mem && bun install && bun run build
|
|
||||||
bun run cursor:setup
|
|
||||||
```
|
|
||||||
|
|
||||||
### For Claude Code Users
|
|
||||||
|
|
||||||
```bash
|
|
||||||
/plugin marketplace add thedotmack/claude-mem
|
|
||||||
/plugin install claude-mem
|
|
||||||
claude-mem cursor install
|
|
||||||
```
|
|
||||||
|
|
||||||
**Full Changelog**: https://github.com/thedotmack/claude-mem/compare/v8.2.10...v8.5.0
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user