This post covers what shipped in v2026.4.2.
What shipped
- Plugins/xAI: move
xsearchsettings from the legacy coretools.web.xsearch.path to the plugin-ownedplugins.entries.xai.config.xSearch.path, standardizexsearchauth onplugins.entries.xai.config.webSearch.apiKey/XAIAPI_KEY, and migrate legacy config withopenclaw doctor --fix. (#59674) Thanks @vincentkoc. - Plugins/web fetch: move Firecrawl
webfetchconfig from the legacy coretools.web.fetch.firecrawl.path to the plugin-ownedplugins.entries.firecrawl.config.webFetch.path, routewebfetchfallback through the new fetch-provider boundary instead of a Firecrawl-only core branch, and migrate legacy config withopenclaw doctor --fix. (#59465) Thanks @vincentkoc. - Tasks/Task Flow: restore the core Task Flow substrate with managed-vs-mirrored sync modes, durable flow state/revision tracking, and
openclaw flowsinspection/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 to
cancelledonce active child tasks finish. (#59610) Thanks @mbelinky. - Plugins/Task Flow: add a bound
api.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 requesting
security=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: add
beforeagentreplyso 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, and
feishu_drivecomment actions for document collaboration workflows. (#58497) Thanks @wittam-01. - Matrix/plugin: emit spec-compliant
m.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-owned
viewerBaseUrlso viewer links can use a stable proxy/public origin without passingbaseUrlon every tool call. (#59341) Related #59227. Thanks @gumadeiras. - Agents/compaction: resolve
agents.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: add
agents.defaults.compaction.notifyUserso the๐งน Compacting context...start notice is opt-in instead of always being shown. (#54251) Thanks @oguricap0327. - WhatsApp/reactions: add
reactionLevelguidance for agent reactions. Thanks @mcaxtr.