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