Updated Sparkle to 1.17.0, to fix a problem when copying broken symlinks. adium-1.5.10.4
authorThijs Alkemade <me@thijsalkema.de>
Sun, 23 Apr 2017 21:05:16 +0200
branchadium-1.5.10.4
changeset 5985 5883c460b8cb
parent 5984 c42b73c02750
child 5986 511f2f168ad2
Updated Sparkle to 1.17.0, to fix a problem when copying broken symlinks.
Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h
Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
Frameworks/Sparkle.framework/Versions/A/Headers/SUErrors.h
Frameworks/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h
Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h
Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h
Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h
Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h
Frameworks/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist
Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings
Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib
Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib
Frameworks/Sparkle.framework/Versions/A/Sparkle
--- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h	Sun Apr 23 21:05:16 2017 +0200
@@ -9,18 +9,32 @@
 #ifndef SUAPPCAST_H
 #define SUAPPCAST_H
 
+#if __has_feature(modules)
+@import Foundation;
+#else
 #import <Foundation/Foundation.h>
+#endif
 #import "SUExport.h"
 
+NS_ASSUME_NONNULL_BEGIN
+
 @class SUAppcastItem;
 SU_EXPORT @interface SUAppcast : NSObject<NSURLDownloadDelegate>
 
-@property (copy) NSString *userAgentString;
-@property (copy) NSDictionary *httpHeaders;
+@property (copy, nullable) NSString *userAgentString;
 
-- (void)fetchAppcastFromURL:(NSURL *)url completionBlock:(void (^)(NSError *))err;
+#if __has_feature(objc_generics)
+@property (copy, nullable) NSDictionary<NSString *, NSString *> *httpHeaders;
+#else
+@property (copy, nullable) NSDictionary *httpHeaders;
+#endif
 
-@property (readonly, copy) NSArray *items;
+- (void)fetchAppcastFromURL:(NSURL *)url inBackground:(BOOL)bg completionBlock:(void (^)(NSError *_Nullable))err;
+- (SUAppcast *)copyWithoutDeltaUpdates;
+
+@property (readonly, copy, nullable) NSArray *items;
 @end
 
+NS_ASSUME_NONNULL_END
+
 #endif
--- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h	Sun Apr 23 21:05:16 2017 +0200
@@ -9,18 +9,23 @@
 #ifndef SUAPPCASTITEM_H
 #define SUAPPCASTITEM_H
 
+#if __has_feature(modules)
+@import Foundation;
+#else
 #import <Foundation/Foundation.h>
+#endif
 #import "SUExport.h"
 
 SU_EXPORT @interface SUAppcastItem : NSObject
 @property (copy, readonly) NSString *title;
-@property (copy, readonly) NSDate *date;
+@property (copy, readonly) NSString *dateString;
 @property (copy, readonly) NSString *itemDescription;
 @property (strong, readonly) NSURL *releaseNotesURL;
 @property (copy, readonly) NSString *DSASignature;
 @property (copy, readonly) NSString *minimumSystemVersion;
 @property (copy, readonly) NSString *maximumSystemVersion;
 @property (strong, readonly) NSURL *fileURL;
+@property (nonatomic, readonly) uint64_t contentLength;
 @property (copy, readonly) NSString *versionString;
 @property (copy, readonly) NSString *displayVersionString;
 @property (copy, readonly) NSDictionary *deltaUpdates;
--- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUErrors.h	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUErrors.h	Sun Apr 23 21:05:16 2017 +0200
@@ -9,7 +9,11 @@
 #ifndef SUERRORS_H
 #define SUERRORS_H
 
+#if __has_feature(modules)
+@import Foundation;
+#else
 #import <Foundation/Foundation.h>
