github yuzeguitarist/Deck v1.2.5
v1.2.5 | Auspicious

latest releases: v1.4.5, v1.4.4, v1.4.3...
4 months ago

Deck


Release Notes v1.2.5

TL;DR

  • 智能文件名识别更准
    新增高置信度文本格式识别,Diff/Patch、LilyPond、XML(含 SVG/Plist)会优先命中,减少扩展名误判。
    Added high-confidence text format detection, so Diff/Patch, LilyPond, and XML family formats (including SVG/Plist) are recognized first with fewer wrong file extensions.
  • 存储维护默认更安全
    清理任务改为“先创建回滚快照再删记录”;快照创建失败时会跳过破坏性删除,避免误删后无法撤回。
    Maintenance now follows a “snapshot first, deletion second” flow; if snapshot creation fails, destructive deletion is skipped to prevent irreversible loss.
  • 性能与耗电继续优化
    轮询、日志写盘、网络接口探测、权限轮询等路径做了减负,长时间运行更稳更省资源。
    Polling, log writing, network interface probing, and permission timers were optimized for lower overhead and better long-running stability.
  • 同步与传输稳定性提升
    iCloud 同步状态管理和局域网传输容错加强,异常场景下更不容易中断。
    iCloud sync state handling and LAN transfer fault tolerance were improved to reduce interruptions in edge cases.
  • 剪贴板图片/文件处理更可靠
    文件路径解析、缩略图、图片尺寸和 Base64 图像缓存链路更一致,减少错误判定和异常。
    File-path parsing plus thumbnail/image-size/Base64 image caching flows are now more consistent, reducing misclassification and runtime issues.
  • 建议 1.2.4 用户升级
    本次 1.2.5 集中包含 4 组补丁(功能识别、性能、稳定性、维护安全),建议尽快升级。
    Version 1.2.5 bundles four patch groups (detection, performance, stability, and maintenance safety); upgrading is strongly recommended.

新增 / Added

  • Vim 导航方向可按习惯切换
    设置 -> 快捷键 -> VIM 模式 中新增 j/k 导航方向 选项,可切换 j→ k←j← k→
    Added a j/k navigation direction option in Settings -> Keyboard -> VIM Mode, so you can switch between j→ k← and j← k→.
  • 智能文件名新增高置信度格式识别
    文本转文件名时,优先识别 Diff/Patch、LilyPond、XML 家族(含 SVG/Plist),减少被代码语言误判的情况。
    Smart filename generation now prioritizes high-confidence formats such as Diff/Patch, LilyPond, and XML family types (including SVG/Plist), reducing language-based misclassification.
  • 补充智能文件名回归测试集
    新增覆盖 Diff、Unified Diff、Hunk 片段、Markdown 分隔线、LilyPond、XML、Swift/JSON/URL/纯文本等场景的回归测试。
    Added regression coverage for Diff/Unified Diff/Hunk snippets, Markdown separators, LilyPond, XML, and Swift/JSON/URL/plain text scenarios.

优化 / Improvements

  • 剪贴板轮询与预览触发路径减负
    轮询边界计算增加短时缓存,链接预取与状态栏提示减少不必要的异步跳转,降低高频路径开销。
    Poll-bound calculations now use short-lived caching, and link prefetch/status-bar pulse paths avoid unnecessary async hops to reduce hot-path overhead.
  • iCloud 同步状态读取更轻量
    变更令牌增加锁与缓存,抓取状态队列复用,减少重复解码和临时队列创建。
    Cloud change token handling now uses locking plus caching, and fetch-state queue reuse reduces repeated decoding and transient queue creation.
  • 上下文匹配与数据处理性能提升
    应用前缀匹配改为预排序缓存;导出、诊断、反馈邮件、文本转换中的日期/格式处理减少重复创建对象。
    App-prefix matching now uses pre-sorted caching, while export/diagnostics/feedback/text-transform date formatting avoids repeated formatter allocation.
  • 局域网直连网络探测更平稳
    物理网卡缓存加入加锁与刷新去重,复用监控队列,避免短时间内重复创建探测任务。
    LAN direct-connect interface caching now uses locking and refresh de-duplication with a reused monitor queue to avoid repeated probe tasks.
  • 日志系统加入节流与缓冲写盘
    Debug/Info 级日志按调用点节流,文件写入改为缓冲+批量落盘,降低日志风暴与磁盘 I/O 压力。
    Debug/Info logs are now call-site throttled, and file logging uses buffered batch flushes to reduce log storms and disk I/O pressure.
  • 计时器容差策略优化
    局域网确认弹窗和权限轮询计时器增加 tolerance,减少无意义唤醒。
    Timer tolerance is now set for LAN confirmation views and permission polling to reduce unnecessary wakeups.

