From f8e102d2756a56efb6b9d92e578aedc3b7d63084 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Wed, 20 May 2026 12:48:40 +0800
Subject: [PATCH] checkpoint: archive current 7.5.1 before performance optimization

---
 CHANGELOG.md |   90 ++++++++++++++++++++++++---------------------
 1 files changed, 48 insertions(+), 42 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 182cf6f..ac353eb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,8 +4,14 @@
 
 - 设置页新增独立「快捷键」页签,将主界面快捷键与 Quick Search 直接快捷键管理从「通用」页拆出
 - 移除设置页中与当前快捷键设置重复的静态按键帽提示,避免「关于」等页面继续展示旧快捷键视觉元素
-- 按 C 版规则收窄「快捷搜索」匹配:短查询不再放大无关结果,备注恢复拼音前缀匹配,Tag 支持原文非连续字符匹配,Bundle ID 与内部 Bundle 名仅支持精确/前缀命中
-- 版本号更新为 `7.5.1`,Build 更新为 `751`
+- 按 C 版规则收窄「快捷搜索」匹配:短查询不再放大无关结果,备注支持中文词拼音连续片段命中,Tag 支持原文非连续字符匹配,Bundle ID 与内部 Bundle 名仅支持精确/前缀命中
+- 移除快捷键自定义能力,快捷键页面只展示固定快捷键信息;构建号格式改为 `yyyyMMdd.HHmm` 并在打包时自动刷新
+- 修复全局快捷搜索失焦不关闭的问题:点击搜索框外部、点击其他 App 或 App 失去焦点时,会像 Spotlight 一样自动收起
+- 清理 Smart Start 默认目录备注中的开头标点,移除高置信别名重复项,并禁止用 App 名称加分类标签拼凑伪备注
+- 重新打包最新 Smart Start 终极默认分类目录,确保 App bundle 内置资源同步到最新 CSV/JSON
+- 快捷键页面和菜单改为显示真实快捷键注册状态;固定快捷键注册失败时显示「快捷键不可用」,并只在状态变化后打开设置页时给出黑底白字提示
+- 修复构建流程:Build 号只写入 App bundle 内的 `Info.plist`,打包脚本会验证源码 `Apptag/Info.plist` 未被构建过程改动
+- 版本号更新为 `7.5.1`,Build 更新为 `20260520.1228`
 
 ## [7.5.0] — 2026-05-19
 
@@ -17,7 +23,7 @@
 - Quick Search 使用 macOS Spotlight 风格玻璃面板,支持外部点击关闭、Esc 两级退出、结果滚动和稳定顶部定位
 - 启动历史增加最近成功启动时间,用于 Quick Search 空查询建议排序;启动失败不更新历史
 - 所有 Quick Search 用户可见文案接入本地化资源
-- 版本号更新为 `7.5.0`,Build 更新为 `750`
+- 版本号更新为 `7.5.0`,Build 更新为 `20260519.0750`
 
 ## [7.3.5] — 2026-05-18
 
@@ -33,32 +39,32 @@
 - 修复快速滑过 App 图标时旧用途气泡可能冻结在上一 App 上的问题,让新 hover 目标主动接管气泡状态
 - Smart Start 初始化目录切换为使用最新整理的 `tager` 字段生成运行时 JSON,覆盖 `5231` 个 App,并将 `4431` 条中文默认备注扩展为 29 种语言运行时备注
 - 统一 Smart Start 默认系统标签颜色分组,让网络/文件流、工作知识、开发 AI、内容媒体、系统能力等语义更接近的标签使用更一致的默认颜色
-- 版本号更新为 `7.3.5`,Build 更新为 `744`
+- 版本号更新为 `7.3.5`,Build 更新为 `20260518.0744`
 
 ## [7.3.4] — 2026-05-18
 
 - 优化应用列表打开速度:覆盖层窗口不再每次显示都销毁重建,减少重复初始化
 - App 扫描增加会话缓存,避免短时间内反复加载全部应用图标导致每次打开都长时间等待
 - 避免应用激活通知和首次显示同时触发重复全量刷新;刷新进行中时只保留必要的强制刷新请求