+#endif
 #import "SUExport.h"
 
 /**
@@ -23,10 +27,11 @@
     SUNoUpdateError = 1001,
     SUAppcastError = 1002,
     SURunningFromDiskImageError = 1003,
-    
-    // Downlaod phase errors.
+
+    // Download phase errors.
     SUTemporaryDirectoryError = 2000,
-    
+    SUDownloadError = 2001,
+
     // Extraction phase errors.
     SUUnarchivingError = 3000,
     SUSignatureError = 3001,
@@ -39,6 +44,7 @@
     SURelaunchError = 4004,
     SUInstallationError = 4005,
     SUDowngradeError = 4006,
+    SUInstallationCancelledError = 4007,
     
     // System phase errors
     SUSystemPowerOffError = 5000
--- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h	Sun Apr 23 21:05:16 2017 +0200
@@ -9,10 +9,16 @@
 #ifndef SUSTANDARDVERSIONCOMPARATOR_H
 #define SUSTANDARDVERSIONCOMPARATOR_H
 
+#if __has_feature(modules)
+@import Foundation;
+#else
 #import <Foundation/Foundation.h>
+#endif
 #import "SUExport.h"
 #import "SUVersionComparisonProtocol.h"
 
+NS_ASSUME_NONNULL_BEGIN
+
 /*!
     Sparkle's default version comparator.
 
@@ -23,7 +29,14 @@
 SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison>
 
 /*!
+    Initializes a new instance of the standard version comparator.
+ */
+- (instancetype)init;
+
+/*!
     Returns a singleton instance of the comparator.
+ 
+    It is usually preferred to alloc/init new a comparator instead.
 */
 + (SUStandardVersionComparator *)defaultComparator;
 
@@ -35,4 +48,5 @@
 - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
 @end
 
+NS_ASSUME_NONNULL_END
 #endif
--- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h	Sun Apr 23 21:05:16 2017 +0200
@@ -9,12 +9,16 @@
 #ifndef SUUPDATER_H
 #define SUUPDATER_H
 
-#import <Foundation/Foundation.h>
+#if __has_feature(modules)
+@import Cocoa;
+#else
+#import <Cocoa/Cocoa.h>
+#endif
 #import "SUExport.h"
 #import "SUVersionComparisonProtocol.h"
 #import "SUVersionDisplayProtocol.h"
 
-@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast;
+@class SUAppcastItem, SUAppcast;
 
 @protocol SUUpdaterDelegate;
 
@@ -28,62 +32,162 @@
 
 @property (unsafe_unretained) IBOutlet id<SUUpdaterDelegate> delegate;
 
+/*!
+ The shared updater for the main bundle.
+ 
+ This is equivalent to passing [NSBundle mainBundle] to SUUpdater::updaterForBundle:
+ */
 + (SUUpdater *)sharedUpdater;
-+ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
-- (instancetype)initForBundle:(NSBundle *)bundle;
-
-@property (readonly, strong) NSBundle *hostBundle;
-@property (strong, readonly) NSBundle *sparkleBundle;
-
-@property BOOL automaticallyChecksForUpdates;
-
-@property NSTimeInterval updateCheckInterval;
 
 /*!
- * The URL of the appcast used to download update information.
- *
- * This property must be called on the main thread.
- */
-@property (copy) NSURL *feedURL;
+ The shared updater for a specified bundle.
 
-@property (nonatomic, copy) NSString *userAgentString;
-
-@property (copy) NSDictionary *httpHeaders;
-
-@property BOOL sendsSystemProfile;
-
-@property BOOL automaticallyDownloadsUpdates;
+ If an updater has already been initialized for the provided bundle, that shared instance will be returned.
+ */
++ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
 
 /*!
-    Explicitly checks for updates and displays a progress dialog while doing so.
+ Designated initializer for SUUpdater.
+ 
+ If an updater has already been initialized for the provided bundle, that shared instance will be returned.
+ */
+- (instancetype)initForBundle:(NSBundle *)bundle;
 
-    This method is meant for a main menu item.
-    Connect any menu item to this action in Interface Builder,
-    and Sparkle will check for updates and report back its findings verbosely
-    when it is invoked.
+/*!
+ Explicitly checks for updates and displays a progress dialog while doing so.
+
+ This method is meant for a main menu item.
+ Connect any menu item to this action in Interface Builder,
+ and Sparkle will check for updates and report back its findings verbosely
+ when it is invoked.
+
+ This will find updates that the user has opted into skipping.
  */
 - (IBAction)checkForUpdates:(id)sender;
 
 /*!
-    Checks for updates, but does not display any UI unless an update is found.
+ The menu item validation used for the -checkForUpdates: action
+ */
+- (BOOL)validateMenuItem:(NSMenuItem *)menuItem;
 
