v13.7.1
thedotmack/claude-memv13.7.1Jun 21, 2026by thedotmack
AI Summary
Reliability release fixing Node version compatibility issues and removing significant amounts of dead code via a Ponytail audit.
Key Highlights
- Node version floor corrected to `>=20.12.0` to fix credential load failures.
- Removed ~10.4k lines of dead/redundant code across 8 slices.
- Provider refactor unifies `OpenAICompatibleProvider` base class.
- Consolidated infrastructure functions (e.g., `parseRetryAfterMs`).
Full Release Notes
Cleanup + reliability release. No new user-facing features. ## Fixed - **Node version floor corrected.** `engines.node` now requires `>=20.12.0` to match the stdlib `util.parseEnv` adopted during the audit. It previously advertised `>=20.0.0`, where `util.parseEnv` is `undefined` — causing silent credential-load failures (and a hard throw in `saveClaudeMemEnv`) on Node 20.0–20.11. Fixed in both the npm package and the generated plugin manifest. (#3021) ## Changed (internal) - **Ponytail audit — −10.4k lines** of dead/redundant code removed across 8 slices (worker HTTP routes, agents, session/rate-limit, search pipeline, providers, storage/shared). - **Provider refactor.** New `OpenAICompatibleProvider` base class unifies the Gemini and OpenRouter session lifecycle; per-provider behavior preserved via abstract flags (`requireNonEmptyToTruncate`, `forwardEmptyMessageResponse`). - **Infra deduplication.** Consolidated `parseRetryAfterMs` (3→1), `waitForExit` (2→1), request-auth helpers (2→1), and `resolveQueue` (2→1); a `CREDENTIAL_KEYS` loop replaces three duplicated copy blocks. - **Worker-restart hardening** via a single-spawn gate. - **Deterministic dependency closure** for the bundled plugin runtime. **Full Changelog**: https://github.com/thedotmack/claude-mem/compare/v13.7.0...v13.7.1