Releases: sparkle-project/Sparkle
2.9.0-beta.2
Changes since 2.9.0 beta 1:
- Preserve XML whitespace better when signing appcast feed (#2840) (Zorg)
- Expose
--disable-signing-warningflag in signing tools (#2841) (Zorg) - Update Vietnamese translation (#2839) (TranPhuong319)
- Update API documentation for updates checked in background (#2842) (Zorg)
- Fix signature verifier class collisions in unit tests (#2843) (Zorg)
Overall changes to 2.9.0:
- Add basic markdown support for release notes (requires macOS 12+) including customizing its presentation (#2810, #2817) (Zorg)
- Add support for signing and verifying appcast feeds (#2822, #2828) (Zorg)
- Add sparkle:hardwareRequirements for enforcing an Apple silicon (arm64) requirement (#2797) (Zorg)
- Add sparkle:minimumUpdateVersion for specifying a minimum version an app needs to be on before upgrading (#2811) (Zorg)
- Add API annotations for Swift concurrency (#2827) (Zorg)
- Validate Obj-C class when reading objects from user defaults / Info plists (#2782) (Zorg)
- Download temporary files in-memory using NSURLSessionDataTask (#2825) (Zorg)
- Allow impatient update check interval to be configured for updates that are downloaded automatically (#2799) (Zorg)
- Add
allowsAutomaticUpdatesproperty to determine if automatic downloading/installing of updates option should be enabled (#2809) (Zorg) - Add Vietnamese translation (#2816, #2839) (TranPhuong319)
- Add missing nn language to Installer progress Info.plist (#2818) (Zorg)
- Find non-canonical Sparkle.framework locations in generate_appcast when creating delta updates to determine compatibility (#2833) (Zorg)
- Make Debug builds of Sparkle use same time interval settings as Release (#2805) (Zorg)
- Remove sparkle-cli from the binary distribution (#2826) (Zorg)
This release adds appcast enhancements such as markdown support and signed feeds.
CocoaPods distribution is now deprecated. Please consider migrating away.
2.9.0-beta.1
Changes:
- Add basic markdown support for release notes (requires macOS 12+) including customizing its presentation (#2810, #2817) (Zorg)
- Add support for signing and verifying appcast feeds (#2822, #2828) (Zorg)
- Add sparkle:hardwareRequirements for enforcing an Apple silicon (arm64) requirement (#2797) (Zorg)
- Add sparkle:minimumUpdateVersion for specifying a minimum version an app needs to be on before upgrading (#2811) (Zorg)
- Add API annotations for Swift concurrency (#2827) (Zorg)
- Validate Obj-C class when reading objects from user defaults / Info plists (#2782) (Zorg)
- Download temporary files in-memory using NSURLSessionDataTask (#2825) (Zorg)
- Allow impatient update check interval to be configured for updates that are downloaded automatically (#2799) (Zorg)
- Add
allowsAutomaticUpdatesproperty to determine if automatic downloading/installing of updates option should be enabled (#2809) (Zorg) - Add Vietnamese translation (#2816) (TranPhuong319)
- Add missing nn language to Installer progress Info.plist (#2818) (Zorg)
- Find non-canonical Sparkle.framework locations in generate_appcast when creating delta updates to determine compatibility (#2833) (Zorg)
- Make Debug builds of Sparkle use same time interval settings as Release (#2805) (Zorg)
- Remove sparkle-cli from the binary distribution (#2826) (Zorg)
This release adds appcast enhancements such as markdown support and signed feeds.
CocoaPods distribution is now deprecated. Please consider migrating away.
Discussion for Sparkle 2.9 (beta)
On a fun extra note, we have also reached Sparkle's 20 year anniversary.
2.8.1 UI Refresh and Tahoe Improvements
Changes:
- Enforce RunAtLoad to reduce potential timeout issue when launching updater task (#2795) (Zorg)
- Add missing executable bit permission warnings on connection failure (#2792) (Zorg)
- Add missing localizations to zh-CN & zh-TW (#2789, #2791) (Francis Feng)
- Add documentation note for delegates being weakly referenced (#2802) (Zorg)
- Include app name in startUpdater: failure in SPUStandardUpdaterController (#2780) (Zorg)
Please also check 2.8.0 for previous changes.
2.8.0 UI Refresh and Tahoe Improvements
Changes:
- UI modernization and macOS Tahoe support
- Delta updates
- Localization
- Synchronize updater settings with user defaults to fix out-of-sync UI state (#2728) (Zorg)
- Document and better enforce main thread only requirement for using Sparkle methods (#2746, #2754, #2768)) (Sebastien Marchand, Zorg)
- Make -[SPUUserDriver showUpdateInFocus] optional (#2717) (Zorg)
- Add private module map for framework (#2722) (Zorg)
- Workaround a corner case in which the bundle path of a running application contains Contents/MacOS/Executable (#2726, #2747) (Jeremy Huddleston Sequoia, Zorg)
- Disable false dependency scan analysis warnings when building Sparkle from source (#2762) (Daniel Jalkut)
- Refactor the logic for avoiding re-sending the system profile more frequently than once a week (#2720) (Daniel Jalkut)
- Remove deprecated interactive package installer type (#2767) (Zorg)
Sparkle 2.8 introduces a refreshed UI update to the software update window and includes compatibility improvements for macOS 26 Tahoe. Thanks to all of those that contributed to the design of the update window (#2737).
2.8.0-beta.3
Changes:
- UI modernization and macOS Tahoe support
- Delta updates
- Localization
- Synchronize updater settings with user defaults to fix out-of-sync UI state (#2728) (Zorg)
- Document and better enforce main thread only requirement for using Sparkle methods (#2746, #2754) (Sebastien Marchand, Zorg)
- Make -[SPUUserDriver showUpdateInFocus] optional (#2717) (Zorg)
- Add private module map for framework (#2722) (Zorg)
- Workaround a corner case in which the bundle path of a running application contains Contents/MacOS/Executable (#2726, #2747) (Jeremy Huddleston Sequoia, Zorg)
- Disable false dependency scan analysis warnings when building Sparkle from source (#2762) (Daniel Jalkut)
- Refactor the logic for avoiding re-sending the system profile more frequently than once a week (#2720) (Daniel Jalkut)
2.8.0 beta 3 specifically includes a crash fix from 2.7.3 and important security fixes from 2.7.2.
Sparkle 2.8 includes a more modernized UI for the standard update alert and Tahoe compatibility support fixes. Feel free to head over to the discussions.
2.7.3 - Important security fixes for local exploits + crash fix
Changes for 2.7.3:
- Double quote team identifiers in requirement strings to fix crash if Team ID starts with number (#2766) (Zorg)
This fixes a potential crash that may occur for specific Team IDs, introduced in 2.7.2 which includes security fixes.
A release for 2.8.0 betas (aimed at revamped Tahoe support) with this fix will also been published soon.
--
Changes for 2.7.2:
This release contains security fixes for local exploits reported/reviewed by @Karmaz95 . More details can be found in this discussion.
For apps that install package updates, you may not be able to test Sparkle in a development environment easily where Sparkle's tools are often not specially signed. If this is the case, please try testing Sparkle either from a notarized version of your app, or from a version of your app that was installed by your package installer.
2.8.0-beta.2
Warning (EDIT): Don't use this build. Use 2.8.0-beta.3 or later which includes a potential crash fix introduced here.
Changes:
- UI modernization and macOS Tahoe support
- Delta updates
- Localization
- Synchronize updater settings with user defaults to fix out-of-sync UI state (#2728) (Zorg)
- Document and better enforce main thread only requirement for using Sparkle methods (#2746, #2754) (Sebastien Marchand, Zorg)
- Make -[SPUUserDriver showUpdateInFocus] optional (#2717) (Zorg)
- Add private module map for framework (#2722) (Zorg)
- Workaround a corner case in which the bundle path of a running application contains Contents/MacOS/Executable (#2726, #2747) (Jeremy Huddleston Sequoia, Zorg)
- Disable false dependency scan analysis warnings when building Sparkle from source (#2762) (Daniel Jalkut)
- Refactor the logic for avoiding re-sending the system profile more frequently than once a week (#2720) (Daniel Jalkut)
2.8 beta 2 specifically includes important security fixes from 2.7.2.
Sparkle 2.8 includes a more modernized UI for the standard update alert and Tahoe compatibility support fixes. Feel free to head over to the discussions.
2.7.2 - Important security fixes for local exploits
Warning (EDIT): Don't use this build. Use 2.7.3 or later which includes a potential crash fix introduced here.
Changes:
- Harden policy on what operations clients are allowed to take (#2763) (Zorg)
This release contains security fixes for local exploits reported/reviewed by @Karmaz95 . More details can be found in this discussion.
For apps that install package updates, you may not be able to test Sparkle in a development environment easily where Sparkle's tools are often not specially signed. If this is the case, please try testing Sparkle either from a notarized version of your app, or from a version of your app that was installed by your package installer.
A release for 2.8.0 betas (aimed at revamped Tahoe support) with these fixes has also been published.
2.8.0-beta.1
Changes:
- UI modernization and macOS Tahoe support
- Delta updates
- Localization
- Synchronize updater settings with user defaults to fix out-of-sync UI state (#2728) (Zorg)
- Document and better enforce main thread only requirement for using Sparkle methods (#2746, #2754) (Sebastien Marchand, Zorg)
- Make -[SPUUserDriver showUpdateInFocus] optional (#2717) (Zorg)
- Add private module map for framework (#2722) (Zorg)
- Workaround a corner case in which the bundle path of a running application contains Contents/MacOS/Executable (#2726, #2747) (Jeremy Huddleston Sequoia, Zorg)
- Refactor the logic for avoiding re-sending the system profile more frequently than once a week (#2720) (Daniel Jalkut)
This beta includes a more modernized UI for the standard update alert and Tahoe compatibility support fixes. More important bug fixes are anticipated before the final 2.8.0 version, however you may want to test your app with the new changes. Feel free to head over to the discussions.
2.7.1 Unarchiver and localization improvements
Changes:
- Fix typo in NN localisation (#2694) (Sjur N Moshagen)
- Fix compiler warnings for Xcode 16.3 (#2709) (Zorg)
- Fix Sparkle not building when SPARKLE_COPY_LOCALIZATIONS=0 (#2707) (Zorg)
- Fix release notes constraints when compiled with macOS 26 SDK (#2730) (Zorg)
- Fix reserved identifier warnings for Xcode 26 (#2729) (Zorg)
Please also check 2.7.0 for previous changes.