Somehow, a critical comma slipped out of 1.5b3 which prevented non-.dmgs from being extracted properly. Please update to 1.5b4 to fix that problem.
Sorry about that, folks.
All the relevant tidbits from Sparkle, a very shiny solution to a very boring problem.
Somehow, a critical comma slipped out of 1.5b3 which prevented non-.dmgs from being extracted properly. Please update to 1.5b4 to fix that problem.
Sorry about that, folks.
I’m working on some major refactorings to enable Sparkle to work for updating multiple bundles at once, but that’ll take a while, and some rather important bugs have been fixed since 1.5b2. In the spirit of releasing more frequently, I give you 1.5b3. If you’ve released an app with b2, I recommend upgrading as soon as you can.
Alright folks, it’s been a few weeks, and we’ve gotten a ton of bugs hammered out. If you’re using 1.5b1, you should absolutely upgrade to b2, as a number of somewhat critical bugs have been fixed.
As of this writing, there are no known bugs (other than Sparkle being bigger than I want it to be), so please let me know if you find something amiss.
Still no documentation yet, but now that the bugs are closed, I’ll get on that.
SUUpdater.h for changes; you’ll likely have to make changes if you implement any delegate methods.ppc64 by default. If you want to ship that, feel free to build your own, but this saves a few hundred k.[[SUUpdater sharedUpdater] updatePreferencesChanged].SUUpdater's delegate an IBOutlet so you can hook it up in Interface Builder.SUUpdater, as it should have been.Okay, so it’s sounding like the risk and work involved in my last proposal outweigh the benefits.
I don’t want to spend a ton of time doing crazy things for Sparkle, anyway—I want to solve the software management problem correctly. Hrm.
On the bright side, 1.5b2 tomorrow, probably.
Sparkle is the wrong way to do software updates. This is for many reasons, but one of the big ones is that we’ve got tons of copies of Sparkle running around the system, some potentially very outdated.
Even without security issues, it’s silly to have some apps presenting new Sparkle interface and some apps not. And Snow Leopard compatibility weighs heavy on my mind.
I’ve said this whole time that really solving this problem is not something third-party developers can do. Software update is a small part of the larger software management problem, and I don’t think it can be solved outside of Cupertino.
This might help, though.
Apps which use Sparkle would ship with a Sparkle stub framework. This would be comparatively small and hopefully require only rare changes.
After it asks “do you want to check for updates?” the stub framework checks to ensure the full Sparkle framework is installed and up to date (by fetching an appcast from my server). If either criterion is unfulfilled, it’ll fetch the latest Sparkle.framework and install it in ~/Library/Frameworks (so as to avoid authentication).
Then it’ll load the framework from that path and proceed as usual, checking for updates to the system framework perhaps once a week. I envision appcasts specifying that they require a particular version of Sparkle for non-compatible new features.
Obviously, there are a lot of issues and cases to take into account (including the fact that I’m not sure I want to do this much work), but I think this is the best solution for the immediate future.
Thoughts?
If you're looking for something specific then give the search form below a try: