Current: v2026.3.24 → v2026.3.28
You have
v2026.3.24
Updating to
v2026.3.28

4 releases of changes.
Here's what matters.

Breaking changes, action items, new features, and everything that might break — ranked by real impact on your setup.

2
Breaking changes
3
Require action
12
New features
35+
Bug fixes

May break your setup

These require action before or immediately after updating.

🔴 MiniMax models trimmed — M2, M2.1, M2.5, VL-01 removed High Impact
The MiniMax catalog is now M2.7 only. Legacy models M2, M2.1, M2.5, and VL-01 are gone. Any agent or config referencing these models will fail.
Fix
Check openclaw.json and all agent configs for minimax-m2, minimax-m2.1, minimax-m2.5, or minimax-vl01 references. Replace with minimax-m2.7.
🔴 Old config migrations dropped — legacy keys will fail High Impact
Automatic config migrations older than two months are gone. If you have very old openclaw.json keys from months ago, they will fail validation instead of being auto-rewritten. Doctor will no longer fix them automatically.
Fix
Run openclaw doctor before updating. If you see legacy key warnings, migrate them manually. If you're on a recent config (last 2 months), you're likely fine — but verify.
🟠 Qwen portal auth removed Medium Impact
The deprecated qwen-portal-auth OAuth integration for portal.qwen.ai is removed. Must migrate to Model Studio with modelstudio-api-key auth. Only affects you if you use Qwen models.
Fix
If using Qwen: reconfigure via openclaw onboard --auth-choice modelstudio-api-key or openclaw configure --section providers.

What you should do before updating

Not breaking, but important to address before you upgrade.

🔍 Audit MiniMax model references
Search openclaw.json, agent SOUL.md files, and workspace configs for any reference to m2, m2.1, m2.5, or vl-01. Replace all with minimax-m2.7. This is the single most important pre-upgrade task.
📋 Run openclaw doctor
Before upgrading, run openclaw doctor to catch any config issues. It will flag legacy keys and deprecated settings. Fix what it reports before proceeding.
🔌 New approval hooks for tool calls
Plugins can now block tool execution and prompt for user approval via before_tool_call hooks. If you use plugins, this is a new security layer — test your plugin workflow after updating. The /approve command now handles both exec and plugin approvals.
🎤 Legacy TTS config migration
Old bundled TTS API key shapes are removed. If you have a custom TTS/speech config, verify it uses the current key format after updating. Auto-migration runs on normal reads, but test voice features after upgrade.

New features worth knowing about

These don't require action — but you should understand what's now possible.

🖼️ MiniMax Image Generation New
image-01 model added to MiniMax — supports generate and image-to-image editing with aspect ratio control. Use with image_generate tool.
🔍 xAI Grok with x_search New
xAI/Grok now uses Responses API with first-class x_search. Bundled Grok auth + search works automatically — no manual plugin toggle needed. x_search model picker added to onboarding.
🛡️ Plugin approval hooks New
before_tool_call hooks now support async requireApproval. Plugins can pause execution and prompt for user approval. /approve command now unified across exec and plugin approvals.
🔗 ACP current-conversation binds New
/acp spawn codex --bind here now attaches Codex to the current chat instead of creating a child thread. Works on Discord, BlueBubbles, and iMessage.
🤖 OpenAI Codex apply_patch default Change
apply_patch enabled by default for OpenAI and OpenAI Codex models. Better code editing in Codex sessions. Sandbox policy access aligned with write permissions.
💻 Gemini CLI backend New
Bundled Gemini CLI backend added alongside Claude CLI and Codex CLI. Unified --cli-backend-logs flag (old --claude-cli-logs kept as alias). Auto-loads bundled plugins from config.
📊 Config schema CLI New
New command: openclaw config schema prints the generated JSON schema for openclaw.json. Useful for validating configs and building integrations.
❤️ Heartbeat improvements Change
runHeartbeatOnce now exposed in plugin runtime. Plugins can trigger a single heartbeat cycle with explicit delivery target override. AGENTS.md refresh preserved on stale-usage preflight compaction.
🔒 Security audit expansion Fix
Web search key audit now recognizes Gemini, Grok/xAI, Kimi, Moonshot, and OpenRouter credentials. Better detection of leaked API keys across bundled providers.
Claude CLI streaming fix Fix
Claude CLI backend now streams output via stream-json so long runs show progress. Session/usage metadata preserved even on empty result lines. MCP server isolation improved.
📱 Slack upload + Teams/Chat files Change
Explicit upload-file Slack action added. File-first sends now supported on Microsoft Teams and Google Chat. BlueBubbles file sends unified under upload-file.
🐛 WhatsApp echo loop fixed Fix
Fixed infinite echo loop where bot's own replies in self-chat DM mode were re-processed as new inbound messages. WhatsApp bot self-replies now blocked.

