I've just finished writing a full account of yesterday's bugfix scramble and posted it on my own blog. Those of you who are curious about how we operate may find it interesting reading. Enjoy. ☺


We've just released versions 1.0.6 (for Mac OS X 10.3.9) and 1.1.1 (for Mac OS X 10.4 and later) of Adium. These contain the Sparkle Plus fix that I mentioned previously, so you should now be able to run the check for updates with confidence. Thanks go to all the users who helped me track down the problem over this afternoon.

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!).

First, I just saved a bunch of money on my car insurance by switching to GEICO.
Second, I believe I've found the problem that makes the updater crash. If I'm right, it was a pretty simple should've-retained-that bug in Sparkle. If the fix works, we'll have a 1.1.1 out sometime soon—if all goes well, within the hour.
Sorry about all this, people. But those of you who came to the IRC channel to help us find the problem, thank you very much.