-    This is meant for programmatically initating a check for updates. That is,
-    it will display no UI unless it actually finds an update, in which case it
-    proceeds as usual.
+/*!
+ Checks for updates, but does not display any UI unless an update is found.
 
-    If the fully automated updating is turned on, however, this will invoke that
-    behavior, and if an update is found, it will be downloaded and prepped for
-    installation.
+ This is meant for programmatically initating a check for updates. That is,
+ it will display no UI unless it actually finds an update, in which case it
+ proceeds as usual.
+
+ If automatic downloading of updates it turned on and allowed, however,
+ this will invoke that behavior, and if an update is found, it will be downloaded
+ in the background silently and will be prepped for installation.
+
+ This will not find updates that the user has opted into skipping.
  */
 - (void)checkForUpdatesInBackground;
 
 /*!
+ A property indicating whether or not to check for updates automatically.
+
+ Setting this property will persist in the host bundle's user defaults.
+ The update schedule cycle will be reset in a short delay after the property's new value is set.
+ This is to allow reverting this property without kicking off a schedule change immediately
+ */
+@property BOOL automaticallyChecksForUpdates;
+
+/*!
+ A property indicating whether or not updates can be automatically downloaded in the background.
+
+ Note that automatic downloading of updates can be disallowed by the developer
+ or by the user's system if silent updates cannot be done (eg: if they require authentication).
+ In this case, -automaticallyDownloadsUpdates will return NO regardless of how this property is set.
+
+ Setting this property will persist in the host bundle's user defaults.
+ */
+@property BOOL automaticallyDownloadsUpdates;
+
+/*!
+ A property indicating the current automatic update check interval.
+
+ Setting this property will persist in the host bundle's user defaults.
+ The update schedule cycle will be reset in a short delay after the property's new value is set.
+ This is to allow reverting this property without kicking off a schedule change immediately
+ */
+@property NSTimeInterval updateCheckInterval;
+
+/*!
+ Begins a "probing" check for updates which will not actually offer to
+ update to that version.
+
+ However, the delegate methods
+ SUUpdaterDelegate::updater:didFindValidUpdate: and
+ SUUpdaterDelegate::updaterDidNotFindUpdate: will be called,
+ so you can use that information in your UI.
+
+ Updates that have been skipped by the user will not be found.
+ */
+- (void)checkForUpdateInformation;
+
+/*!
+ The URL of the appcast used to download update information.
+
+ Setting this property will persist in the host bundle's user defaults.
+ If you don't want persistence, you may want to consider instead implementing
+ SUUpdaterDelegate::feedURLStringForUpdater: or SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
+
+ This property must be called on the main thread.
+ */
+@property (copy) NSURL *feedURL;
+
+/*!
+ The host bundle that is being updated.
+ */
+@property (readonly, strong) NSBundle *hostBundle;
+
+/*!
+ The bundle this class (SUUpdater) is loaded into.
+ */
+@property (strong, readonly) NSBundle *sparkleBundle;
+
+/*!
+ The user agent used when checking for updates.
+
+ The default implementation can be overrided.
+ */
+@property (nonatomic, copy) NSString *userAgentString;
+
+/*!
+ The HTTP headers used when checking for updates.
+
+ The keys of this dictionary are HTTP header fields (NSString) and values are corresponding values (NSString)
+ */
+#if __has_feature(objc_generics)
+@property (copy) NSDictionary<NSString *, NSString *> *httpHeaders;
+#else
+@property (copy) NSDictionary *httpHeaders;
+#endif
+
+/*!
+ A property indicating whether or not the user's system profile information is sent when checking for updates.
+
+ Setting this property will persist in the host bundle's user defaults.
+ */
+@property BOOL sendsSystemProfile;
+
+/*!
+ A property indicating the decryption password used for extracting updates shipped as Apple Disk Images (dmg)
+ */
+@property (nonatomic, copy) NSString *decryptionPassword;
+
+/*!
     Checks for updates and, if available, immediately downloads and installs them.
     A progress dialog is shown but the user will never be prompted to read the
     release notes.
-    
+
     You may want to respond to the userDidCancelDownload delegate method in case
     the user clicks the "Cancel" button while the update is downloading.
+
+    If you are writing a UI-less background application, you probably want to instead use
+    SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation:
  */
 - (void)installUpdatesIfAvailable;
 
