Repository navigation
v2.7.0
2image v2.7.0
本次更新交付两项标志性变化:应用正式更名为 2image,安装包与便携版从此以项目本名发布;应用内自动更新体系完整落地——检查更新、下载、SHA-256 校验、静默原位升级、失败自动回滚全部在应用内闭环,从此升级不再需要打开浏览器手动下载。安装程序改用固定应用身份,更名前后均视为同一应用,升级原位覆盖旧程序文件,配置、历史记录与图片完整保留。
主要更新
应用内自动更新
- 关于窗口一键升级:菜单「检查更新」打开关于窗口即可检测 GitHub 最新发行版,展示版本号、发布日期、安装包体积与更新内容入口;发现新版本后点击下载并安装,进度条实时显示百分比、已下载量与下载速度,全程可取消。
- update.json 清单为唯一更新通道:客户端读取每个发行版附带的机器可解析更新清单(不依赖 GitHub API,无频率限制);清单经严格校验——协议版本、渠道、语义化版本号、资产完整性字段、下载地址域名白名单,任何字段不合法都直接拒绝更新而非猜测下载。
- 下载完整性双门禁:安装包以
.partial临时文件流式落盘,下载完成后先校验字节数与清单一致,再校验 SHA-256 与清单一致,全部通过才原子改名就绪;校验失败立即删除已下载内容,绝不执行来源可疑的安装包。 - 独立更新器接管升级:下载校验完成后由独立的 2image_updater 接管——先把自身复制到运行时目录,等待主程序正常退出(绝不强杀),二次校验安装包,静默原位安装新版本,安装完成后启动新版并等待其自证版本;安装失败或新版启动异常时自动恢复备份的旧版本并重新拉起,更新失败绝不劣于不更新。
- 任务运行时不会被悄悄打断:检测到正在进行的生成任务或队列任务时,安装前强制弹出三选确认(仍要退出并更新 / 等待任务完成后重试 / 暂不更新),默认不中断任何工作。
- 启动自动检查低侵入:打包版启动后延迟后台检查一次,24 小时至多一次且完全静默——只在发现新版本时轻提示,绝不自动下载;用户关闭提示后同版本不再重复打扰;偏好设置中可一键关闭自动检查。
- 网络失败可解释:检查失败明确区分"已是最新"与"检查失败",给出可能原因(网络 / GitHub 不可达 / 清单无效),检查按钮即重试入口。
应用更名与发行资产
- 应用名统一为 2image:安装包更名为
2image-setup-v<版本>.exe,便携版更名为2image-portable-v<版本>.exe,主程序更名为2image.exe,开始菜单、桌面快捷方式与卸载条目同步显示新名。 - 固定应用身份:安装程序显式固定 AppId,与历史所有版本保持同一安装实例——本次及以后升级均原位覆盖旧程序文件,不产生第二套并行安装;旧版
text2image_pro.exe在升级完成后即被新版替换移除。 - 发行链路自动化升级:构建时自动从真实安装包计算 SHA-256 并生成 update.json;发布前强制校验 tag、version.json、发行说明三者一致,并检查全部发行资产在磁盘就绪,杜绝"先发布后补资产"。
稳定性修复
- 缩略图管线关停竞态修复:关闭窗口或刷新历史列表时,后台加载线程此前可能因队列哨兵比较异常而崩溃(测试中表现为未处理线程异常);现改用可排序的低优先级哨兵任务,混合队列下关停完全干净。
下载与安装
- 安装包:下载
2image-setup-v2.7.0.exe,运行后按向导安装。 - 便携版:下载
2image-portable-v2.7.0.exe,无需安装即可直接运行。 - 配置、历史数据库、标签、图片与词库完全兼容,升级后无需任何手动操作。
- v2.6.0 及更早版本尚未内置应用内更新功能,本次仍需手动下载安装一次;此后即可直接在关于窗口内完成后续所有升级。更名前安装的用户升级后安装目录保持原位置,旧程序文件自动被新版替换。
验证
- GitHub Actions:Ubuntu 质量门禁 + Windows 测试(3.11/3.12 双矩阵)+ Windows 构建三阶段全绿。
- 完整测试套件:618 项通过,0 失败(较 v2.6.0 新增 94 项,含更新协议专项矩阵:版本比较、清单校验、下载完整性、状态机、静默安装参数、独立更新器回滚)。
- i18n 双门槛:226 键 × 2 语言全量对齐,硬编码文案棘轮基线零新增。
- 发行链路新增门禁:版本一致性、update.json 同源校验、资产存在性检查。
完整变更:v2.6.0...v2.7.0