# 更新日志 本文件记录面向用户的重要变化,格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本遵循语义化版本。每个版本的完整发布说明同时见 [GitHub Releases](https://github.com/wanghongyu666qiang/AskBridge/releases)。 ## [2.1.0] - 2026-10-30 ### 变更 - 设置窗口改用 WebView2 渲染:左侧分区导航 + 卡片式内容,页签指示器、卡片浮现、开关滑块与提示条都有过渡动效;快捷键输入框既支持按键录制(Esc 取消)也支持直接输入;应用成功/失败改为页内提示条,失败时直接显示具体原因。窗口按页面逻辑尺寸换算客户区,并用 DWM 圆角与标题栏同色在 Windows 11 上连成一体。 - 截图覆盖层重绘:选框改为品牌四角括号 + 分层柔和外发光 + 投影 + 内侧细线,锁定后发光缓慢呼吸;尺寸读数改为带强调色描边的深色胶囊;去掉旧的八个白色控制点。遮罩改为 140ms 淡入,取消时 110ms 淡出后再隐藏;框选、复制、提问三条交付路径仍立即完成,不增加延迟。 - 截图工具条与供应商菜单加入弹性入场、分组错峰与按压反馈,阴影层次加深。 ### 修复 - 设置页在 WebView2 初始化失败时不再留下空白窗口,改为弹窗说明原因并给出配置文件路径。 - 设置页的供应商 URL 编辑保持原有安全语义:修改起始网址时按新域名重新推导匹配前缀,未修改时保留原前缀。 ### 工程 - 设置 UI 拆分为 `draft`(草稿→配置,纯数据、可单测)、`view_model`(页面载荷)、`html`(页面本体)、`dpi`;删除原生控件树(`pages.rs`、`controls.rs`、`provider_config.rs`、`theme.rs`)。 - 覆盖层新增 `fade` 模块承载淡入淡出与呼吸曲线的纯算术,配单元测试。 - `scripts/test-settings-ui.ps1` 改为通过 UI Automation 驱动 WebView2 页面,保留原有全部断言(快捷键替换/禁用/恢复默认、冲突回滚、供应商往返、开机启动开关、外来 Run 值不被清除),并新增"被拒绝的应用必须出现在页面上"与逐页截图产物。 ## [2.0.6] - 2026-10-30 ### 修复 - 截图粘贴到 ChatGPT 网页后不再被误判为失败:现代供应商页面粘贴缩略图时只新增图片节点、不新增容器分组,而回执要求两者同时增长,导致每次实际成功的粘贴都被报成“无法确认附件状态”。现在图片或分组任一数量增长即视为已写入附件,仍保留按输入框锚定的作用域判断。 - ChatGPT 桌面客户端恢复可用:OpenAI 已将 ChatGPT 桌面应用放进 `OpenAI.Codex` 包(`app/ChatGPT.exe`,显示名 ChatGPT),原先“包族名含 codex 即忽略”的规则把桌面客户端本身一并屏蔽。现在只按可执行文件名判定,Codex CLI 的 `codex.exe` 仍不在名单内。 - 配置保存改用 `ReplaceFileW` 失败时回退到 `MoveFileExW` 原子替换:Microsoft Store 版把数据放在 `LocalState`,当用户将应用数据重定向到其他磁盘时该目录带 EFS 加密属性,`ReplaceFileW` 会返回 `ERROR_INVALID_PARAMETER`,使换模型、保存设置等操作全部失败并中断流程。失败时同时清理残留的 `.tmp` 文件并记录两种策略各自的原因。 - 流程失败日志补充 `error_kind`,此前 `workflow failed` 事件不带任何原因,用户与维护者都无法定位失败环节。 ### 文档 - 中英文 README 新增「演示」一节:内嵌 16 秒 GIF 预览(`assets/demo/askbridge-demo-preview.gif`),并链接挂在 v2.0.5 Release 上的 77 秒完整演示片 `AskBridge-Demo-77s.mp4`。演示片画面里的网页与日志均为虚构数据,域名使用保留的 `.invalid`。 - `docs/ARCHITECTURE.md` 同步粘贴目标判定与附件回执的当前规则。 ## [2.0.5] - 2026-09-19 ### 安全 - 发布构建不再依据可执行文件各级祖先目录中未认证的 `Cargo.toml` 标记判定数据目录:即使在安装目录的上层植入标记文件,也无法把已安装版或便携版的数据目录(含开机启动状态)挪到别处;该源码树探测仅在调试构建生效,本地运行仍然使用仓库的 `data` 目录。 ### 修复 - 配置剪贴板回退后,专用 Chrome 冷启动不再套用 3 秒尝试预算:冷启动按完整的连接与页面超时执行,避免必然超时后接连弹出专用 Chrome 与默认浏览器两个窗口;3 秒预算仅在复用已在运行的专用 Chrome 时生效。 - 应用被强制结束或崩溃后仍在运行的专用 Chrome 不再触发 browser_profile_in_use 回退:新会话通过其调试端点直接接管继续复用,仅当端点已失效时才冷启动;应用正常退出时同样会关闭被接管的浏览器。 ## [2.0.4] - 2026-09-13 ### 安全 - 应用内更新在哈希校验与安装包启动之间持有拒绝写入/删除共享的文件句柄,防止校验通过后被其他进程替换(TOCTOU 加固)。 - 应用清单声明 supportedOS 与 Per-Monitor V2 DPI,作为启动时代码设置的兜底。 ### 变更 - 界面视觉按 Fluent 风格刷新:截图工具条与供应商菜单改为深色圆角卡片(保留品牌橙"问问"按钮与强调色),截图覆盖层的选框、手柄、尺寸标签与 WebView2 不可用时的备用工具条重绘并启用抗锯齿,设置窗口换用 Fluent 浅色主题并增加悬停反馈;窗口类注册主题背景色,消除调整大小时的系统底色闪烁。 - 设置窗口重排:四个页面改为"小节标题 + 分隔线"的分区布局,输入框改为扁平 1px 边框,页签整行化并加页眉分隔线,切换页签时正确重绘选中态;强调色从通用蓝改为品牌橙,中性色与工具条一致;"恢复默认快捷键"移入快捷键页;修正副标题等三处过期或冗长文案。 - 切换到供应商页不再自动启动能力检测(此前会自动打开 Chrome);新增"检测供应商连接"按钮,由用户手动触发。 ### 工程 - 状态机回滚、开机启动项回滚和缓存安装包校验失败现在会记录 warning 日志;托盘"重试安装"失败时不再丢失具体原因。 - 可选的远程供应商规则通道在获取、解析、缓存任一环节失败时分别记录原因。 - 构建脚本支持用 `ASKBRIDGE_WEBVIEW2LOADER_PATH` 指定 WebView2Loader.dll;找不到时明确提示运行时后果与解决办法。 - 日志隐私守卫改为构建时自动扫描 `src` 下全部源码文件,新模块自动纳入检查。 - 新增 `SECURITY.md` 安全策略(含签名密钥泄漏应急预案)与 `CHANGELOG.md` 更新日志。 - CI 新增 PowerShell 脚本语法检查、测试覆盖率汇总、每周定时依赖安全扫描,并引入 Dependabot 自动更新 Rust 依赖与 GitHub Actions。 ## [2.0.3] - 2026-09-03 ### 修复 - 截图交付加固:框选结果改为从覆盖层已冻结的桌面快照裁剪,避免动态画面与用户所见不一致;安全回退统一 3 秒截止时间。 - 网页上传前程序异常退出时保留临时截图,供手动上传恢复。 - 安装器取消“登录后自动启动”时,同步清理注册表启动项并持久化关闭状态。 ## [2.0.2] - 2026-09-01 ### 新增 - 安装器支持交互式选项:桌面快捷方式、开始菜单快捷方式、登录后自动启动。 ## [2.0.1] - 2026-08-30 ### 变更 - 重新设计截图工具条与供应商菜单。 ## [2.0.0] - 2026-08-28 ### 安全 - 自更新加固:`SHA256SUMS.txt` 必须通过内嵌公钥的 Ed25519 离线签名校验;安装包流式下载并实时计算 SHA-256,校验通过后才落盘为正式文件。 ### 新增 - 扩展 AI 供应商支持;品牌图标嵌入 Win32 资源(窗口与托盘)。 ### 变更 - 最低 Rust 版本(MSRV)提升至 1.88;CI 工作流固定到完整 commit SHA,Release 附加构建溯源证明。 ### 修复 - PWA(网页应用)截图交付稳定性与卸载流程问题。 ## [1.0.2] - 2026-08-26 ### 新增 - 应用内自更新支持:后台检查、确认下载、校验、原位置升级并重启。 ## [1.0.1] - 2026-08-24 ### 新增 - “通用粘贴”目标:支持日常浏览器与 ChatGPT、Claude、豆包等 AI 桌面客户端的登录状态。 - 专用 Chrome 准备失败且确认未写入任何内容时,安全降级为剪贴板复制。 ### 变更 - 截图覆盖层拆分为子模块并跨绘制复用 GDI 资源,减少框选拖拽闪烁。 ### 工程 - CI 增加 Windows GNU 构建链路与 cargo-deny 依赖检查;新增贡献指南、Issue 模板与英文 README;许可证确定为 Apache-2.0。 ## [1.0.0] - 2026-08-13 ### 新增 - 首个公开版本:框选截图与工具条、把截图和预设文字准备到 AI 网页输入区、专用 Chrome 与 CDP 对接、发布打包与安装路径防护。 [未发布]: https://github.com/wanghongyu666qiang/AskBridge/compare/v2.0.6...HEAD [2.0.6]: https://github.com/wanghongyu666qiang/AskBridge/compare/v2.0.5...v2.0.6 [2.0.5]: https://github.com/wanghongyu666qiang/AskBridge/compare/v2.0.4...v2.0.5 [2.0.4]: https://github.com/wanghongyu666qiang/AskBridge/compare/v2.0.3...v2.0.4 [2.0.3]: https://github.com/wanghongyu666qiang/AskBridge/compare/v2.0.2...v2.0.3 [2.0.2]: https://github.com/wanghongyu666qiang/AskBridge/compare/v2.0.1...v2.0.2 [2.0.1]: https://github.com/wanghongyu666qiang/AskBridge/compare/v2.0.0...v2.0.1 [2.0.0]: https://github.com/wanghongyu666qiang/AskBridge/compare/v1.0.2...v2.0.0 [1.0.2]: https://github.com/wanghongyu666qiang/AskBridge/compare/v1.0.1...v1.0.2 [1.0.1]: https://github.com/wanghongyu666qiang/AskBridge/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/wanghongyu666qiang/AskBridge/releases/tag/v1.0.0