Skip to content

Releases: shelby-protocol/memory-forge

v0.13.7 — Exit status visible in SessionStart

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 30 Jun 10:46

v0.13.7 (2026-06-30)

Fix — Exit Status Visibility (for real this time)

v0.13.5 和 v0.13.6 都没修复真正的问题:Stop hook 的 systemMessage 只在会话退出瞬间显示,用户根本来不及看。

Root cause: Stop hooks 在会话关闭时运行 — 消息闪过,窗口就消失了。

Fix:

  • Stop hook 将退出状态写入 ~/.memory-forge/last-exit.json
  • SessionStart hook 读取并在 systemMessage 中展示
  • MCP graceful shutdown 同样保存退出状态

效果: 下次会话启动时会看到:

Last exit (13m ago): 111 maintained, 4 saved, synced ✓

🤖 Generated with Claude Code

v0.13.6 — Stop Hook Output Visibility

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 30 Jun 10:28

Fixes

  • Stop hook output: Messages now use console.log with systemMessage JSON field instead of console.error, making exit messages visible to the user (stderr was captured for debug logs only)

v0.13.5 — Stop Hook Output Cleanup

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 30 Jun 10:12
  • Download error suppression: 404 errors during sync download phase are now silently skipped (blob not existing in cloud is expected during bidirectional sync), eliminating 60+ lines of noise in Stop hook output
  • Download summary: Sync summary now includes skipped download count (⊘) for full visibility
  • CI: idempotent publish — publish step now checks if version already exists before publishing, preventing failures on re-runs

v0.13.4 — Exit Safety & Upload Observability

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 30 Jun 09:51

Fixes

  • Stop hook timeout: Increased from 60s to 180s to accommodate slow sync operations
  • Graceful shutdown message: MCP server SIGTERM/SIGINT path now prints "Safe to close" confirmation
  • Upload error logging: Replaced single-shot uploadWarned flag with per-failure diagnostics (first 3 errors logged with memory ID + error message, then summary)
  • Rate limit handling: Explicit 429 detection with deferred-upload message
  • Retry queue integration: Failed uploads in main sync loop now enqueued to SyncQueue for automatic retry
  • CI coverage: Lowered thresholds for macOS runner (no embedding model available)

npm

npm install -g memory-forge@0.13.4

v0.13.3 — Pro Sync Reliability

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 30 Jun 09:03

Fixes — Pro Sync Reliability (28 issues)

Hook execution

  • Remove Stop hook output redirect black hole
  • Add timeout to all hook commands (30s default, 60s Stop/PreCompact)

Cross-process sync

  • File-based cooldown replaces broken in-memory cooldown
  • SIGTERM/SIGINT graceful shutdown with forced sync (10s timeout)
  • PostToolUse hook syncs as Stop hook fallback (VSCode/subagent sessions)
  • 5-minute periodic cloud pull keeps long sessions up-to-date
  • SessionStart hook pulls latest cloud memories before loading context

Retry & durability

  • Failed uploads/tombstones enqueued to sync-queue.json for retry
  • Sync checkpoint for crash recovery
  • Hybrid Logical Clock for monotonic cross-process timestamps

Visibility

  • Merge conflicts persisted to conflicts.json (50-record cap)
  • Corrupted pro.json detected with repair instructions
  • Prominent private key backup warning on account creation
  • 30-minute periodic balance check with low-balance warnings
  • Orphan lock cleanup on MCP server startup

New: memory_health MCP tool

  • Reports sync status, queue depth, profile validity, balances

New modules

  • src/clock.ts — HLC with file persistence
  • src/sync-queue.ts — File-backed retry queue (48h TTL)
  • src/tools/health.ts — Health check MCP tool

Changed

  • memory_store, memory_update, memory_forget: failed cloud ops enqueue for retry
  • Stop hook output now visible (was redirected to hook.log)
  • PreCompact sync errors now logged (was silently swallowed)
  • 38 test files, 376 tests, 11 MCP tools

v0.13.2 — 修复会话转录可靠性

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 30 Jun 03:53

修复

  • Stop hook 输出写日志文件 — 输出重定向到 ~/.memory-forge/hook.log,不再静默丢失
  • captureTranscript 加强制写入 — Stop hook 时跳过 30 分钟去重,确保每次都写入转录
  • session-transcript 加入上下文 — 半衰期 0→1 天,最近转录以预览形式出现在 memory_context

