2.1.0 Delta Updates Upgrade
This update introduces a new major format for delta updates, which migrates away from deprecated APIs (xar) and creates smaller patches. If you don't use generate_appcast
, please check the compatibility notes for creating delta updates.
- New Binary Delta format
- Features a custom and more efficient container format, migrating away from the deprecated xar format (Zorg) (#2051)
- Adds delta compression options for lzma, bzip2, zlib, lzfse, lz4, and no compression (Zorg) (#2051)
- Changes default delta format compression from bzip2 (in version 2) to lzma (in version 3) resulting in smaller deltas (Zorg) (#2051)
- Preserve file system (HFS+/apfs) level compression when applying delta updates (Zorg) (#2084)
- Tracks renames and binary diffs for files that have moved around to new locations using intelligent heuristics (Zorg) (#2051, #2053)
- Added more unit tests, UI tests, and generate_appcast/BinaryDelta tools support for the new format (Zorg) (#2052, #2054)
- Major upgrade improvements (#2070)
- Fix progress bar and button alignment for checking updates (Zorg) (#2066)
- Fix unsteady progress when installing updates (Zorg) (#2072)
- This deprecates
-[SPUUserDriver showInstallingUpdate]
and-[SPUUserDriver showSendingTerminationSignal]
in favor for-[SPUUserDriver showInstallingUpdateWithApplicationTerminated:]
- This deprecates
- Check http statusCode in didFinishDownloadingToURL (Eric Shapiro, Zorg) (#2049, #2073)
- Use strcoll_l() for locale-independent comparisons for delta updates (Dan Rigdon-Bel) (#2087)
- Fix version compare not treating '2.1.0' and '2.1' as being equal (Zorg) (#2065)
- Add verify and account options for signing updates (Zorg) (#2074)
- Add delta patch and Apple code signing verification in generate_appcast (Zorg) (#2076, #2077)
- Use more modern NSSecureCoding APIs when available (Zorg) (#2058)
- Use more modern FileManager APIs for copying files (Zorg) (#2059)
- Fix make release failing when customizing XPC_SERVICE_BUNDLE_ID_PREFIX (Zorg) (#2060)
- Preserve the Entitlements directory in podspec (digitalMoksha) (#2062)
- Add hidden option to generate_appcast to set max CDATA threshold (Zorg) (#2075)