Skip to content

2.1.0 Delta Updates Upgrade

Compare
Choose a tag to compare
@Sparkle-Bot Sparkle-Bot released this 18 Feb 19:32
· 289 commits to 2.x since this release

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 skipping a major version to not skip subsequent major versions (Zorg) (#2079)
    • Add sparkle:belowVersion element for informational updates (Zorg) (#2080)
    • Add option to allow developers to ignore/reset user skipped upgrades (Zorg) (#2081)
  • 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:]
  • 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)