docs/changelog/openclaw.mdx
New Features:
enableSkillsConfig() now runs automatically after onboarding — enables triage, recall (with reranking + keyword search), and dream consolidation with tools.profile = "full" and disables the built-in session-memory hook to avoid conflictsruntime.getMemorySearchManager() and resolveMemoryBackendConfig() on the registered memory capability, enabling OpenClaw gateway to query memory status and backend config directlymem0_<dims>d) automatically, with a warning about old memories being inaccessible under the new embeddermemory-triage and memory-dream SKILL.md files now include full tool reference sections listing all available tools with parametersImprovements:
autoCapture and autoRecall now default to true (was false). Manifest descriptions updated accordingly. Ignored in skills modememory_update over delete+add: Skills now prefer memory_update for in-place edits — atomic and preserves edit history. Consolidation pattern updated: update best memory, delete redundant onessearchThreshold reduced from 0.5 to 0.1 for broader recall. Removed hardcoded 0.6 recall-specific override — all searches now use the configured thresholddimension and embeddingModelDims fields for Qdrant/PGVector compatibilitywriteFullConfig() now re-reads and deep-merges the plugins section before writing, preserving installs and slots written by the OpenClaw gatewaymxbai-embed-large (1024), all-minilm (384), and snowflake-arctic-embed (1024) to known embedder dimensionsSecurity:
protobufjs to >=7.5.5 via pnpm overrides (GHSA-xq3m-2v4x-88gg) (#5012)Fixes:
bootstrapTelemetryFlag() and removed ensureInstallRecord() from module-level side effects — both now run inside register() to avoid crashes when loaded outside OpenClaw gatewayresolvePath(), preventing double-prefix bugsproviderAuthEnvVars replaced with spec-compliant setup.providers format using id + envVarsDependencies:
mem0ai from 3.0.1 to 3.0.2pluginApi and minGatewayVersion compat to >=2026.4.24Security:
distinct_id now uses SHA-256 instead of MD5 — prevents rainbow-table reversal of API key hashesdistinct_id — no PII in telemetry payloadsus.i.posthog.com) in providerEndpointsFixes:
ensureInstallRecord() now detects semver-pinned specs (e.g. @mem0/[email protected]) and rewrites them to @latest or clawhub: prefix so openclaw plugins update resolves to the newest releasesearchThreshold default inconsistency: standardized to 0.3 across docs, README, and manifestPLUGIN_VERSION now injected at build time via tsup define from package.json — no more hardcoded version stringsManifest Compliance:
requiredEnvVars, dataLocations, privacy, setup (with externalEndpoints, providers, requiresRuntime, postInstallHint)setup.externalEndpoints with spec-compliant providerEndpoints using endpointClass + hosts formatproviderAuthEnvVars (already spec-compliant)Docs:
openclaw plugins update command: uses plugin ID (openclaw-mem0), not npm package name (@mem0/openclaw-mem0)Security & Compliance:
requiredEnvVars to plugin manifest, declaring env vars per mode (platform, OSS OpenAI, OSS Anthropic, OSS Ollama). Fixes ClaHub scanner "required env vars: none" mismatchsensitive: true and descriptions to apiKey and userEmail in configSchema — previously only declared in uiHintsdefault: false with descriptions to autoCapture and autoRecall in configSchema so scanner can confirm opt-in defaultsdataLocations field to manifest declaring all persistence paths (config, vectorStore, historyDb, dreamState)privacy field to manifest documenting data flow for platform vs open-source mode and credential storage guidanceexternalEndpoints to setup section declaring api.mem0.ai and app.mem0.ai with purpose and requirement contextTests:
process.env access in tests/cli-commands.test.ts and tests/fs-safe.test.ts with vi.stubEnv/vi.unstubAllEnvs. Fixes ClaHub static analysis flag for "environment variable access combined with network send"New Features:
--json flag to all 16 CLI commands for machine-readable output. Agents can call openclaw mem0 help --json to discover every command and flag--mode open-source with --oss-llm, --oss-embedder, --oss-vector flags for fully automated OSS configuration without promptscli/json-helpers.ts with jsonOut, jsonErr, and redactSecrets utilities for consistent structured outputImprovements:
gpt-5-miniconfigSchema.required for clean installsTests:
json-helpers.test.ts, oss-wizard.test.ts, cli-commands.test.ts)New Features:
Improvements:
mem0ai dependency to 3.0.1 for V3 API compatibilityorgId, projectId, enableGraph config options; updated CLI prompts (#4734, #4764)Bug Fixes:
"anonymous-openclaw" fallback with a persistent per-machine random hash (openclaw-anon-<uuid>), so anonymous plugin users are counted individually in PostHog (#4790)$identify event on first authenticated run to stitch anonymous history onto the authenticated profile (#4790)beforeExit handler to flush queued events before the process exits (#4790)/v1/ping/ email resolution so users who configure API key outside mem0 init show as their email in PostHog, not an md5 hash (#4790)openclaw.<cmd> to openclaw.cli.<cmd> on the needsSetup branch to match the authenticated branch (#4790)Improvements:
source: "OPENCLAW" to all provider calls (add, search, getAll) across tools, CLI commands, recall, and the OSS backend adapter (#4790)Bug Fixes:
openclaw mem0 init — entering 1/2/3 now correctly selects the corresponding option (was broken by readline prefill concatenating with user input)client.connect() on the same client. Fix: let warmup errors propagate (so initPromise resets and retries with a fresh Memory + fresh pg client) and build fresh config objects per attempt instead of mutating shared state.Removed:
orgId / projectId config parameters: Removed from config schema, CLI (config show/get/set), init display, and providers. The API key is project-scoped, so separate org/project IDs are unnecessary and could cause access errors if mismatched.enableGraph config parameter: Removed from all config surfaces, providers, backend, and tools. Graph memory is being deprecated — removing the flag avoids unnecessary exposure.New Features:
openclaw mem0 init with interactive menu (email verification or direct API key). Non-interactive modes: --api-key, --email, --email --codememory_add tool: Replaces memory_store — name now matches mem0 CLI and platform APImemory_delete tool: Unified delete — single ID, search-then-delete, bulk, entity cascade. Replaces memory_forget and memory_delete_allopenclaw mem0 init, openclaw mem0 status, openclaw mem0 config show, openclaw mem0 config setimport CLI command: Bulk-import memories from a JSON file with --user-id and --agent-id overridesevent list / event status CLI commands: Monitor background processing eventsfs-safe.ts module: Isolated filesystem wrappers in a separate entry pointbackend/ module: PlatformBackend with direct HTTP API access for CLI commandscontracts.tools, configSchema, and uiHints to openclaw.plugin.jsonChanges:
tools/ directory (6 files) and CLI into cli/commands.tssplitting: true and two entry pointsmemory_add, memory_delete)Promise.raceprovider.add() runs in background via .then()/.catch()Removed:
memory_store tool — replaced by memory_addmemory_forget tool — replaced by memory_deletememory_delete_all tool — merged into memory_deletememory_history tool and history CLI command — deprecatedBug Fixes:
safePath() containment helper to readSkillFile and readDomainOverlay in skill-loader.ts — prevents directory traversalAfter-Compaction regex rename back to Post-CompactionChanges:
mem0ai dependency to exact 2.3.0 (was ^2.3.0)Tests:
safePath, readSkillFile, readDomainOverlay, and loadSkill with traversal inputsBug Fixes:
resolveEnvVars() and resolveEnvVarsDeep() from config.ts — plugin-side env resolution was redundant and triggered static analysis warnings (#4676)New Features:
compat and build metadata to package.json (#4667)Bug Fixes:
New Features:
recall.ts module with improved recall logic and skill-aware retrievalopenclaw.plugin.json manifest and scripts/configure.py setup helperChanges:
New Features:
Bug Fixes:
New Features:
cron, heartbeat, automation, and schedule triggersdisableHistory config option: New oss.disableHistory flagChanges:
topK * 2 for better filtering headroomBug Fixes:
ctx.sessionKey directly instead of a shared mutable variableNew Features:
Changes:
index.ts (1772 lines) into 6 focused modulesBug Fixes:
mem0ai dependency with sqlite3 to better-sqlite3 migration (#4270)New Features:
agentIdChanges:
userId values instead of placeholdersBug Fixes:
New Features:
Bug Fixes:
New Features:
topK, threshold, and apiVersion options