-- 版本号更新为 `7.3.4`,Build 更新为 `743`
+- 版本号更新为 `7.3.4`,Build 更新为 `20260518.0743`
 
 ## [7.3.3] — 2026-05-18
 
 - 拖拽 App 时会立即关闭并禁用 App 用途气泡,避免拖向目标容器时旧气泡继续遮挡视线
 - 「归类为未分类」确认浮层出现前会清理 App 气泡,确认决策期间不再显示背景 App 的说明气泡
-- 版本号更新为 `7.3.3`,Build 更新为 `742`
+- 版本号更新为 `7.3.3`,Build 更新为 `20260518.0742`
 
 ## [7.3.2] — 2026-05-18
 
 - 优化设置页「标签」界面布局,将标签列表内容区整体居中,避免左侧拥挤、右侧大面积留白
 - 标签名称区域改为自适应占用剩余空间,长标签名使用中间截断并保留悬停提示,兼顾不同语言长度
-- 版本号更新为 `7.3.2`,Build 更新为 `741`
+- 版本号更新为 `7.3.2`,Build 更新为 `20260518.0741`
 
 ## [7.3.1] — 2026-05-18
 
 - 将拖动 App 到「未分类」时的确认提示从系统弹窗改为应用列表内部浮层,视觉样式与现有确认反馈保持一致
 - 未分类确认浮层现在只覆盖 TagLauncher 应用列表窗口,提供「取消 / 确认」两个明确操作,并支持右上角关闭与 Esc 取消
-- 版本号更新为 `7.3.1`,Build 更新为 `740`
+- 版本号更新为 `7.3.1`,Build 更新为 `20260518.0740`
 
 ## [7.3.0] — 2026-05-18
 
@@ -66,7 +72,7 @@
 - 气泡提示设置改为「全部应用 / 仅不常用应用」二选一,并补齐多语言文案
 - 统一 App 图标 hover 焦点状态,降低快速滑过、视图复用或同一 App 出现在多个分组时出现小名字残影的概率
 - 当气泡提示范围选择「全部应用」时,hover 不再额外显示 App 图标下方的小名字,避免和大气泡重复
-- 版本号更新为 `7.3.0`,Build 更新为 `739`
+- 版本号更新为 `7.3.0`,Build 更新为 `20260518.0739`
 
 ## [7.2.0] — 2026-05-18
 
@@ -75,7 +81,7 @@
 - App 气泡提示改为稳定淡入,不再使用缩放弹跳动画
 - App 气泡定位改为使用 overlay 内部同一坐标系,修复纵向滑动时气泡和光标/App 距离越来越远的问题
 - App 气泡增加 macOS popover 风格尖角,明确指向触发它的 App
-- 版本号更新为 `7.2.0`,Build 更新为 `738`
+- 版本号更新为 `7.2.0`,Build 更新为 `20260518.0738`
 
 ## [7.1.0] — 2026-05-18
 
@@ -101,105 +107,105 @@
 - App 图标切换为最终确认的轻量版 `icns`,打包时直接使用 `Research/logo/TagLauncherIcon_v2_light.icns`
 - 菜单栏图标改为加载最终确认的 `SVG` 矢量资源,保留模板图标特性以适配系统明暗菜单栏
 - 放大菜单栏图标的矢量主体并将显示尺寸调整为 `19pt`,改善菜单栏中图标过小、不清晰的问题
-- 修正 build 731 引入的 hover 手感问题:App 图标 hover 放大改为极短交互动画,避免鼠标划过时出现慢动作拖尾
+- 修正 build 20260518.0731 引入的 hover 手感问题:App 图标 hover 放大改为极短交互动画,避免鼠标划过时出现慢动作拖尾
 - 修正容器 hover 凸起像慢镜头的问题:容器 lift 从 `0.25s` spring 改为极短 `easeOut`,保留反馈但去掉拖尾
 - 新增分类方案自动快照:用户主动改变标签归属、标签顺序、标签颜色、标签创建/删除/重命名时,会自动保存变动前方案到本地备份
 - 自动快照采用批次合并策略:同一轮连续编辑只生成一个“上一个分类方案”,当前分类方案时间戳随最新变动更新
 - 自动方案备份保留 30 天,旧记录会在后续变动、打开设置、导出或退出 App 时自动清理
 - 新安装 App 被扫描到但用户没有编辑时,不触发分类方案自动快照
 - 打包脚本在签名前清理 App bundle 扩展属性,避免资源文件元数据导致本地签名失败
