Releases: sparkle-project/Sparkle
More reliable migration from old Sparkle versions
No changes since 1.12 apart from change of framework's bundle ID from org.andymatuschak.Sparkle
to org.sparkle-project.Sparkle
.
This helps updating apps containing older versions of Sparkle (1.10 or older) which looked up resources by bundle ID and could get confused if another copy of Sparkle was present. Sparkle 1.11 and later is immune to this problem.
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.
Atomic installs
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.
Minor release fixing autoupdate on shutdown
This is a minor update to the stable version 1.11.
- Don't install automatic updates if the system might shut off #629
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.
Doubly verified DSA and Code Signing
Big improvements to code signing and DSA verification: Sparkle now checks not only whether an update is correctly signed, but also whether the updated version will be able to verify future updates. Updates now must either use DSA keys correctly, or not try to use them at all. Same goes for Apple Code Signing.
- Rely on code signing and the DSA key in the new app instead of appcast. If the new app has a public DSA key, then the appcast item must have a DSA signature for the app, even if the app is code signed. (Zorg)
- More verbose error message when DSA keys don't match (Kornel Lesiński)
- Added delegate methods for pre-download and immediately post-failed-download (Isaac Greenspan)
- Fixed Lucida Grande is always used for release notes (LIU Dongyuan / 柳东原)
- Only remove quarantine with setResourceValue: when it's present. Fixes "Unable to quarantine: 93" messages from showing up in the console. (Zorg)
- Fixed const and nullability warnings (Jake Petroules, Kornel Lesiński)
- Replaced deprecated NSRunAlertPanel/alertWithMessageText (Kevin Wojniak)
- Imported the Foundation umbrella header in all the public headers (C.W. Betts)
- pt-BR localization update (Victor Figueiredo)
- Reject unsupported code-signing xattrs in binary delta (Zorg)
- Fixed crash while applying delta update (antonc27)
- Added logging of appcast/download URL on error (Kornel Lesiński)
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.
1.10 Binary Delta
- Massive improvements to the BinaryDelta tool (Zorg)
- Ability to track file permissions (Zorg)
- Nicely formatted log output (Zorg)
- Numerous bug fixes in handling of symlinks, empty directories, case-insensitive names, etc. (Zorg)
- Refactored and modernized code (Zorg)
- libxar is no longer weak-linked (C.W. Betts)
- Double-check the code signature of the the app after installation (Isaac Wankerl)
- Added headless guided package installation (Graham Miln)
- Added ability to inject custom HTTP headers in appcast request (Mattias Gunneras)
- Changes to make unarching more reliable (Zorg, Kornel Lesiński)
- Have Sparkle build a framework module (C.W. Betts)
- Stdout used for non error outputs (JDuquennoy)
- French locale update (Kent Sutherland)
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.
1.9.0 Bug Fixes
- Added SUUpdater delegate method for failures. (Benjamin Gordon)
- Make the error definitions public (C.W. Betts)
- Add support for lzma compressed tarballs (Kyle Fuller)
- Back to SKIP_INSTALL=YES by default (Tony Arnold)
- Properly set install names and rpaths for targets (Jake Petroules)
- Use Library/Caches rather than app support directory (Kornel Lesiński)
- Check for a modal window being onscreen before trying to put up the Sparkle prompt (Alf Watt)
- Fixed crashes on 10.7 (Chris Campbell, Ger Teunis)
- Fixed Sparkle tags parsing (Tamás Lustyik)
- SULog code cleanups (Kevin Wojniak)
- Make sure CFBundleVersion is a semantic version number (Jake Petroules)
- Replace typedef enums with typedef NS_ENUM to make Swift happier (C.W. Betts)
- Fix warnings under Xcode 6.1 relating the SUUpdateAlert XIB (Tony Arnold)
- Prefer string constants to strings (Jake Petroules)
- Use Info.plist keys instead of macros (Jake Petroules)
- Only export public symbols. (Jake Petroules)
- BinaryDelta: avoid crash with bad paths (Jake Petroules)
- Fixing Swedish translations (Erik Vikström)
- Turkish localization fixes (Emir)
- Proofing of Ukrainian localization (Vera Tkachenko)
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.
1.8.0 ARC
- New
SUDSAVerifier
based on up-to-date OS X APIs (Zachary Waldowski) - Detailed error log for failed signature checks (Kornel Lesiński)
- Converted Sparkle to ARC (C.W. Betts)
- Converted ivars to properties. (Jake Petroules)
- Cocoapod support (Xhacker Liu)
- Quarantine removal on OS X 10.10 (C.W. Betts)
- Updated Japanese localization (1024jp)
- Added Greek localization
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.
A New Home
This is the first official release of Sparkle since 1.5b6 and the first release of Sparkle under the new Sparkle Project umbrella.
- Removed option to install unverified updates (Kornel Lesiński)
- Added detailed log when code signing verification fails (Sam Deane)
- Restored original Sparkle icon. (Jake Petroules)
- Switched SUUpdateAlert.xib to AutoLayout (Kornel Lesiński)
- Replace references to andymatuschak.org with sparkle-project.org. (Jake Petroules)
- Several code cleanups, modernizations, fixed warnings and improved code formatting (Jake Petroules)
- Make the repository significantly more organized. (Jake Petroules)
- Xcode project: set organization name and class prefix. (Jake Petroules)
- Link to Foundation and AppKit instead of Cocoa. (Jake Petroules)
- Use new operatingSystemVersion API when available. (Jake Petroules)
- Add .clang-format configuration file for source code formatting. (Jake Petroules)
- Add a target to build Sparkle API documentation using Doxygen. (Jake Petroules)
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.
1.7.0 for 10.7+
- Dropped support for Mac OS X 10.6. Sparkle now supports 10.7 and newer (including 10.10 Yosemite) on 64-bit Intel Macs (the last 32-bit Mac was released in 2006).
- Removed use of deprecated functions (Zachary Waldowski)
- Switched to modern Obj-C runtime and new literals syntax
- Removed pre-10.7 code. (C.W. Betts)
- Use more Blocks/libdispatch code. (C.W. Betts)
- Cleaned up and improved security of
generate_keys
/sign_update
scripts
Migration from 10.6
If you need to support users with 10.6 (Snow Leopard) or older, then please use the old Sparkle 1.5 or compile a 32-bit version of Sparkle 1.6.1.
Otherwise, if you update apps only on 10.7 or newer, then add the <sparkle:minimumSystemVersion>10.7</sparkle:minimumSystemVersion>
tag to <item>
s in your appcast. This will ensure that apps on 10.6 won't download an update they can't run.
Updated Updater
- Removed support for password-protected
.dmg
files. According to the survey (which is still open) it wasn't useful. - Code cleanups and Objective-C modernization thanks to @MaddTheSane
- Bug fixes — full changelog