v2.2.9
·
1173 commits
to master
since this release
Highlights
- You can now schedule delayed restarts from the CLI, making planned restarts and upgrade workflows easier to control.
- Fixed several Slack DM reliability issues: long quick replies are now split automatically, mismatched DM channels no longer cause cross-talk, and DM lookup/recovery is more resilient.
- Improved WeChat stability by cushioning long-poll timeouts, splitting oversized outbound messages, and unblocking commands that were previously stuck behind running sessions.
- Fixed startup/watch reliability so failures are reported more clearly and retries only happen when startup is truly stable.
Changes
Added
- Add delayed restart scheduling to the CLI (#174).
Changed
- Add Telegram setup documentation and align platform copy (#166).
Fixed
- Fix
reset-configto refresh shared config correctly. - Fix regression to preserve no-reset auth state (#177).
- Fix Slack quick replies by splitting long messages before sending (#165).
- Fix Slack DM handling to preserve stale DM recovery.
- Fix Slack DM handling to tolerate DM lookup failures.
- Fix Slack DM validation to scope mismatched channel checks correctly.
- Fix Slack DM cross-talk by rejecting mismatched DM channels (#175).
- Fix CLI restart validation to reject non-finite restart delays.
- Fix upgrade restart behavior by normalizing
PYTHONPATH. - Fix CLI restart behavior to preserve source restart import paths.
- Fix watch startup handling to budget timeout from reconcile cadence.
- Fix watch retry handling to honor timeout retry exit codes.
- Fix watch startup detection to require stable startup before reporting success.
- Fix watch mode to report startup failures and gate retries (#173).
- Fix Feishu log rendering to preserve markdown blocks.
- Fix Feishu log messages by stripping file links (#172).
- Fix Feishu reaction handling by registering reaction event processors (#169).
- Fix OpenCode session cleanup to guard cleanup by loop ownership.
- Fix OpenCode to close options sessions after UI requests (#171).
- Fix Claude stream handling to ignore
rate_limit_eventfrom the SDK stream (#170). - Fix WeChat long-poll behavior by cushioning timeouts (#167).
- Fix WeChat outbound delivery by splitting oversized messages (#168).
- Fix WeChat command handling to unblock commands behind running sessions (#178).
Full Changelog: v2.2.8...v2.2.9
Highlights
- 现在你可以通过 CLI 安排延迟重启,更方便地控制计划内重启和升级流程。
- 修复了多项 Slack 私信稳定性问题:超长快捷回复会自动拆分发送,错误频道不再串话,私信查找与恢复流程也更稳健。
- 提升了 WeChat 的稳定性:为长轮询超时增加缓冲、自动拆分超长外发消息,并修复了命令被运行中会话阻塞的问题。
- 改进了 watch 启动可靠性:启动失败会更明确地上报,只有在确认稳定启动后才会进入重试/成功判定。
变更
Added
- 为 CLI 增加延迟重启调度能力 (#174)。
Changed
- 补充 Telegram 配置指南,并统一平台相关文案 (#166)。
Fixed
- 修复
reset-config后共享配置未正确刷新的问题。 - 修复回归问题,保留 no-reset 场景下的认证状态 (#177)。
- 修复 Slack 超长快捷回复发送失败的问题,现会自动拆分消息 (#165)。
- 修复 Slack 私信恢复流程,保留对陈旧 DM 状态的恢复能力。
- 修复 Slack 私信查找失败时的容错处理。
- 修复 Slack 私信频道校验范围不正确的问题。
- 修复 Slack 私信串话问题,拒绝错误匹配的 DM 频道 (#175)。
- 修复 CLI 重启参数校验,拒绝非有限值的延迟时间。
- 修复升级重启流程,规范
PYTHONPATH处理。 - 修复 CLI 重启流程,保留源码重启时的导入路径。
- 修复 watch 启动超时预算计算,使其与 reconcile 节奏一致。
- 修复 watch 超时重试时未正确处理退出码的问题。
- 修复 watch 启动成功判定,要求启动稳定后才视为成功。
- 修复 watch 模式下启动失败上报与重试门控逻辑 (#173)。
- 修复 Feishu 日志渲染,保留 Markdown 代码块/块级格式。
- 修复 Feishu 日志消息,去除文件链接 (#172)。
- 修复 Feishu 反应事件处理,补充 reaction event processor 注册 (#169)。
- 修复 OpenCode 会话清理逻辑,仅在当前事件循环拥有控制权时执行清理。
- 修复 OpenCode 在 UI 请求后未关闭 options session 的问题 (#171)。
- 修复 Claude SDK 流处理中
rate_limit_event导致的干扰,现会忽略该事件 (#170)。 - 修复 WeChat 长轮询超时问题,增加超时缓冲 (#167)。
- 修复 WeChat 外发超长消息问题,现会自动拆分 (#168)。
- 修复 WeChat 命令被运行中会话阻塞的问题 (#178)。
Full Changelog: v2.2.8...v2.2.9