-- 版本号更新为 `7.1.0`,Build 更新为 `737`
+- 版本号更新为 `7.1.0`,Build 更新为 `20260518.0737`
 
 ## [7.0.19] — 2026-05-17
 
 - 为 Apple 自带/Apple 官方 App 增加系统默认用途备注,每个 App 获得一句精简说明,作为首次使用时的小惊喜
 - 默认备注只写入现有 App 备注字段,不另建用户数据存储;用户右键编辑后会继续走同一套备注逻辑
 - 将 Safari、Mail、照片等高熟悉度 Apple App 排除在默认“不常用”之外,其余 Apple 自带/官方 App 默认标记为“不常用”
-- 版本号更新为 `7.0.19`,Build 更新为 `719`
+- 版本号更新为 `7.0.19`,Build 更新为 `20260517.0719`
 
 ## [7.0.18] — 2026-05-17
 
 - 导出文件名与设置页中的方案名称改为按当前界面语言实时重算前缀,不再沿用旧语言下保存的英文前缀
 - 补全日语下的方案相关文案与按钮文本,日语界面导出时会显示日文文件名前缀
-- 版本号更新为 `7.0.18`,Build 更新为 `718`
+- 版本号更新为 `7.0.18`,Build 更新为 `20260517.0718`
 
 ## [7.0.17] — 2026-05-17
 
 - 设置页「数据」里的 `Apply` / `Restore` 按钮改为自绘的稳定样式,不再依赖系统 `borderedProminent` 渲染
 - 按钮在禁用、重绘或语言切换时仍会稳定显示文字,避免出现只剩空白按钮壳的情况
-- 版本号更新为 `7.0.17`,Build 更新为 `717`
+- 版本号更新为 `7.0.17`,Build 更新为 `20260517.0717`
 
 ## [7.0.16] — 2026-05-17
 
 - 新安装用户首次启动时,“不常用 App 气泡提示”默认改为不勾选
 - 已有用户的已保存设置保持不变,不会被这次默认值调整覆盖
-- 版本号更新为 `7.0.16`,Build 更新为 `716`
+- 版本号更新为 `7.0.16`,Build 更新为 `20260517.0716`
 
 ## [7.0.15] — 2026-05-17
 
 - 修复设置页语言列表选中状态可能停留在 English 的问题:设置窗口显示时会强制同步当前实际语言
 - 语言变化通知缺少 code 时也会回读当前语言,避免 UI 文案与语言选择状态不一致
-- 版本号更新为 `7.0.15`,Build 更新为 `715`
+- 版本号更新为 `7.0.15`,Build 更新为 `20260517.0715`
 
 ## [7.0.14] — 2026-05-17
 
 - 导入分类与布局 JSON 时补充方案时间容错:优先读取文件名中的规范时间 `yyyy.MMdd.HHmm`
 - 如果导入文件名不含规范时间,则使用该 JSON 文件属性中的创建时间作为方案时间;创建时间不可用时回退到修改时间
 - 导入后的当前方案名称统一规范为带时间戳的本地分类方案,避免用户自定义文件名导致方案名称缺少时间信息
-- 版本号更新为 `7.0.14`,Build 更新为 `714`
+- 版本号更新为 `7.0.14`,Build 更新为 `20260517.0714`
 
 ## [7.0.13] — 2026-05-17
 
 - 设置页「数据」的分类方案面板改为固定右侧操作列,避免“应用”按钮在长方案名或布局刷新时被挤出/裁掉
 - “应用”和“恢复”按钮保持同列对齐,方案名称优先截断,操作按钮优先保留
-- 版本号更新为 `7.0.13`,Build 更新为 `713`
+- 版本号更新为 `7.0.13`,Build 更新为 `20260517.0713`
 
 ## [7.0.12] — 2026-05-17
 
 - 右键菜单中的“编辑用途备忘”对所有 App 开放,不再要求 App 已经属于“不常用”
 - 用户保存非空用途备忘时,系统会自动把该 App 标记为“不常用”,无需用户再手动归类
 - hover 大号名称与用途备忘严格服从设置:开启“仅对不常用显示”时只显示不常用 App,关闭时所有 App 都可显示
