What’s New
- Additions:
- Added real version comparison courtesy Kevin Ballard: Sparkle now knows that 0.89 < 1.0a3 < 1.0.
- Added many localizations courtesy David Kocher’s localization team.
- Added a much better installation mechanism courtesy Allan Odgaard.
- Added a user agent string to the RSS fetch request.
- Added support for CFBundleShortVersionString in addition to CFBundleVersion, and support for a sparkle:shortVersionString attribute on the enclosure.
- Added support for CFBundleDisplayName if available.
- Changes:
- Automatic updating is now allowed by default, but only if DSA signing is on.
- Pressing Escape or closing the update alert now reminds the user later.
- Now when there’s a stored check interval, Sparkle doesn’t check immediately on startup the first time the app is launched because the user hasn’t consented to it yet.
- The update alert now remembers its size and floats.
- Bug Fixes:
- Fixed installation of DMGs with multiple files enclosed.
- Fixed a nasty memory leak.
- Fixed a bug wherein having no value for allowing automatic updates would display a checkbox for the updates but would not honor it.
- Fixed a bug in zip extraction that occurred in Panther.
- Fixed release notes caching.
- Fixed a bug wherein Sparkle refused to authenticate the installation if the user had cancelled authentication previously in that session.
- Fixed a weird bug that would cause a second help menu to appear on first launch.
- Fixed a bug that could occur when changing the scheduled check interval.
- Fixed a bug wherein the host app could crash if the user clicked Remind Me Later before the release notes finished loading.
- Fixed a bug wherein the behavior was undefined if the user manually initiated a check when an automatic one was already taking place.
- Fixed wrapping on the description field in the update alert.
What Else Is New?
You probably already noticed that Sparkle now has an icon. It’s done by Jeff Marlow, and I’m really happy with it. Inside the Sparkle 1.0 package, there’s also a “Updates Powered By Sparkle” badge thingy you can put on your site or your app if you want to for some reason.
SparklePlus is a neat addition to Sparkle that brings statistics on user systems to the framework. A couple of you have been asking me how I feel about it. Is it blasphemous? Should we strike down the heathen? No! I gave Tom advice about on it and told him it was a great idea. But because Sparkle is so widely used, I feel it’s potentially unethical including that kind of thing in the main distribution. For those who want it, though, it’s a great fork! Use it to eat steak.
Jacob Godwin-Jones wrote an excellent article on dynamic release notes with Sparkle. With his modifications, users going from 2.0 to 2.2 see the release notes for both 2.1 and 2.2.
Done!
I think this will be my last release of Sparkle for a while, unless there are big glaring bugs that need to be fixed. I want to write a new app.
As usual, you should probably avoid releasing an update to your application with this update to Sparkle until a few days have passed and we’re sure that no terrible, glaring bugs have snuck in during the dead of night.









Got Thoughts?
By all means share them, and start the conversation.
Leave a Comment
You can follow any responses to this entry via its RSS comments feed. You can also leave a trackback if the inclination is there.