Skip to content

Releases: thedotmack/claude-mem

v6.3.7

01 Dec 03:53

Choose a tag to compare

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

30 Nov 22:34

Choose a tag to compare

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

30 Nov 22:09

Choose a tag to compare

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

30 Nov 21:09

Choose a tag to compare

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

30 Nov 20:01

Choose a tag to compare

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

25 Nov 21:38

Choose a tag to compare

What's Changed

Improvements

  • Add search query support to /api/decisions endpoint - 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

25 Nov 20:48

Choose a tag to compare

What's New

  • Add script to help estimate token savings from on-the-fly replacements

v6.3.0

25 Nov 19:13

Choose a tag to compare

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/switching
  • worker-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

23 Nov 21:19

Choose a tag to compare

🐛 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:

  1. Sessions: createSDKSession() used INSERT OR IGNORE for idempotency, but never updated project field when session already existed
  2. In-Memory Cache: SessionManager cached sessions with stale empty project values, even after database was updated

Fixes:

  • 5d23c60 - fix: Update project name when session already exists in createSDKSession
  • 54ef149 - 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.1
  • 54ef149 - fix: Refresh in-memory session project when updated in database
  • 5d23c60 - fix: Update project name when session already exists in createSDKSession

v6.2.0

22 Nov 05:28

Choose a tag to compare

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