Skip to content

Atomic installs

Compare
Choose a tag to compare
@kornelski kornelski released this 15 Dec 09:53
· 1079 commits to master since this release

⚠️ Do NOT use this or any older version of Sparkle ⚠️

This version significantly improves handling of interrupted installations, incorrect permissions, and quarantined files.

Sparkle is compatible with all OS X versions since 10.7 Lion, including 10.11 El Capitan (if you comply with App Transport Security).

  • Rewritten file operations for updating an app (Zorg)
    • Ensuring atomic move operations, robust error handling.
    • Faster.
    • Using modern APIs where possible (no FSPathMakeRef, FSGetCatalogInfo, FSFindFolder, etc.)
    • Strong documentation, easier to read code.
  • Automatic updates won't be installed if the system is about to shut off (Zorg)
  • Deprecated serving over HTTP without DSA (Zorg)
    • Note that Apple has deprecated insecure HTTP in OS X 10.11
  • Improved Autoupdate application (Zorg)
    • Do all the installation work after the runloop is set up
    • TerminationListener only does termination listening now
    • Handle cases where host path is not installation path and host path is not desired executable path
    • Don't show Autoupdate dock icon if we shouldn't show UI
    • Update modification & access time for new update
  • Added installUpdatesIfAvailable (Ian Langworth)
  • Removed extensions from shell scripts (Jake Petroules)
  • Rewritten test app so it works again, and from a local web server (Zorg)
  • Replaced use of Python with built-in web server (Kevin Wojniak)
  • Set LD_RUNPATH_SEARCH_PATHS in Podspec (Jake Petroules)
  • Don't install automatic updates if the system might shut off (Zorg)
  • Don't show Autoupdate dock icon if we shouldn't show UI (Zorg)
  • Updated layout constraints when removing release notes (Zorg)
  • Improved BinaryDelta error handling & logging (Zorg)
  • Refactored quarantine removal (Zorg)
  • Fixed German localization (1024jp)
  • Updated zh_CN translation (LIU Dongyuan / 柳东原)
  • Updated Mac models list until July 2015 (Gabriel Ulici)
  • Updated Polish translation (Kornel Lesiński)
  • Updated Xcode project languages for which we have translations (Jake Petroules)
  • Updated XIB files (Kornel Lesiński)
  • Use NSByteCountFormatter if available (Jake Petroules)
  • Declared protocols on SUUpdateAlert for the 10.11 SDK (Daniel Jalkut)
  • Silenced warning about casting away const-ness and -Wassign-enum (Daniel Jalkut)
  • Added script to generate a report comparing the Sparkle.strings files (Kevin Wojniak)
  • Check for empty strings (as well as nil) in SUHost's -name method (Karl Moskowski)
  • Don't follow symlinks for checking file existence (Zorg)
  • Unit tests in Swift (Zorg, Jake Petroules)
  • Fixed framework imports (Felix Schulze)
  • Fixed issues with copying files from different mounted drives (Zorg)
  • Disallowed automatic updates when user can't write to the bundle (Zorg)
  • Set the task working directories instead of changing the process working directory (Kevin Wojniak)

OS X 10.7 or later required

Make sure you add <sparkle:minimumSystemVersion>10.7</sparkle:minimumSystemVersion> tag to <item>s in your appcast. Sparkle will crash on Snow Leopard.

HTTPS or ATS exception required

OS X 10.11 deprecated HTTP and blocks updates unless you use HTTPS or disable App Transport Security.