-- 版本号更新为 `7.0.12`,Build 更新为 `712`
+- 版本号更新为 `7.0.12`,Build 更新为 `20260517.0712`
 
 ## [7.0.11] — 2026-05-17
 
 - 设置页「数据」去掉“分类方案数据管理”重复标题,减少顶部视觉干扰
 - 去掉底部快捷键提示,把页面重心保留给分类方案管理和不常用 App 气泡提示
 - 将“系统智能化初始分类 / 上一个分类方案 / 当前分类方案”收紧为同一组信息,“上一个分类方案”上移到系统方案下方
-- 版本号更新为 `7.0.11`,Build 更新为 `711`
+- 版本号更新为 `7.0.11`,Build 更新为 `20260517.0711`
 
 ## [7.0.10] — 2026-05-17
 
 - 进一步优化设置页「数据」布局:分类方案数据管理面板加宽,标题居中,方案行采用固定标签列对齐
 - 去掉面板内“备份与恢复”小标题,将导出/导入按钮及说明文案居中显示在面板底部
-- 版本号更新为 `7.0.10`,Build 更新为 `710`
+- 版本号更新为 `7.0.10`,Build 更新为 `20260517.0710`
 
 ## [7.0.9] — 2026-05-17
 
 - 设置页「数据」布局优化:将“备份与恢复”的导出/导入操作整合进“分类方案数据管理”面板,统一归入分类方案数据管理范围
-- 版本号更新为 `7.0.9`,Build 更新为 `709`
+- 版本号更新为 `7.0.9`,Build 更新为 `20260517.0709`
 
 ## [7.0.8] — 2026-05-17
 
 - 分类方案名称中的生成时间改为语言无关的纯数字格式 `yyyy.MMdd.HHmm`,例如 `2026.0517.1804`
 - 已存在的旧式本地化日期方案名会在读取时自动规范化,导出文件名也同步使用新的数字时间格式
-- 版本号更新为 `7.0.8`,Build 更新为 `708`
+- 版本号更新为 `7.0.8`,Build 更新为 `20260517.0708`
 
 ## [7.0.7] — 2026-05-17
 
 - 参考编辑按钮的稳定事件路径,将设置按钮改为发送 App 内通知,由 AppDelegate 固定监听后打开设置窗口,减少静态代理调用链路导致的点击无响应
-- 版本号更新为 `7.0.7`,Build 更新为 `707`
+- 版本号更新为 `7.0.7`,Build 更新为 `20260517.0707`
 
 ## [7.0.6] — 2026-05-17
 
 - 设置页「数据」中“分类方案”标题改为“分类方案数据管理”
 - 调整系统智能化初始分类行布局,右侧固定显示「应用」按钮,避免长方案名挤占按钮空间
-- 版本号更新为 `7.0.6`,Build 更新为 `706`
+- 版本号更新为 `7.0.6`,Build 更新为 `20260517.0706`
 
 ## [7.0.5] — 2026-05-17
 
 - 修复浮层右上角设置图标点击仍可能无响应的问题:按钮命中判断改为按鼠标真实坐标查找被点击的原生图标控件,避免 SwiftUI 包裹层误判左右按钮
-- 版本号更新为 `7.0.5`,Build 更新为 `705`
+- 版本号更新为 `7.0.5`,Build 更新为 `20260517.0705`
 
 ## [7.0.4] — 2026-05-17
 
@@ -208,19 +214,19 @@
 - 当前方案和上一个方案会自动补齐带生成日期时间的系统方案名,不再显示泛化的“当前本地方案”
 - 导出分类与布局时,默认 JSON 文件名改为使用当前分类方案名,而不是导出当下的时间
 - 应用、导入、恢复分类方案后会通知应用列表刷新,减少设置页和主浮层显示不同步
-- 版本号更新为 `7.0.4`,Build 更新为 `704`
+- 版本号更新为 `7.0.4`,Build 更新为 `20260517.0704`
 
 ## [7.0.3] — 2026-05-17
 
 - 将应用列表浮层里的编辑/设置圆形图标改为原生 AppKit 点击控件,避免 SwiftUI 全屏浮层事件分发导致设置图标点击无响应
 - 从设置图标打开设置页时主动激活 App,提升 non-activating 浮层场景下设置窗口显示的稳定性
