Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Dec 4, 2009
  1. Uli Kusterer

    Merge of changes from SVN repository:

    uliwitness authored
    - Changed NTSynchronousTask to also give the status return value and direct stderror output to the outputData.
    - Changed includes so this builds as part of an app, too, not just as a framework
    - Made sure SUAppcast's dealloc releases some leaked ivars.
    - Added infoURL, extracted from link, that can point to a "more Info" page for download-less URLs
    - Added support for version attribute on item so we can support update notifications that don't include an enclosure (e.g. paid upgrades, or upgrades that would require a system update)
    - Added/improved a few description methods to ease debugging.
    - Added SULog so one can ask for a special log with additional information when there are update issues.
    - Added mayUpdateAndRestart for apps that absolutely, positively can't restart right now (e.g. cuz they're burning a CD and would produce a coaster).
    - Added updaterWillRelaunchApplication delegate method, analogous to the notification. Useful to have app delegate quit helper apps during installation.
    - Made SUBasicUpdateDriver's abortUpdate implicitly retain/autorelease the update driver, because the notification center otherwise releases it and it goes away, causing crashes in superclass's abortUpdate.
    - Merge of SUKeepDownloadOnFailedInstallKey and SUFixedHTMLDisplaySizeKey.
    - Avoid a few warnings about missing prototypes
    - Be paranoid, hdiutil can verify the download again, so let it. Better for internal apps where we turn off DSA checks, too.
    - SUHost has an -installationPath now, independent from the bundlePath, so one can normalize the app name from "MyApp 1.1b4" back to "MyApp" Users assume the file name contains the correct version number when there is one in it. Saves support a few round-trips each time.
    - Be better at threading: Try calling non-thread-safe methods on main thread only, and don't assume delegates know when they need to be thread-safe, call them on main thread where possible.
    - Added a method to put the old copy of the app in the trash. 1.5git changed in this spot, so I didn't actually merge the code that uses it back in yet.
    - Fix version comparison so it doesn't get confused by bracketed build numbers in version strings
    - Make sure cancel button is disabled during extraction, otherwise user would crash.
    - Don't put auto-update window at floating window level. It's huge and can't be switched to background! If you're an NSBGOnly where you need that, turn it on only in that case, but don't generally do such nonsense.
    - Hide release notes view if there aren't any.
    - Test whether we are on dial-up before checking for updates in background. It's not nice to cause (possibly expensive) dial-up periodically.
    - Temporarily comment out DSA complaints for easier testing.
    - Don't store (possibly already invalidated) one-shot NSTimers in an ivar. It's bad style. Retain it instead.
    - Decompress some monster expressions with nested method calls in ternary operators and nested in method calls again.
    - Don't use implicit "id" for params or return types.
    - finish_installation now puts up a progress window, so user knows update is still not finished.
    - Use ThreadSafePreferences (included dummy version that uses regular prefs for projects that don't use ThreadSafePreferences).
    - Todo later: Change finish_installation to be prettier.
Commits on Oct 20, 2009
  1. Andy Matuschak
Commits on Sep 7, 2009
  1. Nevyn Bengtsson Andy Matuschak

    When failing to parse a feed item, tell the developer *what* the erro…

    nevyn authored andymatuschak committed
    …r is. No need for a full-fledged NSError because these errors only go to the console, not displayed to the user (who doesn't care).
Commits on Sep 2, 2009
  1. Change availability checks so that they build on 10.4

    Stuart Morgan authored
Commits on Jun 20, 2009
  1. Andy Matuschak

    Removed SL-deprecated NSFileManager methods. Left the old ones around…

    andymatuschak authored
    … #if'd for 10.4 support; I look forward to removing them. :)
    Thanks for the patch, August.
Commits on Jun 15, 2009
  1. added #ifdef's for Tiger support

    August Joki authored
  2. Fixed deprecated APIs to use replacements.

    August Joki authored
Commits on Dec 24, 2008
  1. Andy Matuschak

    Bug #275309: Crash in NSURLConnection

    andymatuschak authored
    This one's a little experimental. Credits to Hofman for the patch. This changes the appcast fetching over to NSURLDownload from NSURLConnection. Test, please!
Commits on Aug 17, 2008
  1. Andy Matuschak

    Fixes 258060

    andymatuschak authored
    Fixed a couple memory leaks. Thanks to Christiaan Hofman for the patch.
Commits on Aug 11, 2008
  1. Andy Matuschak

    Fixes 256106

    andymatuschak authored
    Sparkle will no longer break on nil XML nodes; that would occur when a node is commented out. Thanks to Christiaan Hofman for the patch.
Commits on Aug 5, 2008
  1. Andy Matuschak

    Changing localized release notes behavior slightly: release note keys…

    andymatuschak authored
    … which are not tagged with an xml:lang attribute are no longer assumed to be English. So if the user has a foreign language anywhere in their preferred languages list, even if English is higher, release notes keyed to "da" will be picked before release notes not keyed to any language.
Commits on Aug 1, 2008
  1. Andy Matuschak

    Fixes 252986

    andymatuschak authored
    Adds support for xml:lang to pick localized nodes in appcasts (for release notes, etc)
Commits on Jul 9, 2008
  1. Andy Matuschak
Commits on Jul 3, 2008
  1. Andy Matuschak

    Fixes 244419

    andymatuschak authored
    Now removing the RSS class and and NSString+extras to be replaced by a much simpler implementation based on NSXMLDocument directly in SUAppcast! But this will probably break things for certain edge-case appcasts, so please file bugs if things no longer work for you.
    Thanks to Christiaan Hofman for the patch!
Commits on Jul 1, 2008
  1. Andy Matuschak
  2. Andy Matuschak

    Fixed 243883:

    andymatuschak authored
    Removed the last @try/@catch from my code. Thanks to Christiaan Hofman for the patch.
Commits on Jun 21, 2008
  1. Andy Matuschak

    Fixed all setters to eliminate the possibility of accidentally releas…

    andymatuschak authored
    …ing the value to be set in the case that [foo setValue:a] is called when [foo value] == a.
Commits on Jun 16, 2008
  1. Andy Matuschak

    Fixes 240274

    andymatuschak authored
    Sparkle no longer crashes when the appcast contains an enclosure with no URL (or if there's any other exception in appcast parsing).
Commits on May 14, 2008
  1. Andy Matuschak

    Fixes bug #228449: now the appcast doesn't run the RSS feed fetching …

    andymatuschak authored
    …in another thread; it just uses NSURLConnection's asynchronous capabilities (which don't leak memory like the synchronous methods) and some delegate methods.
Commits on May 9, 2008
  1. Andy Matuschak

    Sparkle now finds the newest update in an appcast for which the host …

    andymatuschak authored
    …meets the minimum system requirements. This fixes bug 228485. Thanks to Stuart Morgan for the patch.
Commits on May 8, 2008
  1. Touched practically every line of code in a super-monster-awesome ref…

    andym authored
    …actoring. Please read:
    - Broke out SUUpdater functionality into update drivers. There's a basic one from which everything else inherits, then a user-initiated one, an automatic one, and a scheduled one. It's super-clean-and-shiny.
    - Destroyed the abomination that was SUStatusChecker. In its place is SUProbingUpdateDriver, which is like 10 lines long.
    - Made automatic installation less stupid. It used to install, THEN offer to relaunch. That's dumb, beacuse if the user says no, the app is running from the trash. Now it offers to install and relaunch or to install on quit.
    - Renamed like every method and symbol. I hope you didn't branch anything.
    - Reorganized the project hierarchy to be much clearer and easier to navigate.
    - Reworked the error system to no use NSError instead of exceptions; extra technical information is now logged to the console so that we can find problems.
    - A bunch of other small bugfixes in things I noticed along the way but no longer remember.
    - Probably a ton of other stuff.
    Read over the code and see what I've done. Then PLEASE test this with your app internally and let me know how it goes. This revision is hereby NOT YET DECLARED SAFE FOR PUBLIC RELEASE. But because I'm still using SVN, this is how things have to be.
Commits on Jan 24, 2008
  1. Made a good deal more progress integrating the profile checking featu…

    andym authored
    …res. It should actually work now.
    Interface for asking the user if they will allow the profile to be sent is forthcoming.
    I also added some debug options to the test app's window; these may come in handy.
Commits on Dec 25, 2007
  1. Improved headers from Charles D. H. Williams.

    andym authored
Commits on Dec 24, 2007
  1. Fixed up headers to make things easier for those who compile Sparkle …

    andym authored
    …in situ -- thanks for the help, Charles D. H. Williams.
Commits on Dec 22, 2007
  1. Beware of falling bricks! Huge refactoring commit #1: cleansing Spark…

    andym authored
    …le of the plague that was SUUtilities.
Commits on Dec 13, 2007
Commits on Dec 4, 2007
Commits on Nov 9, 2007
  1. #76 Support for Plug-ins

    catlan authored
Commits on Aug 4, 2007
  1. Updated Sparkle user agent string--finally.

    andym authored
Commits on Jul 10, 2007
Something went wrong with that request. Please try again.