adium/adium

5883c460b8cb
Parents c42b73c02750
Children 511f2f168ad2
Updated Sparkle to 1.17.0, to fix a problem when copying broken symlinks.
  • +18 -4
    Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h
  • +6 -1
    Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
  • +9 -3
    Frameworks/Sparkle.framework/Versions/A/Headers/SUErrors.h
  • +14 -0
    Frameworks/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h
  • +144 -288
    Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h
  • +274 -0
    Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h
  • +8 -1
    Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
  • +6 -2
    Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h
  • +1 -2
    Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h
  • +5 -19
    Frameworks/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h
  • +9 -9
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings
  • +8 -8
    Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib
  • +0 -0
    Frameworks/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib
  • +0 -0
    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;
    +/*!
    + The shared updater for a specified bundle.
    -@property BOOL automaticallyChecksForUpdates;
    -
    -@property NSTimeInterval updateCheckInterval;
    + If an updater has already been initialized for the provided bundle, that shared instance will be returned.
    + */
    ++ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
    /*!
    - * The URL of the appcast used to download update information.
    - *
    - * This property must be called on the main thread.
    + Designated initializer for SUUpdater.
    +
    + If an updater has already been initialized for the provided bundle, that shared instance will be returned.
    */
    -@property (copy) NSURL *feedURL;
    -
    -@property (nonatomic, copy) NSString *userAgentString;
    -
    -@property (copy) NSDictionary *httpHeaders;
    -
    -@property BOOL sendsSystemProfile;
    -
    -@property BOOL automaticallyDownloadsUpdates;
    +- (instancetype)initForBundle:(NSBundle *)bundle;
    /*!
    - Explicitly checks for updates and displays a progress dialog while doing so.
    + 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 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;
    +
    +/*!
    + Checks for updates, but does not display any UI unless an update is found.
    - 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.
    + 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 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.
    + 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