Ariver
2026-07-02 0f7ee6e29f70017dd4fdfe2dd3a6106f7204f04f
src/CHANGELOG.md
@@ -1,5 +1,331 @@
# TagLauncher Changelog
## [Unreleased]
## [8.3.1] — 2026-07-01
- 修复设置窗口在切换语言后,标题栏仍停留在旧语言的问题;标题会在设置窗口出现和语言切换通知时同步刷新
- 修复免费版标签额度提示“已使用 X / 6”在新建、改名、改色或删除标签后不实时更新的问题
- 修复标签编辑文本框点击路径,避免编辑标签时因重复转发同一次鼠标事件导致卡死或崩溃
- 新增 `Scripts/settings_language_title_qa.sh` 和 `Scripts/tag_editor_mouse_event_qa.sh`,并扩展自定义容器额度 QA 覆盖实时额度刷新
- 版本号更新为 `8.3.1`,Build 更新为 `20260701.2302`
## [8.3.0] — 2026-07-01
- 新增免费版自定义维护容器额度:免费用户最多维护 6 个自定义标签 / 容器;系统默认分类在被改名、改色或手动调整成员后计入额度,Pro 用户不限制
- 第 7 个自定义维护动作不再写入临时数据,会弹出 Pro 提示,并提供“管理已有标签”入口
- 标签拖动排序改为免费仅预览、Pro 才持久保存;容器内应用排序仍沿用同一 Pro 排序保存逻辑
- Pro 页对比表新增前三项:可维护标签数量、标签列表位置排序、容器内应用图标位置排序;同步补齐 29 个语种
- 新增 `Scripts/pro_custom_container_quota_qa.sh`,并扩展 Pro / 本地化 QA 门禁覆盖新额度、排序预览和对比表文案
- 版本号更新为 `8.3.0`,Build 更新为 `20260701.1530`
## [8.2.9] — 2026-06-30
- 统一已解锁 Pro 用户在设置页“语言 / Pro / 关于”顶部状态行:居中显示 `Pro 已解锁` 胶囊和“您当前是尊贵的 Pro 用户”
- 移除该 Pro 用户身份文案内的重复皇冠符号,皇冠只由前置胶囊图标承载;同步更新 29 个语种
- 扩展 Pro / 本地化 QA 门禁,防止该状态行回退为非居中、重复皇冠或错误页签范围
- 版本号更新为 `8.2.9`,Build 更新为 `20260630.1617`
## [8.2.8] — 2026-06-30
- 修复 Quick Search 候选列表触摸板 / 鼠标点击仍无法启动应用的问题:结果面板保留原 `hitTest` 路径,并增加按窗口坐标递归命中结果行的几何兜底,复用回车同一启动路径
- 扩展 Quick Search 启动回归门禁,要求 panel 级点击兜底不能只依赖 SwiftUI / NSScrollView 中间层的 `hitTest`
- 版本号更新为 `8.2.8`,Build 更新为 `20260630.0128`
## [8.2.7] — 2026-06-30
- Pro 已解锁后,设置页固定 Pro 状态行不再显示“恢复购买”按钮
- Pro 页对比表已解锁状态统一加上 `✅` 前缀,和 `✅支持` / `✅无限备注` 保持一致
- 补齐 29 个语种的已解锁状态、Quick Search 快捷键页和气泡提示设置文案,并扩展 Pro / 本地化 QA 门禁覆盖本轮返工点
- 版本号更新为 `8.2.7`,Build 更新为 `20260630.0049`
## [8.2.6] — 2026-06-29
- 按最新标注移除语言页和关于页顶部固定 Pro 引导行,保留其它设置页的固定购买引导
- 调整 Pro 页对比表文案:Pro 列未购买功能显示 `✅支持`,备注行显示 `✅无限备注`
- 补齐 29 个语种的新增 Pro 对比文案,并扩展 Pro / 本地化 QA 门禁覆盖本轮返工点
- 版本号更新为 `8.2.6`,Build 更新为 `20260629.2315`
## [8.2.5] — 2026-06-29
- 修复 Quick Search 候选列表中鼠标点击应用不启动的问题:结果面板现在会在 AppKit 窗口事件层兜底解析被点击的结果行,并复用原有启动路径打开应用
- 扩展 Quick Search 启动回归门禁,覆盖结果面板对鼠标点击事件的处理,避免只检查回车路径
- 调整 Pro 页免费 / Pro 状态文案和对比表状态:免费态显示“不可用 / 只可预览 5 分钟 / 待解锁”,Pro 列标题补充皇冠标识
- 调整菜单栏免费态 Pro 状态文案,强化“立刻升级到 👑Pro”的购买引导;点击该状态项会直接打开 Pro 设置页
- 设置页增加固定位置的 Pro 引导行,各页签切换时保持同一位置;Pro 对比表状态胶囊统一为中性样式,不再显示皇冠图标
- 版本号更新为 `8.2.5`,Build 更新为 `20260629.2210`
## [8.2.4] — 2026-06-29
- 设置页 Pro、语言、关于三个少内容页面改为按主内容区域全局上下左右居中,避免内容只在局部区域居中
- Pro 胶囊的皇冠图标不再依赖文案中是否包含 `Pro`,长语种和 RTL 语言下也保留皇冠视觉引导
- 快捷键、标签、数据页补充与主题页一致的购买引导文案;标签页引导与 `+ 新建标签` 保持同一行对齐
- 标签自定义颜色入口继续保留横向色条与皇冠引导,不回退已验收的彩色容器 / 彩色网格 5 分钟试用逻辑
- 补齐 29 个语种的新增购买引导文案,并扩展 Pro / 本地化 QA 门禁覆盖本轮返工点
- 版本号更新为 `8.2.4`,Build 更新为 `20260629.1813`
## [8.2.3] — 2026-06-29
- 设置页新增独立 `Pro` 页签,并将顶部页签压缩为 8 个线型图标入口;`Pro` 位于“数据”和“关于”之间,`关于`页不再重复承载 Pro 对比说明
- Pro 已解锁用户在“通用 / 主题 / 快捷键 / 标签 / 数据”页顶部显示轻量的 `Pro 已解锁` 权益行,不再使用多页重复的大型 Pro 状态卡片
- Pro 专属的高级主题、彩色容器 / 彩色网格、自定义快捷键、自定义标签颜色和数据导入导出入口在已解锁后仍保留皇冠 Pro 标识
- Pro 对比页将免费版的数据导入导出能力状态从“受限”改为“不支持”,付费解锁前后状态统一为“待解锁 / 已解锁”
- 设置页语言列表去掉重复标题说明,并在主内容区域内上下左右居中;关于页应用信息块也改为主内容区域居中显示
- 标签页自定义颜色入口改为横向色条加白色线型皇冠图标,不再显示“自定义颜色”文字;免费态点击仍触发 Pro 提示,Pro 态继续使用 macOS 原生颜色选择器
- 补齐 29 个语种的通用页 Pro 权益说明和“不支持”状态文案,并扩展 Pro / 标签颜色 / 本地化 QA 门禁
- 版本号更新为 `8.2.3`,Build 更新为 `20260629.1703`
## [8.2.1] — 2026-06-28
- 修复“设置 > 快捷键”页的自定义快捷键行排版:快捷键值、状态和操作入口改为同一行稳定布局,避免右侧控件纵向堆叠导致页面失衡
- 自定义快捷键未解锁入口统一改为全局皇冠 Pro pill,不再显示与其他 Pro 功能不一致的蓝色 `Pro` 按钮
- 未保存自定义快捷键时不再显示灰掉的“恢复默认”按钮,减少无效控件干扰;保存自定义值后仍可恢复默认
- 明确本机验收方式:使用 QA 环境变量 `TAGLAUNCHER_QA_PRO_STATE=pro` 可在不走真实 App Store 购买的情况下验证 Pro 自定义快捷键,关闭该变量后恢复真实权益状态
- 版本号更新为 `8.2.1`,Build 更新为 `20260628.2354`
## [8.2.0] — 2026-06-28
- 新增 Pro 自定义快捷键:Pro 用户可在“设置 > 快捷键”分别修改 App Grid 全局唤起和 Quick Search 全局唤起快捷键
- 免费用户继续固定使用默认快捷键:App Grid 为 `⌥⇧Space`,Quick Search 为 `Fn+Space`;即使本机存在历史自定义值,免费态也不会生效或写入真实自定义快捷键数据
- 自定义快捷键沿用 Carbon `RegisterEventHotKey`,不新增 Accessibility、Input Monitoring、CGEventTap 或私有 API;录制仅在设置窗口内通过本地键盘事件完成
- 快捷键保存改为事务式注册:候选快捷键先验证并注册成功后才替换旧快捷键和持久化;注册失败时旧快捷键继续可用
- 增加快捷键合法性校验:拒绝无修饰键、单普通键、Shift-only、Option-only、明显 macOS 保留组合,以及两个入口重复使用同一个快捷键
- Pro 权益变化后会重新注册有效快捷键;菜单栏和设置页统一显示当前真正生效的快捷键
- 补齐 29 个语种的自定义快捷键、录制、恢复默认、错误提示和 Pro 解锁文案
- 新增 `Scripts/pro_custom_hotkeys_qa.sh`,并扩展 Pro 门禁 QA,覆盖 Pro 硬门禁、事务式注册、递归安全的有效快捷键计算、本地录制和多语言文案
- 版本号更新为 `8.2.0`,Build 更新为 `20260628.2308`
## [8.1.7] — 2026-06-28
- 主题页新增可调的“暗色炫彩”和“亮色炫彩”主题:`深蓝`更名为`暗色炫彩`,`炫彩`更名为`亮色炫彩`,两者都纳入 Pro 主题范围并复用现有免费预览倒计时
- `暗色炫彩`默认采用方案 1「极夜孔雀」视觉:深青黑底、孔雀蓝和冷翠绿液体光带;滑轨拖动只在暗色可读范围内改变背景液体流动色彩
- `亮色炫彩`保留明亮年轻的彩色方向,默认滑轨位置固定为最左端;滑轨拖动只在亮色可读范围内改变背景色彩
- 主题页中两个炫彩主题固定在最后一排左右对称显示,选中后下方出现整行调色滑轨;顶部不再重复显示“主题”和说明短文案,减少纵向空间浪费
- 免费用户调色只作用于本次 Pro 预览,不写入真实主题设置;Pro 用户调色会持久化并在重启后恢复
- About 页 Pro 升级卡片不再直接展示本地价格,购买价格交由 App Store 标准购买弹窗展示
- 新用户首次安装默认图标大小调整为 `56`;已有用户保存过的图标大小不迁移、不覆盖
- 补齐 29 个语种的“暗色炫彩 / 亮色炫彩”和调色滑轨文案,并更新主题 QA 门禁
- 版本号更新为 `8.1.7`,Build 更新为 `20260628.2035`
## [8.1.6] — 2026-06-28
- Pro 主题免费体验增加可见倒计时:主题页状态行显示剩余时间,当前预览主题卡片显示 `MM:SS`,体验到期后静默恢复到用户真实可用主题
- 倒计时从真实 `ProThemePreviewState.endsAt` 推导,不在文案中写死 5 分钟;切换 Pro 主题会重置计时,选择免费主题会停止预览并保存免费主题
- SmartStart 智能初始化默认标签从 13 个进一步收敛为 12 个:`Meeting / 会议` 不再单独创建默认标签,统一归入 `Communication / 沟通`
- 补齐 29 个语种的 Pro 主题倒计时文案,并更新 SmartStart 默认标签需求文档与 QA 门禁
- 修复隐藏 Dock 图标时 AppGrid 通过热键打开后键盘焦点不稳定的问题,确保 `Esc` 可正常关闭面板且不会重新显示 Dock 图标
- 修复全屏 Space 中 AppGrid 按 `Space` 打开 Quick Search 的键盘路由:仅在 AppGrid 可见且非编辑 / 非设置 / 非文本输入状态下临时接管裸 `Space`,不新增系统权限
- 加固窗口回归门禁,覆盖 Dock 隐藏、Quick Search、设置窗口、文件面板和全屏 Space 的层级与键盘路径
- 版本号更新为 `8.1.6`,Build 更新为 `20260628.0230`
## [8.1.5] — 2026-06-27
- 新增外部 URL 唤起入口:`taglauncher://show`,可由 BetterTouchTool 等第三方手势工具映射触控板手势后稳定显示 / 聚焦 App Grid
- `taglauncher://show` 复用现有 AppGrid 显示链路,不做 toggle,不接管系统原生触控板手势,不新增 Accessibility / Input Monitoring 权限,也不使用私有 multitouch API
- 冷启动收到 URL 唤起时会排队到 App 初始化完成后再显示 App Grid;运行中收到 URL 唤起时会清理 Quick Search 临时态并聚焦主面板
- 在设置 > 快捷键新增触控板手势说明,显示第三方工具应调用的 `taglauncher://show`;补齐 29 个语种文案
- 新增 `Scripts/url_scheme_activation_qa.sh`,覆盖 URL Scheme 注册、show/focus 语义、冷启动 pending、本地化文案和私有手势 API 禁止项
- 加固 `Scripts/window_logic_qa.sh` 的 Dock 图标断言:本机 Dock 固定正式版 TagLauncher 时,窗口回归只统计当前 QA 构建路径,避免误报重复 Dock 图标
- 版本号更新为 `8.1.5`,Build 更新为 `20260627.1908`
## [8.1.4] — 2026-06-27
- 继续精简 SmartStart 智能初始化默认分类:新用户 / 重置智能初始化方案后的默认标签从 15 个收敛为 13 个
- `Finance / 财务` 和 `Other / 其他` 不再作为默认智能初始化标签;catalog 中命中这两类的应用会回到未分类,不会被强行归入其它标签
- 保持不做老用户迁移:已有用户的旧标签和手动分类关系不扫描、不改名、不删除
- 更新 `Scripts/smartstart_default_categories_qa.sh`,防止 `finance` / `other` 重新进入默认标签或 catalog 归一化结果
- 版本号更新为 `8.1.4`,Build 更新为 `20260627.1643`
## [8.1.3] — 2026-06-27
- 精简 SmartStart 智能初始化默认分类:新用户 / 重置智能初始化方案后的默认标签从 39 个收敛为 15 个,降低初次使用时的分类冗余
- 合并细分分类:`Office / PDF / Writing` 归入 `Office & Docs`,系统工具相关分类归入 `System Tools`,开发相关分类归入 `Coding`,设计相关分类归入 `Design`,`Video / Audio / Games` 归入 `Entertainment`
- SmartStart 第三方应用 catalog 和 Apple 自带应用 catalog 在写入前统一归并到 15 个默认标签;已有用户的旧标签保持原样,本轮不做老用户旧 39 标签自动迁移
- 更新 29 个语种中 15 默认分类的关键目标文案,并新增 `Scripts/smartstart_default_categories_qa.sh`,防止默认分类数量、归并入口和首次 starter tags 回退
- 版本号更新为 `8.1.3`,Build 更新为 `20260627.1605`
## [8.1.2] — 2026-06-27
- 优化样式 2 / 样式 3 的底部特殊容器排版:`未分类`和`Mac 自带`都固定在瀑布流底部并横向占满,`未分类`倒数第二、`Mac 自带`最后显示
- 样式 2 / 样式 3 中,底部特殊容器上方各列的最后一个普通容器会向下补齐到同一底线,避免短列和底部全宽容器之间出现参差的大空隙
- 其它 AppGrid 样式、标签数据、排序、主题、Pro 权益和拖拽语义保持不变
- 版本号更新为 `8.1.2`,Build 更新为 `20260627.0106`
## [8.1.1] — 2026-06-26
- 优化样式 2 / 样式 3 的 Mac 自带容器布局:瀑布流容器样式下固定到底部并横向占满,避免窄列过高挤压其它分组
- 调整 Pro 状态入口:升级卡从“数据”页迁移到“关于”页,数据页重新专注于分类方案、导入导出和气泡显示位置设置
- 菜单栏下拉项新增当前免费 / Pro 身份状态:免费用户可点击进入“关于”页升级;Pro 用户显示金色皇冠图标和 Pro 身份文案
- 统一 Pro 胶囊为金色皇冠体系;免费版状态保持中性胶囊,避免把免费状态误读为已解锁 Pro
- 修复窗口回归中发现的 Quick Search 点击边界:结果行内文字 / 图标区域也能稳定触发启动和关闭;点击 TagLauncher 自身结果时只关闭当前浮层,不再通过外部激活把 AppGrid 重新拉起
- 补齐 29 个语言包的菜单栏 Pro 状态文案,并修正土耳其语免费用户文案 typo
- 版本号更新为 `8.1.1`,Build 更新为 `20260626.2229`
## [8.1.0] — 2026-06-26
- 新增免费版 + Pro 一次性买断解锁体系:核心标签整理、基础启动和 Quick Search 保持免费可用,高级主题、导入 / 导出布局、无限自定义备注和应用图标排序持久化纳入 Pro
- 新增 StoreKit 2 Pro 权益中心,支持购买、恢复购买、交易更新、离线缓存和 QA 状态注入;早于免费 + Pro 首个版本的历史付费用户会自动获得 Pro
- 主题页和数据页新增克制的 Pro 状态区与小型 Pro 胶囊:免费用户点击高级主题可限时预览但不写入真实主题,点击导入 / 导出会先看到 Pro 解锁提示,不会提前打开文件面板
- 备注和排序增加免费版保护:免费用户最多新增 5 个非空手写备注,已有备注仍可编辑;应用排序可临时预览但不会写入真实排序数据,避免免费预览污染用户布局
- 补齐 29 个语言包的 Pro 文案,并新增 `Scripts/pro_localization_qa.sh` 和 `Scripts/pro_feature_gate_qa.sh`,覆盖 Pro 文案完整性、StoreKit/老用户权益、主题门禁、导入导出硬拦截、备注额度和排序预览
- 版本号更新为 `8.1.0`,Build 更新为 `20260626.1726`
## [8.0.6] — 2026-06-25
- 修复非中文语言下初始化标签仍显示英文的问题:补齐 29 个语言包中的 `smart.category.*` 初始化分类标签文案,覆盖 SmartStart 默认分类、初次安装默认标签和标签导航显示
- App 启动后会按当前语言重新本地化带 `systemCategoryID` 的系统标签;已升级用户即使没有重新切换语言,也会把旧英文系统标签迁移为当前语言
- 新增 `Scripts/smart_category_localization_qa.sh`,检查 29 个语言包都包含完整 SmartCategory 文案,并禁止非英文语言包直接复制英文初始化标签(保留 `PDF`、`DevOps` 等技术通用词)
- 版本号更新为 `8.0.6`,Build 更新为 `20260625.1942`
## [8.0.5] — 2026-06-25
- 继续优化 App Grid 使用技巧关闭提醒弹窗:设置页预览里的蓝色说明右移,使箭头明确指向“隐藏使用技巧”的勾选框
- 放大提醒正文说明字号,并降低文字透明度,保持可读性同时不抢标题视觉层级
- 更新 `Scripts/usage_tips_close_reminder_qa.sh`,覆盖右移指示、正文说明字号与弱化颜色断言
- 版本号更新为 `8.0.5`,Build 更新为 `20260625.1726`
## [8.0.4] — 2026-06-25
- 优化 App Grid 使用技巧关闭提醒弹窗:设置页预览中的高亮说明改为居中显示,底部“不再提醒”选项与确认按钮同一行底部对齐
- “不再提醒”文案字号和字重提升到与确认按钮一致的 13pt semibold,减少视觉层级断裂
- 补强 `Scripts/usage_tips_close_reminder_qa.sh`,覆盖预览居中、底部行对齐和关闭提醒视觉排版断言
- 版本号更新为 `8.0.4`,Build 更新为 `20260625.1655`
## [8.0.3] — 2026-06-25
- App Grid 解除标签拖拽新增原生 Core Animation 预览反馈:当应用图标拖到容器外/容器之间空白区域时,拖拽浮层会进入克制的碎纸切片动效;容器内部空白不触发该预览,实际解除标签仍沿用原有放手后确认流程
- App Grid 使用技巧关闭前新增提醒:首次关闭会提示用户可在“设置 > 通用”取消“隐藏使用技巧”后重新查看,并提供“不再提醒”选项;确认后才真正隐藏 tips
- 使用技巧关闭提醒补齐 29 个语种文案,并新增本地化设置页预览,高亮“隐藏使用技巧”开关
- 更新 `Scripts/usage_tips_qa.sh` 并新增 `Scripts/usage_tips_close_reminder_qa.sh`,覆盖关闭提醒链路、modal 防穿透和 29 语种文案完整性
- 版本号更新为 `8.0.3`,Build 更新为 `20260625.1615`
## [8.0.2] — 2026-06-24
- 重设计 App Grid 底部使用技巧:改为原生 AppKit 分区式教学横幅,底部横向占满可用宽度,左侧为技巧编号与标题,中央为两行动作说明,右侧为上一条/下一条控制与页点
- 使用技巧横幅接入主题玻璃 token:默认、粉色、紫色、绿色、蓝色、炫彩等亮色主题使用浅玻璃配色;深蓝和黑色主题使用深色玻璃材质与白色文字,保证可读性
- 优化使用技巧横幅标题区:标题字号加大并加粗,标题和图标按当前主题使用高对比 accent;每条技巧使用不同语义图标,正文多段说明显示为编号步骤
- 更新第 1 条使用技巧为“编辑标签”:说明可在设置页切换到“标签”编辑,也可在标签列表双击标签快速进入标签编辑页;同步补齐 29 个语种文案
- 新增低视觉权重关闭按钮:默认半透明,hover 后更清晰;点击后持久关闭使用技巧,与设置页“隐藏使用技巧”一致
- 保持使用技巧区域的全宽事件拦截:点击横幅和其底部事件区域不会穿透到底层 App Grid,也不会误触发应用气泡或打开应用;只有命中箭头区域才切换技巧
- 补齐 29 个语种的 `usageTips.close` 文案,并更新 `Scripts/usage_tips_qa.sh`,覆盖分区布局、亮/暗主题配色、关闭动作、事件拦截、macOS 14 兼容和 29 语种文案完整性
- 版本号更新为 `8.0.2`,Build 更新为 `20260624.2341`
## [8.0.1] — 2026-06-24
- 新增 App Grid 主题系统:设置页新增“主题”页签,可在默认、深蓝、黑色、粉色、紫色、绿色、蓝色、炫彩 8 个主题之间切换
- 默认主题保留原来的浅色毛玻璃 App Grid;黑色主题使用 100% 纯黑全屏背景;其余主题使用全屏高级渐变背景,单个容器继续保持统一半透明玻璃面板,不在容器内部叠加渐变
- 深蓝和黑色主题自动切换为深色玻璃容器;粉色、紫色、绿色、蓝色、炫彩使用更明亮的全屏渐变和浅色玻璃容器,保证图标、容器标题和标签导航的可读性
- 二次调色粉色、绿色、紫色、蓝色和炫彩主题:粉色更明亮柔和,绿色更接近草坪绿树后的毛玻璃,紫色/蓝色与深蓝拉开辨识度,炫彩按 Meilang logo 取色方向变亮
- 编辑模式做减法:无论当前选择哪个主题,进入编辑后都临时使用默认浅色毛玻璃 App Grid;退出编辑后自动恢复用户原主题,避免每个主题下编辑控件和文字可读性不一致
- 优化启动和重开 App Grid 的加载体验:新建面板会先复用最近一次完整 App 列表快照,并延迟显示空态转圈,减少冷启动或快速打开时的等待感
- 标签导航支持双击快速进入设置页的“标签”页签;单击滚动、hover 自动滚动和长按标签排序行为保持不变
- 旧版 `useDarkAppGrid` 偏好自动迁移:已启用旧深色视图的用户升级后会进入“深蓝”主题,未启用的用户继续保持默认浅色主题
- 补齐 29 个语种的主题页签、主题说明和 8 个主题名称文案;移除旧“启用深色视图”设置文案,避免设置页出现重复入口
- 新增 `Scripts/theme_settings_qa.sh`、`Scripts/appgrid_startup_loading_qa.sh` 和 `Scripts/tag_double_click_preferences_qa.sh`,检查主题枚举、设置入口、偏好迁移、App Grid 渲染边界、编辑模式默认浅色主题 override、启动加载体验、标签双击设置入口和 29 语种文案完整性
- 版本号更新为 `8.0.1`,Build 更新为 `20260624.2021`
## [7.9.4] — 2026-06-19
- 补修 Apple 自带应用默认备注迁移:覆盖 7.9 之前已写入用户库、但没有 metadata 的历史默认文案,修复 Chess、TV、Phone、Freeform、Music、Time Machine 等应用切换到非中文语言后仍显示旧中文备注的问题
- Apple 默认备注迁移改为历史 fingerprint 白名单,不在运行时代码里维护旧中文展示文案,也不放宽为“看到中文就覆盖”,继续保护用户手写备注
- 加强 Apple 默认应用资源 QA:29 个语种的初始化备注禁止出现其他语种脚本污染,translations 和运行用 localizations 双重检查
- 加强迁移 QA:用真实暴露的旧中文默认备注作为 fixture,逐个验证迁移到 29 个语种后不会保留旧中文
- 版本号更新为 `7.9.4`,Build 更新为 `20260619.2221`
## [7.9.3] — 2026-06-19
- 修复 Apple 自带应用默认备注在切换语言后仍显示旧中文的问题;旧版本写入但缺少来源 metadata 的默认备注现在会按 bundle 精确匹配默认备注 fingerprint 后迁移为当前语言
- 保护用户手写备注和手动清空备注:只有匹配 Apple 默认备注集合的旧数据才会被迁移,manual 备注不覆盖
- 补齐当前系统内置 `com.apple.campo` / Siri 入口的 Apple 默认应用目录和 29 语种备注资源
- 优化 App Grid 使用技巧标题:标题居中显示并删除 29 个语种标题末尾冒号
- 增加 Apple 默认备注迁移 QA,覆盖旧中文默认备注、历史句号变体、Campo 资源完整性和手写备注保护
- 版本号更新为 `7.9.3`,Build 更新为 `20260619.2142`
## [7.9.2] — 2026-06-17
- 恢复 App Grid 标签列表 hover 自动滚动:鼠标停到某个标签时会自动滚动到对应容器,点击标签仍保持立即滚动
- 为 hover 自动滚动增加短延迟和同标签节流,避免快速扫过标签时重新引入容器抖动
- 保留拖拽保护:拖动应用或拖动标签排序时,标签 hover 不会触发自动滚动,避免干扰打标签和排序操作
- 修复标签输入偶发只能输入英文的问题;中文输入法组合字期间不再被 UI 状态刷新打断
- 修复关闭“在 Dock 中显示”后 Dock 图标可能残留的问题,切换到菜单栏模式时会更稳定地刷新 macOS activation policy
- 加固构建脚本和 macOS 14 typecheck QA 的 SDK 选择逻辑,避免本机 Swift / Xcode SDK 不匹配时无法生成包
- 新增 `tag_navigation_hover_scroll_qa.sh`,把“hover 标签必须触发受控滚动”纳入回归门禁
- 版本号更新为 `7.9.2`,Build 更新为 `20260617.2028`
## [7.9.1] — 2026-06-13
- 修复新建空标签后 App Grid 左侧标签栏和主体区域可能不显示该标签的问题;空标签现在会按当前视图显示最小容器,避免用户以为创建失败
- 修复拖动应用到容器外空白处解除标签时,部分 macOS 14 环境可能没有反应的问题;容器内部空白仍不会触发解除标签,保持产品口径一致
- App Grid 新增原生 AppKit 底部使用技巧悬浮条,支持翻页、可在设置中关闭、不会穿透点击到底层应用,并为 29 个语种的较长文案预留换行展示能力
- 优化使用技巧悬浮条排版:标题完整展示,正文分隔符按换行处理,页签指示点移动到左右箭头下方,右侧控制区固定,减少遮挡和误触
- 修复非中文使用技巧文案在两行高度内显示不完整的问题;27 个非中文语种的 8 条 tips 都改为稳定两行短句,避免第二段动作说明被裁掉
- 版本号保持 `7.9.1`,Build 更新为 `20260614.1454`
## [7.9.0] — 2026-06-11
- 新增容器内 App 手动拖拽排序:同一容器内拖动 App 可改变显示顺序,不改变 App 与标签的归属关系
- 新增稳定容器排序数据 `containerAppOrder`,使用非本地化容器 ID 保存顺序;刷新、重启、语言切换、导入导出、恢复上一方案和 SmartStart 替换时按统一规则保留、迁移或清理
- App Grid 拖拽链路增加同容器排序意图和插入位置提示;跨容器移动、Option 复制、拖空白移除、Apple 内置保护继续沿用原有逻辑
- 容器排序纳入分类方案 fingerprint 和自动上一方案快照,排序变化会被备份/恢复体系识别
- 新增 `Scripts/app_ordering_data_qa.sh`,覆盖排序 schema、导入导出、备份恢复、SmartStart 清理、ContentView/AppGrid wiring 和拖拽 payload 静态门禁
- 版本号更新为 `7.9.0`,Build 更新为 `20260612.1121`
## [7.8.31] — 2026-06-11
- 设置页 Data 面板按原型拆分为两个独立边框区域:“布局初始化”和“自定义布局”分开展示,避免重置初始化、恢复、导入导出混在同一块区域里
- “布局初始化”区域保留“未分类 / 智能化初始化分类 / 应用”流程;“自定义布局”区域保留上一个方案、当前方案、恢复、导出和导入
- 新增 `settings.customLayout` 文案键并补齐 29 个语种,保证多语言环境下第二个分区标题不会显示裸 key 或中文
- 版本号更新为 `7.8.31`,Build 更新为 `20260611.1928`
## [7.8.30] — 2026-06-11
- 设置页数据面板新增“布局初始化”选择:可在“未分类”和“智能化初始化分类”之间选择后点击应用
- 新增“重置为未分类”确认弹窗;确认后仅移除应用与标签的分类关系,使应用回到无普通标签状态,不删除应用、标签或备份
- “智能化初始化分类”继续沿用原有应用前确认与备份建议流程
- 版本号更新为 `7.8.30`,Build 更新为 `20260611.1858`
## [7.8.29] — 2026-06-11
- 修复 App Grid 编辑模式顶部操作区的视觉语义:`添加标签` / `移除标签` 改为 radio 选项样式,不再使用容易误认为主按钮的蓝色填充
- 将本轮操作选项移动到确认按钮前方,并把操作说明下移到确认区域下方,减少用户在左右两侧来回寻找的成本
- 放大 `确认添加` / `确认移除` 按钮的点击高度和宽度,使最终动作更醒目
- 更新编辑模式操作说明文案,明确“批量给应用打标签”的归属关系,并同步补齐 29 个语种;较长语种允许两行显示,避免提示被截断
- 版本号更新为 `7.8.29`,Build 更新为 `20260611.1808`
## [7.8.28] — 2026-06-11
- 修复设置页改用自定义顶部导航后,内容区域高度不足导致 General 等 tab 默认出现纵向滚动/底部内容被截断的问题
- 设置页窗口、SwiftUI 视图和 AppKit 手工窗口尺寸统一为稳定固定高度;顶部 tab button 放宽文字宽度并支持两行标题,避免英文标题被截断
- 构建脚本优先使用仓库内已验证的 `icon-icns.icns`,避免当前系统 `iconutil` 对临时 AppIcon iconset 判定不稳定导致打包失败
- 版本号更新为 `7.8.28`,Build 更新为 `20260611.1558`
## [7.8.27] — 2026-06-11
- 设置页顶部导航改为自定义稳定 tab bar,不再依赖 SwiftUI `TabView` 默认 macOS 样式,避免 macOS 14 与较新系统渲染成不同的工具栏/分段控件外观
- 保留设置页各 tab 内容逻辑,仅替换外层导航容器,降低对热键、App Grid、Quick Search 和数据层的回归影响
- 版本号更新为 `7.8.27`,Build 更新为 `20260611.1548`
## [7.8.26] — 2026-06-09
- 加固 Quick Search wrapper/helper 过滤:除 URL 组件判断外,直接识别 `.app/.../*.app`、`/Wrapper/`、`/Contents/Helpers/`、`/Contents/XPCServices/` 等内部 app 路径,避免内层 helper 继续作为独立搜索结果显示
- App 扫描层和 Quick Search 文档层同时应用内部 helper 过滤,确保“贝锐向日葵被控 / isunclient”这类 iOS-on-Mac wrapper 不再漏出内部英文技术名
- Quick Search 名称 QA 增加 helper path fixture,覆盖 `/Wrapper/`、`/Contents/Helpers/` 和 XPCServices 内部 app
- 版本号更新为 `7.8.26`,Build 更新为 `20260609.2004`
## [7.8.25] — 2026-06-09
- 新增统一 App 显示名解析策略:App Grid 和 Quick Search 标题优先使用当前语种的官方本地化名,再按同语系、系统/Finder/Spotlight 可见名、英文官方名和基础 bundle 名逐级 fallback
- Quick Search 搜索别名与结果标题分离:内部 bundle 名、可执行名和 bundle id 继续参与搜索匹配,但不再优先作为用户可见标题
- Quick Search 文档生成增加嵌套 `.app` 防御过滤,避免 wrapper / iOS-on-Mac 应用的内层 helper 作为独立结果漏出
- Quick Search 名称 QA 增加多语种 fixture、系统显示名 fallback、英文基础名保留和“贝锐向日葵被控 / isunclient”最终文档过滤检查
- 版本号更新为 `7.8.25`,Build 更新为 `20260609.1741`
## [7.8.24] — 2026-06-09
- 修复全新用户首次安装后,Smart Start 自动整理完成提示中点击“OK/好的”可能把整个 App Grid 关闭的问题;确认提示现在只关闭 Smart Start 弹窗,App Grid 会继续留在当前页面
- Smart Start 提示弹窗纳入 modal interaction 抑制范围,避免 AppKit 级 backdrop 关闭兜底把弹窗按钮点击误判为关闭整个 overlay
- 版本号更新为 `7.8.24`,Build 更新为 `20260609.1221`
## [7.8.23] — 2026-06-08
- 收敛 App Grid 顶部/侧边 tag hover 交互:鼠标悬停 tag 只保留高亮/填色,不再自动滚动到分组,避免 hover 与内容滚动互相触发造成可感知抖动