… conditionalise Obj-C code
Sparkle will now clean up the hsot app's name and version before sending it as the user agent string; some non-ASCII characters were causing problems before. Additionally, Sparkle now uses the bzr revision encoded in the framework's CFBundleVersion as the version it sends for itself in the user agent string; before this value was hardcoded, which was dumb.
Made Sparkle.h no longer a massive multi-headed abomination: now only SUAppcastItem, SUAppcast and SUUpdater (and SUVersionComparisonProtocol because it's part of the delegate protocol) are public. COMPATIBILITY ISSUE: This means there's no longer a public SUProbingUpdateDriver or a checkForUpdatesWithDriver: method. Now use checkForUpdateInformation. I may change that API before release, though. I'm thinking it might be better to give the delegate the opportunity to reject a potential update instead: then you'd just call checkForUpdatesInBackground and override that delegate method to always return NO. We'll see.