改进

  • install.ts 模板同步更新 stop hook 命令格式
  • 测试覆盖更新,351 测试全绿
  • 修复 package.json 版本号未 bump 导致 npm publish 403

v0.13.1 — Security Fix: transformers CVEs + License Audit

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 30 Jun 00:53

🔒 Security Fix

  • Upgraded @huggingface/transformers from ^3.0.0 → ^4.0.0 (resolved to 4.2.0)
    • Eliminates 3 HIGH-severity tar CVEs (GHSA-34x7, GHSA-8qq5, GHSA-83g3) through onnxruntime-node
    • v4 API is backwards-compatible — no code changes required
    • All 351 tests pass, 0 npm audit vulnerabilities

🔍 Deep Audit Results (also applies to v0.13.0)

✅ All Clear

Component Status
@modelcontextprotocol/sdk 1.29.0 ✅ 3 CVEs already patched
zod 3.25.76 ✅ v3 not affected by CVE-2026-6991
sharp 0.34.5 (LGPL-3.0) ✅ Library use, no modification
lightningcss (MPL-2.0) ✅ Dev dependency only
npm audit ✅ 0 vulnerabilities

⚠️ Known (external)

  • @shelby-protocol/sdk, clay-codes, reed-solomon — license field missing on npm (Shelby team needs to fix)

Commits

  • fix: upgrade @huggingface/transformers to ^4.0.0 (c97e507)
  • chore: bump to v0.13.1 (edcb855)

v0.13.0 — Auto-Repair Hooks + Local Dev Path Fix

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 30 Jun 00:13

What's New

🔧 Auto-Repair Hooks on Startup

  • Added ensureHooks() that runs on every MCP server startup to detect and auto-repair missing hooks in settings.json
  • Hooks are checked for all 4 lifecycle types: SessionStart, Stop, PostToolUse, PreCompact
  • Exports HookHealth interface for status reporting

🐛 Fix: Local Dev Path Detection

  • hasHook() and setHook() now correctly match local dev paths like node .../agentvault/dist/index.js
  • Previously, hooks configured from local builds would not be detected, causing duplicate entries

🧪 Test Infrastructure

  • Added fileParallelism: false to vitest config to fix race conditions in tests that share ~/.claude/settings.json

Commits

  • feat: auto-repair hooks on startup, fix local dev path detection (3bb760a)
  • chore: bump to v0.13.0 (4ba7f00)

v0.12.1 — Project Isolation, Memory Migration, Lint Fix

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 29 Jun 15:48

v0.12.1 (2026-06-29)

Fixes

  • Lint errors: unused vars in export/search/update tools, require() in setup, added argsIgnorePattern
  • CI green on all platforms

v0.12.0 (2026-06-29)

Features

  • Project isolation: physical directory separation for hard per-project memory isolation
  • memory-forge migrate: migrate legacy flat-directory memories to project/global scoped directories
  • 11-layer fallback chain for project detection across Claude Code, Codex, Cursor, Windsurf, VS Code
  • ScopedMemoryStore: automatic project scope injection
  • Mem0-style dual retrieval: project → global → hints
  • Quality floor: reject content < 10 words
  • CLI search/list/stats: now project-scoped

Migration

memory-forge migrate           # auto-detect project
memory-forge migrate --dry-run  # preview only
memory-forge migrate --project 'my-project' --project-hash abc123

Files

  • 10 new files: migrate/legacy.ts, project.ts, scoped-store.ts + 5 test files + verify script
  • 351 tests (35 files), 10 MCP tools, 5 auto-engines

v0.10.4 — Polished README, LICENSE, Docs Cleanup

Choose a tag to compare

@CryptoOrange-team CryptoOrange-team released this 28 Jun 12:58

Polish

📝 README badges — CI status, npm version, weekly downloads, license, test count
📄 LICENSE file — MIT, shelby-protocol
🎨 .prettierignore — exclude docs/bench/versions, stop formatting churn
🔢 README accuracy — 10 MCP tools, 319 tests, full tool list

Previous (v0.10.3)

🔧 Shelby SDK Node v25 fix