Repository navigation
Releases: midasism/Updraft
Release list
Updraft v0.3.7
What's Changed
- feat: 白名单内的开源应用走 GitHub Release 查最新版本 by @midasism in #15
- feat: GitHub 查询结果落盘缓存,TTL 门 + ETag 条件重验证 by @midasism in #16
Full Changelog: v0.3.6...v0.3.7
Updraft v0.3.6
What's Changed
- docs: 老版本升不到 v0.3.4+,README 改成「需手动重装一次」 by @midasism in #13
- feat: App Store 应用走 iTunes Lookup 查最新版本 by @midasism in #14
Full Changelog: v0.3.5...v0.3.6
Updraft v0.3.5
What's Changed
- fix(settings): 设置 suite 名不再撞自己的 bundle id by @midasism in #11
- docs: 命名统一说明的版本号改成 v0.3.4 by @midasism in #12
Full Changelog: v0.3.4...v0.3.5
⚠️ 升级须知
如果你现在跑的是 v0.3.3 及更早,需要手动重新安装一次:从 Releases 下载最新版的 DMG 或 zip
覆盖安装(首次安装看 README 的「安装」一节)。改名顺带换了 Bundle ID,而老版本的自更新会拿包内
Bundle ID 跟目标应用比对、不一致就拒绝安装,所以老版本升不到 v0.3.4 及以后,会报
「安装包的 Bundle ID 是 com.local.updraft,与目标应用 com.local.appupdater 不一致」。
装好之后不用再管:首次启动会自动把 ~/Library/Application Support、~/Library/Caches
下的旧目录与老设置搬到新名字;此后自更新恢复正常,v0.3.4+ 之间互升级没有问题。
装完请把 /Applications/AppUpdater.app 删掉,避免两份并存。
Updraft v0.3.4
What's Changed
Full Changelog: v0.3.3...v0.3.4
⚠️ 升级须知
如果你现在跑的是 v0.3.3 及更早,需要手动重新安装一次:从 Releases 下载最新版的 DMG 或 zip
覆盖安装(首次安装看 README 的「安装」一节)。改名顺带换了 Bundle ID,而老版本的自更新会拿包内
Bundle ID 跟目标应用比对、不一致就拒绝安装,所以老版本升不到 v0.3.4 及以后,会报
「安装包的 Bundle ID 是 com.local.updraft,与目标应用 com.local.appupdater 不一致」。
装好之后不用再管:首次启动会自动把 ~/Library/Application Support、~/Library/Caches
下的旧目录与老设置搬到新名字;此后自更新恢复正常,v0.3.4+ 之间互升级没有问题。
装完请把 /Applications/AppUpdater.app 删掉,避免两份并存。
Updraft v0.3.3
What's Changed
- fix(network): 复用共享 URLSession,不再每次自检新建会话 by @midasism in #8
- feat(settings): 设置页展示备份占用,并给一个清空入口 by @midasism in #9
Full Changelog: v0.3.2...v0.3.3
Updraft v0.3.2
⚠️ 从 v0.3.1 升到本版时,仍需手动关闭一次
本版修的正是「升级完不自动退出、得手动关窗口」这个问题。但你现在跑的 v0.3.1 里就是那段坏掉的代码,
所以 0.3.1 → 0.3.2 这一次仍需手动关掉旧窗口;从本版开始,后续升级才会自动退出并打开新版本。
根因(两个独立问题,第二个被第一个掩盖)
- 自更新成功态的面板一直挂着时,
NSApp.terminate是空操作——调用 14ms 就返回,
连applicationShouldTerminate都不会被问。手动关闭之所以有效,正是因为它先把面板收了起来。 - 同 bundle id 已在运行时,
NSWorkspace.open只做激活、不开新实例(返回true但进程数不变)。
所以「自动打开新版本」此前也一直是坏的。
改法
收尾顺序改为「先收面板 → 0.6s 优雅退出 → 再 1s 兜底 exit(0)」;拉起新版本改走 /usr/bin/open -n。
新版本没拉起来就不退出(fail closed),面板会写明「没能自动打开新版本」,而不是留下一个已经
换了包却没人管的进程。
真机端到端验证过:本地造 0.3.0 → 触发下载真实 release → 旧进程自己走、新进程起来、磁盘版本更新,
退出时间线里没有兜底那行(说明走的是优雅退出,不是强杀)。
What's Changed
Full Changelog: v0.3.1...v0.3.2
Updraft v0.3.1
What's Changed
- feat: 主窗口搜索——按名称与 Bundle ID 实时过滤,批量升级所见即所升 by @midasism in #5
- fix(brew): 修掉 Homebrew 账本滞后导致的 6.17.0 → 6.17.0 假更新写法 by @midasism in #6
另有修复(直接合入主干,未走 PR)
定时检查与安装安全性收口(d8019a1):
- 检查期间屏蔽应用安装与自更新安装;从菜单栏退出也一并受关键换包保护
- 定时器在安装竞态中撤回触发,安装结束后下一拍重试
- 调度改按「最近一个计划 occurrence + 检查开始时刻」去重,睡眠跨天后可补查
- 持久化全量检查开始时刻,修掉跨午夜完成导致次日漏查
- 日历改用
autoupdatingCurrent,跟随时区变化 - 自更新检查请求合并,避免并发调用拿旧状态发通知
- 空结果也显示「已检查」;补齐菜单栏安装状态
昨天已手动检查过时,不再误判为漏查 occurrence(dbd4d73)。
Full Changelog: v0.3.0...v0.3.1
Updraft v0.3.0
What's Changed
- feat: Updraft 自更新全链路(检测 + Ed25519 验签 + 自替换) by @midasism in #2
- feat: 菜单栏常驻 + 每日定时检查 + 系统通知 by @midasism in #3
Full Changelog: v0.2.2...v0.3.0
Updraft v0.2.2
Updraft v0.2.1
Full Changelog: v0.2.0...v0.2.1