-- 版本号更新为 `7.0.3`,Build 更新为 `703`
+- 版本号更新为 `7.0.3`,Build 更新为 `20260517.0703`
 
 ## [7.0.2] — 2026-05-17
 
 - 修复给 App 写备注时中文/日文等输入法候选词窗口被全屏浮层遮住,导致无法选字的问题
 - 备注编辑期间会临时降低应用列表浮层层级,让输入法候选框显示在上方;退出备注编辑后恢复原最高层级
-- 版本号更新为 `7.0.2`,Build 更新为 `702`
+- 版本号更新为 `7.0.2`,Build 更新为 `20260517.0702`
 
 ## [7.0.1] — 2026-05-17
 
@@ -228,7 +234,7 @@
 - 设置窗口改为由 AppDelegate 统一创建和置顶管理,保证从菜单、快捷键或设置图标打开时都能显示在应用列表视图上层
 - 修复浮层点击分发逻辑过度转发 `NSControl`,导致设置图标点击可能无法打开设置窗口的问题
 - 打包脚本在构建开始时读取并校验 `Info.plist` 中的版本号和 Build 号,构建日志会明确显示当前打包版本
-- 版本号更新为 `7.0.1`,Build 更新为 `701`
+- 版本号更新为 `7.0.1`,Build 更新为 `20260517.0701`
 
 ## [7.0.0] — 2026-05-17
 
@@ -237,7 +243,7 @@
 - 将 Smart Start 提示从顶部横幅改为居中确认面板,放大标题、正文和按钮,避免用户错过“应用 / 暂不应用”的关键决策
 - 设置页「数据」页签显示当前分类方案和上一个分类方案名称,方案名称包含日期时间;导出分类与布局的默认文件名也追加日期时间
 - 应用列表右上角新增与编辑按钮风格一致的设置图标,方便用户直接进入设置页
-- 版本号更新为 `7.0.0`,Build 更新为 `700`
+- 版本号更新为 `7.0.0`,Build 更新为 `20260517.0700`
 
 ## [6.0.5] — 2026-05-16
 
@@ -254,7 +260,7 @@
 - 修复顶部模式说明使用无限宽度参与窗口约束计算时可能触发 AppKit 约束更新异常并闪退的问题
 - 修复新版 macOS 上 Safari 等系统 App 可能被扫描遗漏的问题:扫描器现在会识别搜索目录的直接 `.app` 子级、补充 Cryptex 系统应用目录,并用真实路径去重但保留稳定入口路径
 - 补齐编辑模式相关新增文案到全部语言文件,避免切换语言后出现缺失键
-- 版本号更新为 `6.0.5`,Build 更新为 `610`
+- 版本号更新为 `6.0.5`,Build 更新为 `20260516.0610`
 
 ## [6.0.0] — 2026-05-16
 
@@ -268,7 +274,7 @@
 - 为编辑模式新增只读标签状态区:单选显示当前标签,多选显示共同标签,并提示其他标签可能不同
 - 新扫描到的 App 会自动标记为“不常用”,并开始统计从 TagLauncher 打开的次数;达到 100 次后,只有系统自动加上的“不常用”才会被自动移除
 - 为新增功能补齐全部 29 个语言版本文案
-- 版本号更新为 `6.0.0`,Build 更新为 `600`
+- 版本号更新为 `6.0.0`,Build 更新为 `20260516.0600`
 
 ## [5.7.8] — 2026-05-15
 
@@ -285,7 +291,7 @@
 - 微调「应用列表样式」选择区:Flat 单独占满第一行,其余四个样式按两列两行排列,形成更稳定的视觉宽度关系
 - 收窄「应用列表样式」选项块高度,并为平铺、瀑布流容器、等高网格增加小图示,帮助用户快速区分布局类型
 - 在设置页的「语言」「数据」「关于」三个空白较多的页签增加 `⌥ + ⇧ + 空格键` 图形化快捷键提示,避免影响「通用」和「标签」页的主要设置/编辑区域
