Skip to content

v2.0.0

Latest

Choose a tag to compare

@emanuilo emanuilo released this 25 May 18:25
· 1 commit to main since this release

Release notes — v2.0.0

Highlights

  • Pluggable agent backends — choose between Claude (default) and the new Cursor SDK backend during setup. Two agents, one memory store.
  • Smarter conversation context — the agent now keeps a union of "last 10 message pairs" and "last 60 minutes" of history, so quick bursts of chatter stay in scope without losing continuity across slower sessions.
  • memclaw doctor — new CLI command that verifies your OpenAI key has access to every model Memclaw needs (embeddings, chat, whisper). Runs automatically at the end of memclaw configure.
  • Unified memclaw command — drop the platform-specific subcommands; just run memclaw and it launches whichever front-end you picked during setup.

⚠️ Breaking changes

  • CLI restructure. Per-platform subcommands (memclaw telegram, memclaw whatsapp, memclaw slack) have been removed. Run bare memclaw instead — it launches the platform you selected during setup. Re-run memclaw configure to pick a platform if you haven't yet.

New features

  • Cursor SDK backend with MCP bridge, tool hooks, and a sandboxed tool policy. Memclaw can now drive an agent loop through either Claude or Cursor while sharing all storage, search, reminders, and consolidation logic.
    • The cursor-sdk dependency is not installed by default. To use this backend, install Memclaw with the cursor extra:
      pip install "memclaw[cursor]"
      # or to upgrade an existing install
      pip install --upgrade "memclaw[cursor]"
      # pipx users
      pipx install "memclaw[cursor]"
      The default Claude backend works without the extra.
  • Union-based conversation history window. New config field conversation_history_window_minutes (default 60). The existing conversation_history_limit becomes the floor — the actual window kept is max(last N pairs, every message in the last X minutes). Existing users get this for free with no .env changes needed.
  • memclaw doctor command. Probes embeddings, chat, and whisper models with minimal API calls and reports which ones your OpenAI project has access to. Exits non-zero on failure. Same probe auto-runs at the end of the setup wizard so misconfigured projects surface immediately.
  • Visible Whisper errors. Voice messages that fail to transcribe (e.g. when whisper-1 isn't enabled on your OpenAI project) now reply with a clear pointer to memclaw doctor instead of producing silent dead air.

Bug fixes

  • Link summaries returning empty. The link summarizer now requests a higher token budget and lower reasoning effort, so summaries actually fit within the model's reply window. Previously many links were stored bare with the agent reporting "URL wasn't pre-fetched."
  • Cloudflare-blocked link fetches. Switched the link fetcher to curl-cffi with browser TLS fingerprint impersonation, fixing silent 403s on Cloudflare-protected sites.

Internal

  • User IDs are now masked in logs (telegram/slack/whatsapp).
  • Full Whisper transcripts logged at INFO level for easier debugging.
  • Added pip upgrade instructions to the README.

Upgrade from 1.x

pip install --upgrade memclaw
# or, if you want the Cursor backend:
pip install --upgrade "memclaw[cursor]"
# pipx users
pipx upgrade memclaw

Your config (~/.memclaw/.env) and memories (~/.memclaw/) carry over untouched.

If you used platform subcommands in scripts or shell aliases, update them: memclaw telegram → memclaw (after running memclaw configure once to set your platform). The new MEMCLAW_PLATFORM env var also works if you prefer to set it explicitly per invocation.

After upgrading, run memclaw doctor to confirm your OpenAI key has access to all required models.

New Contributors