Releases: thedotmack/claude-mem
v6.3.7
Bug Fixes
- fix: Remove orphaned closing brace in smart-install.js - Fixes SyntaxError "Missing catch or finally after try" that was preventing the plugin from loading correctly
What Changed
Fixed a syntax error in scripts/smart-install.js where an extra closing brace on line 392 caused the SessionStart hook to fail. The PM2 worker startup try/catch block was properly formed but had an orphaned closing brace that didn't match any opening brace.
This bug was introduced in a recent release and prevented the plugin from loading correctly for users.
v6.3.6
Auto-detect and rebuild native modules on Node.js version changes
Bug Fixes
- Native Module Compatibility: Auto-detects Node.js version changes and rebuilds better-sqlite3 when needed
- Self-healing Recovery: Gracefully handles ERR_DLOPEN_FAILED errors with automatic reinstall on next session
- Version Tracking: Enhanced .install-version marker now tracks both package and Node.js versions (JSON format)
- Runtime Verification: Added verifyNativeModules() to catch ABI mismatches and corrupted builds
Technical Details
This release fixes a critical issue where upgrading Node.js (e.g., v22 → v25) would cause native module failures that the plugin couldn't auto-recover from. The smart-install script now:
- Tracks Node.js version in addition to package version
- Verifies native modules actually load (not just file existence)
- Triggers rebuild when either version changes
- Handles runtime failures gracefully with helpful user messaging
Contributors
- @dreamiurg - Thank you for the comprehensive fix and thorough testing!
Merged PRs
- #149 - feat: Auto-detect and rebuild native modules on Node.js version changes
v6.3.5
Changes
- ✨ Restored Discord community button in viewer header
- 📱 Added responsive mobile navigation menu
- 🔄 Reorganized Sidebar component for better mobile UX
- 🐛 Fixed missing props being passed to Sidebar component
Technical Details
- Community button visible in header on desktop (> 600px width)
- Mobile menu icon appears on small screens (≤ 600px width)
- Sidebar toggles via hamburger menu on mobile
- Both buttons positioned in header for consistent UX
Full changelog: v6.3.4...v6.3.5
v6.3.4
Bug Fixes
Worker Startup Improvements
Fixed critical issues with worker service startup on fresh installations:
- Auto-start worker after installation - The PM2 worker now starts automatically during plugin installation
- Local PM2 resolution - Plugin now uses local PM2 from node_modules/.bin instead of requiring global installation
- Improved error messages - Clear, actionable instructions with full paths when worker fails to start
- Cross-platform support - Proper handling of Windows platform differences (pm2.cmd)
- Security enhancement - Switched from execSync to spawnSync with array arguments to prevent command injection
These changes significantly improve the first-time installation experience, eliminating the need for manual PM2 setup.
Special thanks to @dreamiurg for identifying and fixing this critical UX issue! 🙏
🤖 Generated with Claude Code
v6.3.3
Bug fixes and improvements to timeline context feature:
- Added session ID validation to filterTimelineByDepth
- Added timestamp fallback warning
- Exported filterTimelineByDepth function for unit testing
- Fixed type breakdown display in timeline item count
Full changes: v6.3.2...v6.3.3
v6.3.2
What's Changed
Improvements
- Add search query support to
/api/decisionsendpoint - now supports semantic search within decisions using Chroma with{ type: 'decision' }metadata filter
Usage
# Search within decisions (new)
curl "http://localhost:37777/api/decisions?query=architecture&format=full&limit=5"
# All decisions (existing behavior preserved)
curl "http://localhost:37777/api/decisions?format=index&limit=10"v6.3.1
What's New
- Add script to help estimate token savings from on-the-fly replacements
v6.3.0
What's New
Branch-Based Beta Toggle
Added Version Channel section to Settings sidebar allowing users to switch between stable and beta versions directly from the UI.
Features:
- See current branch (main or beta/7.0) and stability status
- Switch to beta branch to access Endless Mode features
- Switch back to stable for production use
- Pull updates for current branch
Implementation:
BranchManager.ts: Git operations for branch detection/switchingworker-service.ts:/api/branch/*endpoints (status, switch, update)Sidebar.tsx: Version Channel UI with branch state and handlers
Installation
To update, restart Claude Code or run the plugin installer.
v6.2.1
🐛 Bug Fixes
Critical: Empty Project Names Breaking Context Injection
Problem:
- Observations and summaries created with empty project names
- Context-hook couldn't find recent context (queries
WHERE project = 'claude-mem') - Users saw no observations or summaries in SessionStart since Nov 22
Root Causes:
- Sessions:
createSDKSession()usedINSERT OR IGNOREfor idempotency, but never updated project field when session already existed - In-Memory Cache:
SessionManagercached sessions with stale empty project values, even after database was updated
Fixes:
5d23c60- fix: Update project name when session already exists in createSDKSession54ef149- fix: Refresh in-memory session project when updated in database
Impact:
- ✅ 364 observations backfilled with correct project names
- ✅ 13 summaries backfilled with correct project names
- ✅ Context injection now works (shows recent observations and summaries)
- ✅ Future sessions will always have correct project names
📦 Full Changelog
Commits since v6.2.0:
634033b- chore: Bump version to 6.2.154ef149- fix: Refresh in-memory session project when updated in database5d23c60- fix: Update project name when session already exists in createSDKSession
v6.2.0
Major Features
Unified Search API (#145, #133)
- Vector-first search architecture: All text queries now use ChromaDB semantic search
- Unified /api/search endpoint: Single endpoint with filter parameters (type, concepts, files)
- ID-based fetch endpoints: New GET /api/observation/:id, /api/session/:id, /api/prompt/:id
- 90-day recency filter: Automatic relevance filtering for search results
- Backward compatibility: Legacy endpoints still functional, routing through unified infrastructure
Search Architecture Cleanup
- Removed FTS5 fallback code: Eliminated ~300 lines of deprecated full-text search code
- Removed experimental contextualize endpoint: Will be reimplemented as LLM-powered skill (see #132)
- Simplified mem-search skill: Streamlined to prescriptive 3-step workflow (Search → Review IDs → Fetch by ID)
- Better error messages: Clear guidance when ChromaDB/UVX unavailable
Bug Fixes
Search Improvements
- Fixed parameter handling in searchUserPrompts method
- Improved dual-path logic for filter-only vs text queries
- Corrected missing debug output in search API
Documentation
- Updated CLAUDE.md to reflect vector-first architecture
- Clarified FTS5 tables maintained for backward compatibility only (removal planned for v7.0.0)
- Enhanced mem-search skill documentation with clearer usage patterns
- Added comprehensive test results for search functionality
Breaking Changes
None - all changes maintain backward compatibility.
Installation
Users with auto-update enabled will receive this update automatically. To manually update:
```bash
Restart Claude Code or run:
npm run sync-marketplace
```
🤖 Generated with Claude Code