变更 / Changes

  • 保留策略改为仅清理未标记内容
    按保留天数清理时,仅处理未打标签项(tag_id == -1),用户手动标记内容默认保留。
    Retention-based cleanup now applies only to untagged items (tag_id == -1), while user-tagged content is preserved by default.
  • 维护清理改为“快照成功后再删记录”
    无法创建回滚快照时,会跳过记录删除,优先保证可回退与数据安全。
    Record deletion now happens only after rollback snapshot creation succeeds; if snapshot creation fails, deletion is skipped for safety.
  • 快照替换顺序调整
    先持久化新快照,再清理旧快照,避免中途失败导致“新旧都不可用”。
    Snapshot replacement now persists the new snapshot first and deletes the old one afterward, preventing rollback gaps on mid-process failure.
  • 全量同步触发行为调整
    手动全量同步会先清空同步错误并重置变更令牌,再走统一拉取流程,状态管理更一致。
    Force full sync now clears sync errors and resets the change token before entering the standard fetch pipeline for more consistent state handling.

修复 / Fixes

  • 修复 IDE 上下文感知崩溃
    修复了复制文本时,读取 IDE 光标上下文偶发触发崩溃的问题。
    Fixed an intermittent crash when reading IDE caret context during text copy capture.
  • 修复副屏分类切换误隐藏
    修复了 Deck 面板在外接显示器上点击分类标签(如“全部/文本/图片/文件”)后意外隐藏的问题。
    Fixed an issue where Deck panel could unexpectedly hide after clicking category tags (such as “All/Text/Image/File”) on external displays.
  • 修复老系统面板无圆角
    修复了在 macOS 26 以下系统中,弹出面板外观为直角的问题。
    Fixed an issue where the panel appeared with square corners on macOS versions below 26.
  • 修复删除后预览不同步
    Command+P 面板中使用空格预览时,删除当前条目后,预览会立刻同步到新的当前条目;如果列表为空则自动关闭预览。
    Fixed a stale preview issue in the Command+P panel: when preview is open (via Space), deleting the current item now immediately updates preview to the new current item, or closes it when no items remain.
  • 修复跨应用文本误判无法解析
    针对 public.htmlpublic.utf16-plain-textpublic.utf16-external-plain-text 等文本类型增加兜底解析,降低在 Microsoft Edge、Kiro、微信等应用中出现“Deck 无法解析本剪贴板内容”的概率。
    Added fallback parsing for text payload types like public.html, public.utf16-plain-text, and public.utf16-external-plain-text, reducing false “Deck can’t parse this clipboard content” cases in apps such as Microsoft Edge, Kiro, and WeChat.
  • 修复菜单项初始化可选值风险
    暂停菜单项加入前先做可选值判断,避免初始化阶段的强制解包崩溃。
    Pause menu item insertion now checks optionals first, avoiding force-unwrapping crashes during initialization.
  • 修复剪贴板缓存并发读写稳定性
    URL、颜色、文件路径、缩略图、Base64 图片、图片尺寸等缓存链路补齐加锁与一致性更新,降低并发下异常概率。
    Cache flows for URL/color/file paths/thumbnails/Base64 images/image size now use stronger locking and consistent updates, reducing concurrency-related failures.
  • 修复文件路径解析兼容性
    文件列表同时兼容 file:// 和普通路径字符串,减少路径识别失败。
    File list parsing now supports both file:// URLs and plain path strings, reducing path resolution failures.
  • 修复筛选表达式构建中的崩溃风险
    多处条件拼接去除强制解包,避免过滤规则复杂时的空值崩溃。
    Multiple filter-expression builders were changed to avoid force-unwrapping, preventing nil-related crashes in complex rule combinations.
  • 修复图片预览与预览图空值判断
    预览图是否为空的判断改为更安全写法,避免中大图场景下的异常分支。
    Preview-thumbnail emptiness checks now use safer logic, preventing failure paths in medium/large image workflows.
  • 修复全局快捷键注册/卸载异常处理
    热键事件处理增加空指针保护与状态检查,安装/移除失败会记录错误并安全回收状态。
    Global hotkey handling now validates pointers and status codes; install/remove failures are logged and state is safely recovered.
  • 修复局域网传输中的边界与空值问题
    TOTP 截断加入边界保护;共享密钥缺失时改为安全跳过,避免异常中断。
    Added bounds checks in TOTP truncation and safe-guarded missing shared keys in LAN transfer to avoid runtime interruption.
  • 修复 Orbit 覆盖安装的静默失败
    备份已有应用失败时会明确抛错,不再悄悄继续导致状态不一致。
    Orbit overwrite-install now surfaces backup failures explicitly instead of silently continuing with inconsistent state.
  • 修复图标缓存复制失败回退
    图标尺寸副本创建失败时会安全回退到基础图标,避免缓存链路崩溃。
    Icon cache now safely falls back to base icons when sized-copy creation fails, avoiding cache-path crashes.
  • 修复维护扫描误判坏文件链接
    当记录中的存储路径文件仍存在时,扫描会直接跳过,避免误判为坏链接。
    Maintenance scan now skips records whose stored blob path still exists, avoiding false broken-link detection.
  • 修复 Swift 6 下 DirectConnectService 并发隔离编译报错
    调整 nonisolated 网络接口探测中的队列使用方式,避免主线程隔离引用导致的编译错误。
    Updated queue usage in nonisolated network-interface probing to avoid main-actor isolation compile errors under Swift 6.

