Snow Leopard Updates Cause Mail Plug-in Headaches

| News

Apple released Mac OS X 10.6.1 about a week after Snow Leopard shipped, and only days after many Mail plug-in developers added support for the new operating system to their products. Thanks to a change in the way Snow Leopard's Mail application handles plug-ins, however, that minor update means developers have to update their plug-ins every time Mail gets updated, too.

The problem for developers is that Apple changed how Mail interacts with plug-ins in Snow Leopard. Since there's a chance that a plug-in could cause problems with the application, they are all disabled when Mail is updated.

"One important change in Mail 4.X (10.6) with respect to plugins is that each maintenance release of Mail will disable plugins that are not specifically compatible with the maintenance release," Mail Act-On developer Scott Morrison said on his indev blog.

Ken Aspeslagh from ecamm agreed. "Each new version of Mail and the associated Message framework includes a unique code. Plug-ins have to explicitly declare themselves compatible with each new version," Mr. Aspeslagh told The Mac Observer. "There is some sense to this as plug-ins are closely tied to the inner working of Mail, and stand the chance of breaking when Mail.app updates. Apple didn't want to take this chance, so now they automatically disable all plug-ins with each update."

While the change translates into headaches for developers that now have to release compatibility updates every time Apple modifies Mail, the changes they'll have to make to their plug-ins will be trivial in most cases. Assuming their plug-ins don't break some functionality in Mail, they simply need to update an identifier code number in their plug-in to match the new number in the Mail application.

"This new method seems like it will require an update of every plug-in every time Apple updates Mail," Mr. Aspeslagh said.

The process seems pretty straight forward and simple for developers and end users alike, but it does break most automated update tools like Sparkle. Sparkle checks for updates after a plug-in loads and alerts the user if a newer version is available. Since Mail automatically disables all plug-ins that don't have a matching code number, Sparkle-enabled plug-ins won't get checked.

The change also means that plug-in versions will be tied to specific point releases of Mail, so using a newer version of a plug-in with an older version of Snow Leopard's Mail probably won't work, either.

The upside of Apple's plug-in compatibility changes in Mail means that end users will hopefully see fewer crashes related to third-party add-ons. The down side is that they probably won't want to install system updates until after they know compatible versions of the plug-ins they rely on are available.

Sign Up for the Newsletter

Join the TMO Express Daily Newsletter to get the latest Mac headlines in your e-mail every weekday.

Comments

Scott Morrison

so using a newer version of a plug-in with an older version of Snow Leopard’s Mail probably won’t work, either.

Actually this assumption doesn’t hold true (at least with the 10.6.1 update).  Mail just checks for the presence of the currently required UUIDs in a list of UUIDs, and doesn’t do a check for old UUIDs. 

Mind you it is up to the plugin developer to have the necessary code to address different versions of Mail.

Jeff Gamet

Thanks for the clarification, Scott! I have a feeling there’s going to be a bit of confusion while users sort out which plug-ins work for them between OS updates.

Jeff

Log-in to comment