## 2026.10.8
### 亮点
- **更新完成并可恢复:**普通的更新后 Doctor 失败现在会重启 Gateway,而不是让其保持停止状态;孤立的维护工作进程不再阻塞所有 CLI 命令和 Gateway 启动;更新也不再因 ACL 文件系统、Windows pnpm 可选依赖链接、pnpm 10 全局安装、调试控制台日志记录或缺失的旧版 OAuth 目录而中止。(#180668、#181695、#181141、#181596、#181456、#182850、#180174)感谢 @hannesrudolph、@SMF12138、@rayluo88、@PonySlayer28 和 @VN77-77VN。
- **每种桌面系统上的 Gateway 服务安装:**macOS 能恢复已加载但 plist 已被删除的 launchd 注册;Linux 在 Ubuntu 默认 umask 下安装时会创建私有状态目录,而不再被拒绝;macOS 更新器会等待正在提供服务的 Gateway 释放数据库后再运行 Doctor。(#180390、#179538、#182055)感谢 @avnishkirnalli 和 @XiaoPengYouCode。
- **会话持续接受消息:**被终止的运行会释放其重启恢复栅栏;中断的子会话和刚刚接受的子会话可在 Gateway 重启后恢复;当回复运行时无法发布回复时,入站消息不再无限重试;Control UI 中被遗忘的发送重试现在会投递回复,而不是显示创作错误。(#181992、#178888、#181871、#181300、#182219)感谢 @najef1979-code、@handcraftrc-pixel、@sukhdeepjohar 和 @teddashh。
- **启动与数据库韧性:**启动任务不再继承已关闭的 SQLite 读取器作用域,因此模型、聊天元数据和频道回复仍可用;代理数据库启动期间的临时锁竞争现在会重试;技能运行期间模型目录仍保持可用。(#182615、#182446、#182385)
- **安全强化:**exec allowlist 模式要求批准 `test -v` 操作数展开;通用 node invoke 拒绝浏览器代理命令;沙箱中生成的子进程无法运行主机 CLI 后端;机密出站代理会拒绝不受信任的 eMudhra 证书链;Fish Audio 和 Gradium 错误不再暴露 API 密钥;深度嵌套的 Tlon 内容不再阻塞频道。(#180880、#179880、#178742、#179249、#178877、#177536)感谢 @eleqtrizit 和 @joshavant。
- **Windows exec 与插件:**即使安装了 Store PowerShell,代理 exec 也能在 S4U 计划任务下运行;在启用了 Endpoint DLP 的计算机上,原生插件也能加载;Doctor 能恢复悬空的依赖 junction 和位于另一文件系统上的插件。(#182898、#179949、#179549、#179445)修复 #182652。感谢 @RomneyDa、@tre1d、@coaiMax、@paulcam206、@JIRBOY 和 @ceckert。
- **提供商与模型连续性:**Codex 轮次在旧版运行时插件下仍保留预算,而不会静默回退;Codex 原生子推理在启动后可以正常工作;OpenAI OAuth 可在目录过期时继续工作;Anthropic PDF 分析支持 setup-token OAuth;超时的 MCP 会话关闭不再导致下一轮失败;CLI 历史记录所有者变更会停止,而不是静默在另一提供商上重放。(#182995、#176311、#181356、#178420、#182189、#180075)修复 #181619。感谢 @RomneyDa、@kip-claw、@enki、@sasan1200、@sunlit-deng、@khensthoth、@aniketkrs、@goslingmanagment、@wr-web 和 @teddashh。
### 变更
- **全新 OpenAI 设置:**首次运行时的模型元数据不再将模型选择器限制为单个模型。(#175945)感谢 @matthematics1137 和 @jb-dev1。
### 修复
- **频道账户:**在添加命名账户后,默认 Slack、Google Chat、X、Nextcloud Talk 和 Zalo 账户仍会启动,并保留其密钥。(#176267、#180450、#182608)感谢 @555aaditya、@progerjkd 和 @masatohoshino。
- **Slack:**隔离的 `invalid_auth` 会在 socket-mode 频道被禁用前重试;静默中继的网络断开会自动重连。(#181056、#182368)感谢 @mushuiyu886 和 @marns。
- **Matrix、Twitch、Zalo、iMessage 和 Feishu 投递:**普通 Matrix 消息不再被当作文本命令;Twitch 发送会规范化频道目标;带 URL 的 Zalo 私信可以正常处理;iMessage 在 Messages 桥接进程崩溃后可以恢复;Feishu 快捷操作卡片可以再次发送。(#179506、#178480、#178938、#180900、#79832)感谢 @xiaopan-xydt、@doomy、@HeZ2z、@Takhoffman、@zzrs-xxxr、@namchamvinhcuu 和 @xiabee。
- **代理运行与提供商:**后台命令完成后,心跳循环会停止;临时 Codex 探测工作进程不再累积;Codex 原生轮次在主机任务期间保持活动;当 Claude CLI 轮次的流式输出达到限制时,不再卡住 15 分钟;提供商流错误会立即显示;会话准入竞争不再触发模型回退。(#179060、#167390、#181839、#159931、#117397、#179347)修复 #178937、#181805 和 #178000。感谢 @maxdjohnson、@sunlit-deng、@Terwox、@AINCHORS、@robertmsale 和 @davidcittadini。
- **语音与会议:**Discord 实时语音咨询会初始化其运行时;语音通话使用配置的代理模型;长会议中的语音回复会保留音频。(#179462、#181451、#178254)感谢 @shoaibulhaque、@yagizkus、@potoior、@BeyonceBot 和 @sukhdeepjohar。
- **远程访问与历史记录:**Tailscale Serve 和 Funnel 在 tailscaled 重启后可以恢复;cron 历史记录在提供商变更后仍可读。(#180081、#181311)感谢 @enki、@saariuslystoned 和 @xtimor。
- **Doctor 修复:**标题修复后,保留的转录记录会进行校验;修复过程会保留 Codex 主机压缩模型。(#179089、#179914)感谢 @mrsavingsblogspot-rgb 和 @LiuwqGit。
- **插件与节点:**旧版插件防抖回调继续工作;计算机使用功能接受旧版 Mac 节点的输入结果;当 OKF 概念消失时,Memory Wiki 仍会保留用户 Notes。(#118011、#137755、#179657)
- **密钥与钩子:**1Password 密钥提供商接受组可写的 OpenClaw 文件;并发的会话记忆捕获不再相互覆盖。(#181127、#181081)感谢 @jalehman、@jason-allen-oneal 和 @yetval。
- **Doctor 恢复消息:**当 Doctor 无法恢复它已停止的 Gateway 时,会打印失败原因以及启动 Gateway 的方法。(#181941)
- **Codex 原生子任务与回复:**已完成或无法投递的子任务完成结果不再重放或卡住父任务;原生子任务完成、中断或后续跟进完成后,回复会解除阻塞;最终答案可经受临时重试;没有镜像提示词的已结算轮次会完成收尾;原生工具声明保持稳定;插件重新加载后排队中的聊天可以恢复;已提交的 steering 会在终止释放前提交;Codex 接受托管的回环代理默认值。(#173018、#175246、#177577、#179099、#179050、#183286、#181779、#183077、#182104、#184062、#183232)感谢 @quqi1599、@Stronggenetics、@linancn、@wtfichigo、@mmartoccia、@Marvinthebored、@sukhdeepjohar、@jjjhenriksen、@aatreya、@ermaxinc 和 @RomneyDa。
- **Claude CLI 会话:**无关的原生任务不再占用最终答案;父回复会在嵌套后台代理完成后结束;已停止的第一轮会保留其会话;房间事件不再重置会话;操作员可以继续使用原生 Agent 和 Workflow 工具;恢复的会话可以看到对话更新;Claude CLI 模型在保存的订阅下仍可用。(#170322、#182267、#181966、#182273、#183765、#183059、#179203)感谢 @cassthebandit、@VACInc、@goslingmanagment、@holgergruenhagen、@xiaopan-xydt、@Marvinthebored、@scarabone、@atomsmasher81、@josh-cornelius 和 @teddashh。
- **子代理与代理轮次:**本地运行时故障后不再进行模型回退;会话复用后,恢复的子任务结果可以投递;重启后,私有完成回执会重新协调;父任务会继续等待活动中的收集器;批量工具调用会在 `sessions_yield` 前完成结算;延迟的 `sessions_send` 回复不再被截断为 4,096 个字符;工具结果恢复后轮次会完成;转录重建期间发送的消息可以恢复;已完成的尝试回调会被释放。(#180042、#184069、#184041、#172959、#184021、#178271、#175685、#182666、#164843、#183884)感谢 @sunlit-deng、@danielsiemers、@johan-eilertsen、@jailbirt、@rjdotdev、@wr-web、@seriouslysean、@MSNexploder 和 @PollyBot13。
- **Gateway 稳定性与流式处理:**较长的 HTML 和 JSX 答案、精心构造的 Teams HTML,以及看起来像工具调用的回复不再阻塞 Gateway;流式传输前会隐藏 reasoning 标签;静默轮次不再发送富内容负载;频道重启可以承受已退出运行的取消;强制淘汰插件后 Gateway 会关闭;插件服务调度的生命周期不再短于创建它的作用域;冷启动工具清单不再持续增长内存。(#175472、#183438、#183252、#182454、#129244、#182433、#181270、#182207、#178596)感谢 @JasonBuildAI、@LeizhenZhang、@zax0rz、@JOY、@0xtc23、@bguliano、@obviyus 和 @wuqxuan。
- **更新、安装与 Doctor:**Windows 托管更新不再因 TEMP 别名而锁死;Windows 安装器通过 `iex` 运行;频道中断期间更新仍可完成并保留已接受的策略固定值;停止数据库备份后读取器仍可工作;Doctor 会在 SIGHUP 后恢复 Gateway;保留有效的重新生成配置和继承的登录状态;修复不受支持的 Node 运行时;在删除日志丢失后恢复代理;恢复插件主机链接;处理非常大的保留历史记录;在大型部署中减少内存使用。(#183622、#183145、#179471、#180505、#180827、#182901、#183703、#179726、#181618、#181804、#181140、#180414、#180792、#181465)感谢 @ryandle、@duyufansh2008、@waynegault、@csabatatrai、@samueltardieu、@4140leal-cw、@rybing7、@RomneyDa、@LiuwqGit、@sukhdeepjohar 和 @teddashh。
- **会话与存储:**相对会话存储会相对于状态目录解析;会话可通过符号链接的状态路径归档;过期的重启恢复源不再卡住会话;cron 清理会保留活动的子会话;已归档的 Discord 斜杠命令会话会在原位置恢复;后台插件任务会保留其 SQLite 读取器;删除会话时会复用热归档工作进程。(#182444、#181554、#180853、#179057、#168596、#179031、#171156、#175091、#183410)感谢 @erickj92、@Cloud-Ocean、@Oldrich333 和 @PollyBot13。
- **身份验证与提供商:**受到速率限制的配置文件只会按照提供商要求的时长冷却;共享 OAuth 会在已删除的对等端之后继续刷新;并发代理在 OAuth 凭据被租用期间仍可访问 MCP 工具;工具模型不再只返回 thinking 内容;自定义 GLM 提供商会生成会话标题;Kimi K3.1 Pro 获得 K3 的思考和视频控制;Bedrock Mantle GPT 模型通过 Responses 路由;Google 流式传输可以恢复;原生会话在压缩回退模型下仍可继续。(#180280、#179205、#179997、#169920、#172580、#181923、#182437、#117194、#183282)感谢 @fuller-stack-dev、@WG-Mojo、@maliv2、@danielsiemers、@jacobtomlinson、@TommyLei666、@obviyus、@rayvader 和 @pstarkgit。
- **频道:**添加命名账户后,Telegram 和 Mattermost 默认账户仍保留其令牌;带大写键名的 X 账户可以管理和同步;iMessage 不再回复自己的自聊消息;Feishu 会在工具调用之间保留流式文本;Google Chat 会将远程附件作为链接投递;Synology Chat 不再报告虚假的投递失败;Tlon 在网络断开后可以恢复;轮次无法读取的频道图片会重试。(#183618、#182706、#183263、#183461、#183383、#182438、#182416、#177654、#178358、#183390)感谢 @555aaditya、@rodricksz4h5、@wangmiao0668000666、@nxmxbbd、@sukhdeepjohar、@felirami、@kentuscn、@jailbirt、@HootRock、@masatohoshino、@yetval 和 @teddashh。
- **语音、应用与浏览器:**实时 Talk 可承受早期输出和短暂的 Gateway 卡顿;GPT-Live Talk 和 Bun 实时语音使用托管代理;超大的 macOS 录音会报错而不是断开节点;Android 聊天会绑定到允许的代理;Tauri 应用在仪表板准备就绪前不再崩溃;FaceTime 在断开连接后可以接受新来电;Control UI 能检测失效的 Gateway 链接;浏览器控制不再重写受信任代理的 Gateway 身份验证,也不会在超时后继续持有配置文件租约。(#182919、#180572、#175886、#176567、#182593、#182767、#183841、#154230、#179101、#181620、#154246)感谢 @anmol0b、@StatsR4Losers、@kybrcore、@MertBasar0、@jalehman、@CheatosBu、@xiaopan-xydt、@dawidkulpa、@Solvely-Colin、@fuller-stack-dev 和 @LLagoon3。
- **配置、cron 与工作区:**Control UI 保存操作接受完全掩码的 SecretRef;带导航提示的短会话 URL 可以加载;cron 任务在发送到自身目标以及钩子插件被替换后仍会继续运行;已配置的工作区无需模板即可工作;Windows 工作区同步不再在租约获取前失败;受信任代理的就绪探针无需转发标头即可成功;重启恢复通知不再错误声称 Gateway 会重启。(#183571、#183148、#177518、#177825、#120943、#183064、#182823、#172843)感谢 @lonexreb、@Valkster70、@xiaopan-xydt、@2991495215、@masatohoshino、@jlapenna、@shakkernerd、@ericcaiwx-star、@treez-admin 和 @obviyus。
### 完整贡献记录
此审计记录涵盖完整的 v2026.10.7..fdd5997b8fa1c0b69159adcadd1d6ca191416e09 历史:范围内 162 个 PR + 0 个仅保留种子 PR = 162 个唯一 PR。生成清单还提供了直接提交记录作为编辑输入;上面的分组说明优先强调对用户的影响。
已发布基线排除项:v2026.10.7(5 个 PR:#147085、#164823、#165982、#167459、#181801)。
#### Pull requests
- **PR #181465** 感谢 @RomneyDa。
- **PR #182898** 相关问题 #182652。感谢 @RomneyDa 和 @tre1d。
- **PR #178480** 感谢 @HeZ2z 和 @Takhoffman。
- **PR #179506** 相关问题 #179441。感谢 @xiaopan-xydt 和 @doomy。
- **PR #180174** 相关问题 #179769。感谢 @VN77-77VN。
- **PR #179949** 相关问题 #179923。感谢 @coaiMax 和 @paulcam206。
- **PR #180880** 感谢 @eleqtrizit。
- **PR #181456** 相关问题 #180688。感谢 @rayluo88。
- **PR #181056** 相关问题 #180942。感谢 @mushuiyu886 和 @marns。
- **PR #181127** 相关问题 #181115。感谢 @jalehman。
- **PR #176311** 感谢 @enki。
- **PR #181356** 相关问题 #181353。感谢 @sasan1200。
- **PR #178420** 相关问题 #178387。感谢 @sunlit-deng 和 @khensthoth。
- **PR #182189** 相关问题 #182174。感谢 @aniketkrs 和 @goslingmanagment。
- **PR #182446**
- **PR #179089** 相关问题 #178960。感谢 @LiuwqGit 和 @mrsavingsblogspot-rgb。
- **PR #182055**
- **PR #179445** 感谢 @ceckert。
- **PR #179914**
- **PR #137755**
- **PR #179657**
- **PR #179462** 相关问题 #179398。感谢 @shoaibulhaque 和 @yagizkus。
- **PR #181451** 相关问题 #181345。感谢 @potoior 和 @BeyonceBot。
- **PR #79832** 相关问题 #79824。感谢 @xiabee。
- **PR #178254** 相关问题 #178275。感谢 @sukhdeepjohar。
- **PR #179549** 相关问题 #179404。感谢 @JIRBOY。
- **PR #181300** 相关问题 #181152。感谢 @handcraftrc-pixel。
- **PR #181695** 相关问题 #181649。感谢 @PonySlayer28。
- **PR #181596** 相关问题 #181577。感谢 @SMF12138。
- **PR #181141** 相关问题 #181050。感谢 @hannesrudolph。
- **PR #182995** 相关问题 #181619。感谢 @RomneyDa 和 @kip-claw。
- **PR #179880** 感谢 @eleqtrizit。
- **PR #178742** 感谢 @eleqtrizit。
- **PR #181081** 相关问题 #159826。感谢 @jason-allen-oneal 和 @yetval。
- **PR #175945** 相关问题 #175533。感谢 @matthematics1137 和 @jb-dev1。
- **PR #181311** 相关问题 #180920。感谢 @xtimor。
- **PR #180081** 相关问题 #148308。感谢 @enki 和 @saariuslystoned。
- **PR #180900**
- **PR #180075** 感谢 @wr-web。
- **PR #181992** 相关问题 #181952。感谢 @najef1979-code。
- **PR #182615**
- **PR #178888**
- **PR #181871**
- **PR #182385**
- **PR #182219** 相关问题 #182206。感谢 @sukhdeepjohar。
- **PR #180668**
- **PR #180390** 相关问题 #180301。感谢 @avnishkirnalli。
- **PR #179538** 相关问题 #179493。感谢 @XiaoPengYouCode。
- **PR #182850**
- **PR #181941**
- **PR #177536** 感谢 @eleqtrizit。
- **PR #179249** 感谢 @joshavant。
- **PR #178877**
- **PR #178938** 相关问题 #175421。感谢 @zzrs-xxxr 和 @namchamvinhcuu。
- **PR #118011**
- **PR #176267** 相关问题 #121446。感谢 @555aaditya 和 @progerjkd。
- **PR #180450** 感谢 @555aaditya。
- **PR #182608** 相关问题 #179472。感谢 @555aaditya 和 @masatohoshino。
- **PR #182368**
- **PR #179060** 相关问题 #178937。感谢 @AINCHORS。
- **PR #167390** 感谢 @maxdjohnson。
- **PR #159931** 感谢 @Terwox。
- **PR #117397**
- **PR #181839** 相关问题 #181805。感谢 @sunlit-deng 和 @robertmsale。
- **PR #179347** 相关问题 #178000。感谢 @davidcittadini。
- **PR #180042** 相关问题 #179979。感谢 @sunlit-deng 和 @danielsiemers。
- **PR #171156**
- **PR #175091**
- **PR #183410**
- **PR #169920** 感谢 @jacobtomlinson。
- **PR #172580** 相关问题 #171068。感谢 @TommyLei666。
- **PR #173018** 感谢 @quqi1599 和 @Stronggenetics。
- **PR #175246** 感谢 @quqi1599 和 @Stronggenetics。
- **PR #179050** 相关问题 #178395。感谢 @mmartoccia。
- **PR #179099** 感谢 @wtfichigo。
- **PR #170322** 感谢 @cassthebandit 和 @VACInc。
- **PR #182267** 相关问题 #182175。感谢 @goslingmanagment。
- **PR #181966** 相关问题 #181945。感谢 @holgergruenhagen。
- **PR #182273** 相关问题 #182177。感谢 @xiaopan-xydt 和 @goslingmanagment。
- **PR #183765** 相关问题 #183638。感谢 @VACInc 和 @holgergruenhagen。
- **PR #179726** 感谢 @sukhdeepjohar。
- **PR #179471** 感谢 @duyufansh2008。
- **PR #180827**
- **PR #182444** 相关问题 #181660。感谢 @erickj92。
- **PR #179031**
- **PR #181270** 相关问题 #181106。感谢 @0xtc23。
- **PR #179997** 相关问题 #179980。感谢 @maliv2 和 @danielsiemers。
- **PR #179205** 相关问题 #178908。感谢 @WG-Mojo。
- **PR #179203** 相关问题 #178549。感谢 @josh-cornelius。
- **PR #175472** 相关问题 #175439。感谢 @JasonBuildAI 和 @obviyus。
- **PR #129244**
- **PR #182454** 相关问题 #89473。感谢 @zax0rz。
- **PR #182433** 相关问题 #109659。感谢 @wuqxuan 和 @JOY。
- **PR #181620** 感谢 @fuller-stack-dev。
- **PR #180505** 相关问题 #180474。感谢 @waynegault。
- **PR #180792**
- **PR #177518** 感谢 @masatohoshino 和 @obviyus。
- **PR #177825** 感谢 @jlapenna。
- **PR #178271** 相关问题 #175597。感谢 @rjdotdev、@wr-web 和 @seriouslysean。
- **PR #175685** 感谢 @wr-web 和 @rjdotdev。
- **PR #120943**
- **PR #182207**
- **PR #177654** 感谢 @HootRock。
- **PR #178358** 相关问题 #178357。感谢 @rodricksz4h5。
- **PR #117194**
- **PR #154246** 感谢 @LLagoon3。
- **PR #175886** 相关问题 #175794。感谢 @MertBasar0、@jalehman 和 @CheatosBu。
- **PR #180572** 相关问题 #180426。感谢 @kybrcore。
- **PR #179101**
- **PR #183622**
- **PR #183703** 相关问题 #183641。感谢 @csabatatrai。
- **PR #172959** 感谢 @johan-eilertsen。
- **PR #182438** 相关问题 #84486。感谢 @felirami 和 @kentuscn。
- **PR #164843** 感谢 @PollyBot13。
- **PR #183145** 相关问题 #183088。感谢 @LiuwqGit 和 @ryandle。
- **PR #182823** 相关问题 #182798。感谢 @ericcaiwx-star 和 @treez-admin。
- **PR #182901**
- **PR #182706** 感谢 @wangmiao0668000666 和 @555aaditya。
- **PR #182416** 相关问题 #89430。感谢 @jailbirt。
- **PR #182437** 相关问题 #108216。感谢 @rayvader。
- **PR #182593** 相关问题 #127569。感谢 @anmol0b。
- **PR #182767** 相关问题 #182638。感谢 @xiaopan-xydt 和 @dawidkulpa。
- **PR #183064** 感谢 @shakkernerd。
- **PR #183841**
- **PR #182919** 相关问题 #134798。感谢 @anmol0b 和 @StatsR4Losers。
- **PR #183618** 相关问题 #179369。感谢 @555aaditya 和 @rodricksz4h5。
- **PR #183263** 相关问题 #183262。感谢 @nxmxbbd。
- **PR #183461** 感谢 @nxmxbbd。
- **PR #183282** 相关问题 #183273。感谢 @pstarkgit。
- **PR #183571** 相关问题 #183562。感谢 @lonexreb 和 @Valkster70。
- **PR #183148** 相关问题 #183056。感谢 @xiaopan-xydt 和 @2991495215。
- **PR #183390** 相关问题 #127968。感谢 @masatohoshino 和 @yetval。
- **PR #183438** 感谢 @LeizhenZhang。
- **PR #183252** 感谢 @LeizhenZhang。
- **PR #184021** 相关问题 #128416。感谢 @jailbirt。
- **PR #184062** 相关问题 #181385。感谢 @aatreya。
- **PR #183884**
- **PR #182104** 感谢 @jjjhenriksen 和 @RomneyDa。
- **PR #172843**
- **PR #177577** 感谢 @linancn。
- **PR #183286** 感谢 @Marvinthebored。
- **PR #183059** 相关问题 #182649、#182711。感谢 @Marvinthebored、@scarabone 和 @atomsmasher81。
- **PR #181779** 感谢 @sukhdeepjohar。
- **PR #183077**
- **PR #182666** 感谢 @MSNexploder。
- **PR #183232** 相关问题 #180719。感谢 @ermaxinc。
- **PR #176567** 感谢 @MertBasar0。
- **PR #183383** 感谢 @sukhdeepjohar。
- **PR #184069**
- **PR #184041**
- **PR #154230** 相关问题 #154228。感谢 @Solvely-Colin。
- **PR #181923** 感谢 @obviyus。
- **PR #181140** 相关问题 #180903。感谢 @rybing7。
- **PR #181618** 相关问题 #181611。感谢 @samueltardieu。
- **PR #181804** 相关问题 #181765。感谢 @4140leal-cw。
- **PR #180414**
- **PR #180853** 相关问题 #180802。感谢 @Cloud-Ocean。
- **PR #179057** 相关问题 #178180。感谢 @Oldrich333。
- **PR #181554**
- **PR #178596** 相关问题 #178548。感谢 @bguliano。
- **PR #168596** 相关问题 #168540。感谢 @PollyBot13。
- **PR #180280** 感谢 @fuller-stack-dev。
### 发布验证
- npm 包:https://www.npmjs.com/package/openclaw/v/2026.10.8
- registry tarball:https://registry.npmjs.org/openclaw/-/openclaw-2026.10.8.tgz
- 完整性校验:`sha512-fWOIOOyddIBqeuPz82DBCdY5kNl1yD51qebAHnxlTN7SmVoH5/WSIudR/N1zDhcIIksgJXe6ZgGy5ngSRxZOrQ==`
- 发布 SHA:`dc2523e5a5c7a309517fd7fa834add938231d526`
- 完整发布 CI 报告:https://github.com/openclaw/releases/blob/main/evidence/2026.10.8/release-evidence.md
- 发布操作:https://github.com/openclaw/openclaw/actions/runs/40496801542
- npm 预检:https://github.com/openclaw/openclaw/actions/runs/40454683479
- 完整发布验证:https://github.com/openclaw/openclaw/actions/runs/40454025021
- 插件 npm 发布:https://github.com/openclaw/openclaw/actions/runs/40498130762
- 插件 ClawHub 提交:https://github.com/openclaw/openclaw/actions/runs/40498135406;公开最终化和精确工件验证将在终端发布父任务完成后进行
- 插件 ClawHub 引导:不需要
- OpenClaw npm 发布:https://github.com/openclaw/openclaw/actions/runs/40491275202/attempts/1
- npm Telegram beta E2E:未提供
- Android APK:已跳过——apps/android/version.json 为 2026.8.2,而发布序列为 2026.10.8;请在下一个标签之前运行 `pnpm android:version:pin -- --from-gateway`。
## 2026.10.8
### Highlights
- **Updates that finish and recover:** an ordinary post-update Doctor failure restarts the Gateway instead of leaving it stopped, an orphaned maintenance worker no longer blocks every CLI command and Gateway start, and updates no longer abort on ACL filesystems, Windows pnpm optional-dependency links, pnpm 10 global installs, debug console logging, or a missing legacy OAuth directory. (#180668, #181695, #181141, #181596, #181456, #182850, #180174) Thanks @hannesrudolph, @SMF12138, @rayluo88, @PonySlayer28, and @VN77-77VN.
- **Gateway service installs on every desktop:** macOS recovers a loaded launchd registration whose plist was deleted, Linux installs under the Ubuntu default umask create a private state directory instead of being refused, and the macOS updater waits for the serving Gateway to release its databases before Doctor runs. (#180390, #179538, #182055) Thanks @avnishkirnalli and @XiaoPengYouCode.
- **Conversations keep accepting messages:** killed runs release their restart-recovery fence, interrupted and just-accepted child sessions recover after a Gateway restart, inbound messages stop retrying forever when the reply runtime cannot publish, and the Control UI forgotten-send retry delivers the reply instead of an authoring error. (#181992, #178888, #181871, #181300, #182219) Thanks @najef1979-code, @handcraftrc-pixel, @sukhdeepjohar, and @teddashh.
- **Startup and database resilience:** startup work no longer inherits a closed SQLite reader scope, so models, chat metadata and channel replies stay available; transient lock contention during agent database startup is retried; and model catalogs stay available during skill runs. (#182615, #182446, #182385)
- **Security hardening:** exec allowlist mode requires approval for `test -v` operand expansion, generic node invoke refuses browser proxy commands, sandboxed spawned children cannot run host CLI backends, the secret egress proxy rejects distrusted eMudhra chains, Fish Audio and Gradium errors no longer expose API keys, and deeply nested Tlon content can no longer stall the channel. (#180880, #179880, #178742, #179249, #178877, #177536) Thanks @eleqtrizit and @joshavant.
- **Windows exec and plugins:** agent exec works under S4U scheduled tasks while Store PowerShell is installed, native plugins load on machines with Endpoint DLP, and Doctor recovers dangling dependency junctions and plugins on another filesystem. (#182898, #179949, #179549, #179445) Fixes #182652 Thanks @RomneyDa, @tre1d, @coaiMax, @paulcam206, @JIRBOY, and @ceckert.
- **Provider and model continuity:** Codex turns keep their budget with older runtime plugins instead of silently falling back, Codex native child inference works after startup, OpenAI OAuth works with stale catalogs, Anthropic PDF analysis works with setup-token OAuth, a timed-out MCP session close no longer fails the next turn, and CLI history owner changes stop instead of silently replaying on another provider. (#182995, #176311, #181356, #178420, #182189, #180075) Fixes #181619 Thanks @RomneyDa, @kip-claw, @enki, @sasan1200, @sunlit-deng, @khensthoth, @aniketkrs, @goslingmanagment, @wr-web, and @teddashh.
### Changes
- **Fresh OpenAI setup:** first-run model metadata no longer restricts the model picker to one model. (#175945) Thanks @matthematics1137 and @jb-dev1.
### Fixes
- **Channel accounts:** default Slack, Google Chat, X, Nextcloud Talk and Zalo accounts keep starting and keep their secrets after a named account is added. (#176267, #180450, #182608) Thanks @555aaditya, @progerjkd, and @masatohoshino.
- **Slack:** an isolated `invalid_auth` is retried before a socket-mode channel is disabled, and silent relay network drops reconnect. (#181056, #182368) Thanks @mushuiyu886 and @marns.
- **Matrix, Twitch, Zalo, iMessage and Feishu delivery:** ordinary Matrix messages are no longer treated as text commands, Twitch sends normalize channel targets, Zalo DMs with URLs are handled, iMessage recovers after the Messages bridge dies, and Feishu quick-action cards send again. (#179506, #178480, #178938, #180900, #79832) Thanks @xiaopan-xydt, @doomy, @HeZ2z, @Takhoffman, @zzrs-xxxr, @namchamvinhcuu, and @xiabee.
- **Agent runs and providers:** heartbeat loops stop when background commands finish, temporary Codex probe workers no longer accumulate, Codex native turns stay alive during host work, Claude CLI turns no longer stall 15 minutes when stream output hits its limit, provider stream errors surface immediately, and session admission races no longer trigger model fallback. (#179060, #167390, #181839, #159931, #117397, #179347) Fixes #178937, #181805, and #178000 Thanks @maxdjohnson, @sunlit-deng, @Terwox, @AINCHORS, @robertmsale, and @davidcittadini.
- **Voice and meetings:** Discord realtime voice consults initialize their runtime, voice calls use the configured agent model, and long meeting talk-back replies keep their audio. (#179462, #181451, #178254) Thanks @shoaibulhaque, @yagizkus, @potoior, @BeyonceBot, and @sukhdeepjohar.
- **Remote access and history:** Tailscale Serve and Funnel recover after tailscaled restarts, and cron history stays readable after provider changes. (#180081, #181311) Thanks @enki, @saariuslystoned, and @xtimor.
- **Doctor repairs:** retained transcripts verify after heading repairs, and repair keeps the Codex host compaction model. (#179089, #179914) Thanks @mrsavingsblogspot-rgb and @LiuwqGit.
- **Plugins and nodes:** older plugin debounce callbacks keep working, computer use accepts input results from older Mac nodes, and Memory Wiki keeps user Notes when OKF concepts disappear. (#118011, #137755, #179657)
- **Secrets and hooks:** the 1Password secret provider accepts group-writable OpenClaw files, and concurrent session-memory captures no longer overwrite each other. (#181127, #181081) Thanks @jalehman, @jason-allen-oneal, and @yetval.
- **Doctor recovery messages:** when Doctor cannot restore a Gateway it stopped, it prints the failure and how to start the Gateway. (#181941)
- **Codex native children and replies:** completed or undeliverable child completions no longer replay or wedge parents, replies unblock after native children finish, are interrupted, or complete follow-ups, final answers survive transient retries, settled turns without a mirrored prompt finalize, native tool declarations stay stable, queued chats recover after plugin reloads, submitted steering commits before terminal release, and Codex accepts managed loopback proxy defaults. (#173018, #175246, #177577, #179099, #179050, #183286, #181779, #183077, #182104, #184062, #183232) Thanks @quqi1599, @Stronggenetics, @linancn, @wtfichigo, @mmartoccia, @Marvinthebored, @sukhdeepjohar, @jjjhenriksen, @aatreya, @ermaxinc, and @RomneyDa.
- **Claude CLI sessions:** unrelated native tasks no longer hold the final answer, parent replies finish after nested background agents, a stopped first turn keeps its conversation, room events no longer reset sessions, operators can keep native Agent and Workflow tools, resumed sessions see conversation updates, and Claude CLI models stay available with saved subscriptions. (#170322, #182267, #181966, #182273, #183765, #183059, #179203) Thanks @cassthebandit, @VACInc, @goslingmanagment, @holgergruenhagen, @xiaopan-xydt, @Marvinthebored, @scarabone, @atomsmasher81, @josh-cornelius, and @teddashh.
- **Subagents and agent turns:** model fallback stops after local runtime faults, recovered child results deliver after session reuse, private completion receipts reconcile after a restart, parents keep waiting for active collectors, batched tool calls settle before `sessions_yield`, delayed `sessions_send` replies are no longer cut at 4,096 characters, turns finish after tool-result recovery, messages sent during transcript rebuilds are recovered, and completed attempt callbacks are released. (#180042, #184069, #184041, #172959, #184021, #178271, #175685, #182666, #164843, #183884) Thanks @sunlit-deng, @danielsiemers, @johan-eilertsen, @jailbirt, @rjdotdev, @wr-web, @seriouslysean, @MSNexploder, and @PollyBot13.
- **Gateway stability and streaming:** long HTML and JSX answers, crafted Teams HTML, and replies that look like tool calls no longer stall the Gateway; reasoning tags are withheld before streaming; silent turns no longer send rich payloads; channel restarts survive exited-run cancellation; the Gateway closes after forced plugin retirement; plugin service schedules outlive the scope that created them; and cold tool inventories no longer grow memory. (#175472, #183438, #183252, #182454, #129244, #182433, #181270, #182207, #178596) Thanks @JasonBuildAI, @LeizhenZhang, @zax0rz, @JOY, @0xtc23, @bguliano, @obviyus, and @wuqxuan.
- **Updates, installs and Doctor:** Windows managed updates no longer lock themselves on TEMP aliases, the Windows installer runs through `iex`, updates complete during channel outages and keep accepted policy pins, stopped database backups allow readers, Doctor restores the Gateway after SIGHUP, keeps valid reseeded configs and inherited logins, repairs unsupported Node runtimes, recovers agents after deletion journal loss, restores plugin host links, handles very large retained histories, and uses less memory on large fleets. (#183622, #183145, #179471, #180505, #180827, #182901, #183703, #179726, #181618, #181804, #181140, #180414, #180792, #181465) Thanks @ryandle, @duyufansh2008, @waynegault, @csabatatrai, @samueltardieu, @4140leal-cw, @rybing7, @RomneyDa, @LiuwqGit, @sukhdeepjohar, and @teddashh.
- **Sessions and storage:** relative session stores resolve against the state directory, sessions archive through symlinked state paths, stale restart-recovery sources no longer wedge sessions, cron cleanup keeps live child sessions, archived Discord slash-command sessions restore in place, background plugin work keeps its SQLite reader, and session deletes reuse warm archive workers. (#182444, #181554, #180853, #179057, #168596, #179031, #171156, #175091, #183410) Thanks @erickj92, @Cloud-Ocean, @Oldrich333, and @PollyBot13.
- **Auth and providers:** rate-limited profiles cool down only as long as the provider asks, shared OAuth refreshes past deleted peers, concurrent agents keep MCP tool access while an OAuth credential is leased, utility models no longer return thinking-only replies, custom GLM providers generate session titles, Kimi K3.1 Pro gets the K3 thinking and video controls, Bedrock Mantle GPT models route through Responses, Google streams recover, and native conversations survive a compaction fallback model. (#180280, #179205, #179997, #169920, #172580, #181923, #182437, #117194, #183282) Thanks @fuller-stack-dev, @WG-Mojo, @maliv2, @danielsiemers, @jacobtomlinson, @TommyLei666, @obviyus, @rayvader, and @pstarkgit.
- **Channels:** Telegram and Mattermost default accounts keep their tokens after a named account is added, X accounts with capitalized keys can be managed and synced, iMessage stops answering its own self-chat replies, Feishu keeps streamed text across tool calls, Google Chat delivers remote attachments as links, Synology Chat stops reporting false delivery failures, Tlon recovers after network drops, and channel images a turn could not read are retried. (#183618, #182706, #183263, #183461, #183383, #182438, #182416, #177654, #178358, #183390) Thanks @555aaditya, @rodricksz4h5, @wangmiao0668000666, @nxmxbbd, @sukhdeepjohar, @felirami, @kentuscn, @jailbirt, @HootRock, @masatohoshino, @yetval, and @teddashh.
- **Voice, apps and browser:** realtime Talk survives early output and brief Gateway stalls, GPT-Live Talk and Bun realtime voice use the managed proxy, oversized macOS recordings error instead of disconnecting the node, Android chat binds to an allowed agent, the Tauri app no longer crashes before the dashboard is ready, FaceTime accepts new calls after a disconnect, the Control UI detects dead Gateway links, and browser control no longer rewrites trusted-proxy Gateway auth or holds profile leases after timeouts. (#182919, #180572, #175886, #176567, #182593, #182767, #183841, #154230, #179101, #181620, #154246) Thanks @anmol0b, @StatsR4Losers, @kybrcore, @MertBasar0, @jalehman, @CheatosBu, @xiaopan-xydt, @dawidkulpa, @Solvely-Colin, @fuller-stack-dev, and @LLagoon3.
- **Config, cron and workspaces:** Control UI saves accept fully masked SecretRefs, short session URLs with navigation hints load, cron jobs keep running after sending to their own target and after a hook plugin is replaced, provisioned workspaces work without templates, Windows workspace sync no longer fails before lease acquisition, trusted-proxy readiness probes succeed without forwarded headers, and restart-recovery notices no longer claim a Gateway restart. (#183571, #183148, #177518, #177825, #120943, #183064, #182823, #172843) Thanks @lonexreb, @Valkster70, @xiaopan-xydt, @2991495215, @masatohoshino, @jlapenna, @shakkernerd, @ericcaiwx-star, @treez-admin, and @obviyus.
### Complete contribution record
This audited record covers the complete v2026.10.7..fdd5997b8fa1c0b69159adcadd1d6ca191416e09 history: 162 in-range PRs + 0 retained seed-only PRs = 162 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Shipped baseline exclusions: v2026.10.7 (5 PRs: #147085, #164823, #165982, #167459, #181801).
#### Pull requests
- **PR #181465** Thanks @RomneyDa.
- **PR #182898** Related #182652. Thanks @RomneyDa and @tre1d.
- **PR #178480** Thanks @HeZ2z and @Takhoffman.
- **PR #179506** Related #179441. Thanks @xiaopan-xydt and @doomy.
- **PR #180174** Related #179769. Thanks @VN77-77VN.
- **PR #179949** Related #179923. Thanks @coaiMax and @paulcam206.
- **PR #180880** Thanks @eleqtrizit.
- **PR #181456** Related #180688. Thanks @rayluo88.
- **PR #181056** Related #180942. Thanks @mushuiyu886 and @marns.
- **PR #181127** Related #181115. Thanks @jalehman.
- **PR #176311** Thanks @enki.
- **PR #181356** Related #181353. Thanks @sasan1200.
- **PR #178420** Related #178387. Thanks @sunlit-deng and @khensthoth.
- **PR #182189** Related #182174. Thanks @aniketkrs and @goslingmanagment.
- **PR #182446**
- **PR #179089** Related #178960. Thanks @LiuwqGit and @mrsavingsblogspot-rgb.
- **PR #182055**
- **PR #179445** Thanks @ceckert.
- **PR #179914**
- **PR #137755**
- **PR #179657**
- **PR #179462** Related #179398. Thanks @shoaibulhaque and @yagizkus.
- **PR #181451** Related #181345. Thanks @potoior and @BeyonceBot.
- **PR #79832** Related #79824. Thanks @xiabee.
- **PR #178254** Related #178275. Thanks @sukhdeepjohar.
- **PR #179549** Related #179404. Thanks @JIRBOY.
- **PR #181300** Related #181152. Thanks @handcraftrc-pixel.
- **PR #181695** Related #181649. Thanks @PonySlayer28.
- **PR #181596** Related #181577. Thanks @SMF12138.
- **PR #181141** Related #181050. Thanks @hannesrudolph.
- **PR #182995** Related #181619. Thanks @RomneyDa and @kip-claw.
- **PR #179880** Thanks @eleqtrizit.
- **PR #178742** Thanks @eleqtrizit.
- **PR #181081** Related #159826. Thanks @jason-allen-oneal and @yetval.
- **PR #175945** Related #175533. Thanks @matthematics1137 and @jb-dev1.
- **PR #181311** Related #180920. Thanks @xtimor.
- **PR #180081** Related #148308. Thanks @enki and @saariuslystoned.
- **PR #180900**
- **PR #180075** Thanks @wr-web.
- **PR #181992** Related #181952. Thanks @najef1979-code.
- **PR #182615**
- **PR #178888**
- **PR #181871**
- **PR #182385**
- **PR #182219** Related #182206. Thanks @sukhdeepjohar.
- **PR #180668**
- **PR #180390** Related #180301. Thanks @avnishkirnalli.
- **PR #179538** Related #179493. Thanks @XiaoPengYouCode.
- **PR #182850**
- **PR #181941**
- **PR #177536** Thanks @eleqtrizit.
- **PR #179249** Thanks @joshavant.
- **PR #178877**
- **PR #178938** Related #175421. Thanks @zzrs-xxxr and @namchamvinhcuu.
- **PR #118011**
- **PR #176267** Related #121446. Thanks @555aaditya and @progerjkd.
- **PR #180450** Thanks @555aaditya.
- **PR #182608** Related #179472. Thanks @555aaditya and @masatohoshino.
- **PR #182368**
- **PR #179060** Related #178937. Thanks @AINCHORS.
- **PR #167390** Thanks @maxdjohnson.
- **PR #159931** Thanks @Terwox.
- **PR #117397**
- **PR #181839** Related #181805. Thanks @sunlit-deng and @robertmsale.
- **PR #179347** Related #178000. Thanks @davidcittadini.
- **PR #180042** Related #179979. Thanks @sunlit-deng and @danielsiemers.
- **PR #171156**
- **PR #175091**
- **PR #183410**
- **PR #169920** Thanks @jacobtomlinson.
- **PR #172580** Related #171068. Thanks @TommyLei666.
- **PR #173018** Thanks @quqi1599 and @Stronggenetics.
- **PR #175246** Thanks @quqi1599 and @Stronggenetics.
- **PR #179050** Related #178395. Thanks @mmartoccia.
- **PR #179099** Thanks @wtfichigo.
- **PR #170322** Thanks @cassthebandit and @VACInc.
- **PR #182267** Related #182175. Thanks @goslingmanagment.
- **PR #181966** Related #181945. Thanks @holgergruenhagen.
- **PR #182273** Related #182177. Thanks @xiaopan-xydt and @goslingmanagment.
- **PR #183765** Related #183638. Thanks @VACInc and @holgergruenhagen.
- **PR #179726** Thanks @sukhdeepjohar.
- **PR #179471** Thanks @duyufansh2008.
- **PR #180827**
- **PR #182444** Related #181660. Thanks @erickj92.
- **PR #179031**
- **PR #181270** Related #181106. Thanks @0xtc23.
- **PR #179997** Related #179980. Thanks @maliv2 and @danielsiemers.
- **PR #179205** Related #178908. Thanks @WG-Mojo.
- **PR #179203** Related #178549. Thanks @josh-cornelius.
- **PR #175472** Related #175439. Thanks @JasonBuildAI and @obviyus.
- **PR #129244**
- **PR #182454** Related #89473. Thanks @zax0rz.
- **PR #182433** Related #109659. Thanks @wuqxuan and @JOY.
- **PR #181620** Thanks @fuller-stack-dev.
- **PR #180505** Related #180474. Thanks @waynegault.
- **PR #180792**
- **PR #177518** Thanks @masatohoshino and @obviyus.
- **PR #177825** Thanks @jlapenna.
- **PR #178271** Related #175597. Thanks @rjdotdev and @wr-web and @seriouslysean.
- **PR #175685** Thanks @wr-web and @rjdotdev.
- **PR #120943**
- **PR #182207**
- **PR #177654** Thanks @HootRock.
- **PR #178358** Related #178357. Thanks @rodricksz4h5.
- **PR #117194**
- **PR #154246** Thanks @LLagoon3.
- **PR #175886** Related #175794. Thanks @MertBasar0 and @jalehman and @CheatosBu.
- **PR #180572** Related #180426. Thanks @kybrcore.
- **PR #179101**
- **PR #183622**
- **PR #183703** Related #183641. Thanks @csabatatrai.
- **PR #172959** Thanks @johan-eilertsen.
- **PR #182438** Related #84486. Thanks @felirami and @kentuscn.
- **PR #164843** Thanks @PollyBot13.
- **PR #183145** Related #183088. Thanks @LiuwqGit and @ryandle.
- **PR #182823** Related #182798. Thanks @ericcaiwx-star and @treez-admin.
- **PR #182901**
- **PR #182706** Thanks @wangmiao0668000666 and @555aaditya.
- **PR #182416** Related #89430. Thanks @jailbirt.
- **PR #182437** Related #108216. Thanks @rayvader.
- **PR #182593** Related #127569. Thanks @anmol0b.
- **PR #182767** Related #182638. Thanks @xiaopan-xydt and @dawidkulpa.
- **PR #183064** Thanks @shakkernerd.
- **PR #183841**
- **PR #182919** Related #134798. Thanks @anmol0b and @StatsR4Losers.
- **PR #183618** Related #179369. Thanks @555aaditya and @rodricksz4h5.
- **PR #183263** Related #183262. Thanks @nxmxbbd.
- **PR #183461** Thanks @nxmxbbd.
- **PR #183282** Related #183273. Thanks @pstarkgit.
- **PR #183571** Related #183562. Thanks @lonexreb and @Valkster70.
- **PR #183148** Related #183056. Thanks @xiaopan-xydt and @2991495215.
- **PR #183390** Related #127968. Thanks @masatohoshino and @yetval.
- **PR #183438** Thanks @LeizhenZhang.
- **PR #183252** Thanks @LeizhenZhang.
- **PR #184021** Related #128416. Thanks @jailbirt.
- **PR #184062** Related #181385. Thanks @aatreya.
- **PR #183884**
- **PR #182104** Thanks @jjjhenriksen and @RomneyDa.
- **PR #172843**
- **PR #177577** Thanks @linancn.
- **PR #183286** Thanks @Marvinthebored.
- **PR #183059** Related #182649, #182711. Thanks @Marvinthebored and @scarabone and @atomsmasher81.
- **PR #181779** Thanks @sukhdeepjohar.
- **PR #183077**
- **PR #182666** Thanks @MSNexploder.
- **PR #183232** Related #180719. Thanks @ermaxinc.
- **PR #176567** Thanks @MertBasar0.
- **PR #183383** Thanks @sukhdeepjohar.
- **PR #184069**
- **PR #184041**
- **PR #154230** Related #154228. Thanks @Solvely-Colin.
- **PR #181923** Thanks @obviyus.
- **PR #181140** Related #180903. Thanks @rybing7.
- **PR #181618** Related #181611. Thanks @samueltardieu.
- **PR #181804** Related #181765. Thanks @4140leal-cw.
- **PR #180414**
- **PR #180853** Related #180802. Thanks @Cloud-Ocean.
- **PR #179057** Related #178180. Thanks @Oldrich333.
- **PR #181554**
- **PR #178596** Related #178548. Thanks @bguliano.
- **PR #168596** Related #168540. Thanks @PollyBot13.
- **PR #180280** Thanks @fuller-stack-dev.
### Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.10.8
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.10.8.tgz
- integrity: `sha512-fWOIOOyddIBqeuPz82DBCdY5kNl1yD51qebAHnxlTN7SmVoH5/WSIudR/N1zDhcIIksgJXe6ZgGy5ngSRxZOrQ==`
- release SHA: `dc2523e5a5c7a309517fd7fa834add938231d526`
- full release CI report: https://github.com/openclaw/releases/blob/main/evidence/2026.10.8/release-evidence.md
- release publish: https://github.com/openclaw/openclaw/actions/runs/40496801542
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/40454683479
- full release validation: https://github.com/openclaw/openclaw/actions/runs/40454025021
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/40498130762
- plugin ClawHub submission: https://github.com/openclaw/openclaw/actions/runs/40498135406; public finalization and exact artifact verification follow terminal release-parent completion
- plugin ClawHub bootstrap: not needed
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/40491275202/attempts/1
- npm Telegram beta E2E: not supplied
- Android APK: skipped — apps/android/version.json is 2026.8.2, release train is 2026.10.8; run pnpm android:version:pin -- --from-gateway before the next tag.