Plugins/xAI: movexi>searchsettings from the legacy coretools.web.x/i>search.i>path to the plugin-ownedplugins.entries.xai.config.xSearch./i>path, standardizexi>searchauth onplugins.entries.xai.config.webSearch.apiKey/XAI/i>API_KEY, and migrate legacy config withopenclaw doctor --fix. (#59674) Thanks @vincentkoc.
Plugins/web fetch: move Firecrawlwebi>fetchconfig from the legacy coretools.web.fetch.firecrawl.i>path to the plugin-ownedplugins.entries.firecrawl.config.webFetch./i>path, routeweb/i>fetchfallback through the new fetch-provider boundary instead of a Firecrawl-only core branch, and migrate legacy config withopenclaw doctor --fix. (#59465) Thanks @vincentkoc.
Changes
Tasks/Task Flow: restore the core Task Flow substrate with managed-vs-mirrored sync modes, durable flow state/revision tracking, andopenclaw tasks flowinspection/recovery primitives so background orchestration can persist and be operated separately from plugin authoring layers. (#58930) Thanks @mbelinky.
Tasks/Task Flow: add managed child task spawning plus sticky cancel intent, so external orchestrators can stop scheduling immediately and let parent Task Flows settle tocancelledonce active child tasks finish. (#59610) Thanks @mbelinky.
Plugins/Task Flow: add a boundapi.runtime.taskFlowseam so plugins and trusted authoring layers can create and drive managed Task Flows from host-resolved OpenClaw context without passing owner identifiers on each call. (#59622) Thanks @mbelinky.
Android/assistant: add assistant-role entrypoints plus Google Assistant App Actions metadata so Android can launch OpenClaw from the assistant trigger and hand prompts into the chat composer. (#59596) Thanks @obviyus.
Exec defaults: make gateway/node host exec default to YOLO mode by requestingsecurity=fullwithask=off, and align host approval-file fallbacks plus docs/doctor reporting with that no-prompt default.
Providers/runtime: add provider-owned replay hook surfaces for transcript policy, replay cleanup, and reasoning-mode dispatch. (#59143) Thanks @jalehman.
Plugins/hooks: addbeforeagentreplyso plugins can short-circuit the LLM with synthetic replies after inline actions. (#20067) Thanks @JoshuaLelon.
Channels/session routing: move provider-specific session conversation grammar into plugin-owned session-key surfaces, preserving Telegram topic routing and Feishu scoped inheritance across bootstrap, model override, restart, and tool-policy paths.
Feishu/comments: add a dedicated Drive comment-event flow with comment-thread context resolution, in-thread replies, andfeishu_drivecomment actions for document collaboration workflows. (#58497) Thanks @wittam-01.
Matrix/plugin: emit spec-compliantm.mentionsmetadata across text sends, media captions, edits, poll fallback text, and action-driven edits so Matrix mentions notify reliably in clients like Element. (#59323) Thanks @gumadeiras.
Diffs: add plugin-ownedviewerBaseUrlso viewer links can use a stable proxy/public origin without passingbaseUrlon every tool call. (#59341) Related #59227. Thanks @gumadeiras.
Agents/compaction: resolveagents.defaults.compaction.modelconsistently for manual/compactand other context-engine compaction paths, so engine-owned compaction uses the configured override model across runtime entrypoints. (#56710) Thanks @oliviareid-svg.
Agents/compaction: addagents.defaults.compaction.notifyUserso the🧹 Compacting context...start notice is opt-in instead of always being shown. (#54251) Thanks @oguricap0327.
WhatsApp/reactions: addreactionLevelguidance for agent reactions. Thanks @mcaxtr.
Exec approvals/channels: auto-enable DM-first native chat approvals when supported channels can infer approvers from existing owner config, while keeping channel fanout explicit and clarifying forwarding versus native approval client config.
Android/assistant: auto-send Google Assistant App Actions prompts once chat is healthy and idle, while keeping bare assistant launches as open-only. (#59721) Thanks @obviyus.
Fixes
Sandbox/security: block credential-path binds even when sandbox home paths resolve through canonical aliases, so agent containers cannot mount user secret stores through alternate home-directory paths. (#59157) Thanks @eleqtrizit.
Gateway/Windows scheduled tasks: preserve Task Scheduler settings on reinstall, fail loud when Scheduled Task/Rundoes not start, and report fast failed restarts with the actual elapsed time instead of a fake 60s timeout. (#59335) Thanks @tmimmanuel.
Control UI/model picker: preserve already-qualifiedprovider/modelrefs from the server so models whose ids already contain slashes stop being double-prefixed and remapped to the wrong provider. (#49874) Thanks @ShionEria.
Models/selection: resolve bare model ids in session model switches against the configured allowlist before falling back to the current session provider, so Control UI model picks stop drifting intogoogle/k2p5and similar wrong-provider refs. (#51580) Thanks @honwee.
2026.4.2
Breaking
Plugins/xAI: 将xi>search设置从旧的核心路径tools.web.x/i>search.i>移动到插件所属路径plugins.entries.xai.config.xSearch./i>,标准化xi>search认证至plugins.entries.xai.config.webSearch.apiKey/XAI/i>API_KEY,并使用openclaw doctor --fix迁移旧配置。 (#59674) 感谢 @vincentkoc。