What just got fixed

35+ bugs resolved. The ones most likely to have affected you:

🐵Image tool fallback restoredFix
Generic image-runtime fallback restored for providers without native media understanding (openrouter, minimax-portal). Image analysis should work again everywhere.
📝Codex image tools fixedFix
Codex image analysis no longer fails on missing provider registration. Image prompts now route through Codex instructions correctly.
💬Telegram split fixesFix
Long messages now split at word boundaries instead of mid-word. HTML-length search replaces proportional estimate. Empty text replies no longer crash with GrammyError 400.
📌Claude Sonnet context fixedFix
Anthropic 4.6 model context window now reports correctly (1.0m instead of underreported shared-cache minimum). Status command now shows accurate window sizes.
🔄Discord reconnect fixedFix
Discord recovery no longer loops on poisoned resume state. Stale gateway sockets drained, cached resume state cleared on forced reconnects.
🗜️Memory compaction improvedFix
Post-compaction AGENTS.md refresh now fires on stale-usage preflight compaction for both immediate replies and queued followups. Benign /compact no-ops relabeled as skipped.

Step-by-step before you update

1
Search for MiniMax legacy model references
Run: grep -r "m2.1\|m2.5\|vl-01" ~/.openclaw/ — check openclaw.json, agent SOUL.md files, and any workspace configs. Replace with minimax-m2.7.
2
Run openclaw doctor
Run: openclaw doctor — address any warnings about legacy keys, deprecated configs, or missing required fields before upgrading.
3
Backup your config
Run: cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup-$(date +%Y%m%d) — always have a rollback point before a major version jump.
4
Test if you use Qwen
If you use Qwen models: reconfigure auth via openclaw onboard --auth-choice modelstudio-api-key after updating. Otherwise ignore this step.
5
Update
Run: openclaw update — then restart gateway: openclaw gateway restart
6
Post-update verification
After restart: verify agents load, image generation works, Telegram delivery works, and /status shows correct context windows. Check logs if anything feels off.

Full changelog by category

Change Type Impact Requires action?
MiniMax catalog trimmed to M2.7 only Breaking High Yes — update model refs
Old config migrations dropped Breaking High Yes — run doctor first
Qwen portal-auth removed Breaking Medium If using Qwen — migrate auth
Legacy TTS config removed Change Medium Test TTS after upgrade
xAI Grok + x_search (auto-enabled) New Info No — works automatically
MiniMax image-01 model New Info No — ready to use
Plugin before_tool_call approval hooks New Info Test plugin workflows
Claude/Codex/Gemini CLI backends unified Change Info No
WhatsApp echo loop fixed Fix Info No
Image tool fallback restored Fix Info No — should just work
Telegram message splitting fixed Fix Info No
Discord reconnect loop fixed Fix Info No
openclaw config schema command New Info No — available if needed
ACP current-conversation binds New Info No
Memory compaction AGENTS refresh fixed Fix Info No