Releases: thedotmack/claude-mem
v7.1.11
What's Changed
Refactor: Simplified hook execution by removing bun-wrapper indirection
Hooks are compiled to standard JavaScript and work perfectly with Node. The bun-wrapper was solving a problem that doesn't exist - hooks don't use Bun-specific APIs, they're just HTTP clients to the worker service.
Benefits:
- Removes ~100 lines of code
- Simpler cross-platform support (especially Windows)
- No PATH resolution needed for hooks
- Worker still uses Bun where performance matters
- Follows YAGNI and Simple First principles
Fixes:
- Fish shell compatibility issue (#264)
Full Changelog: v7.1.10...v7.1.11
v7.1.10 - Auto-Cleanup Orphaned Processes
Enhancement
This release adds automatic orphan cleanup to complement the process leak fix from v7.1.9.
Added
- Auto-Cleanup on Startup: Worker now automatically detects and kills orphaned chroma-mcp processes before starting
- Scans for existing chroma-mcp processes on worker startup
- Kills all found processes before creating new ones
- Logs cleanup activity (process count and PIDs)
- Non-fatal error handling (continues on cleanup failure)
Benefits
- Automatically recovers from pre-7.1.9 process leaks without manual intervention
- Ensures clean slate on every worker restart
- Prevents accumulation even if v7.1.9's close() method fails
- No user action required - works transparently
Example Logs
[INFO] [SYSTEM] Cleaning up orphaned chroma-mcp processes {count=2, pids=33753,33750}
[INFO] [SYSTEM] Orphaned processes cleaned up {count=2}
Recommendation
Upgrade from v7.1.9 to get automatic orphan cleanup. Combined with v7.1.9's proper subprocess cleanup, this provides comprehensive protection against process leaks.
Full Changelog: v7.1.9...v7.1.10
v7.1.9 - Critical Process Leak Fix
Critical Bugfix
This patch release fixes a critical memory leak that caused chroma-mcp processes to accumulate with each worker restart, leading to memory exhaustion and silent backfill failures.
Fixed
- Process Leak Prevention: ChromaSync now properly cleans up chroma-mcp subprocesses when the worker is restarted
- Store reference to StdioClientTransport subprocess
- Explicitly close transport to kill subprocess on shutdown
- Add error handling to ensure cleanup even on failures
- Reset all state in finally block
Impact
- Eliminates process accumulation (16+ orphaned processes seen in production)
- Prevents memory exhaustion from leaked subprocesses (900MB+ RAM usage)
- Fixes silent backfill failures caused by OOM kills
- Ensures graceful cleanup on worker shutdown
Recommendation
All users should upgrade immediately to prevent memory leaks and ensure reliable backfill operation.
Full Changelog: v7.1.8...v7.1.9
v7.1.8
Memory Export/Import Scripts
Added portable memory export and import functionality with automatic duplicate prevention.
New Features
- Export memories to JSON format with search filtering and project-based filtering
- Import memories with automatic duplicate detection via composite keys
- Complete documentation in docs/public/usage/export-import.mdx
Use Cases
- Share memory sets between developers working on the same project
- Backup and restore specific project memories
- Collaborate on domain knowledge across teams
- Migrate memories between different claude-mem installations
Example Usage
# Export Windows-related memories
npx tsx scripts/export-memories.ts "windows" windows-work.json
# Export only claude-mem project memories
npx tsx scripts/export-memories.ts "bugfix" fixes.json --project=claude-mem
# Import memories (with automatic duplicate prevention)
npx tsx scripts/import-memories.ts windows-work.jsonTechnical Improvements
- Fixed JSON format response in /api/search endpoint for consistent structure
- Enhanced project filtering in ChromaDB hybrid search result hydration
- Duplicate detection using composite keys (session ID + title + timestamp)
🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 [email protected]
Windows libuv Crash Fix
Fixed
- Removed Windows workaround that was causing libuv assertion failures
- Prioritized stability over cosmetic console window issue
Known Issue
- On Windows, a console window may briefly appear when the worker starts (cosmetic only, does not affect functionality)
Full Changelog: v7.1.6...v7.1.7
v7.1.6: Improved Error Messages
What's Changed
Improved error messages with platform-specific worker restart instructions for better troubleshooting experience.
Full Changelog: v7.1.5...v7.1.6
v7.1.5
What's Changed
- fix: Use getWorkerHost() instead of hardcoded localhost in MCP server (#276)
Bug Fix
Fixes Windows IPv6 issue where localhost resolves to ::1 (IPv6) but worker binds to 127.0.0.1 (IPv4), causing MCP tool connections to fail.
Full Changelog: v7.1.4...v7.1.5
v7.1.4
What's Changed
- fix: add npm fallback when bun install fails with alias packages (#265)
Full Changelog: v7.1.3...v7.1.4
v7.1.3
Bug Fixes
Smart Install Script Refactoring
Refactored the smart-install.js script to improve code quality and maintainability:
- Extracted common installation paths as top-level constants (BUN_COMMON_PATHS, UV_COMMON_PATHS)
- Simplified installation check functions to delegate to dedicated path-finding helpers
- Streamlined installation verification logic with clearer error messages
- Removed redundant post-installation verification checks
- Improved error propagation by removing unnecessary retry logic
This refactoring reduces code duplication and makes the installation process more maintainable while preserving the same functionality for detecting Bun and uv binaries across platforms.
🤖 Generated with Claude Code
v7.1.2
🐛 Bug Fixes
Windows Installation
- Fixed Bun PATH detection on Windows after fresh install
- Added fallback to check common install paths before PATH reload
- Improved smart-install.js to use full Bun path when not in PATH
- Added proper path quoting for Windows usernames with spaces
Worker Startup
- Fixed worker connection failures in Stop hook
- Added health check retry loop (5 attempts, 500ms intervals)
- Worker now waits up to 2.5s for responsiveness before returning
- Improved error detection for Bun's ConnectionRefused error format
Full Changelog: v7.1.1...v7.1.2