Ariver
2026-06-05 e5627facd571293ebba8f05f970121716af39603
CHANGELOG.md
@@ -1,4 +1,402 @@
# Apptag Changelog
# TagLauncher Changelog
## [7.8.14] — 2026-06-05
- 修复 Quick Search 和 App Grid 没有扫描 `/System/Library/CoreServices/Applications`,导致“钥匙串访问 / Keychain Access”等系统应用无法被检索和启动的问题
- 该目录纳入轻量应用目录签名检查;目录未变化时仍不会触发额外索引刷新,避免拖慢打开 App Grid / Quick Search 的体验
- 版本号更新为 `7.8.14`,Build 更新为 `20260605.0122`
## [7.8.13] — 2026-06-04
- 修复 App 运行期间新安装应用后,App Grid 和 Quick Search 仍复用旧应用索引、无法立即检索到新应用的问题
- App Grid / Quick Search 打开时会轻量检查标准应用目录签名;签名未变化时不刷新也不重建界面,只有目录变化时才后台重扫
- 刷新过程中再次打开 App Grid 或 Quick Search 会合并一个后续刷新请求,避免新安装发生在刷新窗口内被漏掉
- 窗口 QA 对 Dock 点击打开、App Grid 内打开 Quick Search 和 Quick Search 结果坐标读取增加短重试,避免系统事件或窗口列表瞬时抖动导致误判
- 版本号更新为 `7.8.13`,Build 更新为 `20260604.1121`
## [7.8.12] — 2026-06-04
- 修复 Quick Search-only 模式刚打开后可能被过期鼠标关闭事件立即关掉的问题;现在 `Fn + Space` 打开后候选面板会保持稳定,键盘取消和再次按 `Fn + Space` 仍可立即关闭
- 窗口 QA 增加对合成 `Fn + Space` 投递的重试,并把 Quick Search 结果点击坐标修正到首条结果行中心,避免测试误点面板背景
- 本次只收敛 Quick Search 打开/关闭时序和 QA 覆盖,不改搜索匹配、App Grid 布局、Settings、文件面板或窗口层级策略
- 版本号更新为 `7.8.12`,Build 更新为 `20260604.0105`
## [7.8.11] — 2026-06-03
- 优化 Quick Search 结果行右侧标签显示:短标签完整显示,右侧标签列右对齐并减少不必要留白
- 修复安装/卸载应用后 Quick Search 应用索引滞后的问题;应用目录变化后不再复用旧扫描缓存
- Quick Search 搜索结果会过滤磁盘上已不存在的 `.app`,避免用户点到已卸载应用
- 修复同一个 Bundle ID 但 App 名称不同的应用被错误去重的问题;例如 `PrivateVoice Input` 和 `PrivateVoice Dictation` 现在可以同时进入 App Grid 和 Quick Search
- 版本号更新为 `7.8.11`,Build 更新为 `20260603.2149`
## [7.8.10] — 2026-06-02
- 修复 Quick Search 面板四个圆角处出现脏色块的问题;面板内容改为按圆角形状裁剪,避免透明窗口边缘和背景叠加产生视觉瑕疵
- 优化 Quick Search 阴影表现:为独立面板预留阴影外扩空间,避免阴影被窗口边界裁切,并增强浮层感
- 本次只调整 Quick Search 面板视觉层,不改搜索匹配、快捷键、App Grid 入口、Dock 图标或窗口路由逻辑
- 版本号更新为 `7.8.10`,Build 更新为 `20260602.2302`
## [7.8.9] — 2026-06-02
- 新增 App Grid 拖拽到标签栏建立关联:在 5 种 App Grid 视图中,App 图标可拖到顶部、左侧或右侧标签名称上,放手后追加该标签关联
- 拖到标签名称时复用标签排序的视觉反馈:目标标签浮起,其他标签变暗,帮助用户确认即将生效的标签
- 标签栏 drop 只追加目标标签,不删除原有标签;已有关联时不重复写入
- 复用现有 App 拖拽协调器并增加 drop-target hover 通知,避免新增平行拖拽系统
- 版本号更新为 `7.8.9`,Build 更新为 `20260602.1929`
## [7.8.8] — 2026-05-31
- 修复全局 `Fn + Space` Quick Search-only 场景下,鼠标在候选区 hover 或点击结果后 App Grid / Overlay 可能残留或重新冒出的问题
- Quick Search 结果点击改为在鼠标事件完成后的主队列启动,避免 AppKit `mouseDown` 与窗口关闭交叉导致背板露出
- Overlay 关闭时不再复用已隐藏的旧 `NSPanel`,每次关闭都释放窗口实例,下一次显示重新绑定当前 Space,减少隐藏 Dock / 全屏 / Split View 场景下的幽灵窗口风险
- 移除顶部 AppKit 标签栏下方多余的浅灰色滚动条,同时保留标签栏横向滚动能力
- 加固 Dock 图标显式打开 App Grid 的判定:必须是最近真实鼠标点击且位于 Dock 区域,避免重复启动或程序化打开误触发 App Grid
- 窗口 QA 增加隐藏 Dock 下 Quick Search hover、点击搜索结果不弹 App Grid 的专项回归,并继续覆盖全屏、Split View、Settings、文件面板、Dock 图标和滚动后键盘路由
- 版本号更新为 `7.8.8`,Build 更新为 `20260531.1601`
## [7.8.7] — 2026-05-31
- 修复关闭“Show in Dock”后用主快捷键打开 App Grid 时 TagLauncher Dock 图标仍会闪现的问题;隐藏 Dock 图标设置现在严格生效
- 恢复“Show in Dock”开启时点击 Dock 图标打开 App Grid 的交互,同时继续阻止程序化重复启动误唤出 App Grid
- 加固 overlay 显示后的窗口 frame 复核,避免隐藏 Dock / 多屏 / 全屏场景下系统坐标变化导致 overlay 偏移
- 窗口 QA 增加 Dock 点击、隐藏 Dock 主快捷键、重复启动不弹 App Grid 的组合回归
- 版本号更新为 `7.8.7`,Build 更新为 `20260531.0252`
## [7.8.6] — 2026-05-31
- 修复未按主快捷键时 App Grid 可能被重复启动或外部激活路径误唤出的问题;App Grid 现在只由主快捷键或状态栏显式命令打开
- 加固重复实例移交逻辑:默认不再显示 App Grid,非显示型重复实例先切到 accessory,避免产生多个 Dock 图标
- 窗口 QA 增加“重复启动不显示 App Grid、不增加 Dock 图标”的回归用例
- 版本号更新为 `7.8.6`,Build 更新为 `20260531.0146`
## [7.8.5] — 2026-05-30
- 优化设置页语言列表布局:语言页从两列改为三列,并使用下方空白区域,默认可显示更多语言选项
- 版本号更新为 `7.8.5`,Build 更新为 `20260530.1744`
## [7.8.4] — 2026-05-30
- 修复全局 `Fn + Space` Quick Search 快捷键不能像 Spotlight 一样反复开关的问题;现在连续按会按 `出现 -> 消失 -> 出现 -> 消失` 循环
- 复用键盘关闭路径,Quick Search-only 模式关闭时会同步隐藏 overlay,避免残留透明窗口
- 版本号更新为 `7.8.4`,Build 更新为 `20260530.1727`
## [7.8.3] — 2026-05-30
- 修复设置窗口宽度不足导致系统 `Navigation Tab Bar` 折叠入口固定出现的问题,设置页签恢复直接可见
- 修复隐藏 Dock 图标时 Quick Search 独立唤出会导致 Dock/菜单图标短暂闪现的问题,同时保持输入框自动获得焦点
- 版本号更新为 `7.8.3`,Build 更新为 `20260530.1652`
## [7.8.2] — 2026-05-30
- 修复全局 `Fn + Space` 唤出 Quick Search 后输入框未立即获得焦点的问题,用户可以唤出后直接输入
- 修复只想打开 Quick Search 时 App Grid 主界面偶发被带出的竞态问题
- 补强连续快速按 `Fn + Space` 的 quick-only 会话隔离和防抖,避免 App Grid 被误渲染
- 补强 Quick Search 独立面板成为 key window 时的 `Esc` 兜底处理,避免出现退不出的残留 overlay
- 版本号更新为 `7.8.2`,Build 更新为 `20260530.1557`
## [7.8.1] — 2026-05-29
- 新用户首次安装时,App Grid 默认图标大小从 `80` 调整为 `64`,让初始界面更紧凑;已有用户已保存的图标大小设置不会被覆盖
- 版本号更新为 `7.8.1`
## [7.8.0] — 2026-05-29
- Quick Search 结果列表改为 AppKit-backed 渲染,保留原搜索匹配和启动逻辑,同时提升键盘选择、滚动跟随和结果列表稳定性
- Quick Search 从主 overlay SwiftUI 层拆出为独立 `NSPanel`,并保持与 AppGrid 同层级显示,避免全屏/Split View 场景下窗口层级或 Space 行为异常
- 新增 `OverlayWindowController`,将 overlay 窗口实例、Space 避让、show/focus/hide、屏幕选择、全屏/Split View 判定从 AppDelegate 中收口
- 新增 `AppLibraryController` 和 snapshot 数据刷新管线,集中处理 App 扫描、TagDatabase reconcile、Smart Start 应用、Quick Search 文档和标签颜色/顺序组装
- 设置页 Smart Start 路径模块化,系统智能化初始分类的扫描、应用和 snapshot 组装改由 `AppLibraryController` 统一处理
- 修复滚动 AppGrid 后 `Esc` 偶发无法关闭、`Space` 偶发无法唤出 Quick Search 的问题;overlay 键盘处理新增 AppKit `sendEvent` 兜底,AppGrid 滚轮进入时会重新声明 key/front
- 优化 AppGrid 滚动期间的刷新频率:滚动 burst 期间不再反复跨 SwiftUI 写入 hover 状态,滚动停止后再恢复 hover replay 和 visible item runtime state
- 窗口 QA 脚本补强滚动后 `Space` / `Esc` 连续循环验证,并继续覆盖全屏、Split View、Settings、文件面板、Force Quit、Dock 图标重复和屏幕跟随
- 版本号更新为 `7.8.0`
## [7.7.0] — 2026-05-28
- 标签栏完成 AppKit 化,支持顶部、左侧、右侧三种位置下的 AppKit-backed 标签导航
- 标签栏新增长按拖拽排序,排序命中、持久化和标签顺序刷新走 AppKit 路径
- 优化标签拖拽态视觉:拖拽中的标签增加浮起阴影、轻微放大和更高层级,用户更容易判断当前拖拽对象
- 拖出容器空隙时新增单标签移除确认:确认后只移除来源容器代表的那个标签;可选择“知道了,以后不用再提醒我”
- 拖到“未分类”时新增独立“不再提醒”选项;该开关与拖到空隙移除单标签的开关分离,避免混淆批量移除和单标签移除
- 修复 App 图标圆角外区域白边问题,当前 grid/rainbow AppIcon 的四角透明;清除旧“两张标签”图标生成逻辑,并让构建优先从 `AppIcon.appiconset` 生成 bundle 图标
- 清理旧 SwiftUI 浏览态 grid 命名残留,将 `AppGridItem.swift` 改名为 `AppGridSupport.swift`
- 版本号更新为 `7.7.0`
## [7.6.0 App Store Freeze] — 2026-05-24
- 冻结首轮 Mac App Store 准备资料,以本地 QA 通过 Build `20260524.1849` 为准
- 修复 Split View / 全屏 Space 中从 AppGrid 唤出 Quick Search 或 Settings 时触发 Space 滑动的问题,二级窗口现在继承同一次 overlay 会话的避让策略
- AppGrid、Quick Search、Settings、文件面板、强制退出窗口、多屏跟随、Dock/菜单栏状态已通过 `Scripts/window_logic_qa.sh` 全量窗口 QA
- 当前冻结 DMG SHA-256:`dc5bc9cf90b9e04a9e4fda155b757e6e0af681ff1b79bf109552ae0c3ce2a193`
- App Store 上传仍需 Apple Developer 账号中的 Mac App Distribution / Mac Installer Distribution 证书和 `com.taglauncher.app` 的 Mac App Store provisioning profile
## [7.6.0] — 2026-05-20
- 重写默认 App 网格主路径:`coloredGridContainer` / `gridContainer` 改为 AppKit-backed 主网格,使用 `NSCollectionView` 管理分组卡片、滚动、图标 hover 和拖拽 drop,默认路径不再依赖 SwiftUI `LazyVStack` / `LazyVGrid` 布局事务
- 修复 AppKit-backed 网格容器对齐:用自定义 `NSCollectionViewLayout` 复刻原来的行/span 规则,同一行卡片顶边一致,并按该行最高图标行数统一容器高度
- 针对假死报告中的 SwiftUI `AttributeGraph` / Lazy layout 栈,新增主网格热键开关与打开后等待采样验证,20 次 overlay 开关后 CPU 回到空闲水平且采样未再出现 `LazyLayoutViewCache`、`LazyStack`、`ForEachState`
- 统一运行时品牌标识:本地数据目录改为 `~/Library/Application Support/TagLauncher`,Bundle ID、LaunchAgent、状态栏 autosave 名和 Smart Start 内置目录中的 TagLauncher 自身条目同步改为 TagLauncher 命名空间,并移除不再需要的旧路径沙盒临时例外
- 优化 Smart Start 包体:App bundle 只打包 base/manifest 与按语言独立压缩的 notes 资源,构建时拒绝旧单体 JSON、CSV、translation cache、invalid cache 和未压缩 notes 混入包内
- 扩展 Smart Start 运行时分类体系,支持新版终极目录中的 GTD、笔记、会议、Office、PDF、API、数据库、DevOps、IDE、终端、窗口管理等更细分类
- Smart Start 运行时资源改为 base catalog + 29 个按语言拆分的 notes 文件,正常路径只加载当前语言和必要 fallback,不再长期持有 29 种语言 notes
- Smart Start 资源生成器新增 Swift runtime 分类兼容门禁、稳定 `entryID`、manifest 和 split resource 输出,避免未知分类被静默丢弃
- Smart Start 默认用途备注新增来源 metadata,系统默认备注可随语言切换更新,用户手写备注不会被语言切换覆盖
- 打包脚本改为只复制 split Smart Start 资源到 App bundle,不再把旧单体 runtime JSON/CSV 作为首发运行时资源
- 移除 Smart Start 终极默认目录中错误的 `thunder` 条目,避免将 Thunder 错分为 VPN/安全网络工具并写入错误用途备注
- 优化主界面滚动性能:网格容器改为懒加载,并在滚动期间临时冻结 App hover 放大、用途气泡和容器 hover 高亮
- 将主界面的分组结果与网格容器行布局改为缓存状态,避免鼠标 hover、搜索输入等轻量状态变化反复触发分组和布局计算
- 优化 Quick Search:打开浮层时复用已加载 App 数据,不再每次打开都触发全量刷新;搜索字段在索引阶段预计算,输入时避免重复规格化、首字母和拼音候选生成
- Quick Search 增加 App 本地化显示名索引:读取所有语言 `InfoPlist.strings` 显示名,并用 Spotlight display name 兜底,让 AweSun 这类英文文件名 App 可通过“贝锐向日葵/向日葵”搜索命中
- 对含非拉丁文字的 App 显示名启用拉丁化/转写候选,支持 `xiangrikui`、`beirui`、`xrk` 等连续片段和非连续缩写命中;该规则仅限 App 显示名,不扩散到 Bundle ID 或纯拉丁 App 名
- 减少 App 图标重绘:只有图标对象或尺寸变化时才触发 `NSView` 重绘
- 将当前满意版标记为 `7.6.0`,作为后续性能优化前的稳定归档基线
- 保留 7.5.1 的 Quick Search、快捷键状态、Smart Start 目录和文档沉淀成果,不引入新的功能变更
- 版本号更新为 `7.6.0`,基线 Build 为 `20260520.1250`;本次本地化显示名搜索验证 Build 为 `20260520.1452`
## [7.5.1] — 2026-05-19
- 设置页新增独立「快捷键」页签,将主界面快捷键与 Quick Search 直接快捷键管理从「通用」页拆出
- 移除设置页中与当前快捷键设置重复的静态按键帽提示,避免「关于」等页面继续展示旧快捷键视觉元素
- 按 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
- 新增 Quick Search:在 App list 中按 `Space` 打开快速搜索浮层,支持按 App 名称、本地化名称、标签、备注和 Bundle ID 本地搜索
- Quick Search 支持精确、前缀、子串、首字母缩写、非连续字符、中文直接匹配和本地中文拼音候选匹配
- 空查询显示最近/常用 App 建议,支持键盘上下选择、回车启动、鼠标悬停选择和点击启动
- 新增直接打开 Quick Search 的可配置全局快捷键,默认关闭,并支持快捷键录制、清除、恢复默认、重试注册和冲突状态提示
- 快捷键冲突状态区分 `Active` / `Conflict` / `Disabled`,已知 macOS 默认快捷键显示专用说明,注册失败时保留旧快捷键可用
- Quick Search 使用 macOS Spotlight 风格玻璃面板,支持外部点击关闭、Esc 两级退出、结果滚动和稳定顶部定位
- 启动历史增加最近成功启动时间,用于 Quick Search 空查询建议排序;启动失败不更新历史
- 所有 Quick Search 用户可见文案接入本地化资源
- 版本号更新为 `7.5.0`,Build 更新为 `20260519.0750`
## [7.3.5] — 2026-05-18
- 为菜单栏图标设置稳定 `NSStatusItem.autosaveName`,让 macOS 与 Thaw 更容易识别为同一个菜单栏项
- 菜单栏刷新时复用已有 `NSStatusItem`,避免语言刷新等场景反复删除重建导致位置记忆失效
- 为菜单栏按钮补充稳定 identifier 与 accessibility 标识,提升第三方菜单栏管理工具识别稳定性
- 修复全新用户使用英文等非中文界面时,部分 Apple App 默认用途备注仍被旧路径种成中文的问题
- 修复拖动 App 到“未分类”确认/取消后,浮层可能关闭且图标持续抖动、拖拽状态残留的问题
- 优化标签列表拖拽排序反馈:移除标签无限抖动,改为拖拽时其他标签降透明度,并缩短长按响应时间
- 修复设置页“应用系统智能化初始分类”确认提示可能跑到设置窗口背后、被遮挡的问题,并优化为更清晰的实底确认框
- 修复右侧标签列表点击后可能停留在拖拽视觉状态,导致后续标签无法正常点击切换的问题
- 修复拖拽状态重置后 App 图标网格可能大量不渲染的问题,确保平铺、容器、网格视图切换后图标完整显示
- 修复快速滑过 App 图标时旧用途气泡可能冻结在上一 App 上的问题,让新 hover 目标主动接管气泡状态
- Smart Start 初始化目录切换为使用最新整理的 `tager` 字段生成运行时 JSON,覆盖 `5231` 个 App,并将 `4431` 条中文默认备注扩展为 29 种语言运行时备注
- 统一 Smart Start 默认系统标签颜色分组,让网络/文件流、工作知识、开发 AI、内容媒体、系统能力等语义更接近的标签使用更一致的默认颜色
- 版本号更新为 `7.3.5`,Build 更新为 `20260518.0744`
## [7.3.4] — 2026-05-18
- 优化应用列表打开速度:覆盖层窗口不再每次显示都销毁重建,减少重复初始化
- App 扫描增加会话缓存,避免短时间内反复加载全部应用图标导致每次打开都长时间等待
- 避免应用激活通知和首次显示同时触发重复全量刷新;刷新进行中时只保留必要的强制刷新请求
- 版本号更新为 `7.3.4`,Build 更新为 `20260518.0743`
## [7.3.3] — 2026-05-18
- 拖拽 App 时会立即关闭并禁用 App 用途气泡,避免拖向目标容器时旧气泡继续遮挡视线
- 「归类为未分类」确认浮层出现前会清理 App 气泡,确认决策期间不再显示背景 App 的说明气泡
- 版本号更新为 `7.3.3`,Build 更新为 `20260518.0742`
## [7.3.2] — 2026-05-18
- 优化设置页「标签」界面布局,将标签列表内容区整体居中,避免左侧拥挤、右侧大面积留白
- 标签名称区域改为自适应占用剩余空间,长标签名使用中间截断并保留悬停提示,兼顾不同语言长度
- 版本号更新为 `7.3.2`,Build 更新为 `20260518.0741`
## [7.3.1] — 2026-05-18
- 将拖动 App 到「未分类」时的确认提示从系统弹窗改为应用列表内部浮层,视觉样式与现有确认反馈保持一致
- 未分类确认浮层现在只覆盖 TagLauncher 应用列表窗口,提供「取消 / 确认」两个明确操作,并支持右上角关闭与 Esc 取消
- 版本号更新为 `7.3.1`,Build 更新为 `20260518.0740`
## [7.3.0] — 2026-05-18
- 修复 Apple 系统自带 App 被拖入其他标签后从「Mac自带」分组消失的问题,「Mac自带」现在作为客观属性始终保留
- 气泡提示设置改为「全部应用 / 仅不常用应用」二选一,并补齐多语言文案
- 统一 App 图标 hover 焦点状态,降低快速滑过、视图复用或同一 App 出现在多个分组时出现小名字残影的概率
- 当气泡提示范围选择「全部应用」时,hover 不再额外显示 App 图标下方的小名字,避免和大气泡重复
- 版本号更新为 `7.3.0`,Build 更新为 `20260518.0739`
## [7.2.0] — 2026-05-18
- 统筹优化 App hover 交互:容器、图标和气泡不再同时做大幅动画,避免快速滑过时出现慢动作和卡顿
- 容器 hover 从凸起缩放改为轻量背景/阴影反馈,让图标放大成为主要 hover 反馈
- App 气泡提示改为稳定淡入,不再使用缩放弹跳动画
- App 气泡定位改为使用 overlay 内部同一坐标系,修复纵向滑动时气泡和光标/App 距离越来越远的问题
- App 气泡增加 macOS popover 风格尖角,明确指向触发它的 App
- 版本号更新为 `7.2.0`,Build 更新为 `20260518.0738`
## [7.1.0] — 2026-05-18
- 生成 Smart Start 终极默认分类表:合并 5000 App 主表、职业画像 App 表、游戏表、Top 1000 复核表和 Apple 自带 App 数据
- 终极表覆盖 `5231` 个唯一 App,剩余 `other` 数量降为 `0`,并为 `543` 个 App 准备默认用途备注
- Smart Start 运行时改为优先读取终极默认分类 JSON,支持按当前语言种下默认备注
- 有默认备注的 App 在系统种下备注时会自动标记为“不常用”,但不覆盖用户已有备注
- 设置页「数据」面板加宽,修复英文等语言下方案标签文字被截断的问题
- 首次安装默认设置调整:跟随系统语言,开机登录/Dock 显示/隐藏 App 名称默认打开,列表默认 `Colored Grid`、右侧标签、标签字号 `22`、图标大小 `80`
- 用户主动切换语言时,Smart Start 22 个系统标签会同步切换到对应语言
- 系统内置默认用途备注会在确认未被用户改写时,随语言切换刷新为对应语言版本
- 系统标签增加稳定身份字段,手动新建的同名标签保持用户自定义属性,语言切换时不会被误改
- 用户删除系统标签后会记录为已禁用,普通 Smart Start 刷新不会偷偷加回;显式应用系统初始方案时会重建
- 显式应用系统智能化初始分类时固定创建 22 个系统标签,包含暂时没有 App 的 `transfer` 等标签
- 应用列表右上角编辑/设置按钮统一为固定浮层锚点,左侧、右侧、顶部标签三种视图下位置保持一致
- 允许将 App 拖到“未分类”容器,确认后会解除该 App 当前全部标签关联,误拖可取消
- 拖到“未分类”时不再解除“不常用”状态,“不常用”只通过自动规则或用户手动操作改变
- 优化应用列表动效性能:移除滚动时每个 App 图标持续追踪全局坐标的状态写入,避免大量 hover/scroll 重绘
- 标签拖拽排序改为拖动结束后再写入数据库,减少拖动过程中的磁盘写入和卡顿
- 数据刷新不再用 UUID 强制重建整棵 App 列表,降低分类变更和拖拽后的大范围重布局
- 设置页导出/导入分类布局时,系统文件选择面板改为挂在设置窗口上的 sheet,避免被设置窗口层级挡住
- 补齐设置页「数据」面板分类方案管理文案的多语言适配,方案名前缀和“应用/恢复”等操作会跟随当前语言刷新
- App 图标切换为最终确认的轻量版 `icns`,打包时直接使用 `Research/logo/TagLauncherIcon_v2_light.icns`
- 菜单栏图标改为加载最终确认的 `SVG` 矢量资源,保留模板图标特性以适配系统明暗菜单栏
- 放大菜单栏图标的矢量主体并将显示尺寸调整为 `19pt`,改善菜单栏中图标过小、不清晰的问题
- 修正 build 20260518.0731 引入的 hover 手感问题:App 图标 hover 放大改为极短交互动画,避免鼠标划过时出现慢动作拖尾
- 修正容器 hover 凸起像慢镜头的问题:容器 lift 从 `0.25s` spring 改为极短 `easeOut`,保留反馈但去掉拖尾
- 新增分类方案自动快照:用户主动改变标签归属、标签顺序、标签颜色、标签创建/删除/重命名时,会自动保存变动前方案到本地备份
- 自动快照采用批次合并策略:同一轮连续编辑只生成一个“上一个分类方案”,当前分类方案时间戳随最新变动更新
- 自动方案备份保留 30 天,旧记录会在后续变动、打开设置、导出或退出 App 时自动清理
- 新安装 App 被扫描到但用户没有编辑时,不触发分类方案自动快照
- 打包脚本在签名前清理 App bundle 扩展属性,避免资源文件元数据导致本地签名失败
- 版本号更新为 `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 更新为 `20260517.0719`
## [7.0.18] — 2026-05-17
- 导出文件名与设置页中的方案名称改为按当前界面语言实时重算前缀,不再沿用旧语言下保存的英文前缀
- 补全日语下的方案相关文案与按钮文本,日语界面导出时会显示日文文件名前缀
- 版本号更新为 `7.0.18`,Build 更新为 `20260517.0718`
## [7.0.17] — 2026-05-17
- 设置页「数据」里的 `Apply` / `Restore` 按钮改为自绘的稳定样式,不再依赖系统 `borderedProminent` 渲染
- 按钮在禁用、重绘或语言切换时仍会稳定显示文字,避免出现只剩空白按钮壳的情况
- 版本号更新为 `7.0.17`,Build 更新为 `20260517.0717`
## [7.0.16] — 2026-05-17
- 新安装用户首次启动时,“不常用 App 气泡提示”默认改为不勾选
- 已有用户的已保存设置保持不变,不会被这次默认值调整覆盖
- 版本号更新为 `7.0.16`,Build 更新为 `20260517.0716`
## [7.0.15] — 2026-05-17
- 修复设置页语言列表选中状态可能停留在 English 的问题:设置窗口显示时会强制同步当前实际语言
- 语言变化通知缺少 code 时也会回读当前语言,避免 UI 文案与语言选择状态不一致
- 版本号更新为 `7.0.15`,Build 更新为 `20260517.0715`
## [7.0.14] — 2026-05-17
- 导入分类与布局 JSON 时补充方案时间容错:优先读取文件名中的规范时间 `yyyy.MMdd.HHmm`
- 如果导入文件名不含规范时间,则使用该 JSON 文件属性中的创建时间作为方案时间;创建时间不可用时回退到修改时间
- 导入后的当前方案名称统一规范为带时间戳的本地分类方案,避免用户自定义文件名导致方案名称缺少时间信息
- 版本号更新为 `7.0.14`,Build 更新为 `20260517.0714`
## [7.0.13] — 2026-05-17
- 设置页「数据」的分类方案面板改为固定右侧操作列,避免“应用”按钮在长方案名或布局刷新时被挤出/裁掉
- “应用”和“恢复”按钮保持同列对齐,方案名称优先截断,操作按钮优先保留
- 版本号更新为 `7.0.13`,Build 更新为 `20260517.0713`
## [7.0.12] — 2026-05-17
- 右键菜单中的“编辑用途备忘”对所有 App 开放,不再要求 App 已经属于“不常用”
- 用户保存非空用途备忘时,系统会自动把该 App 标记为“不常用”,无需用户再手动归类
- hover 大号名称与用途备忘严格服从设置:开启“仅对不常用显示”时只显示不常用 App,关闭时所有 App 都可显示
- 版本号更新为 `7.0.12`,Build 更新为 `20260517.0712`
## [7.0.11] — 2026-05-17
- 设置页「数据」去掉“分类方案数据管理”重复标题,减少顶部视觉干扰
- 去掉底部快捷键提示,把页面重心保留给分类方案管理和不常用 App 气泡提示
- 将“系统智能化初始分类 / 上一个分类方案 / 当前分类方案”收紧为同一组信息,“上一个分类方案”上移到系统方案下方
- 版本号更新为 `7.0.11`,Build 更新为 `20260517.0711`
## [7.0.10] — 2026-05-17
- 进一步优化设置页「数据」布局:分类方案数据管理面板加宽,标题居中,方案行采用固定标签列对齐
- 去掉面板内“备份与恢复”小标题,将导出/导入按钮及说明文案居中显示在面板底部
- 版本号更新为 `7.0.10`,Build 更新为 `20260517.0710`
## [7.0.9] — 2026-05-17
- 设置页「数据」布局优化:将“备份与恢复”的导出/导入操作整合进“分类方案数据管理”面板,统一归入分类方案数据管理范围
- 版本号更新为 `7.0.9`,Build 更新为 `20260517.0709`
## [7.0.8] — 2026-05-17
- 分类方案名称中的生成时间改为语言无关的纯数字格式 `yyyy.MMdd.HHmm`,例如 `2026.0517.1804`
- 已存在的旧式本地化日期方案名会在读取时自动规范化,导出文件名也同步使用新的数字时间格式
- 版本号更新为 `7.0.8`,Build 更新为 `20260517.0708`
## [7.0.7] — 2026-05-17
- 参考编辑按钮的稳定事件路径,将设置按钮改为发送 App 内通知,由 AppDelegate 固定监听后打开设置窗口,减少静态代理调用链路导致的点击无响应
- 版本号更新为 `7.0.7`,Build 更新为 `20260517.0707`
## [7.0.6] — 2026-05-17
- 设置页「数据」中“分类方案”标题改为“分类方案数据管理”
- 调整系统智能化初始分类行布局,右侧固定显示「应用」按钮,避免长方案名挤占按钮空间
- 版本号更新为 `7.0.6`,Build 更新为 `20260517.0706`
## [7.0.5] — 2026-05-17
- 修复浮层右上角设置图标点击仍可能无响应的问题:按钮命中判断改为按鼠标真实坐标查找被点击的原生图标控件,避免 SwiftUI 包裹层误判左右按钮
- 版本号更新为 `7.0.5`,Build 更新为 `20260517.0705`
## [7.0.4] — 2026-05-17
- 设置页「数据」中新增“系统智能化初始分类”方案,用户可直接点击应用,用系统内置智能方案覆盖当前本地方案
- 应用系统智能化初始分类前增加备份提醒确认,提示用户先导出备份,用户可确认应用或取消
- 当前方案和上一个方案会自动补齐带生成日期时间的系统方案名,不再显示泛化的“当前本地方案”
- 导出分类与布局时,默认 JSON 文件名改为使用当前分类方案名,而不是导出当下的时间
- 应用、导入、恢复分类方案后会通知应用列表刷新,减少设置页和主浮层显示不同步
- 版本号更新为 `7.0.4`,Build 更新为 `20260517.0704`
## [7.0.3] — 2026-05-17
- 将应用列表浮层里的编辑/设置圆形图标改为原生 AppKit 点击控件,避免 SwiftUI 全屏浮层事件分发导致设置图标点击无响应
- 从设置图标打开设置页时主动激活 App,提升 non-activating 浮层场景下设置窗口显示的稳定性
- 版本号更新为 `7.0.3`,Build 更新为 `20260517.0703`
## [7.0.2] — 2026-05-17
- 修复给 App 写备注时中文/日文等输入法候选词窗口被全屏浮层遮住,导致无法选字的问题
- 备注编辑期间会临时降低应用列表浮层层级,让输入法候选框显示在上方;退出备注编辑后恢复原最高层级
- 版本号更新为 `7.0.2`,Build 更新为 `20260517.0702`
## [7.0.1] — 2026-05-17
- 右侧标签栏模式下,编辑和设置图标改为固定横向排列,顺序为编辑在左、设置在右;标签列表从下方开始,避免互相遮挡
- 设置窗口改为由 AppDelegate 统一创建和置顶管理,保证从菜单、快捷键或设置图标打开时都能显示在应用列表视图上层
- 修复浮层点击分发逻辑过度转发 `NSControl`,导致设置图标点击可能无法打开设置窗口的问题
- 打包脚本在构建开始时读取并校验 `Info.plist` 中的版本号和 Build 号,构建日志会明确显示当前打包版本
- 版本号更新为 `7.0.1`,Build 更新为 `20260517.0701`
## [7.0.0] — 2026-05-17
- 新增 Smart Start 智能初始化分类:内置常见 macOS App 默认标签库,首次扫描后可为匹配应用生成多标签分类建议
- Smart Start 支持新用户自动应用、已有用户确认后应用,并保留应用前备份,允许从设置页查看当前/上一个分类方案并恢复
- 将 Smart Start 提示从顶部横幅改为居中确认面板,放大标题、正文和按钮,避免用户错过“应用 / 暂不应用”的关键决策
- 设置页「数据」页签显示当前分类方案和上一个分类方案名称,方案名称包含日期时间;导出分类与布局的默认文件名也追加日期时间
- 应用列表右上角新增与编辑按钮风格一致的设置图标,方便用户直接进入设置页
- 版本号更新为 `7.0.0`,Build 更新为 `20260517.0700`
## [6.0.5] — 2026-05-16
@@ -15,7 +413,7 @@
- 修复顶部模式说明使用无限宽度参与窗口约束计算时可能触发 AppKit 约束更新异常并闪退的问题
- 修复新版 macOS 上 Safari 等系统 App 可能被扫描遗漏的问题:扫描器现在会识别搜索目录的直接 `.app` 子级、补充 Cryptex 系统应用目录,并用真实路径去重但保留稳定入口路径
- 补齐编辑模式相关新增文案到全部语言文件,避免切换语言后出现缺失键
- 版本号更新为 `6.0.5`,Build 更新为 `610`
- 版本号更新为 `6.0.5`,Build 更新为 `20260516.0610`
## [6.0.0] — 2026-05-16
@@ -29,7 +427,7 @@
- 为编辑模式新增只读标签状态区:单选显示当前标签,多选显示共同标签,并提示其他标签可能不同
- 新扫描到的 App 会自动标记为“不常用”,并开始统计从 TagLauncher 打开的次数;达到 100 次后,只有系统自动加上的“不常用”才会被自动移除
- 为新增功能补齐全部 29 个语言版本文案
- 版本号更新为 `6.0.0`,Build 更新为 `600`
- 版本号更新为 `6.0.0`,Build 更新为 `20260516.0600`
## [5.7.8] — 2026-05-15
@@ -46,7 +444,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
@@ -56,7 +454,7 @@
- 修复全屏应用 Space 中打开设置时,设置窗口跑到其他窗口/屏幕的问题:设置窗口作为当前 TagLauncher overlay 的子窗口置顶显示
- 优化设置窗口关闭后 overlay 的焦点恢复,减少设置窗口和主浮层之间的层级错乱
- 为普通应用列表中的标签导航增加拖动排序退出兜底,尝试解决拖动后标签持续抖动的问题
- 版本号更新为 `5.7.5`,Build 更新为 `575`
- 版本号更新为 `5.7.5`,Build 更新为 `20260514.0575`
## [5.7.0] — 2026-05-13
@@ -66,7 +464,7 @@
- 优化语言自动匹配逻辑,支持更多系统语言代码映射
- 修复状态栏菜单项在语言切换后的刷新逻辑,避免重复创建状态栏图标
- 固定设置窗口尺寸为 880×460,减少不同页签之间的高度和宽度跳动
- 版本号更新为 `5.7.0`,Build 更新为 `570`
- 版本号更新为 `5.7.0`,Build 更新为 `20260513.0570`
## [5.6.0] — 2026-05-13
@@ -78,7 +476,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
@@ -90,14 +488,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
@@ -107,7 +505,7 @@
- 优化标签数据库导入/导出和排序数据结构处理
- 调整图标资源生成流程,删除旧 `AppIcon.iconset`,使用压缩后的 `icon-icns.icns` 降低包体体积
- 补充应用描述相关本地化文案
- 版本号更新为 `5.1.12`,Build 更新为 `512`
- 版本号更新为 `5.1.12`,Build 更新为 `20260511.0512`
## [4.0.7] — 2026-05-11
@@ -115,7 +513,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
@@ -137,7 +535,7 @@
## [3.1.35] — 2026-05-10
- 修复 overlay 显示时打开设置窗口不可见的问题:设置窗口会强制浮动在 Apptag 列表之上,确保用户能实时预览设置效果
- 修复 overlay 显示时打开设置窗口不可见的问题:设置窗口会强制浮动在 TagLauncher 列表之上,确保用户能实时预览设置效果
## [3.1.34] — 2026-05-10
@@ -165,7 +563,7 @@
## [3.1.28] — 2026-05-10
- 修复全屏 Space 下 Shift+Option+Space 唤出 Apptag 后 overlay 被全屏应用遮挡的问题:显示时刷新当前屏幕 frame,提升窗口层级并强制前置
- 修复全屏 Space 下 Shift+Option+Space 唤出 TagLauncher 后 overlay 被全屏应用遮挡的问题:显示时刷新当前屏幕 frame,提升窗口层级并强制前置
## [3.1.27] — 2026-05-07
@@ -222,7 +620,7 @@
## [3.1.13] — 2026-05-06
- 新增全局快捷键设置(Data 页签):点击按钮后按下新快捷键即可更改,支持任意组合键
- 菜单栏「Show Apptag」右侧显示当前快捷键
- 菜单栏「Show TagLauncher」右侧显示当前快捷键
- HotkeyHelper:Carbon keycode → 人类可读字符串(⇧⌥Space, ⌘A, F1 等)
## [3.1.12] — 2026-05-06
@@ -233,7 +631,7 @@
## [3.1.11] — 2026-05-06
- General 标签页:改用 Grid 布局替代固定 frame,标签列按内容宽度自动右对齐
- 点击 Dock 图标现在等同于菜单栏 "Show Apptag",直接全屏显示 APP 列表
- 点击 Dock 图标现在等同于菜单栏 "Show TagLauncher",直接全屏显示 APP 列表
## [3.1.10] — 2026-05-06
@@ -347,7 +745,7 @@
## [2.0] — 2026-05-06
- **架构级变更**:标签完全脱离 Finder,独立存储在本地 JSON 数据库 `~/Library/Application Support/Apptag/tags.json`
- **架构级变更**:标签完全脱离 Finder,独立存储在本地 JSON 数据库 `~/Library/Application Support/TagLauncher/tags.json`
- 首次启动一次性导入 Finder 存量标签(含"Mac自带"),之后不再触碰 Finder xattr
- 所有 CRUD(assign/rename/delete/setColor)写入本地 DB
- Preferences → Data 标签页:Export / Import JSON 备份恢复