@@ -95,17 +199,6 @@
 @property (readonly, copy) NSDate *lastUpdateCheckDate;
 
 /*!
-    Begins a "probing" check for updates which will not actually offer to
-    update to that version.
-
-    However, the delegate methods
-    SUUpdaterDelegate::updater:didFindValidUpdate: and
-    SUUpdaterDelegate::updaterDidNotFindUpdate: will be called,
-    so you can use that information in your UI.
- */
-- (void)checkForUpdateInformation;
-
-/*!
     Appropriately schedules or cancels the update checking timer according to
     the preferences for time interval and automatic checks.
 
@@ -114,251 +207,14 @@
  */
 - (void)resetUpdateCycle;
 
+/*!
+   A property indicating whether or not an update is in progress.
+
+   Note this property is not indicative of whether or not user initiated updates can be performed.
+   Use SUUpdater::validateMenuItem: for that instead.
+ */
 @property (readonly) BOOL updateInProgress;
 
 @end
 
-// -----------------------------------------------------------------------------
-// SUUpdater Notifications for events that might be interesting to more than just the delegate
-// The updater will be the notification object
-// -----------------------------------------------------------------------------
-SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
-SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
-SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
-SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
-#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
-#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;
-
-// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
-SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
-// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
-SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
-
-// -----------------------------------------------------------------------------
-//	SUUpdater Delegate:
-// -----------------------------------------------------------------------------
-
-/*!
-    Provides methods to control the behavior of an SUUpdater object.
- */
-@protocol SUUpdaterDelegate <NSObject>
-@optional
-
-/*!
-    Returns whether to allow Sparkle to pop up.
-
-    For example, this may be used to prevent Sparkle from interrupting a setup assistant.
-
-    \param updater The SUUpdater instance.
- */
-- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)updater;
-
-/*!
-    Returns additional parameters to append to the appcast URL's query string.
-
-    This is potentially based on whether or not Sparkle will also be sending along the system profile.
-
-    \param updater The SUUpdater instance.
-    \param sendingProfile Whether the system profile will also be sent.
-
-    \return An array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
- */
-- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
-
-/*!
-    Returns a custom appcast URL.
-
-    Override this to dynamically specify the entire URL.
-
-    \param updater The SUUpdater instance.
- */
-- (NSString *)feedURLStringForUpdater:(SUUpdater *)updater;
-
-/*!
-    Returns whether Sparkle should prompt the user about automatic update checks.
-
-    Use this to override the default behavior.
-
-    \param updater The SUUpdater instance.
- */
-- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)updater;
-
-/*!
-    Called after Sparkle has downloaded the appcast from the remote server.
-
-    Implement this if you want to do some special handling with the appcast once it finishes loading.
-
-    \param updater The SUUpdater instance.
-    \param appcast The appcast that was downloaded from the remote server.
- */
-- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
-
-/*!
-    Returns the item in the appcast corresponding to the update that should be installed.
-
-    If you're using special logic or extensions in your appcast,
-    implement this to use your own logic for finding a valid update, if any,
-    in the given appcast.
-
-    \param appcast The appcast that was downloaded from the remote server.
-    \param updater The SUUpdater instance.
- */
-- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)updater;
-
-/*!
-    Called when a valid update is found by the update driver.
-
-    \param updater The SUUpdater instance.
-    \param item The appcast item corresponding to the update that is proposed to be installed.
- */
-- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item;
-
-/*!
-    Called when a valid update is not found.
-
-    \param updater The SUUpdater instance.
- */
-- (void)updaterDidNotFindUpdate:(SUUpdater *)updater;
-
-/*!
-    Called immediately before downloading the specified update.
-
-    \param updater The SUUpdater instance.
-    \param item The appcast item corresponding to the update that is proposed to be downloaded.
-    \param request The mutable URL request that will be used to download the update.
- */
-- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;
-
-/*!
-    Called after the specified update failed to download.
-
-    \param updater The SUUpdater instance.
-    \param item The appcast item corresponding to the update that failed to download.
-    \param error The error generated by the failed download.
- */
-- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;
-
-/*!
-    Called when the user clicks the cancel button while and update is being downloaded.
-
-    \param updater The SUUpdater instance.
- */
-- (void)userDidCancelDownload:(SUUpdater *)updater;
-
-/*!
-    Called immediately before installing the specified update.
-
-    \param updater The SUUpdater instance.
-    \param item The appcast item corresponding to the update that is proposed to be installed.
- */
-- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item;
-
-/*!
-    Returns whether the relaunch should be delayed in order to perform other tasks.
-
-    This is not called if the user didn't relaunch on the previous update,
-    in that case it will immediately restart.
-
-    \param updater The SUUpdater instance.
-    \param item The appcast item corresponding to the update that is proposed to be installed.
-    \param invocation The invocation that must be completed before continuing with the relaunch.
-
-    \return \c YES to delay the relaunch until \p invocation is invoked.
- */
-- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvoking:(NSInvocation *)invocation;
-
-/*!
-    Returns whether the application should be relaunched at all.
-
-    Some apps \b cannot be relaunched under certain circumstances.
-    This method can be used to explicitly prevent a relaunch.
-
-    \param updater The SUUpdater instance.
- */
-- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
-
-/*!
-    Called immediately before relaunching.
-
-    \param updater The SUUpdater instance.
- */
-- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
-
-/*!
-    Returns an object that compares version numbers to determine their arithmetic relation to each other.
-
-    This method allows you to provide a custom version comparator.
-    If you don't implement this method or return \c nil,
-    the standard version comparator will be used.
-
-    \sa SUStandardVersionComparator
-
-    \param updater The SUUpdater instance.
- */
-- (id<SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
-
-/*!
-    Returns an object that formats version numbers for display to the user.
-
-    If you don't implement this method or return \c nil,
-    the standard version formatter will be used.
-
-    \sa SUUpdateAlert
-
-    \param updater The SUUpdater instance.
- */
-- (id<SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
-
-/*!
-    Returns the path which is used to relaunch the client after the update is installed.
-
-    The default is the path of the host bundle.
-
-    \param updater The SUUpdater instance.
- */
-- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
-
-/*!
-    Called before an updater shows a modal alert window,
-    to give the host the opportunity to hide attached windows that may get in the way.
-
-    \param updater The SUUpdater instance.
- */
-- (void)updaterWillShowModalAlert:(SUUpdater *)updater;
-
-/*!
-    Called after an updater shows a modal alert window,
-    to give the host the opportunity to hide attached windows that may get in the way.
-
-    \param updater The SUUpdater instance.
- */
-- (void)updaterDidShowModalAlert:(SUUpdater *)updater;
-
-/*!
-    Called when an update is scheduled to be silently installed on quit.
-
-    \param updater The SUUpdater instance.
-    \param item The appcast item corresponding to the update that is proposed to be installed.
-    \param invocation Can be used to trigger an immediate silent install and relaunch.
- */
-- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationInvocation:(NSInvocation *)invocation;
-
-/*!
-    Calls after an update that was scheduled to be silently installed on quit has been canceled.
-
-    \param updater The SUUpdater instance.
-    \param item The appcast item corresponding to the update that was proposed to be installed.
- */
-- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item;
-
-/*!
-    Called after an update is aborted due to an error.
-
-    \param updater The SUUpdater instance.
-    \param error The error that caused the abort
- */
-- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error;
-
-@end
-
 #endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h	Sun Apr 23 21:05:16 2017 +0200
@@ -0,0 +1,274 @@
+//
+//  SUUpdaterDelegate.h
+//  Sparkle
+//
+//  Created by Mayur Pawashe on 12/25/16.
+//  Copyright © 2016 Sparkle Project. All rights reserved.
+//
+
+#if __has_feature(modules)
+@import Foundation;
+#else
+#import <Foundation/Foundation.h>
+#endif
+
+#import "SUExport.h"
+
+@protocol SUVersionComparison, SUVersionDisplay;
+@class SUUpdater, SUAppcast, SUAppcastItem;
+
+NS_ASSUME_NONNULL_BEGIN
+
+// -----------------------------------------------------------------------------
+// SUUpdater Notifications for events that might be interesting to more than just the delegate
+// The updater will be the notification object
+// -----------------------------------------------------------------------------
+SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
+SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
+SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
+SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
+#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
+#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;
+
+// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
+SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
+// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
+SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
+
+// -----------------------------------------------------------------------------
+//	SUUpdater Delegate:
+// -----------------------------------------------------------------------------
+
+/*!
+ Provides methods to control the behavior of an SUUpdater object.
+ */
+@protocol SUUpdaterDelegate <NSObject>
+@optional
+
+/*!
+ Returns whether to allow Sparkle to pop up.
+ 
+ For example, this may be used to prevent Sparkle from interrupting a setup assistant.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)updater;
+
+/*!
+ Returns additional parameters to append to the appcast URL's query string.
+ 
+ This is potentially based on whether or not Sparkle will also be sending along the system profile.
+ 
+ \param updater The SUUpdater instance.
+ \param sendingProfile Whether the system profile will also be sent.
+ 
+ \return An array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
+ */
+#if __has_feature(objc_generics)
+- (NSArray<NSDictionary<NSString *, NSString *> *> *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
+#else
+- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
+#endif
+
+/*!
+ Returns a custom appcast URL.
+ 
+ Override this to dynamically specify the entire URL.
+ 
+ An alternative may be to use SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
+ and let the server handle what kind of feed to provide.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (nullable NSString *)feedURLStringForUpdater:(SUUpdater *)updater;
+
+/*!
+ Returns whether Sparkle should prompt the user about automatic update checks.
+ 
+ Use this to override the default behavior.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)updater;
+
+/*!
+ Called after Sparkle has downloaded the appcast from the remote server.
+ 
+ Implement this if you want to do some special handling with the appcast once it finishes loading.
+ 
+ \param updater The SUUpdater instance.
+ \param appcast The appcast that was downloaded from the remote server.
+ */
+- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
+
+/*!
+ Returns the item in the appcast corresponding to the update that should be installed.
+ 
+ If you're using special logic or extensions in your appcast,
+ implement this to use your own logic for finding a valid update, if any,
+ in the given appcast.
+ 
+ \param appcast The appcast that was downloaded from the remote server.
+ \param updater The SUUpdater instance.
+ */
+- (nullable SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)updater;
+
+/*!
+ Called when a valid update is found by the update driver.
+ 
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ */
+- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item;
+
+/*!
+ Called when a valid update is not found.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (void)updaterDidNotFindUpdate:(SUUpdater *)updater;
+
+/*!
+ Called immediately before downloading the specified update.
+ 
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be downloaded.
+ \param request The mutable URL request that will be used to download the update.
+ */
+- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;
+
+/*!
+ Called after the specified update failed to download.
+ 
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that failed to download.
+ \param error The error generated by the failed download.
+ */
+- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;
+
+/*!
+ Called when the user clicks the cancel button while and update is being downloaded.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (void)userDidCancelDownload:(SUUpdater *)updater;
+
+/*!
+ Called immediately before installing the specified update.
+ 
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ */
+- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item;
+
+/*!
+ Returns whether the relaunch should be delayed in order to perform other tasks.
+ 
+ This is not called if the user didn't relaunch on the previous update,
+ in that case it will immediately restart.
+ 
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ \param invocation The invocation that must be completed with `[invocation invoke]` before continuing with the relaunch.
+ 
+ \return \c YES to delay the relaunch until \p invocation is invoked.
+ */
+- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvoking:(NSInvocation *)invocation;
+
+/*!
+ Returns whether the application should be relaunched at all.
+ 
+ Some apps \b cannot be relaunched under certain circumstances.
+ This method can be used to explicitly prevent a relaunch.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
+
+/*!
+ Called immediately before relaunching.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
+
+/*!
+ Returns an object that compares version numbers to determine their arithmetic relation to each other.
+ 
+ This method allows you to provide a custom version comparator.
+ If you don't implement this method or return \c nil,
+ the standard version comparator will be used.
+ 
+ \sa SUStandardVersionComparator
+ 
+ \param updater The SUUpdater instance.
+ */
+- (nullable id<SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
+
+/*!
+ Returns an object that formats version numbers for display to the user.
+ 
+ If you don't implement this method or return \c nil,
+ the standard version formatter will be used.
+ 
+ \sa SUUpdateAlert
+ 
+ \param updater The SUUpdater instance.
+ */
+- (nullable id<SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
+
+/*!
+ Returns the path which is used to relaunch the client after the update is installed.
+ 
+ The default is the path of the host bundle.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (nullable NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
+
+/*!
+ Called before an updater shows a modal alert window,
+ to give the host the opportunity to hide attached windows that may get in the way.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (void)updaterWillShowModalAlert:(SUUpdater *)updater;
+
+/*!
+ Called after an updater shows a modal alert window,
+ to give the host the opportunity to hide attached windows that may get in the way.
+ 
+ \param updater The SUUpdater instance.
+ */
+- (void)updaterDidShowModalAlert:(SUUpdater *)updater;
+
+/*!
+ Called when an update is scheduled to be silently installed on quit.
+ This is after an update has been automatically downloaded in the background.
+ (i.e. SUUpdater::automaticallyDownloadsUpdates is YES)
+ 
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that is proposed to be installed.
+ \param invocation Can be used to trigger an immediate silent install and relaunch.
+ */
+- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationInvocation:(NSInvocation *)invocation;
+
+/*!
+ Calls after an update that was scheduled to be silently installed on quit has been canceled.
+ 
+ \param updater The SUUpdater instance.
+ \param item The appcast item corresponding to the update that was proposed to be installed.
+ */
+- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item;
+
+/*!
+ Called after an update is aborted due to an error.
+ 
+ \param updater The SUUpdater instance.
+ \param error The error that caused the abort
+ */
+- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error;
+
+@end
+
+NS_ASSUME_NONNULL_END
--- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h	Sun Apr 23 21:05:16 2017 +0200
@@ -9,9 +9,15 @@
 #ifndef SUVERSIONCOMPARISONPROTOCOL_H
 #define SUVERSIONCOMPARISONPROTOCOL_H
 
-#import <Cocoa/Cocoa.h>
+#if __has_feature(modules)
+@import Foundation;
+#else
+#import <Foundation/Foundation.h>
+#endif
 #import "SUExport.h"
 
+NS_ASSUME_NONNULL_BEGIN
+
 /*!
     Provides version comparison facilities for Sparkle.
 */
@@ -27,4 +33,5 @@
 
 @end
 
+NS_ASSUME_NONNULL_END
 #endif
--- a/Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h	Sun Apr 23 21:05:16 2017 +0200
@@ -6,7 +6,11 @@
 //  Copyright 2009 Elgato Systems GmbH. All rights reserved.
 //
 
-#import <Cocoa/Cocoa.h>
+#if __has_feature(modules)
+@import Foundation;
+#else
+#import <Foundation/Foundation.h>
+#endif
 #import "SUExport.h"
 
 /*!
@@ -20,6 +24,6 @@
     Both versions are provided so that important distinguishing information
     can be displayed while also leaving out unnecessary/confusing parts.
 */
-- (void)formatVersion:(NSString **)inOutVersionA andVersion:(NSString **)inOutVersionB;
+- (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB;
 
 @end
--- a/Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h	Sun Apr 23 21:05:16 2017 +0200
@@ -9,8 +9,6 @@
 #ifndef SPARKLE_H
 #define SPARKLE_H
 
-#import <Cocoa/Cocoa.h>
-
 // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
 // there are name-space collisions) so we can list all of them to start with:
 
@@ -18,6 +16,7 @@
 #import "SUAppcastItem.h"
 #import "SUStandardVersionComparator.h"
 #import "SUUpdater.h"
+#import "SUUpdaterDelegate.h"
 #import "SUVersionComparisonProtocol.h"
 #import "SUVersionDisplayProtocol.h"
 #import "SUErrors.h"
--- a/Frameworks/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h	Sun Apr 23 21:05:16 2017 +0200
@@ -6,30 +6,16 @@
 //  Copyright 2006 Andy Matuschak. All rights reserved.
 //
 
-#ifndef SUUNARCHIVER_H
-#define SUUNARCHIVER_H
-
 #import <Foundation/Foundation.h>
 
-@class SUHost;
-@protocol SUUnarchiverDelegate;
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol SUUnarchiverProtocol;
 
 @interface SUUnarchiver : NSObject
 
-@property (copy, readonly) NSString *archivePath;
-@property (copy, readonly) NSString *updateHostBundlePath;
-@property (weak) id<SUUnarchiverDelegate> delegate;
++ (nullable id <SUUnarchiverProtocol>)unarchiverForPath:(NSString *)path updatingHostBundlePath:(nullable NSString *)hostPath decryptionPassword:(nullable NSString *)decryptionPassword;
 
-+ (SUUnarchiver *)unarchiverForPath:(NSString *)path updatingHostBundlePath:(NSString *)host;
-
-- (void)start;
 @end
 
-@protocol SUUnarchiverDelegate <NSObject>
-- (void)unarchiverDidFinish:(SUUnarchiver *)unarchiver;
-- (void)unarchiverDidFail:(SUUnarchiver *)unarchiver;
-@optional
-- (void)unarchiver:(SUUnarchiver *)unarchiver extractedProgress:(double)progress;
-@end
-
-#endif
+NS_ASSUME_NONNULL_END
--- a/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist	Sun Apr 23 21:05:16 2017 +0200
@@ -3,13 +3,13 @@
 <plist version="1.0">
 <dict>
 	<key>BuildMachineOSBuild</key>
-	<string>15E27e</string>
+	<string>16E175b</string>
 	<key>CFBundleDevelopmentRegion</key>
 	<string>English</string>
 	<key>CFBundleExecutable</key>
 	<string>Autoupdate</string>
 	<key>CFBundleIconFile</key>
-	<string>AppIcon</string>
+	<string>AppIcon.icns</string>
 	<key>CFBundleIdentifier</key>
 	<string>org.sparkle-project.Sparkle.Autoupdate</string>
 	<key>CFBundleInfoDictionaryVersion</key>
@@ -17,7 +17,7 @@
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>1.13.1 git-2afc553</string>
+	<string>1.17.0 12-g72ee4aa2</string>
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleSupportedPlatforms</key>
@@ -25,21 +25,21 @@
 		<string>MacOSX</string>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>1.13.1</string>
+	<string>1.17.0</string>
 	<key>DTCompiler</key>
 	<string>com.apple.compilers.llvm.clang.1_0</string>
 	<key>DTPlatformBuild</key>
-	<string>7C68</string>
+	<string>8W120l</string>
 	<key>DTPlatformVersion</key>
 	<string>GM</string>
 	<key>DTSDKBuild</key>
-	<string>15C43</string>
+	<string>16E153d</string>
 	<key>DTSDKName</key>
-	<string>macosx10.11</string>
+	<string>macosx10.12</string>
 	<key>DTXcode</key>
-	<string>0720</string>
+	<string>0830</string>
 	<key>DTXcodeBuild</key>
-	<string>7C68</string>
+	<string>8W120l</string>
 	<key>LSBackgroundOnly</key>
 	<string>1</string>
 	<key>LSMinimumSystemVersion</key>
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings has changed
--- a/Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist	Sun Apr 23 20:58:56 2017 +0200
+++ b/Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist	Sun Apr 23 21:05:16 2017 +0200
@@ -3,7 +3,7 @@
 <plist version="1.0">
 <dict>
 	<key>BuildMachineOSBuild</key>
-	<string>15E27e</string>
+	<string>16E175b</string>
 	<key>CFBundleDevelopmentRegion</key>
 	<string>en</string>
 	<key>CFBundleExecutable</key>
@@ -17,7 +17,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleShortVersionString</key>
-	<string>1.13.1 git-2afc553</string>
+	<string>1.17.0 12-g72ee4aa2</string>
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleSupportedPlatforms</key>
@@ -25,20 +25,20 @@
 		<string>MacOSX</string>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>1.13.1</string>
+	<string>1.17.0</string>
 	<key>DTCompiler</key>
 	<string>com.apple.compilers.llvm.clang.1_0</string>
 	<key>DTPlatformBuild</key>
-	<string>7C68</string>
+	<string>8W120l</string>
 	<key>DTPlatformVersion</key>
 	<string>GM</string>
 	<key>DTSDKBuild</key>
-	<string>15C43</string>
+	<string>16E153d</string>
 	<key>DTSDKName</key>
-	<string>macosx10.11</string>
+	<string>macosx10.12</string>
 	<key>DTXcode</key>
-	<string>0720</string>
+	<string>0830</string>
 	<key>DTXcodeBuild</key>
-	<string>7C68</string>
+	<string>8W120l</string>
 </dict>
 </plist>
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib has changed
Binary file Frameworks/Sparkle.framework/Versions/A/Sparkle has changed