OpenClaw 2026.6.11 Tue, 30 Jun 2026 17:39:25 +0000 https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml 2606001190 2026.6.11 15.0 OpenClaw 2026.6.11

Highlights

  • More capable channel control: Slack relay mode, native Mattermost /oc_queue, and per-DM model overrides make channel operations easier to automate and tune. (#94707, #95546, #95120) Thanks @sjf-oa, @amknight, @xydigit-zt, @thomaszta, and @gandalf-at-lerian.
  • Richer operator workflows: openclaw agent --message-file and the RAFT CLI wake bridge add practical file-driven and remote wake-up paths. (#93351, #95497) Thanks @ooiuuii and @vincentkoc.
  • Safer plugin distribution: additional official plugins are externalized cleanly, with bundled plugin icon metadata available to installed clients. (#95683, #95845) Thanks @vincentkoc and @Patrick-Erichsen.
  • Stronger mobile operations: Android settings detail panels improve configuration visibility and control on mobile. (#95148) Thanks @Tosko4.
  • More reliable agent turns: Codex partial deltas, harness activation, and long-context prompt-cache stability reduce lost progress and inconsistent runs. (#95404, #95652, #95624) Thanks @agonza1 and @vincentkoc.

Changes

  • Gateway and plugin tooling: channel identity hook context and per-agent usage-cost reporting give integrations and operators more precise routing and accounting. (#91903, #94483) Thanks @lanzhi-lee, @vincentkoc, and @ly-wang19.
  • Provider and model coverage: catalog parsing, reasoning controls, provider model resolution, and encrypted reasoning support now handle more live provider variants. (#95283, #95710, #95268, #95744, #95686, #93956) Thanks @ZengWen-DT, @vincentkoc, @Marvinthebored, @Darren2030, @daniel-alejandro-t, @parveshsaini, @geraint0923, @fuller-stack-dev, and @jason-allen-oneal.

Fixes

  • Channel delivery: Telegram progress rendering, webhook lifecycle, reaction directives, duplicate mirror writes, queued update draining, and WhatsApp durable reply targets are now more reliable. (#95532, #93002, #95183, #94506, #94977, #95069, #95577, #95007, #95914) Thanks @amknight, @snowzlmbot, @zhangguiping-xydt, @shadow-enthusiast, @xialonglee, @travellingsoldier85, @obviyus, @hugenshen, @Cuttingwater, @heichaowo, @LiuwqGit, @freidrich-goldenflow, @mcaxtr, and @vincentkoc.
  • WhatsApp and message identity: native quotes, Baileys group reliability, and approval reactions across JID drift now preserve the intended conversation context. (#95483, #94338, #95935) Thanks @mcaxtr, @xialonglee, and @octopuslabs-fl.
  • Gateway and session safety: stuck release claims, draining-state reporting, remote probe timeouts, malformed paired access lists, and non-delivery session identity are handled without silent routing loss. (#95299, #94915, #89859, #92178, #95467) Thanks @mikasa0818, @kriegerbangerz-ship-it, @markoub, @vincentkoc, @maxschachere, @mushuiyu886, @gozzbb2, @wangmiao0668000666, @ly-wang19, @EmilioNicolas, @yetval, and @hellocli.
  • Agent and fallback behavior: aborted runs stop cleanly, provider response bodies stay bounded, Claude CLI credit failures continue through fallback, and Codex usage-limit responses classify correctly. (#94412, #95218, #95508, #95420, #95418, #95417, #95400) Thanks @szsip239, @vincentkoc, @Alix-007, @mikasa0818, @sallyom, @riazrahaman, and @jason-allen-oneal.
  • Provider and model edge cases: OpenRouter IDs, Ollama discovery and embeddings, Gemini freshness, and model-catalog prefixes now resolve against the right runtime metadata. (#95268, #94811, #93956, #95682, #95744) Thanks @Darren2030, @daniel-alejandro-t, @mushuiyu886, @jason-allen-oneal, @Sunjae-k, @parveshsaini, @vincentkoc, and @shakkernerd.
  • Configuration and UI guardrails: non-interactive configure fails closed, TLS paths reject empty values, memory artifacts are sanitized, and the UI uses the patched DOMPurify release. (#94238, #94054, #95791, #95691) Thanks @ruomuxydt, @NianJiuZst, @miorbnli, @vincentkoc, @SweetSophia, and @YB0y.
  • Cron and delivery validation: no-config delivery checks, thread-aware dedupe, and pending recurring runs retain their intended destinations. (#95754, #95794, #94323) Thanks @vincentkoc and @yetval.

Complete contribution record

This audited record covers the complete v2026.6.10..0a4d0daa8cc99e9b2c6bc78c2e67357272a9fd53 history: 308 merged PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.

Pull requests

  • PR #95406 test(qa): make release scorecard categories explicit. Thanks @RomneyDa.
  • PR #94700 test: fold HTTP API script proof into QA Lab. Thanks @RomneyDa.
  • PR #95499 fix(test): unit-fast flow mocks. Thanks @RomneyDa.
  • PR #95308 fix(ci): filter ClawSweeper comment dispatches before token minting. Thanks @vincentkoc.
  • PR #95532 fix(telegram): materialize rich message line breaks as
    . Related #95409. Thanks @amknight and @snowzlmbot.
  • PR #91786 fix(plugins): reconcile managed npm root overrides with managed peer pins. Related #91772. Thanks @amknight and @mkdelta221.
  • PR #93002 Fix Telegram progress draft cleanup before tool output. Related #90753. Thanks @zhangguiping-xydt and @shadow-enthusiast.
  • PR #95175 fix: route mobile exec approvals to reviewer device. Thanks @joshavant.
  • PR #94506 fix(telegram): stop clearing registered webhook on channel restart. Related #90254. Thanks @xialonglee and @travellingsoldier85.
  • PR #95183 fix(telegram): materialize streaming progress placeholders. Related #95004. Thanks @snowzlmbot and @obviyus.
  • PR #95483 fix(whatsapp): preserve native quote replies. Thanks @mcaxtr.
  • PR #94338 fix(whatsapp): wire missing Baileys retry/cache hooks for group message reliability. Related #7433. Thanks @xialonglee and @mcaxtr and @octopuslabs-fl.
  • PR #94707 feat(slack): add relay mode for incoming messages. Thanks @sjf-oa.
  • PR #94977 fix(telegram): honor outbound reaction directives. Related #71140. Thanks @hugenshen and @Cuttingwater.
  • PR #95069 fix(telegram): skip mirror write when primary reply already exists (#94930). Thanks @heichaowo.
  • PR #95550 Preserve inherited channel account policies during migration. Thanks @amknight.
  • PR #95390 fix #95378: https://github.com/openclaw/openclaw/issues/95378. Thanks @mikasa0818 and @obviyus and @MaiDuy708.
  • PR #93143 fix(imessage): keep split-send coalescing opt-in. Thanks @omarshahine.
  • PR #95008 fix(claude-cli): also disable native background Bash and Monitor in --print runs. Thanks @anagnorisis2peripeteia.
  • PR #94545 fix: keep trusted policies with hook registry. Thanks @jesse-merhi.
  • PR #95007 fix(telegram): render progress draft rows as plain readable text. Related #95002. Thanks @snowzlmbot.
  • PR #95624 fix(agents): keep long-context tool-result prompts cache-stable. Thanks @vincentkoc.
  • PR #95625 fix(ci): smooth PR runner-registration bursts. Thanks @vincentkoc.
  • PR #95572 fix(agents): reject bind specs with extra colon segments. Thanks @ly-wang19.
  • PR #95653 test(agents): add large prompt cache coverage. Thanks @vincentkoc.
  • PR #95640 Consolidate iOS notification permission UX. Thanks @joshavant.
  • PR #95546 feat(mattermost): register /oc_queue as a native slash command. Thanks @amknight.
  • PR #95019 fix(skills): point gog brew install at homebrew-core gogcli (#95017). Thanks @ZengWen-DT and @vincentkoc and @Sedrak-Hovhannisyan.
  • PR #93378 test(telegram): keep live polling leases protected. Related #93375. Thanks @mmyzwl and @Yachiyo1680.
  • PR #95084 fix(googlechat): sanitize internal tool-trace lines from outbound text (#90684). Thanks @jailbirt and @studentzhou-svg.
  • PR #95278 Avoid copying process.env in ingress queue state DB opens. Related #94571. Thanks @kaka-srp.
  • PR #95577 fix #86957: drain worker-spooled Telegram updates immediately. Thanks @LiuwqGit and @freidrich-goldenflow.
  • PR #95128 fix(compaction): count user-message image blocks in cut-point estimator. Thanks @yetval.
  • PR #93887 fix(ssh): reject hostnames with stray leading or trailing colons in parseSshTarget. Thanks @miorbnli.
  • PR #95191 docs(plugins): document subagent_ended hook fields. Related #95186. Thanks @MaHaoHao-ch and @ken-jo.
  • PR #95102 fix(config): add stdio to McpServerSchema transport union. Related #95082. Thanks @lzyyzznl and @ken-jo.
  • PR #95465 fix(sdk): type-narrow manifest.files in pack staging root helper. Thanks @wangmiao0668000666.
  • PR #95664 refactor(plugins): move owner skills into plugins. Thanks @vincentkoc.
  • PR #95299 fix #95248: OpenClaw release_lane is a no-op when claim is held by a live worker; stuck Telegram inbound events block agent response until gateway restart. Thanks @mikasa0818 and @kriegerbangerz-ship-it.
  • PR #94687 fix(gateway): accept port for health and probe. Related #79100. Thanks @BryanTegomoh and @ozthedivine.
  • PR #95649 fix(ci): bundle test shards and right-size runners. Thanks @vincentkoc.
  • PR #95243 fix(docs): show inline read_when hints in docs:list. Thanks @hugenshen and @vincentkoc.
  • PR #95283 fix(openai-completions): seal native reasoning before the answer under /reasoning on. Related #95280. Thanks @ZengWen-DT and @vincentkoc and @Marvinthebored.
  • PR #95497 feat(raft): add CLI wake bridge channel. Thanks @vincentkoc.
  • PR #95459 fix(cron): use main-session systemEvent for silent quick-create preset. Related #95073. Thanks @ZOOWH and @vincentkoc and @vporton.
  • PR #95503 fix #89466: [Bug]: Control UI chat input text not cleared after sending. Thanks @zhangguiping-xydt and @vincentkoc and @zhong18804784882.
  • PR #95684 fix(skills): harden ClawHub update policy. Thanks @vincentkoc.
  • PR #95683 feat(plugins): externalize additional official plugins. Thanks @vincentkoc.
  • PR #95681 fix(ci): debounce canonical main runner admission. Thanks @vincentkoc.
  • PR #95652 fix(agents): activate selected harness plugins. Thanks @vincentkoc.
  • PR #95404 fix(codex): stream non-final-answer assistant deltas as partials. Related #95422. Thanks @agonza1 and @vincentkoc.
  • PR #58993 fix(googlechat): support spaceType field for DM vs Space detection. Thanks @Starhappysh and @vincentkoc.
  • PR #94148 fix(doctor): prevent non-interactive --fix from auto-restarting gateway. Related #78217. Thanks @zhangguiping-xydt and @esqandil.
  • PR #89859 fix(gateway): honor remote status probe timeout. Related #65355. Thanks @mushuiyu886 and @hellocli.
  • PR #95466 fix(ci): increase timeouts in flaky process-group signal test. Thanks @jason-allen-oneal.
  • PR #95720 fix(matrix): prevent double bootstrapCrossSigning reset in forced reset. Related #78396. Thanks @vincentkoc and @jteddy.
  • PR #95707 fix(synology-chat): remove duplicate local deliver timeout. Thanks @vincentkoc.
  • PR #95706 fix(whatsapp): remove dead watchdog timeout clamp. Thanks @vincentkoc.
  • PR #95719 fix(cli): sync capability inspect metadata flags with registered options. Thanks @vincentkoc.
  • PR #95721 fix(active-memory): exclude dreaming-narrative session keys from eligibility gate. Related #78500. Thanks @vincentkoc and @vishutdhar.
  • PR #95602 test: save ~79 CI hours/mo in gateway session utils. Thanks @zats and @vincentkoc.
  • PR #94412 fix(agent-core): stop loop after aborted tool run. Thanks @szsip239 and @vincentkoc.
  • PR #94915 fix(gateway): report draining state in readiness. Related #78136. Thanks @markoub and @vincentkoc and @maxschachere.
  • PR #95691 fix(ui): bump dompurify to patched release. Thanks @vincentkoc.
  • PR #95710 fix(vercel-ai-gateway): resolve dynamic model selections. Thanks @vincentkoc.
  • PR #94072 fix(agents): count message-tool source reply as user-facing reply for tool error warnings. Related #93875. Thanks @chenyangjun-xy and @vincentkoc and @hoyanhan.
  • PR #94784 fix(doctor): stop promising --fix for working isolated shell-prompt cron jobs (#94655). Thanks @ZengWen-DT and @altaywtf and @geekoagent.
  • PR #93504 fix(device-pairing): guard role normalization against non-string entries. Thanks @ly-wang19.
  • PR #92178 fix(gateway): normalize malformed paired access lists. Related #90654. Thanks @wangmiao0668000666 and @ly-wang19 and @EmilioNicolas.
  • PR #83041 Fix config patch restart-required notices. Related #46797. Thanks @xuruiray and @Stache73.
  • PR #95754 fix(cron): preserve no-config delivery validation. Thanks @vincentkoc.
  • PR #93351 feat(cli): add --message-file to openclaw agent. Thanks @ooiuuii.
  • PR #95485 fix(ui): roll values near 1M over from k to M in compact token format. Thanks @NarahariRaghava and @vincentkoc.
  • PR #94622 fix(build): allow tsdown heap override. Thanks @tayoun.
  • PR #76668 meta(issue-template): add dedicated docs bug report form. Related #76664. Thanks @WadydX.
  • PR #91193 fix(cli): document Commander rawArgs internal API dependency in action-reparse.ts. Related #83893. Thanks @whiteyzy and @davinci282828.
  • PR #77339 fix(auto-reply): clear runtime model cache on reset. Related #77322. Thanks @mjamiv and @ZaynL.
  • PR #89628 Speed up precomputed command help startup. Thanks @yyzquwu.
  • PR #95087 refactor: add memory and QMD session identity mapping. Thanks @jalehman.
  • PR #89323 fix(web-ui): skip hidden subagent picker pages. Related #89249. Thanks @giodl73-repo and @originsecured-do.
  • PR #84794 Clean up isolated cron sessions after runs. Related #84707. Thanks @TurboTheTurtle and @bottenbenny.
  • PR #95794 fix(cron): compare thread IDs when deduping failure destinations. Thanks @vincentkoc.
  • PR #95791 fix(session-memory): sanitize model artifacts before saving memory. Thanks @vincentkoc and @SweetSophia and @YB0y.
  • PR #95805 fix(agents): normalize hallucinated Office file extensions. Related #93326. Thanks @vincentkoc and @lzyyzznl and @xzh-icenter and @bhnan.
  • PR #89612 fix: include persisted plugin contracts for migrations. Related #89609. Thanks @zerone0x and @mugabuga.
  • PR #89981 fix(diagnostics-otel): keep full model id on spans instead of collapsing to "unknown". Thanks @mycarrysun and @vincentkoc.
  • PR #90489 fix(sessions): clarify cross-agent visibility guidance. Related #90443. Thanks @sahibzada-allahyar and @vincentkoc and @ramitrkar-hash.
  • PR #95383 fix(sdk): classify failed/blocked tool events as tool.call.failed. Thanks @ly-wang19.
  • PR #95827 fix(plugin-sdk): bound live model catalog success body.
  • PR #95792 fix(onboard): refresh provider plugin registry after setup installs. Related #95765. Thanks @snowzlmbot.
  • PR #93943 fix(provider-usage): honor proxy env for usage fetch. Related #78714. Thanks @TurboTheTurtle and @TnzGit.
  • PR #89648 fix(agents): restore model-fetch info logs. Related #89300. Thanks @xiaobao-k8s and @Enominera.
  • PR #93841 fix(ui): render persisted history text blocks. Related #90241. Thanks @mushuiyu886 and @pronzcw.
  • PR #93502 docs: fix docs metadata spellcheck. Thanks @harjothkhara.
  • PR #86608 docs: add existing-solutions preflight guardrail. Thanks @cablackmon.
  • PR #95322 fix(reply): preserve usage footer across rollover. Thanks @litang9.
  • PR #91559 fix(agents): clean Gemini tool schemas by model id. Related #91542. Thanks @Pick-cat and @qiukui666.
  • PR #94701 Fix embedded-run recovery after refreshed session activity. Thanks @imadal1n.
  • PR #95472 [AI] fix(main-session): skip current-gen abort controllers for completed sessions. Thanks @xydt-tanshanshan.
  • PR #95401 fix(lmstudio): canonicalize variant model keys. Thanks @MonkeyLeeT.
  • PR #94323 fix(cron): stop add/remove from dropping a due recurring job's pending run. Thanks @yetval.
  • PR #94443 fix(memory-wiki): retry transient source-page rewrite race instead of aborting wiki_status. Related #92134. Thanks @ZengWen-DT and @cknzraposo.
  • PR #95120 feat(channels): add directUserId support for per-DM model override. Related #53638. Thanks @xydigit-zt and @thomaszta and @gandalf-at-lerian.
  • PR #91049 fix: handle terminal chat send acknowledgements. Related #91048. Thanks @nxmxbbd.
  • PR #95081 fix: keep text transform runtime imports hashed. Related #95057. Thanks @849261680 and @YvesLaRose.
  • PR #93356 fix(plugins): cache plugin setup registry to kill the /models CPU storm. Thanks @obuchowski.
  • PR #85341 refactor: internalize OpenClaw agent runtime.
  • PR #94233 fix(model-fallback): coalesce auth decision logs. Related #56979. Thanks @goutamadwant and @yanan1991.
  • PR #92399 fix(llm): collapse cumulative openai-responses message snapshots instead of concatenating [AI-assisted]. Related #91959. Thanks @amersheeny and @phoenixyy.
  • PR #94811 fix(ollama): honor memory embedding output dimensionality. Thanks @mushuiyu886.
  • PR #84708 fix(agents): recover message-tool mirror replay poison. Thanks @anyech.
  • PR #95274 fix(memory): preserve Windows QMD command paths. Related #92302. Thanks @ly85206559 and @Ardooken.
  • PR #95686 fix(xai): request encrypted reasoning include for all reasoning models. Thanks @geraint0923 and @fuller-stack-dev.
  • PR #82909 fix(telegram): repair message cache reply types. Thanks @lidge-jun.
  • PR #94942 fix(matrix): prune finished fake-indexeddb transactions to prevent OOM. Related #90455. Thanks @xzh-icenter and @yar-sh.
  • PR #93994 fix(setup): point non-interactive health hints at onboard flags. Related #93947. Thanks @BK-Z1 and @NianJiuZst.
  • PR #93956 fix(ollama): skip auto-discovery for remote/cloud base URLs. Thanks @jason-allen-oneal.
  • PR #93547 fix(acp): recover stale persistent sessions by structured resume-required code [AI-assisted]. Related #87830. Thanks @amersheeny and @chouzz.
  • PR #94204 fix(control-ui): rewrite manifest hrefs for configured base path. Related #94157. Thanks @hugenshen and @xrow.
  • PR #95637 fix(qqbot): recognize GFM table separators with one or two dashes. Thanks @ly-wang19.
  • PR #95467 fix(sessions): keep bound channel identity across non-delivery turns. Thanks @yetval.
  • PR #93919 perf(plugins): cache existence probes within bundle manifest scan [AI-assisted]. Related #76209. Thanks @ml12580 and @shenhonglong456-ai.
  • PR #94726 fix(google): add gemini-3.5-flash model catalog entry. Related #94723. Thanks @ajwan8998 and @anguslogan01.
  • PR #94238 fix(config): fail closed when configure runs without an interactive TTY (#93953). Thanks @ruomuxydt and @NianJiuZst.
  • PR #89949 fix(media): pin requester delivery route when task starts. Related #86034. Thanks @wangwllu and @tianxiaochannel-oss88.
  • PR #94470 chore: sync yuanbao plugin catalog to 2.15.0. Thanks @jase-283.
  • PR #93585 fix(daemon): keep systemd gateway running after child OOM. Thanks @snowzlm.
  • PR #94442 fix(imessage): strip leading echo corruption markers in the persisted echo cache. Thanks @ly-wang19.
  • PR #93511 fix(imessage): normalize leading NUL echo-cache prefixes. Thanks @vincentkoc and @ly-wang19.
  • PR #87121 test(cli): add banner emission reset helper. Related #83903. Thanks @lizuju and @davinci282828.
  • PR #89172 fix(feishu): show voice message duration via upload duration. Related #53798. Thanks @areslp and @kinrocW.
  • PR #95118 fix: bound agents load their own inbound workspace context. Related #92903. Thanks @849261680 and @axjing.
  • PR #94752 fix(reply): clarify stale model override resets. Related #94713. Thanks @snowzlmbot and @Gr4via.
  • PR #89716 fix(providers): strip cache-boundary marker from non-Anthropic prompts. Thanks @masatohoshino.
  • PR #95268 fix(openrouter): expand short canonical model IDs to upstream API slugs (fixes #95198). Thanks @Darren2030 and @daniel-alejandro-t.
  • PR #90475 fix(telegram): keep bot reply answers anchored to current message. Thanks @moeedahmed.
  • PR #94219 fix(control-ui): restore provider usage quota pill in sidebar session switcher (fixes #93041). Thanks @Pick-cat and @jazzroutine.
  • PR #93369 fix(cron): expose per-job fallbacks in CLI. Related #90302. Thanks @849261680 and @Walliiee.
  • PR #87912 Handle Codex toolResult blocks in tool-result truncation. Thanks @AdrianIp0204.
  • PR #95744 fix(model-catalog): strip manifest model-id prefixes by the matched length. Related #95743. Thanks @parveshsaini.
  • PR #95300 fix(cli): expose --count on infer image edit, matching image generate. Thanks @ly-wang19.
  • PR #94156 fix: expose OpenAI image quality and moderation CLI options. Thanks @lastguru-net and @ly-wang19.
  • PR #94062 fix(agents): classify generic "LLM request failed." as transient time…. Related #93931. Thanks @hugenshen and @hyphae-bot.
  • PR #93965 fix(opencode-go): streaming completes when provider ends responses. Related #93610. Thanks @zhangguiping-xydt and @ForceConstant.
  • PR #89017 fix(webchat): sessions persist after reconnects. Related #87700. Thanks @zhangguiping-xydt and @asicoe.
  • PR #94627 fix(ios): centralize app accent colors. Thanks @zats.
  • PR #94054 fix(gateway.tls): reject empty/whitespace certPath and keyPath. Thanks @miorbnli.
  • PR #95674 fix(cron): trim trailing whitespace from recognized job object keys. Related #95407. Thanks @zw-xysk and @Nassiel.
  • PR #95857 Fix SQLite user version guardrail allowlist. Thanks @RomneyDa.
  • PR #95858 feat(qa): expose active memory toggles to scenarios. Thanks @RomneyDa.
  • PR #84326 Doctor: expose sandbox registry findings. Thanks @giodl73-repo.
  • PR #73079 fix(minimax): request hex TTS output explicitly. Thanks @efe-arv.
  • PR #94483 feat(gateway-cli): scope usage-cost by agent. Thanks @ly-wang19.
  • PR #91502 feat(qa): crabline channel driver. Thanks @RomneyDa.
  • PR #95872 Move TUI PTY tests into CI node shard. Thanks @RomneyDa.
  • PR #89800 fix(agents): resolve webchat current session status. Related #89773. Thanks @sweetcornna and @killo3967.
  • PR #95870 fix(ci): restore macOS and Windows QA gates. Thanks @vincentkoc.
  • PR #94445 fix(agents): keep cron cloud idle watchdog enabled. Thanks @bek91.
  • PR #91506 fix(qa): reserve shared QA suite flags across runners. Thanks @RomneyDa.
  • PR #95876 ci: add manual release QA profile evidence workflow. Thanks @RomneyDa.
  • PR #95879 fix(ci): use workflow revision for proof checks. Thanks @vincentkoc.
  • PR #93113 fix(memory-core): report active dreaming phases in status. Related #67868. Thanks @AgentArcLab and @mrossit.
  • PR #95837 Simplify color mode button labels. Thanks @SannidhyaSah and @hannesrudolph.
  • PR #95797 fix: /status is too verbose for pinned model sessions. Thanks @Solvely-Colin.
  • PR #90223 test: make qqbot symlinked media helper test robust on Windows. Thanks @aniruddhaadak80.
  • PR #95557 improve: refresh Android overview control surface. Thanks @Solvely-Colin and @joshavant.
  • PR #95593 fix: route Android exec approvals to in-app inbox. Thanks @Solvely-Colin.
  • PR #95570 fix(cli): resolve trajectory export stores consistently. Related #95568. Thanks @youngting520.
  • PR #95880 ci: generalize QA profile evidence workflow. Thanks @RomneyDa.
  • PR #95218 fix(agents): bound provider JSON response reads. Thanks @Alix-007.
  • PR #95614 fix(memory-wiki): preserve human notes block on source re-ingest. Thanks @yetval.
  • PR #95148 feat(android): add settings detail panels. Thanks @Tosko4.
  • PR #95893 Add iOS push sandbox profiles and relay tooling. Thanks @joshavant.
  • PR #95723 fix(control-ui): exclude disabled cron jobs from Overview failed count. Related #95716. Thanks @ZengWen-DT and @voytas75.
  • PR #78715 Fix minor grammar issue in plugin documentation (capabilities plural). Thanks @mehrazmorshed.
  • PR #95890 fix(ci): restore QA workflow gates. Thanks @vincentkoc.
  • PR #95661 fix(discord): reserve closing-fence space on fence-closing lines. Thanks @ly-wang19.
  • PR #94272 ci: add maturity scorecard renderer. Thanks @RomneyDa.
  • PR #95901 ci: add maturity scorecard renderer. Thanks @RomneyDa.
  • PR #95914 fix(whatsapp): preserve durable reply target. Thanks @mcaxtr.
  • PR #95697 improve: reduce hot-path linear scans and redundant I/O. Thanks @vincentkoc.
  • PR #95916 fix(memory): improve node:sqlite unavailable guidance. Thanks @vincentkoc and @rrrrrredy.
  • PR #78884 docs: document local avatar file size limit. Related #65312. Thanks @wangjieweb3-design and @wraxle-geargrind.
  • PR #95909 fix(ci): use available Android SDK platform. Thanks @vincentkoc.
  • PR #68389 plugins: clarify allowlist warning when entries don't match discovered ids. Related #68352. Thanks @lyfuci and @JIRBOY.
  • PR #95898 ci: simplify maturity scorecard QA evidence inputs. Thanks @RomneyDa.
  • PR #95928 fix(ci): honor reusable QA evidence failure policy. Thanks @vincentkoc.
  • PR #95508 fix #95489: [Bug]: claude-cli out-of-credits error bypasses model fallback chain — error text delivered as final response. Thanks @mikasa0818 and @sallyom and @riazrahaman.
  • PR #95420 fix(agents): bound OpenRouter model catalog response reads. Thanks @Alix-007 and @sallyom.
  • PR #95103 fix(gateway): bound pricing catalog streams. Thanks @vincentkoc and @sallyom.
  • PR #95108 fix(agents): bound Anthropic error streams. Thanks @vincentkoc and @sallyom.
  • PR #95418 fix(agents): bound OpenRouter model-scan catalog success body. Thanks @Alix-007.
  • PR #95922 fix(ci): finalize testbox sessions after setup failures. Thanks @vincentkoc.
  • PR #95417 fix(agents): bound Google prompt cache response reads. Thanks @Alix-007.
  • PR #95935 fix(whatsapp): resolve approval reactions across JID drift. Thanks @mcaxtr.
  • PR #84340 Doctor: expose extra gateway service findings. Thanks @giodl73-repo.
  • PR #95946 fix(ci): finalize Windows Testbox after setup failures. Thanks @vincentkoc.
  • PR #95947 feat(qa): add "all" taxonomy profile. Thanks @RomneyDa.
  • PR #91903 feat(plugin-sdk): add extensible channel identity hook context. Thanks @lanzhi-lee and @vincentkoc.
  • PR #95930 docs(copilot): refresh harness parity notes. Thanks @vincentkoc.
  • PR #95952 fix(ci): require QA live evidence artifacts. Thanks @vincentkoc.
  • PR #95666 Fix memory-wiki bridge self-import loop. Related #95657. Thanks @TurboTheTurtle and @vincentkoc and @Johannes0402.
  • PR #91724 fix(agents): infer runtime provider from qualified model ids. Thanks @yu-xin-c and @vincentkoc.
  • PR #95957 improve: speed up provider tool-call streaming. Thanks @vincentkoc.
  • PR #95541 fix(cli): show working commands for pinned plugin drift. Thanks @ooiuuii and @vincentkoc.
  • PR #95933 docs: update maturity scorecard. Thanks @RomneyDa.
  • PR #78105 fix(plugins): make empty-allowlist actionable for new users. Related #68780. Thanks @pahuchi-joe and @JIRBOY.
  • PR #95961 fix(ci): require live proof evidence artifacts. Thanks @vincentkoc.
  • PR #95400 fix(model-fallback): classify Codex usage-limit payloads. Thanks @jason-allen-oneal and @sallyom.
  • PR #95944 perf(qa-lab): speed up unified QA suites. Thanks @RomneyDa.
  • PR #95971 ci: fail QA profile evidence on QA failures. Thanks @RomneyDa.
  • PR #95845 feat: add bundled plugin icon manifest URLs. Thanks @Patrick-Erichsen.
  • PR #95975 fix(ci): require iOS Periphery evidence artifact. Thanks @vincentkoc.
  • PR #95972 docs: update ClawHub skill route references. Thanks @Patrick-Erichsen.
  • PR #90537 Warn on generated wrapper overwrites and status diagnostics. Related #90518. Thanks @TurboTheTurtle and @vincentkoc.
  • PR #93567 fix(cron): normalize run-log jobId on write to match read-side validation. Thanks @Alix-007 and @vincentkoc.
  • PR #95967 perf(ci): widen main test fanout and move codeql off blacksmith. Thanks @vincentkoc.
  • PR #95983 fix(ci): require OpenGrep SARIF artifacts. Thanks @vincentkoc.
  • PR #64490 CLI: escape zsh completion descriptions. Thanks @EdenKangdw.
  • PR #95682 Fix Gemini day freshness time range handling. Thanks @Sunjae-k and @vincentkoc.
  • PR #93374 fix(agents): suggest recovery for unknown tool ids. Related #92273. Thanks @mushuiyu886 and @vincentkoc and @poison.
  • PR #95991 fix(ci): require release QA evidence artifacts. Thanks @vincentkoc.
  • PR #89886 fix(context-engine): forward abortSignal through delegation bridge to runtime compaction. Related #89868. Thanks @openperf and @vincentkoc and @lykeion-dev.
  • PR #95999 fix(release): require postpublish evidence artifact. Thanks @vincentkoc.
  • PR #96003 test(qa): harden all-profile QA evidence scenarios. Thanks @RomneyDa.
  • PR #95860 fix(compaction): trim prefix when transcript ends in an oversized tool result. Related #78478. Thanks @yetval and @wzhgba.
  • PR #95934 fix(xiaomi): correct mimo-v2.5 and mimo-v2.5-pro max output tokens to 128K. Thanks @idootop.
  • PR #95782 fix(sessions): honor configured store for outbound transcript mirrors. Related #95781. Thanks @youngting520.
  • PR #96005 feat(copilot): wire harness parity helpers. Thanks @vincentkoc.
  • PR #95886 fix: avoid false macOS update failures during gateway shutdown. Thanks @fuller-stack-dev.
  • PR #91906 perf: skip subagent live stream parsing. Thanks @lanzhi-lee.
  • PR #87861 fix(model-usage): coerce numeric-string costs and ignore non-finite values. Related #37878. Thanks @coder999999999 and @vincentkoc and @shuofengzhang.
  • PR #96030 fix(qa-lab): avoid duplicate child evidence files. Thanks @RomneyDa.
  • PR #94369 fix(memory-wiki): exclude durable reference pages from stale report. Thanks @SunnyShu0925 and @vincentkoc.
  • PR #94578 Fix recent session resume with long headers. Related #94577. Thanks @rohitjavvadi and @vincentkoc.
  • PR #95919 ci: add Codex maturity scorecard agent. Thanks @RomneyDa.
  • PR #92356 fix(heartbeat): skip reasoning payloads when selecting heartbeat reply. Related #92260. Thanks @tangtaizong666 and @vincentkoc and @jmpei.
  • PR #94328 fix(agents): keep post-compaction user re-issue of a kept-tail prompt during compaction rotation. Thanks @yetval and @vincentkoc.
  • PR #95432 fix(reply): suppress per-message finals across multi-message block streaming. Thanks @yetval and @vincentkoc.
  • PR #95431 fix(auto-reply): keep drain/restart-abort reply paths silent. Thanks @moeedahmed and @vincentkoc.
  • PR #96017 test(qa): gate maturity docs on passing evidence. Thanks @RomneyDa.
  • PR #95552 feat(mattermost): persist participated threads for mention-free follow-ups. Thanks @amknight.
  • PR #95480 fix #89231: [Bug]: Windows installer-created scheduled task launches gateway.cmd with visible console — should use windowless launcher. Thanks @mikasa0818 and @vincentkoc and @CameronWeller.
  • PR #96049 fix(copilot): preserve compaction metadata. Thanks @vincentkoc.
  • PR #96044 docs: rename top maturity tier to Clawesome. Thanks @RomneyDa.
  • PR #92154 Gate private QQBot group commands. Thanks @sliverp.
  • PR #95484 fix: assistant reply lost between compaction summary and first kept user in successor transcript. Related #76729. Thanks @maweibin and @vincentkoc and @njuboy11.
  • PR #95094 ci: add release QA profile evidence. Thanks @RomneyDa.
  • PR #96057 docs: redesign maturity scorecard pages. Thanks @vincentkoc.
  • PR #96014 perf(agents): index displaced tool results. Thanks @vincentkoc.
  • PR #96019 perf(usage): bound session log retention. Thanks @vincentkoc.
  • PR #96013 perf(anthropic): index active stream blocks. Thanks @vincentkoc.
  • PR #96061 docs: place maturity pages under release reference. Thanks @vincentkoc.
  • PR #95589 fix: npm plugin updates break running gateway imports. Thanks @ooiuuii and @vincentkoc.
  • PR #96068 fix(acpx): consume acpx 0.11.1 model capability errors. Related #95869. Thanks @vincentkoc and @SabaTech-dev.
  • PR #89912 refactor: add transcript update identity contract. Thanks @jalehman.
  • PR #96055 fix(maint): use rebase PR landing. Thanks @vincentkoc.
  • PR #96062 feat(copilot): mirror native plan and subagent events. Thanks @vincentkoc.
  • PR #96032 fix(acpx): detect wrapper orphan on any PPID change, not just init reparenting. Thanks @t2wei and @vincentkoc.
  • PR #96124 chore(acpx): bump bundled client to 0.11.2. Thanks @vincentkoc.
  • PR #84352 Fix WebChat dispatch failure session status. Thanks @jesse-merhi.
  • PR #89518 refactor: migrate plugin transcript mirrors. Thanks @jalehman.
  • PR #90439 refactor: add embedded run session target seam. Thanks @jalehman.
  • PR #95699 perf(gateway): drop redundant per-access session-key case scan. Thanks @jzakirov and @jalehman.
  • PR #95992 fix(skills): accept owner-qualified verify refs. Thanks @Patrick-Erichsen.
  • PR #95987 fix(plugins): remove Simple Icons color paths. Thanks @Patrick-Erichsen.
  • PR #96162 refactor: use accessor-backed transcript corpus for memory. Thanks @jalehman.
  • PR #96181 Defer iOS local network permission until onboarding. Thanks @joshavant.
  • PR #95475 test(cli): isolate service env in run and update suites. Thanks @kklouzal.
  • PR #95226 fix(infra): bound ClawHub fetchJson and error response bodies. Thanks @Alix-007.
  • PR #95240 fix(matrix): bound non-raw JSON response body in transport. Thanks @Alix-007.
  • PR #91742 fix(memory): abort orphaned embedding work when memory_search times out. Related #91718. Thanks @dreamhunter2333 and @NOVA-Openclaw.
  • PR #93394 fix(memory): abort orphaned qmd search subprocess when memory_search times out. Thanks @Alix-007.
  • PR #89911 refactor: migrate bundled transcript target lookups. Thanks @jalehman.
  • PR #96191 refactor: route plugin host hook state through accessor. Thanks @jalehman.
  • PR #96179 fix: route gateway history through session accessor target. Thanks @jalehman.
  • PR #96201 refactor: add abort target session accessor. Thanks @jalehman.
  • PR #96193 fix(memory-core): migrate dreaming cleanup lifecycle. Thanks @jalehman.
  • PR #96195 fix: bridge ACP metadata to session accessors. Thanks @jalehman.
  • PR #96182 refactor: migrate agent session accessors. Thanks @jalehman.
  • PR #96218 refactor: guard reply session initialization. Thanks @jalehman.
  • PR #96213 refactor(gateway): add alias mutation accessor. Thanks @jalehman.
  • PR #96204 refactor: migrate command session persistence to accessor. Thanks @jalehman.
  • PR #96206 refactor: route live model fresh reads through session accessor. Thanks @jalehman.
  • PR #96220 fix(whatsapp): quote current follow-up in durable replies. Thanks @mcaxtr.
  • PR #96226 fix(macos): drop Textual from chat packaging. Thanks @vincentkoc.
  • PR #96212 fix(codex): deliver generated images from remote app-server. Thanks @sjf-oa.
  • PR #96235 fix(crabbox): require Xcode for macOS proof. Thanks @vincentkoc.
  • PR #96145 fix: UI glitch: config is not visible. Related #94202. Thanks @sunlit-deng and @vporton.
  • PR #96072 perf(browser): index role snapshot references. Thanks @vincentkoc.
  • PR #96085 perf(codex): index rollout transcript ids. Thanks @vincentkoc.
  • PR #96087 perf(reply): hoist direct-send fragment index. Thanks @vincentkoc.
  • PR #94154 fix(gateway): resolve plugin-registered gateway methods through live registry. Related #94127. Thanks @Pick-cat and @vincentkoc and @BryceMurray.
  • PR #95393 fix #92582: Bug: doctor falsely warns local memory embeddings are not ready. Thanks @mikasa0818 and @vincentkoc and @neekolascmd.
  • PR #96246 fix(qa): accept pnpm separator for lab up. Thanks @vincentkoc.
  • PR #94949 fix(ports): route isPortBusy through checkPortInUse to catch IPv4-only occupants. Related #94426. Thanks @sunlit-deng and @vincentkoc and @wangwllu.
  • PR #94562 fix(workboard): hide archived cards in CLI list by default. Related #94555. Thanks @ZengWen-DT and @vincentkoc and @ecican.
  • PR #96243 fix(nextcloud-talk): ignore signed non-message webhook events. Related #81566. Thanks @arkyu2077 and @vincentkoc and @rafaelmgbh.
  • PR #96140 fix(exec): preserve turn-source routing target in approval followups for plugin channels. Related #96103. Thanks @yetval and @vincentkoc and @lansenger-pm.
  • PR #96258 ci: move CodeQL quality scans to hosted runners. Thanks @vincentkoc.
  • PR #96271 chore(release): close out 2026.6.10 on main. Thanks @vincentkoc.
  • PR #96233 fix(agents): run heartbeat_prompt_contribution on harness prompt builds. Thanks @azogheb and @vincentkoc.
  • PR #55018 fix: avoid O(N²) shallow-copy in mapSensitivePaths schema traversal. Thanks @xdhuangyandi and @vincentkoc and @huangyandi-red.
  • PR #95831 fix: compact Codex OAuth OpenAI sessions without API keys. Related #95693. Thanks @sallyom and @YUI-TIEN.
  • PR #96244 fix(auto-reply): align channel intro wording with chat_type. Related #95645. Thanks @arkyu2077 and @vincentkoc and @iloveleon19.
  • PR #97118 fix(telegram): recover stalled ingress spool claims. Thanks @vincentkoc.
  • PR #97543 fix(telegram): recover stalled ingress spool claims. Thanks @vincentkoc.
  • PR #97122 ci(docker): publish releases to Docker Hub. Thanks @vincentkoc.

View full changelog

]]>
2026.6.10 Fri, 26 Jun 2026 23:37:36 +0000 https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml 2606001090 2026.6.10 15.0 OpenClaw 2026.6.10

Highlights

  • Automatic fast mode for talks: OpenClaw can enable fast mode for short conversational turns, then return to normal mode for longer runs with bounded fallback and delivery behavior. (#85104) Thanks @alexph-dev and @vincentkoc.
  • More reliable model routing: Zai model synthesis, GLM overload failover, and native reasoning-level selection now follow the active model catalog more consistently. (#94461, #93241, #94067, #94136) Thanks @Pandah97, @chrysb, @0xghost42, @zhengli0922, @openperf, @civiltox, and @BorClaw.
  • Safer session and channel state: channel switches reset stale origin fields, and cron delivery awareness stays attached to the target session. (#95328, #93580) Thanks @ZengWen-DT, @jalehman, @gorkem2020, and @scotthuang.
  • Trusted policies survive hook composition: composed hook registries keep the trusted tool policies required by approval-sensitive flows. (#94545) Thanks @jesse-merhi.

Changes

  • Agent and channel runtime: fast-mode state now survives retries, fallback transitions, progress events, and embedded/CLI/ACP normalization; session and channel routing retain the current target and delivery context. (#85104, #93580, #95328) Thanks @alexph-dev, @vincentkoc, @scotthuang, @ZengWen-DT, @jalehman, and @gorkem2020.
  • Provider behavior: model catalogs now supply the correct Zai base URL, overload classification, and native reasoning controls for live-discovered models. (#94461, #93241, #94067, #94136) Thanks @Pandah97, @chrysb, @0xghost42, @zhengli0922, @openperf, @civiltox, and @BorClaw.

Fixes

  • Fast-mode and policy correctness: fallback cutoffs and reset notices are bounded, repeated progress events remain visible, Codex service-tier state is normalized, and trusted policies are not lost when hook registries are composed. (#85104, #94545) Thanks @alexph-dev, @vincentkoc, and @jesse-merhi.
  • Model and delivery edge cases: Zai and GLM failover paths use the right runtime metadata, while stale channel-origin state no longer leaks across session changes. (#94461, #93241, #95328) Thanks @Pandah97, @chrysb, @0xghost42, @zhengli0922, @ZengWen-DT, @jalehman, and @gorkem2020.
  • Provider plugin onboarding: setup refreshes provider plugin registry metadata after installing setup-selected provider plugins, so auth continuation uses the newly installed provider instead of stale registry state. (#95792) Thanks @snowzlmbot.

Complete contribution record

This audited record covers the complete v2026.6.9..HEAD history: 12 merged PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.

Pull requests

  • PR #86627 Keep core doctor health in contribution order. Thanks @giodl73-repo.
  • PR #93580 fix: preserve cron delivery awareness for target sessions. Thanks @scotthuang and @jalehman.
  • PR #95030 refactor: add SDK transcript identity target API. Thanks @jalehman.
  • PR #94838 refactor(copilot): complete harness lifecycle parity. Thanks @vincentkoc.
  • PR #95328 fix(sessions): reset stale per-channel origin fields on channel switch. Related #95325. Thanks @ZengWen-DT and @jalehman and @gorkem2020.
  • PR #94461 fix(zai): fall back to manifest baseUrl for synthesized GLM-5 models. Related #94269. Thanks @Pandah97 and @chrysb.
  • PR #93241 fix(agents): classify Zhipu GLM overload as overloaded for failover. Related #93211. Thanks @0xghost42 and @zhengli0922.
  • PR #94067 fix(channels): resolve native /think menu levels via runtime catalog for live-discovered models. Related #93835. Thanks @openperf and @civiltox.
  • PR #94136 fix(zai): expose GLM-5.2 reasoning levels [AI-assisted]. Thanks @BorClaw.
  • PR #85104 feat: fast talks auto mode. Related #85087. Thanks @alexph-dev.
  • PR #94545 fix: keep trusted policies with hook registry. Thanks @jesse-merhi.
  • PR #95792 fix(onboard): refresh provider plugin registry after setup installs. Related #95765. Thanks @snowzlmbot.

View full changelog

]]>
2026.6.8 Tue, 16 Jun 2026 17:17:20 +0000 https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml 2606000890 2026.6.8 15.0 OpenClaw 2026.6.8

Highlights

  • Telegram and WhatsApp channel delivery are richer and less brittle: Telegram can send structured rich text with tables, lists, expandable blockquotes, preserved intentional line breaks, prompt-preserving CLI backend delivery, retired native draft migration, and safer rich-media boundaries, while WhatsApp now honors configured ACP bindings. (#92679, #93164, #84082, #89421, #92513) Thanks @obviyus, @jzakirov, @spacegeologist, and @TurboTheTurtle.
  • Agent and Gateway recovery is sharper across account-scoped DM sends, generated media completions, auto-reply message-tool final replies, reset archive fallback reads, restart shutdown aborts, yielded subagent pauses, trusted subagent thinking override fallback, yielded cron media, heartbeat dedupe, session identity prompts, and unknown OpenAI agent selector rejection. (#92788, #91246, #92879, #91357, #92631, #92412, #92146, #91287, #92468, #92510) Thanks @yetval, @TurboTheTurtle, @masatohoshino, @CadanHu, @ooiuuii, @openperf, @IWhatsskill, @ZengWen-DT, and @zhangguiping-xydt.
  • Provider/model handling expands and tightens with GLM-5.2, Claude Haiku 4.5 catalog rows, OpenRouter and Google Vertex provider-prefix normalization, managed SecretRef auth, OAuth image-default routing through Codex, bounded model browse discovery, LM Studio binary thinking-off delivery, storeless OpenAI Responses replay gating, invalid OpenAI reasoning-signature and genericized Anthropic thinking-signature recovery, Claude 4.5 Copilot tool-streaming safety, and OpenAI/Anthropic-family payload quarantine for unreadable or post-hook tool schemas. (#92796, #90116, #92627, #91218, #90686, #92824, #92247, #92002, #90706, #92941, #92201, #92916, #75393, #92908, #92921, #92928) Thanks @arkyu2077, @liuhao1024, @bymle, @rohitjavvadi, @nxmxbbd, @bek91, @samson910022, @mmyzwl, @CarlCapital, @snowzlm, @Kailigithub, and @vincentkoc.
  • /usage and reply payload hooks now have a native full footer renderer, default template, fixed-decimal formatting, credential-aware limits, better partial-count handling, and warnings for broken templates instead of silent bad output. (#92657, #89835, #89629) Thanks @Marvinthebored.
  • UI and mobile flows are steadier: workspace files can collapse and start collapsed, WebChat backscroll survives streaming, the sidebar session picker remains interactive above the desktop workbench, reset soft args survive UI dispatch, stale dashboard session parent lineage is preserved, and iOS reconnects stale foreground gateways. (#92779, #92622, #92705, #91353, #90658, #92552) Thanks @shakkernerd, @TurboTheTurtle, @NianJiuZst, @zhouhe-xydt, @luoyanglang, and @Solvely-Colin.
  • Memory, state, and diagnostics recover cleaner: oversized OpenAI embedding batches split before 431s, QMD memory search stays available in transient mode, SQLite avoids WAL on NFS state volumes, stuck-session recovery scheduling no longer resets warning backoff, full memory reindexes preserve rollback/cache recovery, raw Memory Wiki source pages stop looking malformed, and Infinity chunk limits stay genuinely unbounded. (#92650, #92618, #92639, #91247, #92752, #92881, #59137, #92876, #69700, #92735) Thanks @mushuiyu886, @TurboTheTurtle, @849261680, @gnanam1990, @TSHOGX, @arlen8411, and @yhterrance.

Changes

  • Providers/models: add GLM-5.2 support and Claude Haiku 4.5 catalog entries while keeping provider-qualified model IDs normalized across OpenRouter and Google Vertex paths. (#92796, #90116, #92627, #91218) Thanks @arkyu2077, @liuhao1024, and @bymle.
  • Web search: keep key-free providers such as Parallel Free, DuckDuckGo, Ollama, and Codex Hosted Search as explicit opt-ins instead of selecting them automatically when no API-backed provider is configured. (#93616) Thanks @davemorin and @vincentkoc.
  • Channel plugins: ship Telegram rich-message delivery and WhatsApp ACP binding support, including preserved intentional line breaks, rich prompt handoff to CLI backends, and transport fixtures for richer drafts. (#92679, #93164, #92513) Thanks @obviyus and @TurboTheTurtle.
  • Agent commands: support /btw in CLI-backed sessions and keep CLI usage-error exits classified as usage failures instead of successful runs. (#92669, #92162) Thanks @joshavant and @Pandah97.
  • Usage hooks: add built-in full footer rendering, default footer templates, per-turn usage state, credential-aware limits, and fixed-decimal formatting for usage-bar templates. (#92657, #89835, #89629) Thanks @Marvinthebored.
  • Docs and operator guidance: document node config examples, clarify before-install hook scope, correct agent default concurrency comments, refresh ZAI provider docs, and update channel/group docs for current Telegram and WhatsApp behavior. (#92677, #92766, #92695) Thanks @liuhao1024, @sallyom, and @ArielSmoliar.

Fixes

  • Channels and delivery: preserve account-scoped DM channel send policy, intentional rich-message line breaks in Telegram and status output, rich Telegram final replies, rich Telegram tables and lists, Telegram thread-create CLI remapping, Feishu dynamic-agent routes after persisted binding reuse, Slack outbound message_sent hooks, contributed message-tool schema optionality, same-channel generated media completions, and channel chunking around surrogate pairs and Infinity limits. (#92788, #93164, #92679, #89421, #89943, #42837, #92814, #91137, #91246, #92735) Thanks @yetval, @obviyus, @spacegeologist, @rishitamrakar, @liuhao1024, @lundog, @TurboTheTurtle, and @yhterrance.
  • Discord: give generated auto-thread titles a 60-second timeout and 4,096-token reasoning-model output budget, clamped to the selected model output cap. (#64734) Thanks @hanamizuki.
  • Agent, cron, and Gateway runtime: mark active main sessions before restart shutdown aborts, pause yielded subagent runs whose terminal also signals abort, clamp trusted subagent thinking overrides through provider/model fallback, preserve yielded media completions, deliver channel message-tool final replies through auto-reply while hiding internal delivery hints, restore reset archive fallback reads when active async transcripts are missing, de-duplicate main-session heartbeat events, expose session identity in runtime prompts, reject unknown OpenAI agent selectors, keep generated media completions, slash-command block replies, and trajectory export commands in WebChat, and require admin privileges for HTTP session/model override surfaces. (#91357, #92631, #92412, #92146, #92879, #91287, #92468, #92510, #91246, #92651, #92646) Thanks @ooiuuii, @openperf, @IWhatsskill, @masatohoshino, @CadanHu, @ZengWen-DT, @zhangguiping-xydt, and @TurboTheTurtle.
  • Providers and model replay: preserve storeless OpenAI Responses replay compatibility, recover invalid OpenAI reasoning signatures and genericized Anthropic thinking-signature replay errors, route OAuth image defaults through Codex for eligible OpenAI profiles, avoid eager tool streaming for Claude 4.5 in Copilot, quarantine unreadable and post-hook OpenAI/Anthropic-family tool schemas without broadening allowed tool choices, deliver explicit thinking-off requests to LM Studio binary-thinking models, honor profile auth for SecretRef model entries, bound model browsing, strip provider prefixes where runtimes need bare IDs, and surface nested embedding fetch failures. (#90706, #92941, #92201, #92916, #92824, #75393, #92908, #92921, #92928, #92002, #90686, #92247, #92627, #91218, #92628) Thanks @snowzlm, @mmyzwl, @CarlCapital, @bek91, @Kailigithub, @vincentkoc, @rohitjavvadi, @samson910022, @nxmxbbd, @liuhao1024, @bymle, and @mushuiyu886.
  • Memory, state, diagnostics, and config: split header-too-large embedding batches, keep QMD memory search enabled in transient mode, avoid SQLite WAL on NFS volumes, preserve recovery scheduling outside stuck-session warning backoff, preserve full-reindex rollback/cache recovery, treat raw Memory Wiki source pages as source evidence, and keep shell environment fallbacks contained in config write tests. (#92650, #92618, #92639, #91247, #92752, #92881, #59137, #92876, #69700) Thanks @mushuiyu886, @TurboTheTurtle, @849261680, @gnanam1990, @TSHOGX, and @arlen8411.
  • UI/mobile/TUI: preserve dashboard session parent lineage, WebChat backscroll, reset soft command args, sidebar session picker interactivity, collapsed workspace files, resolved /model confirmation refs, stale foreground iOS Gateway reconnects, and paused setup-parent stdin after inherited-stdio child exit. (#90658, #92622, #91353, #92705, #92779, #92773, #92552, #93159) Thanks @luoyanglang, @TurboTheTurtle, @zhouhe-xydt, @NianJiuZst, @shakkernerd, @NarahariRaghava, @Solvely-Colin, and @fuller-stack-dev.
  • Plugins and updates: repair missing required platform packages during managed plugin installs and updates, including omitted Codex platform binaries.
  • Dependencies: update Hono to 4.12.25 so published OpenClaw and ACPX packages use the patched runtime.
  • Release and test reliability: extend slow Gateway/full-suite watchdogs, split local full-suite shards when throttled, stabilize plugin auth marker fixtures, avoid brittle provider-ref error text, fold Telegram RTT sampling into live QA evidence, simplify QA scorecard mappings around canonical coverage IDs, keep QA Lab bootstrap selection assertions aligned with flow-only scenarios, skip QA coverage artifact consumers when runtime parity producer status is not green, keep Feishu lifecycle release checks pointed at the active fixture config, isolate trajectory-export live seed turns from Codex-native shell approvals, preserve release-check child refs while pinning expected SHAs, widen live OpenAI TTS budgets for slower provider responses, and avoid false downgrade prompts for unresolved latest-tag updates. (#92652, #92550, #92558, #92911) Thanks @RomneyDa and @Andy312432.

View full changelog

]]>