-- 版本号保持 `5.7.8`,Build 更新为 `583`
+- 版本号保持 `5.7.8`,Build 更新为 `20260515.0583`
 - 同步更新 `AppStore_Submission.md` 的版本信息和 What's New
 
 ## [5.7.5] — 2026-05-14
@@ -295,7 +301,7 @@
 - 修复全屏应用 Space 中打开设置时,设置窗口跑到其他窗口/屏幕的问题:设置窗口作为当前 TagLauncher overlay 的子窗口置顶显示
 - 优化设置窗口关闭后 overlay 的焦点恢复,减少设置窗口和主浮层之间的层级错乱
 - 为普通应用列表中的标签导航增加拖动排序退出兜底,尝试解决拖动后标签持续抖动的问题
-- 版本号更新为 `5.7.5`,Build 更新为 `575`
+- 版本号更新为 `5.7.5`,Build 更新为 `20260514.0575`
 
 ## [5.7.0] — 2026-05-13
 
@@ -305,7 +311,7 @@
 - 优化语言自动匹配逻辑,支持更多系统语言代码映射
 - 修复状态栏菜单项在语言切换后的刷新逻辑,避免重复创建状态栏图标
 - 固定设置窗口尺寸为 880×460,减少不同页签之间的高度和宽度跳动
-- 版本号更新为 `5.7.0`,Build 更新为 `570`
+- 版本号更新为 `5.7.0`,Build 更新为 `20260513.0570`
 
 ## [5.6.0] — 2026-05-13
 
@@ -317,7 +323,7 @@
 - App Store 沙盒构建下隐藏 Launch at Login 控件,避免沙盒环境中不可用功能误导用户
 - 移除已弃用的应用启动 API,统一使用现代 `NSWorkspace.OpenConfiguration`
 - 新增 App Store 沙盒 entitlements,支持 App Store 构建验证
-- 版本号更新为 `5.6.0`,Build 更新为 `560`
+- 版本号更新为 `5.6.0`,Build 更新为 `20260513.0560`
 
 ## [5.5.0] — 2026-05-11
 
@@ -329,14 +335,14 @@
 - 数据页按钮文案由「导出 tag / 导入 tag」改为「导出分类与布局 / 导入分类与布局」,并同步所有已支持语言
 - 增加旧版非沙盒数据到 App Store 沙盒容器的数据迁移逻辑,降低更新后标签和排序丢失风险
 - 新增 App Store 提审资料文档,记录版本信息、隐私说明、截图建议和审核备注
-- 版本号更新为 `5.5.0`,Build 更新为 `550`
+- 版本号更新为 `5.5.0`,Build 更新为 `20260511.0550`
 
 ## [5.2.0] — 2026-05-11
 
 - 重做 App 拖动预览实现,改为 CALayer / AppKit 预览层方式,提升拖动过程的稳定性和跟手感
 - 优化拖动预览在 overlay 和全屏 Space 中的显示层级,减少拖动图标被遮挡或丢失的情况
 - 保持拖动投放逻辑与分类容器绑定,继续支持移动/复制到目标标签
-- 版本号更新为 `5.2.0`,Build 更新为 `520`
+- 版本号更新为 `5.2.0`,Build 更新为 `20260511.0520`
 
 ## [5.1.12] — 2026-05-11
 
@@ -346,7 +352,7 @@
 - 优化标签数据库导入/导出和排序数据结构处理
 - 调整图标资源生成流程,删除旧 `AppIcon.iconset`,使用压缩后的 `icon-icns.icns` 降低包体体积
 - 补充应用描述相关本地化文案
-- 版本号更新为 `5.1.12`,Build 更新为 `512`
+- 版本号更新为 `5.1.12`,Build 更新为 `20260511.0512`
 
 ## [4.0.7] — 2026-05-11
 
@@ -354,7 +360,7 @@
 - 更新 9 个既有语言的视图名称和说明文案
 - 完善 `build.sh`,强化构建流程中的 bundle 结构、资源复制、权限设置、strip 和签名步骤
 - 新增 `make_dmg.sh`,支持生成 DMG 发布包
-- 版本号更新为 `4.0.7`,Build 更新为 `407`
+- 版本号更新为 `4.0.7`,Build 更新为 `20260511.0407`
 
 ## [4.0.0] — 2026-05-10
 

--
Gitblit v1.9.3