兼容性与行为说明 / Compatibility & Behavior Notes

  • 异常上下文会自动降级处理
    当编辑器返回异常的行列信息时,Deck 会跳过异常位置信息而继续记录内容。
    When an editor returns invalid line/column context, Deck now skips invalid position data and continues capturing content.
  • 打标签内容不参与保留期自动清理
    使用保留天数清理时,已打标签的内容默认保留,不会被自动删除。
    Tagged items are excluded from retention-based automatic cleanup and remain preserved by default.
  • 快照创建失败时不会执行破坏性删除
    若维护任务无法创建回滚快照,会跳过记录删除,仅保留非破坏性流程。
    If rollback snapshot creation fails during maintenance, destructive record deletion is skipped and only non-destructive flows continue.

升级建议 / Upgrade Notes

  • 建议从 1.2.4 升级到 1.2.5
    本次版本主要解决稳定性问题,建议所有受影响用户升级。
    This release mainly addresses stability, and all affected users are encouraged to upgrade.


作者寄语 / A Note from the Author

写在 2026 农历新春

感谢每一位支持 Deck 的朋友。你们的反馈和耐心,让 Deck 一步步变得更稳、更好用。新的一年,愿你所想皆有回响,所行皆有收获。

To everyone who supports Deck: your feedback and patience have helped shape Deck into a more stable and more useful tool. Wishing you a rewarding and inspired Lunar New Year 2026.

Don't miss a new Deck release

NewReleases is sending notifications on new releases.