Repository navigation
CleanYourWechatTool v1.0.9 · 边界修复与发布门禁固化
Release Notes - CleanYourWechatTool v1.0.9
发布日期: 2026-09-12
类型: 稳定性与边界修复(3 项) + 发布工程门禁固化
本版本在 v1.0.8 的基础上,针对三处在窄场景(大文件抽屉交互、后台诊断完成时序、主子线程白名单并发配置)下可能触发的异常进行了针对性防御,并内置了发布自检门禁脚本。
重要修复与稳定性增强
1. 消除大文件抽屉点击 KeyError
- 问题:大文件抽屉展开期间,若后台重新完成诊断并刷新了文件元数据字典,残留的旧项目 ID 点击时会直接触发
KeyError,导致界面停滞在半更新状态且无提示。 - 修复:在
on_click事件中增加iid in meta存在性防御保护。
2. GUI 后台任务完成回调异常显式捕获
- 问题:
_poll_queue中此前仅捕获queue.Empty,当on_done回调执行抛出未预料异常时,窗口化应用没有标准错误流输出,导致异常被静默吞掉,界面无法恢复。 - 修复:显式捕获
on_done执行期异常,记录日志并通过原生弹窗进行友好提示。
3. 白名单多线程迭代竞争保护
- 问题:当后台诊断线程正在遍历白名单规则时,如果用户在前端界面同时新增或修改白名单规则,可能触发 Python 的
RuntimeError: dictionary changed size during iteration。 - 修复:遍历改为快照安全迭代(
list(self.rules.values()))。
工程规范与自动化
- 发布自检门禁 (
scripts/preflight.py):把版本号一致性、工作区状态、远程同步、pytest 矩阵、flake8/mypy 静态扫描、CLI 冒烟及 GUI 真机运行固化为一键检查命令,阻断不合格打包。 - 发布流程规范 (
docs/RELEASE_PROCESS.md):建立规范的发布标准与四层故障回退方案。