Permalink
Commits on Jun 1, 2008
  1. In an attempt to improve 10.3 support, I've added a new build configu…

    …ration: Release (GC-support; 10.5-only). Compile with this if your app uses garbage collection. The normal Release configuration will compile 10.3-compatible-y with no GC support.
    andymatuschak committed Jun 1, 2008
Commits on May 31, 2008
  1. Fixes bug 228455

    Added a sample appcast showing how things work and demonstrating a couple more complicated features. I may fill this out more later.
    andymatuschak committed May 31, 2008
  2. Fixes bug 228446

    Finally adding real delegate support. The following methods are implemented; the comments document them.
    
    If you have suggestions for other methods that would be useful, feel free to suggest them.
    
    // Use this to override the default behavior for Sparkle prompting the user about automatic update checks.
    - (BOOL)shouldPromptForPermissionToCheckForUpdates;
    
    // Implement this if you want to do some special handling with the appcast once it finishes loading.
    - (void)appcastDidFinishLoading:(SUAppcast *)appcast;
    
    // 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.
    - (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast;
    
    // Sent when a valid update is found by the update driver.
    - (void)didFindValidUpdate:(SUAppcastItem *)update;
    
    // Sent when the user makes a choice in the update alert dialog (install now / remind me later / skip this version).
    - (void)userChoseAction:(SUUpdateAlertChoice)action forUpdate:(SUAppcastItem *)update;
    
    // Sent immediately before installing the specified update.
    - (void)updateWillInstall:(SUAppcastItem *)update;
    
    // Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue.
    - (BOOL)shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation;
    
    // Called immediately before relaunching.
    - (void)updaterWillRelaunchApplication;
    andymatuschak committed May 31, 2008
  3. Removed the checkInterval IV and factored out its assignment to a che…

    …ckInterval method in SUUpdater. Now when future updates are scheduled after an initial one exits, they'll use the current interval.
    andymatuschak committed May 31, 2008
  4. Fixed a confounding bug that somehow slipped in: when an update check…

    … was aborted, I was calling -automaticallyUpdates to determine whether I should reschedule another update check.
    
    This is dumb, because that method denotes whether the user's chosen to automatically update to available new versions.
    
    Now it does the right thing.
    andymatuschak committed May 31, 2008
  5. Fixes bug 236235.

    Sparkle now gies visual indication that it's checking for updates when hte update's user initiated. ie: it pops up a status controller saying "checking for updates..."
    
    What was SUUserInitiatedUpdateDriver is now SUUIBasedUpdateDriver; SUUserInitiatedUpdateDriver now is a subclass of that, along with SUScheduledUpdateDriver. This is a happy little refactoring that let me remove some redundant code.
    andymatuschak committed May 31, 2008
  6. Moved the check for whether the host is running from a disk image to …

    …SUBasicUpdateDriver so that all drivers could take advantage of this check.
    andymatuschak committed May 31, 2008
  7. Fixes bug 228454.

    Added support for a SUPublicDSAKeyFile, so people don't have to copy/paste their entire DSA public key into their Info.plist.
    
    Basically: specify a filename in your Info.plist under the key SUPublicDSAKeyFile, and Sparkle will look for a file of that name in the app's resources directory and load its contents to use as the DSA public key.
    andymatuschak committed May 31, 2008
  8. Fixing bug 228469:

    Now if the developer sets a value for SUEnableAutomaticChecks in Info.plist, we assume that's a good default value to take, and we don't ask the user what he wants to do on startup. If he doesn't specify any preference of his own, we take the Info.plist value to be the canonical one.
    andymatuschak committed May 31, 2008
  9. Sparkle now works correctly with LSUIElements: it focuses them before…

    … displaying the update alert. This fixes bug 228471.
    andymatuschak committed May 31, 2008
  10. Oops, fixing a problem with revision 133, which added fancy version l…

    …abeling scripts. Now we add /usr/local/bin to the path as well. We still don't fail gracefully if we can't find bzr because I can't figure out how to do that. Hm...
    andymatuschak committed May 31, 2008
  11. Changed from CFPreferencesCopyValue to CFPreferencesCopyAppValue (the…

    … recommended function) so that Sparkle can now get global preferences. This fixes bug #228457.
    andymatuschak committed May 31, 2008
Commits on May 30, 2008
  1. Fixed a bug where the update alert would report the internal version …

    …number of the update instead of the human-readable one (CFBundleShortVersionString, when available). Thanks for pointing that out, Daniel!
    andymatuschak committed May 30, 2008
Commits on May 23, 2008
  1. Closing two units-related bugs: 231767 and 231598. Units now display …

    …in appropriate magnitudes (mb, kb, etc) and also in correct caps.
    
    Thanks to Jonas Witt for the patch!
    andymatuschak committed May 23, 2008
Commits on May 18, 2008
  1. updated the '%@ of %@' string in all localizations

    added kB/MB in german (trivial)
    added kB in russian
    Jonas Witt committed May 18, 2008
  2. added formatted file size output

    Jonas Witt committed May 18, 2008
Commits on May 15, 2008
  1. Merging in David Smith's branch to fix bug #230123. We now copy the r…

    …elaunch tool out of the host before installing the update; that way, we can use the old version's tool. This insures us against future changes in the relaunch method.
    andymatuschak committed May 15, 2008
  2. At Andy's suggestion, don't bother with overly paranoid fallback beha…

    …vior. If we can't copy to NSTemporaryDirectory(), something is very very wrong and we should bail. This greatly simplifies some things and lets me clean up the copy of relaunch once it's done. :)
    David Smith committed May 15, 2008
  3. Actually works now, but leaves one leftover copy of relaunch in NSTem…

    …poraryDirectory()
    David Smith committed May 15, 2008
  4. Merge in trunk

    David Smith committed May 15, 2008
Commits on May 14, 2008
  1. Fixes bug #230451: all the new headers are now public in the Sparkle …

    …target. Sorry about that!
    andymatuschak committed May 14, 2008
  2. Fixes bug #228449: now the appcast doesn't run the RSS feed fetching …

    …in another thread; it just uses NSURLConnection's asynchronous capabilities (which don't leak memory like the synchronous methods) and some delegate methods.
    andymatuschak committed May 14, 2008
  3. Fixing bug #230347: "If automatic checks is off, check for updates is…

    … triggered and then remind me later is checked, the dialog keeps coming back" Thanks, Scott Gruby!
    andymatuschak committed May 14, 2008
  4. Merging in David Smith's spotlightfixes branch, which fixes #2 of bug…

    … #228484: "Force Spotlight to index the new app (for people who use it as a launcher) by running mdimport with NSTask."
    andymatuschak committed May 14, 2008
  5. Run mdimport on bundles after installing them

    David Smith committed May 14, 2008
  6. Fixes #230173 by removing partially downloaded files on download error.

    Sparkle no longer leaks the NSURLDownload if the download fails.
    andymatuschak committed May 14, 2008
  7. Fixing #228470; SUUnarchiver now makes its delegate calls on the main…

    … thread instead of unsafely performing them on the alternate thread.
    andymatuschak committed May 14, 2008
Commits on May 13, 2008
  1. Changed calls to longValue to calls to doubleValue; using the former …

    …is potentially a problem when something's saved as an NSString when we expect an NSNumber. This'll handle both cases.
    andymatuschak committed May 13, 2008
Commits on May 12, 2008
  1. Oops! Removed all the localized .nibs I just deleted from the Xcode p…

    …roject so that Sparkle will actually, you know, compile. Also added Test Application/main.m back in; it somehow didn't make the transition.
    andymatuschak committed May 12, 2008