From d5e392ea6903157e8baa917b86159b6a16ab9628 Mon Sep 17 00:00:00 2001 From: Alex Newman Date: Tue, 4 Nov 2025 21:47:38 -0500 Subject: [PATCH] Release v5.0.2: Worker health check and async startup improvements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: - Fixed worker startup reliability with async health checks - Added proper error handling to PM2 process spawning - Worker now verifies health before proceeding with hook operations - Improved handling of PM2 failures when not yet installed Technical changes: - Added isWorkerHealthy() and waitForWorkerHealth() functions to src/shared/worker-utils.ts - Changed ensureWorkerRunning() from synchronous to async with proper await - All hooks now await ensureWorkerRunning for reliable worker communication - Rebuilt all plugin executables with version 5.0.2 - Updated version to 5.0.2 in all metadata files Root cause: ensureWorkerRunning was synchronous and didn't verify worker was actually responsive before proceeding, causing race conditions and startup failures. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .claude-plugin/marketplace.json | 2 +- CLAUDE.md | 20 ++++++++++++++++++-- package.json | 2 +- plugin/.claude-plugin/plugin.json | 2 +- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index e2041e25..3e3e3670 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -10,7 +10,7 @@ "plugins": [ { "name": "claude-mem", - "version": "5.0.1", + "version": "5.0.2", "source": "./plugin", "description": "Persistent memory system for Claude Code - context compression across sessions" } diff --git a/CLAUDE.md b/CLAUDE.md index f8b2fd07..5a482cc7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ Claude-mem is a persistent memory compression system that preserves context across Claude Code sessions. It automatically captures tool usage observations, processes them through the Claude Agent SDK, and makes summaries available to future sessions. -**Current Version**: 5.0.1 +**Current Version**: 5.0.2 **License**: AGPL-3.0 **Author**: Alex Newman (@thedotmack) @@ -311,10 +311,26 @@ This approach is especially valuable when: For detailed version history and changelog, see [CHANGELOG.md](CHANGELOG.md). -**Current Version**: 5.0.1 +**Current Version**: 5.0.2 ### Recent Highlights +#### v5.0.2 (2025-11-04) +**Breaking Changes**: None (patch version) + +**Fixes**: +- Fixed worker startup reliability with async health checks (PR #51: src/shared/worker-utils.ts) +- Added proper error handling to PM2 process spawning (src/shared/worker-utils.ts) +- Worker now verifies health before proceeding with hook operations +- Improved handling of PM2 failures when not yet installed + +**Technical Details**: +- Modified: src/shared/worker-utils.ts (added isWorkerHealthy, waitForWorkerHealth functions) +- Modified: src/hooks/*.ts (all hooks now await ensureWorkerRunning) +- Modified: plugin/scripts/*.js (rebuilt hook executables) +- Root cause: ensureWorkerRunning was synchronous and didn't verify worker was actually responsive before proceeding +- Impact: More reliable worker startup with proper health verification + #### v5.0.1 (2025-11-04) **Breaking Changes**: None (patch version) diff --git a/package.json b/package.json index 38634dfa..69b779db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "claude-mem", - "version": "5.0.1", + "version": "5.0.2", "description": "Memory compression system for Claude Code - persist context across sessions", "keywords": [ "claude", diff --git a/plugin/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json index 15da8179..4945f2f7 100644 --- a/plugin/.claude-plugin/plugin.json +++ b/plugin/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "claude-mem", - "version": "5.0.1", + "version": "5.0.2", "description": "Persistent memory system for Claude Code - seamlessly preserve context across sessions", "author": { "name": "Alex Newman"