### 亮点
- **更强的频道控制能力:** Slack 中继模式、原生 Mattermost `/oc_queue` 以及按 DM 模型覆盖,使频道操作更易于自动化和调优。(#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 和 @hellocli。
- **智能体与回退行为:** 中止的运行能干净停止,提供商响应体保持有界,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 防护:** 非交互式配置失败时安全关闭,TLS 路径拒绝空值,内存工件已清理,UI 使用打了补丁的 DOMPurify 版本。(#94238, #94054, #95791, #95691) 感谢 @ruomuxydt、@NianJiuZst、@miorbnli、@vincentkoc、@SweetSophia 和 @YB0y。
- **定时任务与投递验证:** 无配置投递检查、线程感知去重以及待处理的周期性运行现在能保留其预期目标。(#95754, #95794, #94323) 感谢 @vincentkoc 和 @yetval。
### 完整贡献记录
此审计记录涵盖了完整的 v2026.6.10..0a4d0daa8cc99e9b2c6bc78c2e67357272a9fd53 历史:308 个合并 PR。生成清单还提供了直接提交作为编辑输入;以上的分组说明优先考虑用户影响。
#### 拉取请求
- **PR #95406** 测试(质量保证):使发布评分卡类别显式化。感谢 @RomneyDa。
- **PR #94700** 测试:将 HTTP API 脚本校验融入 QA 实验室。感谢 @RomneyDa。
- **PR #95499** 修复(测试):单元快速流模拟。感谢 @RomneyDa。
- **PR #95308** 修复(CI):在令牌铸造前过滤 ClawSweeper 评论调度。感谢 @vincentkoc。
- **PR #95532** 修复(Telegram):将富消息换行符具体化为 `<br>`。关联 #95409。感谢 @amknight 和 @snowzlmbot。
- **PR #91786** 修复(插件):协调托管 npm 根覆盖与托管对等固定。关联 #91772。感谢 @amknight 和 @mkdelta221。
- **PR #93002** 修复:在工具输出前清理 Telegram 进度草稿。关联 #90753。感谢 @zhangguiping-xydt 和 @shadow-enthusiast。
- **PR #95175** 修复:将移动端执行审批路由到审核者设备。感谢 @joshavant。
- **PR #94506** 修复(Telegram):在频道重启时停止清除已注册的 webhook。关联 #90254。感谢 @xialonglee 和 @travellingsoldier85。
- **PR #95183** 修复(Telegram):具体化流式进度占位符。关联 #95004。感谢 @snowzlmbot 和 @obviyus。
- **PR #95483** 修复(WhatsApp):保留原生引用回复。感谢 @mcaxtr。
- **PR #94338** 修复(WhatsApp):为群组消息可靠性添加缺失的 Baileys 重试/缓存钩子。关联 #7433。感谢 @xialonglee、@mcaxtr 和 @octopuslabs-fl。
- **PR #94707** 特性(Slack):为入站消息添加中继模式。感谢 @sjf-oa。
- **PR #94977** 修复(Telegram):遵守出站反应指令。关联 #71140。感谢 @hugenshen 和 @Cuttingwater。
- **PR #95069** 修复(Telegram):当主回复已存在时跳过镜像写入 (#94930)。感谢 @heichaowo。
- **PR #95550** 在迁移期间保留继承的频道账户策略。感谢 @amknight。
- **PR #95390** 修复 #95378。感谢 @mikasa0818、@obviyus 和 @MaiDuy708。
- **PR #93143** 修复(iMessage):保持拆分发合并的选择加入。感谢 @omarshahine。
- **PR #95008** 修复(Claude CLI):在 `--print` 运行中也禁用原生后台 Bash 和 Monitor。感谢 @anagnorisis2peripeteia。
- **PR #94545** 修复:使用钩子注册表保留受信任的策略。感谢 @jesse-merhi。
- **PR #95007** 修复(Telegram):将进度草稿行渲染为纯可读文本。关联 #95002。感谢 @snowzlmbot。
- **PR #95624** 修复(智能体):保持长上下文工具结果提示缓存稳定。感谢 @vincentkoc。
- **PR #95625** 修复(CI):平滑 PR 运行者注册突发。感谢 @vincentkoc。
- **PR #95572** 修复(智能体):拒绝包含额外冒号段的绑定规范。感谢 @ly-wang19。
- **PR #95653** 测试(智能体):增加大型提示缓存覆盖。感谢 @vincentkoc。
- **PR #95640** 合并 iOS 通知权限 UX。感谢 @joshavant。
- **PR #95546** 特性(Mattermost):将 `/oc_queue` 注册为原生斜杠命令。感谢 @amknight。
- **PR #95019** 修复(技能):将 gog brew 安装指向 homebrew-core gogcli (#95017)。感谢 @ZengWen-DT、@vincentkoc 和 @Sedrak-Hovhannisyan。
- **PR #93378** 测试(Telegram):保持实时轮询租约受保护。关联 #93375。感谢 @mmyzwl 和 @Yachiyo1680。
- **PR #95084** 修复(Google Chat):从出站文本中清除内部工具跟踪行 (#90684)。感谢 @jailbirt 和 @studentzhou-svg。
- **PR #95278** 避免在入队状态数据库打开时复制 process.env。关联 #94571。感谢 @kaka-srp。
- **PR #95577** 修复 #86957:立即排空工作线程缓冲的 Telegram 更新。感谢 @LiuwqGit 和 @freidrich-goldenflow。
- **PR #95128** 修复(压缩):在切点估算器中计算用户消息图片块。感谢 @yetval。
- **PR #93887** 修复(SSH):拒绝 parseSshTarget 中带有孤立前导或尾随冒号的主机名。感谢 @miorbnli。
- **PR #95191** 文档(插件):记录 subagent_ended 钩子字段。关联 #95186。感谢 @MaHaoHao-ch 和 @ken-jo。
- **PR #95102** 修复(配置):将 stdio 添加到 McpServerSchema 传输联合。关联 #95082。感谢 @lzyyzznl 和 @ken-jo。
- **PR #95465** 修复(SDK):在打包根辅助函数中类型收窄 manifest.files。感谢 @wangmiao0668000666。
- **PR #95664** 重构(插件):将所有者技能移入插件。感谢 @vincentkoc。
- **PR #95299** 修复 #95248:当声明被活动工作线程持有时,OpenClaw release_lane 无操作;卡住的 Telegram 入站事件阻塞智能体响应直到网关重启。感谢 @mikasa0818 和 @kriegerbangerz-ship-it。
- **PR #94687** 修复(网关):接受健康检查和探测的端口。关联 #79100。感谢 @BryanTegomoh 和 @ozthedivine。
- **PR #95649** 修复(CI):捆绑测试分片并适当调整运行者大小。感谢 @vincentkoc。
- **PR #95243** 修复(文档):在 `docs:list` 中显示内联 read_when 提示。感谢 @hugenshen 和 @vincentkoc。
- **PR #95283** 修复(OpenAI Completions):在 `/reasoning on` 下在答案之前密封原生推理。关联 #95280。感谢 @ZengWen-DT、@vincentkoc 和 @Marvinthebored。
- **PR #95497** 特性(RAFT):添加 CLI 唤醒桥接频道。感谢 @vincentkoc。
- **PR #95459** 修复(Cron):使用主会话系统事件进行静默快速创建预设。关联 #95073。感谢 @ZOOWH、@vincentkoc 和 @vporton。
- **PR #95503** 修复 #89466:[Bug]:控制 UI 聊天输入文本在发送后未清除。感谢 @zhangguiping-xydt、@vincentkoc 和 @zhong18804784882。
- **PR #95684** 修复(技能):强化 ClawHub 更新策略。感谢 @vincentkoc。
- **PR #95683** 特性(插件):将额外的官方插件外部化。感谢 @vincentkoc。
- **PR #95681** 修复(CI):去抖规范主运行者准入。感谢 @vincentkoc。
- **PR #95652** 修复(智能体):激活选定的工具架插件。感谢 @vincentkoc。
- **PR #95404** 修复(Codex):将非最终答案的助手增量流式传输为部分内容。关联 #95422。感谢 @agonza1 和 @vincentkoc。
- **PR #58993** 修复(Google Chat):支持 spaceType 字段用于 DM 与 Space 检测。感谢 @Starhappysh 和 @vincentkoc。
- **PR #94148** 修复(医生):防止非交互式 `--fix` 自动重启网关。关联 #78217。感谢 @zhangguiping-xydt 和 @esqandil。
- **PR #89859** 修复(网关):遵守远程状态探测超时。关联 #65355。感谢 @mushuiyu886 和 @hellocli。
- **PR #95466** 修复(CI):增加易超时的进程组信号测试的超时。感谢 @jason-allen-oneal。
- **PR #95720** 修复(Matrix):在强制重置中防止双重 bootstrapCrossSigning 重置。关联 #78396。感谢 @vincentkoc 和 @jteddy。
- **PR #95707** 修复(Synology Chat):移除重复的本地投递超时。感谢 @vincentkoc。
- **PR #95706** 修复(WhatsApp):移除死看门狗超时钳制。感谢 @vincentkoc。
- **PR #95719** 修复(CLI):同步能力检查元数据标志与注册选项。感谢 @vincentkoc。
- **PR #95721** 修复(活跃记忆):从资格门控中排除做梦叙述会话键。关联 #78500。感谢 @vincentkoc 和 @vishutdhar。
- **PR #95602** 测试:在网关会话工具中每月节省约 79 CI 小时。感谢 @zats 和 @vincentkoc。
- **PR #94412** 修复(智能体核心):中止工具运行后停止循环。感谢 @szsip239 和 @vincentkoc。
- **PR #94915** 修复(网关):在就绪状态中报告排空状态。关联 #78136。感谢 @markoub、@vincentkoc 和 @maxschachere。
- **PR #95691** 修复(UI):将 dompurify 升级到已打补丁版本。感谢 @vincentkoc。
- **PR #95710** 修复(Vercel AI 网关):解析动态模型选择。感谢 @vincentkoc。
- **PR #94072** 修复(智能体):将消息工具源回复计作用户面向回复以用于工具错误警告。关联 #93875。感谢 @chenyangjun-xy、@vincentkoc 和 @hoyanhan。
- **PR #94784** 修复(医生):停止为工作的孤立 shell 提示定时任务承诺 `--fix` (#94655)。感谢 @ZengWen-DT、@altaywtf 和 @geekoagent。
- **PR #93504** 修复(设备配对):防止角色规范化处理非字符串条目。感谢 @ly-wang19。
- **PR #92178** 修复(网关):规范化格式错误的配对访问列表。关联 #90654。感谢 @wangmiao0668000666、@ly-wang19 和 @EmilioNicolas。
- **PR #83041** 修复配置补丁重启所需通知。关联 #46797。感谢 @xuruiray 和 @Stache73。
- **PR #95754** 修复(Cron):保留无配置投递验证。感谢 @vincentkoc。
- **PR #93351** 特性(CLI):向 `openclaw agent` 添加 `--message-file`。感谢 @ooiuuii。
- **PR #95485** 修复(UI):在紧凑令牌格式中将接近 1M 的值从 k 滚动到 M。感谢 @NarahariRaghava 和 @vincentkoc。
- **PR #94622** 修复(构建):允许 tsdown 堆覆盖。感谢 @tayoun。
- **PR #76668** 元数据(ISSUE 模板):添加专用文档错误报告表单。关联 #76664。感谢 @WadydX。
- **PR #91193** 修复(CLI):在 action-reparse.ts 中记录 Commander rawArgs 内部 API 依赖。关联 #83893。感谢 @whiteyzy 和 @davinci282828。
- **PR #77339** 修复(自动回复):重置时清除运行时模型缓存。关联 #77322。感谢 @mjamiv 和 @ZaynL。
- **PR #89628** 加速预计算命令帮助启动。感谢 @yyzquwu。
- **PR #95087** 重构:添加内存和 QMD 会话身份映射。感谢 @jalehman。
- **PR #89323** 修复(Web UI):跳过隐藏的子智能体选择器页面。关联 #89249。感谢 @giodl73-repo 和 @originsecured-do。
- **PR #84794** 在运行后清理孤立的定时任务会话。关联 #84707。感谢 @TurboTheTurtle 和 @bottenbenny。
- **PR #95794** 修复(Cron):在为失败目的地去重时比较线程 ID。感谢 @vincentkoc。
- **PR #95791** 修复(会话记忆):在保存记忆前清理模型工件。感谢 @vincentkoc、@SweetSophia 和 @YB0y。
- **PR #95805** 修复(智能体):规范化幻觉产生的 Office 文件扩展名。关联 #93326。感谢 @vincentkoc、@lzyyzznl、@xzh-icenter 和 @bhnan。
- **PR #89612** 修复:在迁移中包含持久化插件合约。关联 #89609。感谢 @zerone0x 和 @mugabuga。
- **PR #89981** 修复(诊断-OTel):在跨度上保留完整模型 ID 而不是折叠为 "unknown"。感谢 @mycarrysun 和 @vincentkoc。
- **PR #90489** 修复(会话):澄清跨智能体可见性指导。关联 #90443。感谢 @sahibzada-allahyar、@vincentkoc 和 @ramitrkar-hash。
- **PR #95383** 修复(SDK):将失败/阻塞的工具事件归类为 tool.call.failed。感谢 @ly-wang19。
- **PR #95827** 修复(插件 SDK):有界实时模型目录成功体。
- **PR #95792** 修复(引导):在设置安装后刷新提供者插件注册表。关联 #95765。感谢 @snowzlmbot。
- **PR #93943** 修复(提供商使用):遵守用于使用情况获取的代理环境变量。关联 #78714。感谢 @TurboTheTurtle 和 @TnzGit。
- **PR #89648** 修复(智能体):恢复模型获取信息日志。关联 #89300。感谢 @xiaobao-k8s 和 @Enominera。
- **PR #93841** 修复(UI):渲染持久化历史文本块。关联 #90241。感谢 @mushuiyu886 和 @pronzcw。
- **PR #93502** 文档:修复文档元数据拼写检查。感谢 @harjothkhara。
- **PR #86608** 文档:添加现有解决方案预检防护栏。感谢 @cablackmon。
- **PR #95322** 修复(回复):在滚动时保留使用情况页脚。感谢 @litang9。
- **PR #91559** 修复(智能体):按模型 ID 清理 Gemini 工具 schema。关联 #91542。感谢 @Pick-cat 和 @qiukui666。
- **PR #94701** 修复刷新会话活动后的嵌入式运行恢复。感谢 @imadal1n。
- **PR #95472** [AI] 修复(主会话):为已完成的会话跳过当前世代中止控制器。感谢 @xydt-tanshanshan。
- **PR #95401** 修复(LM Studio):规范化变体模型键。感谢 @MonkeyLeeT。
- **PR #94323** 修复(Cron):阻止添加/删除操作丢弃一个到期的周期性作业的待处理运行。感谢 @yetval。
- **PR #94443** 修复(记忆维基):重试瞬态源页面重写竞争而不是中止 wiki_status。关联 #92134。感谢 @ZengWen-DT 和 @cknzraposo。
- **PR #95120** 特性(频道):添加 directUserId 支持用于每 DM 模型覆盖。关联 #53638。感谢 @xydigit-zt、@thomaszta 和 @gandalf-at-lerian。
- **PR #91049** 修复:处理终端聊天发送确认。关联 #91048。感谢 @nxmxbbd。
- **PR #95081** 修复:保持文本转换运行时导入哈希化。关联 #95057。感谢 @849261680 和 @YvesLaRose。
- **PR #93356** 修复(插件):缓存插件设置注册表以终止 /models CPU 风暴。感谢 @obuchowski。
- **PR #85341** 重构:内部化 OpenClaw 智能体运行时。
- **PR #94233** 修复(模型回退):合并认证决策日志。关联 #56979。感谢 @goutamadwant 和 @yanan1991。
- **PR #92399** 修复(LLM):折叠累积的 openai-responses 消息快照而不是拼接 [AI 辅助]。关联 #91959。感谢 @amersheeny 和 @phoenixyy。
- **PR #94811** 修复(Ollama):遵守记忆嵌入输出维度。感谢 @mushuiyu886。
- **PR #84708** 修复(智能体):恢复消息工具镜像重放毒化。感谢 @anyech。
- **PR #95274** 修复(记忆):保留 Windows QMD 命令路径。关联 #92302。感谢 @ly85206559 和 @Ardooken。
- **PR #95686** 修复(xAI):为所有推理模型请求加密推理包含。感谢 @geraint0923 和 @fuller-stack-dev。
- **PR #82909** 修复(Telegram):修复消息缓存回复类型。感谢 @lidge-jun。
- **PR #94942** 修复(Matrix):修剪完成的假 indexeddb 事务以防止 OOM。关联 #90455。感谢 @xzh-icenter 和 @yar-sh。
- **PR #93994** 修复(设置):将非交互式健康提示指向引导标志。关联 #93947。感谢 @BK-Z1 和 @NianJiuZst。
- **PR #93956** 修复(Ollama):跳过远程/云端基础 URL 的自动发现。感谢 @jason-allen-oneal。
- **PR #93547** 修复(ACP):通过结构化恢复所需代码恢复过时的持久会话 [AI 辅助]。关联 #87830。感谢 @amersheeny 和 @chouzz。
- **PR #94204** 修复(控制 UI):为配置的基础路径重写清单 href。关联 #94157。感谢 @hugenshen 和 @xrow。
- **PR #95637** 修复(QQ 机器人):识别带一个或两个破折号的 GFM 表格分隔符。感谢 @ly-wang19。
- **PR #95467** 修复(会话):在非投递轮次中保持绑定的频道身份。感谢 @yetval。
- **PR #93919** 性能(插件):在捆绑清单扫描中缓存存在性探测 [AI 辅助]。关联 #76209。感谢 @ml12580 和 @shenhonglong456-ai。
- **PR #94726** 修复(Google):添加 gemini-3.5-flash 模型目录条目。关联 #94723。感谢 @ajwan8998 和 @anguslogan01。
- **PR #94238** 修复(配置):当配置在没有交互式 TTY 的情况下运行时失败关闭 (#93953)。感谢 @ruomuxydt 和 @NianJiuZst。
- **PR #89949** 修复(媒体):在任务开始时固定请求者投递路由。关联 #86034。感谢 @wangwllu 和 @tianxiaochannel-oss88。
- **PR #94470** 杂项:同步 yuanbao 插件目录到 2.15.0。感谢 @jase-283。
- **PR #93585** 修复(守护进程):在子进程 OOM 后保持 systemd 网关运行。感谢 @snowzlm。
- **PR #94442** 修复(iMessage):在持久化回声缓存中剥离前导回声损坏标记。感谢 @ly-wang19。
- **PR #93511** 修复(iMessage):规范化前导 NUL 回声缓存前缀。感谢 @vincentkoc 和 @ly-wang19。
- **PR #87121** 测试(CLI):添加横幅发射重置辅助函数。关联 #83903。感谢 @lizuju 和 @davinci282828。
- **PR #89172** 修复(飞书):通过上传时长显示语音消息时长。关联 #53798。感谢 @areslp 和 @kinrocW。
- **PR #95118** 修复:有界智能体加载自己的入站工作空间上下文。关联 #92903。感谢 @849261680 和 @axjing。
- **PR #94752** 修复(回复):澄清过时模型覆盖重置。关联 #94713。感谢 @snowzlmbot 和 @Gr4via。
- **PR #89716** 修复(提供商):从非 Anthropic 提示中剥离缓存边界标记。感谢 @masatohoshino。
- **PR #95268** 修复(OpenRouter):将短规范模型 ID 扩展为上游 API 别名(修复 #95198)。感谢 @Darren2030 和 @daniel-alejandro-t。
- **PR #90475** 修复(Telegram):保持机器人回复锚定到当前消息。感谢 @moeedahmed。
- **PR #94219** 修复(控制 UI):在侧边栏会话切换器中恢复提供商使用配额药丸(修复 #93041)。感谢 @Pick-cat 和 @jazzroutine。
- **PR #93369** 修复(Cron):在 CLI 中暴露每作业回退。关联 #90302。感谢 @849261680 和 @Walliiee。
- **PR #87912** 处理工具结果截断中的 Codex toolResult 块。感谢 @AdrianIp0204。
- **PR #95744** 修复(模型目录):按匹配长度剥离清单模型 ID 前缀。关联 #95743。感谢 @parveshsaini。
- **PR #95300** 修复(CLI):在推理图片编辑上暴露 `--count`,与图片生成一致。感谢 @ly-wang19。
- **PR #94156** 修复:暴露 OpenAI 图片质量和审核 CLI 选项。感谢 @lastguru-net 和 @ly-wang19。
- **PR #94062** 修复(智能体):将通用 "LLM request failed." 归类为瞬态超时。关联 #93931。感谢 @hugenshen 和 @hyphae-bot。
- **PR #93965** 修复(OpenCode Go):当提供商结束响应时流式完成。关联 #93610。感谢 @zhangguiping-xydt 和 @ForceConstant。
- **PR #89017** 修复(WebChat):会话在重连后持久化。关联 #87700。感谢 @zhangguiping-xydt 和 @asicoe。
- **PR #94627** 修复(iOS):集中应用强调色。感谢 @zats。
- **PR #94054** 修复(网关 TLS):拒绝空/空白 certPath 和 keyPath。感谢 @miorbnli。
- **PR #95674** 修复(Cron):从识别的作业对象键中修剪尾随空白。关联 #95407。感谢 @zw-xysk 和 @Nassiel。
- **PR #95857** 修复 SQLite 用户版本防护栏白名单。感谢 @RomneyDa。
- **PR #95858** 特性(质量保证):向场景暴露活跃记忆开关。感谢 @RomneyDa。
- **PR #84326** 医生:暴露沙盒注册表发现。感谢 @giodl73-repo。
- **PR #73079** 修复(MiniMax):显式请求十六进制 TTS 输出。感谢 @efe-arv。
- **PR #94483** 特性(网关 CLI):按智能体作用使用成本。感谢 @ly-wang19。
- **PR #91502** 特性(质量保证):crabline 频道驱动。感谢 @RomneyDa。
- **PR #95872** 将 TUI PTY 测试移入 CI 节点分片。感谢 @RomneyDa。
- **PR #89800** 修复(智能体):解析 webchat 当前会话状态。关联 #89773。感谢 @sweetcornna 和 @killo3967。
- **PR #95870** 修复(CI):恢复 macOS 和 Windows QA 门控。感谢 @vincentkoc。
- **PR #94445** 修复(智能体):保持定时任务云空闲看门狗启用。感谢 @bek91。
- **PR #91506** 修复(质量保证):跨运行者预留共享 QA 套件标志。感谢 @RomneyDa。
- **PR #95876** CI:添加手动发布 QA 配置文件证据工作流。感谢 @RomneyDa。
- **PR #95879** 修复(CI):使用工作流修订版进行证据检查。感谢 @vincentkoc。
- **PR #93113** 修复(记忆核心):在状态中报告活跃做梦阶段。关联 #67868。感谢 @AgentArcLab 和 @mrossit。
- **PR #95837** 简化颜色模式按钮标签。感谢 @SannidhyaSah 和 @hannesrudolph。
- **PR #95797** 修复:对于固定模型会话,/status 过于冗长。感谢 @Solvely-Colin。
- **PR #90223** 测试:使 qqbot 符号链接媒体辅助测试在 Windows 上健壮。感谢 @aniruddhaadak80。
- **PR #95557** 改进:刷新 Android 概览控制界面。感谢 @Solvely-Colin 和 @joshavant。
- **PR #95593** 修复:将 Android 执行审批路由到应用内收件箱。感谢 @Solvely-Colin。
- **PR #95570** 修复(CLI):一致地解析轨迹导出存储。关联 #95568。感谢 @youngting520。
- **PR #95880** CI:泛化 QA 配置文件证据工作流。感谢 @RomneyDa。
- **PR #95218** 修复(智能体):有界提供商 JSON 响应读取。感谢 @Alix-007。
- **PR #95614** 修复(记忆维基):在源重新导入时保留人类笔记块。感谢 @yetval。
- **PR #95148** 特性(Android):添加设置详情面板。感谢 @Tosko4。
- **PR #95893** 添加 iOS 推送沙盒配置文件和继电器工具。感谢 @joshavant。
- **PR #95723** 修复(控制 UI):从概览失败计数中排除禁用的定时任务。关联 #95716。感谢 @ZengWen-DT 和 @voytas75。
- **PR #78715** 修复插件文档中的微小语法问题(能力复数)。感谢 @mehrazmorshed。
- **PR #95890** 修复(CI):恢复 QA 工作流门控。感谢 @vincentkoc。
- **PR #95661** 修复(Discord):在围栏闭合行上保留闭合围栏空间。感谢 @ly-wang19。
- **PR #94272** CI:添加成熟度评分卡渲染器。感谢 @RomneyDa。
- **PR #95901** CI:添加成熟度评分卡渲染器。感谢 @RomneyDa。
- **PR #95914** 修复(WhatsApp):保留持久回复目标。感谢 @mcaxtr。
- **PR #95697** 改进:减少热路径线性扫描和冗余 I/O。感谢 @vincentkoc。
- **PR #95916** 修复(记忆):改进 node:sqlite 不可用指导。感谢 @vincentkoc 和 @rrrrrredy。
- **PR #78884** 文档:记录本地头像文件大小限制。关联 #65312。感谢 @wangjieweb3-design 和 @wraxle-geargrind。
- **PR #95909** 修复(CI):使用可用的 Android SDK 平台。感谢 @vincentkoc。
- **PR #68389** 插件:当条目与发现的 ID 不匹配时澄清白名单警告。关联 #68352。感谢 @lyfuci 和 @JIRBOY。
- **PR #95898** CI:简化成熟度评分卡 QA 证据输入。感谢 @RomneyDa。
- **PR #95928** 修复(CI):遵守可重用 QA 证据失败策略。感谢 @vincentkoc。
- **PR #95508** 修复 #95489:[Bug]:claude-cli 信用不足错误绕过模型回退链——错误文本作为最终响应投递。感谢 @mikasa0818、@sallyom 和 @riazrahaman。
- **PR #95420** 修复(智能体):有界 OpenRouter 模型目录响应读取。感谢 @Alix-007 和 @sallyom。
- **PR #95103** 修复(网关):有界定价目录流。感谢 @vincentkoc 和 @sallyom。
- **PR #95108** 修复(智能体):有界 Anthropic 错误流。感谢 @vincentkoc 和 @sallyom。
- **PR #95418** 修复(智能体):有界 OpenRouter 模型扫描目录成功体。感谢 @Alix-007。
- **PR #95922** 修复(CI):在设置失败后最终确定 testbox 会话。感谢 @vincentkoc。
- **PR #95417** 修复(智能体):有界 Google 提示缓存响应读取。感谢 @Alix-007。
- **PR #95935** 修复(WhatsApp):在 JID 漂移中解析审批反应。感谢 @mcaxtr。
- **PR #84340** 医生:暴露额外的网关服务发现。感谢 @giodl73-repo。
- **PR #95946** 修复(CI):在设置失败后最终确定 Windows Testbox。感谢 @vincentkoc。
- **PR #95947** 特性(质量保证):添加 "all" 分类配置文件。感谢 @RomneyDa。
- **PR #91903** 特性(插件 SDK):添加可扩展的频道身份钩子上下文。感谢 @lanzhi-lee 和 @vincentkoc。
- **PR #95930** 文档(Copilot):刷新工具架对等说明。感谢 @vincentkoc。
- **PR #95952** 修复(CI):要求 QA 实时证据工件。感谢 @vincentkoc。
- **PR #95666** 修复记忆维基桥接自导入循环。关联 #95657。感谢 @TurboTheTurtle、@vincentkoc 和 @Johannes0402。
- **PR #91724** 修复(智能体):从限定模型 ID 推断运行时提供商。感谢 @yu-xin-c 和 @vincentkoc。
- **PR #95957** 改进:加速提供商工具调用流式传输。感谢 @vincentkoc。
- **PR #95541** 修复(CLI):显示固定插件漂移的工作命令。感谢 @ooiuuii 和 @vincentkoc。
- **PR #95933** 文档:更新成熟度评分卡。感谢 @RomneyDa。
- **PR #78105** 修复(插件):使空白白名单对新用户可操作。关联 #68780。感谢 @pahuchi-joe 和 @JIRBOY。
- **PR #95961** 修复(CI):要求实时证明证据工件。感谢 @vincentkoc。
- **PR #95400** 修复(模型回退):分类 Codex 使用限制负载。感谢 @jason-allen-oneal 和 @sallyom。
- **PR #95944** 性能(QA 实验室):加速统一 QA 套件。感谢 @RomneyDa。
- **PR #95971** CI:在 QA 失败时标记 QA 配置文件证据失败。感谢 @RomneyDa。
- **PR #95845** 特性:添加捆绑插件图标清单 URL。感谢 @Patrick-Erichsen。
- **PR #95975** 修复(CI):要求 iOS 外围设备证据工件。感谢 @vincentkoc。
- **PR #95972** 文档:更新 ClawHub 技能路由引用。感谢 @Patrick-Erichsen。
- **PR #90537** 警告生成的包装器覆盖和状态诊断。关联 #90518。感谢 @TurboTheTurtle 和 @vincentkoc。
- **PR #93567** 修复(Cron):在写入时规范化运行日志 jobId 以匹配读取端验证。感谢 @Alix-007 和 @vincentkoc。
- **PR #95967** 性能(CI):加宽主测试扇出并将 codeql 移出 blacksmith。感谢 @vincentkoc。
- **PR #95983** 修复(CI):要求 OpenGrep SARIF 工件。感谢 @vincentkoc。
- **PR #64490** CLI:转义 zsh 补全描述。感谢 @EdenKangdw。
- **PR #95682** 修复 Gemini 天新鲜度时间范围处理。感谢 @Sunjae-k 和 @vincentkoc。
- **PR #93374** 修复(智能体):为未知工具 ID 建议恢复。关联 #92273。感谢 @mushuiyu886、@vincentkoc 和 @poison。
- **PR #95991** 修复(CI):要求发布 QA 证据工件。感谢 @vincentkoc。
- **PR #89886** 修复(上下文引擎):通过委托桥接将 abortSignal 转发到运行时压缩。关联 #89868。感谢 @openperf、@vincentkoc 和 @lykeion-dev。
- **PR #95999** 修复(发布):要求发布后证据工件。感谢 @vincentkoc。
- **PR #96003** 测试(质量保证):强化全配置文件 QA 证据场景。感谢 @RomneyDa。
- **PR #95860** 修复(压缩):当转录以超大工具结果结束时修剪前缀。关联 #78478。感谢 @yetval 和 @wzhgba。
- **PR #95934** 修复(Xiaomi):将 mimo-v2.5 和 mimo-v2.5-pro 最大输出令牌修正为 128K。感谢 @idootop。
- **PR #95782** 修复(会话):遵守配置的存储用于出站转录镜像。关联 #95781。感谢 @youngting520。
- **PR #96005** 特性(Copilot):接线工具架对等辅助函数。感谢 @vincentkoc。
- **PR #95886** 修复:在网关关闭期间避免误报 macOS 更新失败。感谢 @fuller-stack-dev。
- **PR #91906** 性能:跳过子智能体实时流解析。感谢 @lanzhi-lee。
- **PR #87861** 修复(模型使用):强制转换数字字符串成本并忽略非有限值。关联 #37878。感谢 @coder999999999、@vincentkoc 和 @shuofengzhang。
- **PR #96030** 修复(QA 实验室):避免重复子证据文件。感谢 @RomneyDa。
- **PR #94369** 修复(记忆维基):从陈旧报告中排除持久引用页面。感谢 @SunnyShu0925 和 @vincentkoc。
- **PR #94578** 修复长头部的近期会话恢复。关联 #94577。感谢 @rohitjavvadi 和 @vincentkoc。
- **PR #95919** CI:添加 Codex 成熟度评分卡智能体。感谢 @RomneyDa。
- **PR #92356** 修复(心跳):在选择心跳回复时跳过推理负载。关联 #92260。感谢 @tangtaizong666、@vincentkoc 和 @jmpei。
- **PR #94328** 修复(智能体):在压缩轮转期间保持压缩后用户重新发出保持尾提示。感谢 @yetval 和 @vincentkoc。
- **PR #95432** 修复(回复):在多消息块流式传输中抑制每条消息的 finals。感谢 @yetval 和 @vincentkoc。
- **PR #95431** 修复(自动回复):保持排空/重启中止回复路径静默。感谢 @moeedahmed 和 @vincentkoc。
- **PR #96017** 测试(质量保证):门控成熟度文档基于通过的证据。感谢 @RomneyDa。
- **PR #95552** 特性(Mattermost):持久化参与的线程以支持无需提及的后续。感谢 @amknight。
- **PR #95480** 修复 #89231:[Bug]:Windows 安装程序创建的定时任务启动 gateway.cmd 时显示控制台——应使用无窗口启动程序。感谢 @mikasa0818、@vincentkoc 和 @CameronWeller。
- **PR #96049** 修复(Copilot):保留压缩元数据。感谢 @vincentkoc。
- **PR #96044** 文档:将顶级成熟度层级重命名为 Clawesome。感谢 @RomneyDa。
- **PR #92154** 门控私有 QQBot 群组命令。感谢 @sliverp。
- **PR #95484** 修复:在压缩摘要和后续转录中第一个保留用户之间的助手回复丢失。关联 #76729。感谢 @maweibin、@vincentkoc 和 @njuboy11。
- **PR #95094** CI:添加发布 QA 配置文件证据。感谢 @RomneyDa。
- **PR #96057** 文档:重新设计成熟度评分卡页面。感谢 @vincentkoc。
- **PR #96014** 性能(智能体):索引移位工具结果。感谢 @vincentkoc。
- **PR #96019** 性能(使用):有界会话日志保留。感谢 @vincentkoc。
- **PR #96013** 性能(Anthropic):索引活跃流块。感谢 @vincentkoc。
- **PR #96061** 文档:将成熟度页面置于发布参考下。感谢 @vincentkoc。
- **PR #95589** 修复:npm 插件更新破坏运行中的网关导入。感谢 @ooiuuii 和 @vincentkoc。
- **PR #96068** 修复(ACPX):消费 acpx 0.11.1 模型能力错误。关联 #95869。感谢 @vincentkoc 和 @SabaTech-dev。
- **PR #89912** 重构:添加转录更新身份合约。感谢 @jalehman。
- **PR #96055** 修复(维护):使用变基 PR landing。感谢 @vincentkoc。
- **PR #96062** 特性(Copilot):镜像原生计划和子智能体事件。感谢 @vincentkoc。
- **PR #96032** 修复(ACPX):在任何 PPID 更改时检测包装器孤儿,而不仅仅是 init 重新父化。感谢 @t2wei 和 @vincentkoc。
- **PR #96124** 杂项(ACPX):将捆绑客户端升级到 0.11.2。感谢 @vincentkoc。
- **PR #84352** 修复 WebChat 调度失败会话状态。感谢 @jesse-merhi。
- **PR #89518** 重构:迁移插件转录镜像。感谢 @jalehman。
- **PR #90439** 重构:添加嵌入式运行会话目标接缝。感谢 @jalehman。
- **PR #95699** 性能(网关):丢弃冗余的每访问会话键案例扫描。感谢 @jzakirov 和 @jalehman。
- **PR #95992** 修复(技能):接受所有者限定的 verify 引用。感谢 @Patrick-Erichsen。
- **PR #95987** 修复(插件):移除 Simple Icons 颜色路径。感谢 @Patrick-Erichsen。
- **PR #96162** 重构:使用访问器支持的转录语料库用于记忆。感谢 @jalehman。
- **PR #96181** 将 iOS 本地网络权限推迟到引导阶段。感谢 @joshavant。
- **PR #95475** 测试(CLI):在运行和更新套件中隔离服务环境。感谢 @kklouzal。
- **PR #95226** 修复(基础设施):有界 ClawHub fetchJson 和错误响应体。感谢 @Alix-007。
- **PR #95240** 修复(Matrix):在传输中有界非原始 JSON 响应体。感谢 @Alix-007。
- **PR #91742** 修复(记忆):当 memory_search 超时时中止孤儿嵌入工作。关联 #91718。感谢 @dreamhunter2333 和 @NOVA-Openclaw。
- **PR #93394** 修复(记忆):当 memory_search 超时时中止孤儿 qmd 搜索子进程。感谢 @Alix-007。
- **PR #89911** 重构:迁移捆绑转录目标查找。感谢 @jalehman。
- **PR #96191** 重构:通过访问器路由插件主机钩子状态。感谢 @jalehman。
- **PR #96179** 修复:通过会话访问器目标路由网关历史。感谢 @jalehman。
- **PR #96201** 重构:添加中止目标会话访问器。感谢 @jalehman。
- **PR #96193** 修复(记忆核心):迁移做梦清理生命周期。感谢 @jalehman。
- **PR #96195** 修复:桥接 ACP 元数据到会话访问器。感谢 @jalehman。
- **PR #96182** 重构:迁移智能体会话访问器。感谢 @jalehman。
- **PR #96218** 重构:保护回复会话初始化。感谢 @jalehman。
- **PR #96213** 重构(网关):添加别名变异访问器。感谢 @jalehman。
- **PR #96204** 重构:迁移命令会话持久化到访问器。感谢 @jalehman。
- **PR #96206** 重构:通过会话访问器路由实时模型新鲜读取。感谢 @jalehman。
- **PR #96220** 修复(WhatsApp):在持久回复中引用当前后续消息。感谢 @mcaxtr。
- **PR #96226** 修复(macOS):从聊天打包中移除 Textual。感谢 @vincentkoc。
- **PR #96212** 修复(Codex):从远程应用服务器投递生成的图片。感谢 @sjf-oa。
- **PR #96235** 修复(crabbox):需要 Xcode 用于 macOS 证明。感谢 @vincentkoc。
- **PR #96145** 修复:UI 故障:配置不可见。关联 #94202。感谢 @sunlit-deng 和 @vporton。
- **PR #96072** 性能(浏览器):索引角色快照引用。感谢 @vincentkoc。
- **PR #96085** 性能(Codex):索引推广转录 ID。感谢 @vincentkoc。
- **PR #96087** 性能(回复):提升直接发送片段索引。感谢 @vincentkoc。
- **PR #94154** 修复(网关):通过实时注册表解析插件注册的网关方法。关联 #94127。感谢 @Pick-cat、@vincentkoc 和 @BryceMurray。
- **PR #95393** 修复 #92582:[Bug]:医生错误地警告本地记忆嵌入未就绪。感谢 @mikasa0818、@vincentkoc 和 @neekolascmd。
- **PR #96246** 修复(QA):接受 pnpm 分隔符用于 lab up。感谢 @vincentkoc。
- **PR #94949** 修复(端口):通过 checkPortInUse 路由 isPortBusy 以捕获 IPv4-only 占用者。关联 #94426。感谢 @sunlit-deng、@vincentkoc 和 @wangwllu。
- **PR #94562** 修复(工作板):默认在 CLI 列表中隐藏归档卡片。关联 #94555。感谢 @ZengWen-DT、@vincentkoc 和 @ecican。
- **PR #96243** 修复(Nextcloud Talk):忽略签名的非消息 webhook 事件。关联 #81566。感谢 @arkyu2077、@vincentkoc 和 @rafaelmgbh。
- **PR #96140** 修复(执行):在插件频道的审批后续中保留轮次来源路由目标。关联 #96103。感谢 @yetval、@vincentkoc 和 @lansenger-pm。
- **PR #96258** CI:将 CodeQL 质量扫描移至托管运行者。感谢 @vincentkoc。
- **PR #96271** 杂项(发布):在 main 上关闭 2026.6.10。感谢 @vincentkoc。
- **PR #96233** 修复(智能体):在工具架提示构建时运行 heartbeat_prompt_contribution。感谢 @azogheb 和 @vincentkoc。
- **PR #55018** 修复:避免 mapSensitivePaths schema 遍历中的 O(N²) 浅拷贝。感谢 @xdhuangyandi、@vincentkoc 和 @huangyandi-red。
- **PR #95831** 修复:压缩没有 API 密钥的 Codex OAuth OpenAI 会话。关联 #95693。感谢 @sallyom 和 @YUI-TIEN。
- **PR #96244** 修复(自动回复):将频道介绍措辞与 chat_type 对齐。关联 #95645。感谢 @arkyu2077、@vincentkoc 和 @iloveleon19。
- **PR #97118** 修复(Telegram):恢复停滞的入口 spool 声明。感谢 @vincentkoc。
- **PR #97543** 修复(Telegram):恢复停滞的入口 spool 声明。感谢 @vincentkoc。
- **PR #97122** CI(Docker):将发布发布到 Docker Hub。感谢 @vincentkoc。
### 发布验证
- npm 包:https://www.npmjs.com/package/openclaw/v/2026.6.11-beta.2
- 注册表 tarball:https://registry.npmjs.org/openclaw/-/openclaw-2026.6.11-beta.2.tgz
- 完整性:`sha512-aUA8lyvSetHvNMVsfbHvEveNhJhafvRl4OYZnxxwWSN4ocO8tNJ2uMUagxHMqZDdzwomjZ6VH3kSuolYjhU0wg==`
- 发布 SHA:`4f9d5864f09f60a6eb9da6ad6317148bbf89e134`
- 完整发布 CI 报告:https://github.com/openclaw/releases/blob/main/evidence/2026.6.11-beta.2/release-evidence.md
- 发布发布:https://github.com/openclaw/openclaw/actions/runs/28338723855
- npm 预检:https://github.com/openclaw/openclaw/actions/runs/28336646700
- 完整发布验证:https://github.com/openclaw/openclaw/actions/runs/28333012052
- 插件 npm 发布:https://github.com/openclaw/openclaw/actions/runs/28338858442
- 插件 ClawHub 发布:单独调度,不由此证明等待:https://github.com/openclaw/openclaw/actions/runs/28338858960
- ClawHub 说明:Discord、Slack、语音通话和 WhatsApp 插件发布在 ClawHub 运行中失败 https://github.com/openclaw/openclaw/actions/runs/28338858960;核心 npm/GitHub 发布和插件 npm 包已上线。
- 插件 ClawHub 引导:不需要
- OpenClaw npm 发布:https://github.com/openclaw/openclaw/actions/runs/28338936121
- npm Telegram 测试版 E2E:未提供
### 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 <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 @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.
### Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.6.11-beta.2
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.6.11-beta.2.tgz
- integrity: `sha512-aUA8lyvSetHvNMVsfbHvEveNhJhafvRl4OYZnxxwWSN4ocO8tNJ2uMUagxHMqZDdzwomjZ6VH3kSuolYjhU0wg==`
- release SHA: `4f9d5864f09f60a6eb9da6ad6317148bbf89e134`
- full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.6.11-beta.2/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/28338723855
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/28336646700
- full release validation: https://github.com/openclaw/openclaw/actions/runs/28333012052
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/28338858442
- plugin ClawHub publish: dispatched separately, not awaited by this proof: https://github.com/openclaw/openclaw/actions/runs/28338858960
- ClawHub caveat: Discord, Slack, Voice Call, and WhatsApp plugin publishes failed in ClawHub run https://github.com/openclaw/openclaw/actions/runs/28338858960; core npm/GitHub release and plugin npm packages are live.
- plugin ClawHub bootstrap: not needed
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/28338936121
- npm Telegram beta E2E: not supplied