v1.5.2 · 稳定性修复 & 账号迁移
● 当前版本2026-09 发布
v1.5.1 休眠恢复大改之后的稳定性修复版。集中修复两个严重 Bug:并发字典迭代导致的偶发崩溃,以及冷启动时托盘图标状态不刷新。同时完成 GitHub 用户名从 Martlnez → awakaze 的全线迁移。
🐛 关键修复
- 字典并发 re-key 崩溃 — 冷启动 model 为空的设备首次连接成功后做原地 re-key,Flyout 与 App 的 5 处 live dict view 遍历抛
RuntimeError: dictionary changed size during iteration,导致弹窗中断或进程退出。修复:统一改用list(self._lights.items())快照遍历 - MonitorSleepListener 重启后双回调 → 唤醒不复原 — 旧
stop()未 join 旧窗口线程,新旧两个 HWND 同时订阅同一广播,on_monitor_sleep 被触发两次后 pre_sleep_state 被覆盖成 False,唤醒时直接跳过恢复。修复:stop()新增join(timeout=3.0)+ 消息泵安全帽 - 灯启动时托盘图标没有变亮 — 启动路径中状态推送窗口过早创建 / 事件顺序错乱,灯明明是开的但图标仍暗色。重构启动时的状态推送流程,确保初始状态完整传递后再刷新聚合态
🔧 工程 & 基础设施
- CI Release Job 自动从
release-notes/RELEASE_NOTES_<tag>.md读取 Markdown 作为 GitHub Release Body,不用再手工粘贴 - 新增
tests/test_concurrency_regressions.py— 4 passed · 1 skipped,覆盖 list() 快照并发安全、stop() 等待线程退出、卡死泵不会死锁,并含阳性对照用例
🧭 账号迁移
- GitHub 用户名 Martlnez → awakaze
- 仓库地址、所有源码、文档、Release Notes 中的 URL 全线同步更新