此恢复版本使用 `v2026.3.13-1`,因为 GitHub 的不可变发布规则禁止在发布后重复使用 `v2026.3.13`。
**重要说明:**
- 此版本仅用于恢复损坏的 `v2026.3.13` 标签/发布路径。
- 对应的 npm 版本号仍为 `2026.3.13`,而非 `2026.3.13-1`。
- `-1` 后缀仅适用于 Git 标签和 GitHub Release。
## 变更内容
* fix(compaction): 在压缩后完整性检查中使用完整会话令牌计数 by @efe-arv in https://github.com/openclaw/openclaw/pull/28347
* fix(telegram): 将线程媒体传输策略纳入 SSRF 防护 by @obviyus in https://github.com/openclaw/openclaw/pull/44639
* fix: 处理 Discord 网关元数据获取失败 by @jalehman in https://github.com/openclaw/openclaw/pull/44397
* docs: 将发布后变更日志条目移至“未发布”部分 by @jalehman in https://github.com/openclaw/openclaw/pull/44691
* fix(session): 在会话重置时保留 `lastAccountId` 和 `lastThreadId` by @Lanfei in https://github.com/openclaw/openclaw/pull/44773
* 在测试中将默认模型从 openai-codex/gpt-5.3-codex 更新为 openai-codex/gpt-5.4 by @jrrcdev in https://github.com/openclaw/openclaw/pull/44367
* fix: 解决投递去重审查的后续问题 by @frankekn in https://github.com/openclaw/openclaw/pull/44666
* CLI: 对齐 xhigh 思考模式的帮助文本 by @frankekn in https://github.com/openclaw/openclaw/pull/44819
* docs: 修正 xhigh 帮助文本的变更日志署名 by @frankekn in https://github.com/openclaw/openclaw/pull/44874
* fix(agents): 在重放时移除 Anthropic 思考块 by @frankekn in https://github.com/openclaw/openclaw/pull/44843
* docs: 将会话键的 :dm: 修正为 :direct: by @Lanfei in https://github.com/openclaw/openclaw/pull/26506
* feat(android): 重新设计聊天设置界面 by @obviyus in https://github.com/openclaw/openclaw/pull/44894
* fix(agents): 避免在区分大小写的挂载中重复注入内存文件 by @Lanfei in https://github.com/openclaw/openclaw/pull/26054
* Docker: 为所有 Dockerfile 添加 OPENCLAW_TZ 时区支持 by @Lanfei in https://github.com/openclaw/openclaw/pull/34119
* Android: 修复 TalkModeVoiceResolver 中的 HttpURLConnection 泄漏 by @Kaneki-x in https://github.com/openclaw/openclaw/pull/43780
* fix(agents): 对非原生 openai-completions 尊重显式用户兼容性覆盖 by @cheapestinference in https://github.com/openclaw/openclaw/pull/44432
* test(config): 在兼容模式测试夹具中覆盖 requiresOpenAiAnthropicToolPayload by @xingsy97 in https://github.com/openclaw/openclaw/pull/43438
* fix(agents): 重述会话重置提示以避免 Azure 内容过滤器 by @xingsy97 in https://github.com/openclaw/openclaw/pull/43403
* fix(config): 向 agents.list[] 验证架构添加缺失的 params 字段 by @atian8179 in https://github.com/openclaw/openclaw/pull/41171
* fix(android): 在入门引导中使用 Google Code Scanner 扫描二维码 by @obviyus in https://github.com/openclaw/openclaw/pull/45021
* fix: 在运行时 Zod 架构中恢复 web fetch firecrawl 配置 by @stim64045-spec in https://github.com/openclaw/openclaw/pull/42583
* fix(signal): 向 Signal 频道架构添加群组配置 by @unisone in https://github.com/openclaw/openclaw/pull/27199
* feat(ios): 添加入门引导欢迎分页器 by @ngutman in https://github.com/openclaw/openclaw/pull/45054
* 对 .gitignore 的小幅补充 by @Sovtoshi-SC in https://github.com/openclaw/openclaw/pull/42879
* fix(discovery): 向 wideArea Zod 配置架构添加缺失的域名 by @ingyukoh in https://github.com/openclaw/openclaw/pull/35615
* fix(ui): 在不安全的 control-ui 连接上保持共享认证 by @velvet-shark in https://github.com/openclaw/openclaw/pull/45088
* fix: 在压缩摘要中保持角色和语言连续性 by @keepitmello in https://github.com/openclaw/openclaw/pull/10456
* ui: 移动端导航抽屉与主题变体优化 by @BunsDev in https://github.com/openclaw/openclaw/pull/45107
* fix: 为跨代理子代理生成解析目标代理工作区 by @moshehbenavraham in https://github.com/openclaw/openclaw/pull/40176
* fix(ollama): 隐藏仅原生推理的输出 by @frankekn in https://github.com/openclaw/openclaw/pull/45330
* test: 为针对性运行标注聊天中止辅助函数导出 by @frankekn in https://github.com/openclaw/openclaw/pull/45346
* 修正文档中 Brave 成本的错误渲染 by @keelanfh in https://github.com/openclaw/openclaw/pull/44989
* security(docker): 防止在 Docker 构建上下文中泄露网关令牌 by @xingsy97 in https://github.com/openclaw/openclaw/pull/44956
* refactor: 移除 Slack 探测中冗余的 ?? undefined by @Cafexss in https://github.com/openclaw/openclaw/pull/44775
* fix(ui): 在滚动药丸按钮上恢复 chat-new-messages 类 by @Astro-Han in https://github.com/openclaw/openclaw/pull/44856
* fix(windows): 在重启和进程清理期间抑制可见的控制台窗口 by @MoerAI in https://github.com/openclaw/openclaw/pull/44842
* Slack: 添加可选交互式回复指令 by @vincentkoc in https://github.com/openclaw/openclaw/pull/44607
* Docs: 描述 Slack 交互式回复 by @vincentkoc in https://github.com/openclaw/openclaw/pull/45463
* fix(cron): 防止孤立的 cron 嵌套通道死锁 by @vincentkoc in https://github.com/openclaw/openclaw/pull/45459
* 修复更新程序服务重新安装的刷新当前工作目录 by @vincentkoc in https://github.com/openclaw/openclaw/pull/45452
* [codex] 优化侧边栏状态、代理技能和聊天渲染 by @BunsDev in https://github.com/openclaw/openclaw/pull/45451
* perf(build): 去重插件 SDK 代码块以修复约 2 倍的内存回归 by @TarasShyn in https://github.com/openclaw/openclaw/pull/45426
* 保护更新程序服务刷新免受缺失调用当前工作目录的影响 by @vincentkoc in https://github.com/openclaw/openclaw/pull/45486
* fix(browser): 为选择器和批量支持规范化批量操作调度 by @vincentkoc in https://github.com/openclaw/openclaw/pull/45457
* docs(android): 注记应用尚未公开发布 by @eengad in https://github.com/openclaw/openclaw/pull/23051
* fix(browser): 跟进批量失败并限制处理 by @vincentkoc in https://github.com/openclaw/openclaw/pull/45506
* docker: 为所有 Dockerfile 添加 apt-get upgrade by @jacobtomlinson in https://github.com/openclaw/openclaw/pull/45384
* fix(config): 避免 Anthropic 启动崩溃 by @BunsDev in https://github.com/openclaw/openclaw/pull/45520
* test: 为针对性运行保留包装器行为 by @Takhoffman in https://github.com/openclaw/openclaw/pull/45518
* UI: 修复聊天上下文通知图标尺寸 by @BunsDev in https://github.com/openclaw/openclaw/pull/45533
* fix(ui): 阻止仪表板聊天历史重新加载风暴 by @BunsDev in https://github.com/openclaw/openclaw/pull/45541
* fix: 通过 IPv4 回退重试 Telegram 入站媒体下载 by @frankekn in https://github.com/openclaw/openclaw/pull/45327
* fix(feishu): 在文件上传中保留非 ASCII 文件名 (#33912) by @fabiaodemianyang in https://github.com/openclaw/openclaw/pull/34262
* macOS: 在网关提示程序中尊重 exec-approvals.json 设置 by @sliekens in https://github.com/openclaw/openclaw/pull/13707
* fix(ui): 保持超大聊天回复可读 by @BunsDev in https://github.com/openclaw/openclaw/pull/45559
* fix(gateway/ui): 恢复 control-ui 认证绕过并分类连接失败 by @sallyom in https://github.com/openclaw/openclaw/pull/45512
* fix(macos): 防止 PortGuard 在远程模式下终止 Docker Desktop by @teslamint in https://github.com/openclaw/openclaw/pull/13798
* fix(sessions): 在 chat.inject 缺失时创建转录文件 by @2233admin in https://github.com/openclaw/openclaw/pull/36645
* Plugins: 在频道和绑定冲突时快速失败 by @vincentkoc in https://github.com/openclaw/openclaw/pull/45628
* fix(macos): 将最低 Node.js 版本与运行时保护对齐 (22.16.0) by @ImLukeF in https://github.com/openclaw/openclaw/pull/45640
* fix(agents): 在入门引导后保留空白本地自定义提供商 API 密钥 by @frankekn in https://github.com/openclaw/openclaw/pull/45631
* fix(browser): 强化现有会话驱动验证和会话生命周期 by @odysseus0 in https://github.com/openclaw/openclaw/pull/45682
* fix(feishu): 添加早期事件级去重以防止重复回复 by @yunweibang in https://github.com/openclaw/openclaw/pull/43762
* fix(models): 将 Gemini 模型 ID 规范化应用于 google-vertex 提供商 by @scoootscooob in https://github.com/openclaw/openclaw/pull/42435
* Gateway: 将范围受限的探测 RPC 视为降级可达性 by @joshavant in https://github.com/openclaw/openclaw/pull/45622
* fix(gateway): 限制未应答的客户端请求 by @Takhoffman in https://github.com/openclaw/openclaw/pull/45689
## 新贡献者
* @jrrcdev 在 https://github.com/openclaw/openclaw/pull/44367 中首次贡献
* @Kaneki-x 在 https://github.com/openclaw/openclaw/pull/43780 中首次贡献
* @cheapestinference 在 https://github.com/openclaw/openclaw/pull/44432 中首次贡献
* @xingsy97 在 https://github.com/openclaw/openclaw/pull/43438 中首次贡献
* @atian8179 在 https://github.com/openclaw/openclaw/pull/41171 中首次贡献
* @stim64045-spec 在 https://github.com/openclaw/openclaw/pull/42583 中首次贡献
* @Sovtoshi-SC 在 https://github.com/openclaw/openclaw/pull/42879 中首次贡献
* @keepitmello 在 https://github.com/openclaw/openclaw/pull/10456 中首次贡献
* @moshehbenavraham 在 https://github.com/openclaw/openclaw/pull/40176 中首次贡献
* @keelanfh 在 https://github.com/openclaw/openclaw/pull/44989 中首次贡献
* @Cafexss 在 https://github.com/openclaw/openclaw/pull/44775 中首次贡献
* @Astro-Han 在 https://github.com/openclaw/openclaw/pull/44856 中首次贡献
* @eengad 在 https://github.com/openclaw/openclaw/pull/23051 中首次贡献
* @jacobtomlinson 在 https://github.com/openclaw/openclaw/pull/45384 中首次贡献
* @fabiaodemianyang 在 https://github.com/openclaw/openclaw/pull/34262 中首次贡献
* @sliekens 在 https://github.com/openclaw/openclaw/pull/13707 中首次贡献
* @teslamint 在 https://github.com/openclaw/openclaw/pull/13798 中首次贡献
* @yunweibang 在 https://github.com/openclaw/openclaw/pull/43762 中首次贡献
**完整变更日志**: https://github.com/openclaw/openclaw/compare/v2026.3.12...v2026.3.13-1
This recovery release uses `v2026.3.13-1` because GitHub immutable releases do not allow reusing `v2026.3.13` after publication.
Important:
- This release exists to recover the broken `v2026.3.13` tag/release path.
- The corresponding npm version is still `2026.3.13`, not `2026.3.13-1`.
- The `-1` suffix is for the Git tag and GitHub Release only.
## What's Changed
* fix(compaction): use full-session token count for post-compaction sanity check by @efe-arv in https://github.com/openclaw/openclaw/pull/28347
* fix(telegram): thread media transport policy into SSRF by @obviyus in https://github.com/openclaw/openclaw/pull/44639
* fix: handle Discord gateway metadata fetch failures by @jalehman in https://github.com/openclaw/openclaw/pull/44397
* docs: move post-release changelog entries to Unreleased by @jalehman in https://github.com/openclaw/openclaw/pull/44691
* fix(session): preserve `lastAccountId ` and `lastThreadId` on session reset by @Lanfei in https://github.com/openclaw/openclaw/pull/44773
* Updated default model from openai-codex/gpt-5.3-codex to openai-codex/gpt-5.4 in tests. by @jrrcdev in https://github.com/openclaw/openclaw/pull/44367
* fix: address delivery dedupe review follow-ups by @frankekn in https://github.com/openclaw/openclaw/pull/44666
* CLI: align xhigh thinking help text by @frankekn in https://github.com/openclaw/openclaw/pull/44819
* docs: fix changelog credit for xhigh help by @frankekn in https://github.com/openclaw/openclaw/pull/44874
* fix(agents): drop Anthropic thinking blocks on replay by @frankekn in https://github.com/openclaw/openclaw/pull/44843
* docs: fix session key :dm: → :direct: by @Lanfei in https://github.com/openclaw/openclaw/pull/26506
* feat(android): redesign chat settings UI by @obviyus in https://github.com/openclaw/openclaw/pull/44894
* fix(agents): avoid injecting memory file twice on case-insensitive mounts by @Lanfei in https://github.com/openclaw/openclaw/pull/26054
* Docker: add OPENCLAW_TZ timezone support by @Lanfei in https://github.com/openclaw/openclaw/pull/34119
* Android: fix HttpURLConnection leak in TalkModeVoiceResolver by @Kaneki-x in https://github.com/openclaw/openclaw/pull/43780
* fix(agents): respect explicit user compat overrides for non-native openai-completions by @cheapestinference in https://github.com/openclaw/openclaw/pull/44432
* test(config): cover requiresOpenAiAnthropicToolPayload in compat schema fixture by @xingsy97 in https://github.com/openclaw/openclaw/pull/43438
* fix(agents): rephrase session reset prompt to avoid Azure content filter by @xingsy97 in https://github.com/openclaw/openclaw/pull/43403
* fix(config): add missing params field to agents.list[] validation schema by @atian8179 in https://github.com/openclaw/openclaw/pull/41171
* fix(android): use Google Code Scanner for onboarding QR by @obviyus in https://github.com/openclaw/openclaw/pull/45021
* fix: restore web fetch firecrawl config in runtime zod schema by @stim64045-spec in https://github.com/openclaw/openclaw/pull/42583
* fix(signal): add groups config to Signal channel schema by @unisone in https://github.com/openclaw/openclaw/pull/27199
* feat(ios): add onboarding welcome pager by @ngutman in https://github.com/openclaw/openclaw/pull/45054
* small addition to .gitignore by @Sovtoshi-SC in https://github.com/openclaw/openclaw/pull/42879
* fix(discovery): add missing domain to wideArea Zod config schema by @ingyukoh in https://github.com/openclaw/openclaw/pull/35615
* fix(ui): keep shared auth on insecure control-ui connects by @velvet-shark in https://github.com/openclaw/openclaw/pull/45088
* fix: preserve persona and language continuity in compaction summaries by @keepitmello in https://github.com/openclaw/openclaw/pull/10456
* ui: mobile navigation drawer & theme variant refinements by @BunsDev in https://github.com/openclaw/openclaw/pull/45107
* fix: resolve target agent workspace for cross-agent subagent spawns by @moshehbenavraham in https://github.com/openclaw/openclaw/pull/40176
* fix(ollama): hide native reasoning-only output by @frankekn in https://github.com/openclaw/openclaw/pull/45330
* test: annotate chat abort helper exports by @frankekn in https://github.com/openclaw/openclaw/pull/45346
* Fix incorrect rendering of brave costs in docs by @keelanfh in https://github.com/openclaw/openclaw/pull/44989
* security(docker): prevent gateway token leak in Docker build context by @xingsy97 in https://github.com/openclaw/openclaw/pull/44956
* refactor: remove redundant ?? undefined in Slack probe by @Cafexss in https://github.com/openclaw/openclaw/pull/44775
* fix(ui): restore chat-new-messages class on scroll pill button by @Astro-Han in https://github.com/openclaw/openclaw/pull/44856
* fix(windows): suppress visible console windows during restart and process cleanup by @MoerAI in https://github.com/openclaw/openclaw/pull/44842
* Slack: add opt-in interactive reply directives by @vincentkoc in https://github.com/openclaw/openclaw/pull/44607
* Docs: describe Slack interactive replies by @vincentkoc in https://github.com/openclaw/openclaw/pull/45463
* fix(cron): prevent isolated cron nested lane deadlocks by @vincentkoc in https://github.com/openclaw/openclaw/pull/45459
* Fix updater refresh cwd for service reinstall by @vincentkoc in https://github.com/openclaw/openclaw/pull/45452
* [codex] Polish sidebar status, agent skills, and chat rendering by @BunsDev in https://github.com/openclaw/openclaw/pull/45451
* perf(build): deduplicate plugin-sdk chunks to fix ~2x memory regression by @TarasShyn in https://github.com/openclaw/openclaw/pull/45426
* Guard updater service refresh against missing invocation cwd by @vincentkoc in https://github.com/openclaw/openclaw/pull/45486
* fix(browser): normalize batch act dispatch for selector and batch support by @vincentkoc in https://github.com/openclaw/openclaw/pull/45457
* docs(android): note that app is not publicly released yet by @eengad in https://github.com/openclaw/openclaw/pull/23051
* fix(browser): follow up batch failure and limit handling by @vincentkoc in https://github.com/openclaw/openclaw/pull/45506
* docker: add apt-get upgrade to all Dockerfiles by @jacobtomlinson in https://github.com/openclaw/openclaw/pull/45384
* fix(config): avoid Anthropic startup crash by @BunsDev in https://github.com/openclaw/openclaw/pull/45520
* test: preserve wrapper behavior for targeted runs by @Takhoffman in https://github.com/openclaw/openclaw/pull/45518
* UI: fix chat context notice icon sizing by @BunsDev in https://github.com/openclaw/openclaw/pull/45533
* fix(ui): stop dashboard chat history reload storm by @BunsDev in https://github.com/openclaw/openclaw/pull/45541
* fix: retry Telegram inbound media downloads over IPv4 fallback by @frankekn in https://github.com/openclaw/openclaw/pull/45327
* fix(feishu): preserve non-ASCII filenames in file uploads (#33912) by @fabiaodemianyang in https://github.com/openclaw/openclaw/pull/34262
* macOS: respect exec-approvals.json settings in gateway prompter by @sliekens in https://github.com/openclaw/openclaw/pull/13707
* fix(ui): keep oversized chat replies readable by @BunsDev in https://github.com/openclaw/openclaw/pull/45559
* fix(gateway/ui): restore control-ui auth bypass and classify connect failures by @sallyom in https://github.com/openclaw/openclaw/pull/45512
* fix(macos): prevent PortGuard from killing Docker Desktop in remote mode by @teslamint in https://github.com/openclaw/openclaw/pull/13798
* fix(sessions): create transcript file on chat.inject when missing by @2233admin in https://github.com/openclaw/openclaw/pull/36645
* Plugins: fail fast on channel and binding collisions by @vincentkoc in https://github.com/openclaw/openclaw/pull/45628
* fix(macos): align minimum Node.js version with runtime guard (22.16.0) by @ImLukeF in https://github.com/openclaw/openclaw/pull/45640
* fix(agents): preserve blank local custom-provider API keys after onboarding by @frankekn in https://github.com/openclaw/openclaw/pull/45631
* fix(browser): harden existing-session driver validation and session lifecycle by @odysseus0 in https://github.com/openclaw/openclaw/pull/45682
* fix(feishu): add early event-level dedup to prevent duplicate replies by @yunweibang in https://github.com/openclaw/openclaw/pull/43762
* fix(models): apply Gemini model-id normalization to google-vertex provider by @scoootscooob in https://github.com/openclaw/openclaw/pull/42435
* Gateway: treat scope-limited probe RPC as degraded reachability by @joshavant in https://github.com/openclaw/openclaw/pull/45622
* fix(gateway): bound unanswered client requests by @Takhoffman in https://github.com/openclaw/openclaw/pull/45689
## New Contributors
* @jrrcdev made their first contribution in https://github.com/openclaw/openclaw/pull/44367
* @Kaneki-x made their first contribution in https://github.com/openclaw/openclaw/pull/43780
* @cheapestinference made their first contribution in https://github.com/openclaw/openclaw/pull/44432
* @xingsy97 made their first contribution in https://github.com/openclaw/openclaw/pull/43438
* @atian8179 made their first contribution in https://github.com/openclaw/openclaw/pull/41171
* @stim64045-spec made their first contribution in https://github.com/openclaw/openclaw/pull/42583
* @Sovtoshi-SC made their first contribution in https://github.com/openclaw/openclaw/pull/42879
* @keepitmello made their first contribution in https://github.com/openclaw/openclaw/pull/10456
* @moshehbenavraham made their first contribution in https://github.com/openclaw/openclaw/pull/40176
* @keelanfh made their first contribution in https://github.com/openclaw/openclaw/pull/44989
* @Cafexss made their first contribution in https://github.com/openclaw/openclaw/pull/44775
* @Astro-Han made their first contribution in https://github.com/openclaw/openclaw/pull/44856
* @eengad made their first contribution in https://github.com/openclaw/openclaw/pull/23051
* @jacobtomlinson made their first contribution in https://github.com/openclaw/openclaw/pull/45384
* @fabiaodemianyang made their first contribution in https://github.com/openclaw/openclaw/pull/34262
* @sliekens made their first contribution in https://github.com/openclaw/openclaw/pull/13707
* @teslamint made their first contribution in https://github.com/openclaw/openclaw/pull/13798
* @yunweibang made their first contribution in https://github.com/openclaw/openclaw/pull/43762
**Full Changelog**: https://github.com/openclaw/openclaw/compare/v2026.3.12...v2026.3.13-1