Adium

Your Day of Crash-on-Launch is over

I just took 1.1 and the minimumSystemVersion elements out of our update feeds. This means that you’ll no longer be able to Sparkle-update to 1.1, but you also won’t crash on your update check.

Coming later tonight: 1.0.6 (for Panther users) and 1.1.1 (for Tiger users), at the same time.

What caused the crash?

First, a moment of context: The 1.1 series requires Tiger. We dropped Panther to make it easier for ourselves and our GSoC students to work on Adium; each OS upgrade brings with it new tools for us to use that we can’t use if we continue to support previous versions. So at some point, we drop one of the old OS versions so we can use new yum that the latest one has introduced.

So 1.1 won’t run on Panther. This is a problem for our Panther users; the latest version they can run is 1.0.5 (1.0.6, soon), but the update feed was promising 1.1. So Evan added some code to the update feeds to state that 1.1 requires Mac OS X 10.4 or later; our updater is smart enough to not bother you about an update if it can’t run it, but only if the feed tells it the version that the update requires.

So far, so good. But Evan added the information as an attribute, and it’s supposed to be an element. (Don’t worry about the difference.) The result of this was that our Sparkle updater did not notice the minimum system version, because it was in the wrong place.

So, early this morning, I fixed the appcast, moving the minimum system version to an element, as it’s supposed to be.

That’s when it broke.

It turns out that our Sparkle Plus updater had a bug that caused it to crash when there’s a minimumSystemVersion element. When it was an attribute, it didn’t even see it (it doesn’t look there for that), so there was no crash. When it wasn’t in the appcast at all, there was no crash. But once it was put in properly, it revealed the crash.

This had been fixed in Sparkle, but somehow, the fix never made it to Sparkle Plus.

What now?

I’ve fixed the bug for 1.0.6 and 1.1.1. 1.0.6 is for Panther users, and 1.1.1 is for Tiger users.

We’re also changing the feed URL with these versions, in order to not break older versions of Adium (Zac points out that 12.4% of you are still using 1.0.4!).

3 Responses to “Your Day of Crash-on-Launch is over”