SafariTabs and Safari 3.1

I've had a lot of users emailing me and asking for an update to SafariTabs in order to be compatible with the recently released Safari 3.1. After updgrading to the new version of Safari SIMBL's version checking mechanism rightly displays the following dialog when launched;

SIMBL is right not to load SafariTabs as it is indeed not compatible with Safari 3.1, but just to let everyone know that I've not given up on SafariTabs having not released an update upon the Safari release, I am actually working hard on the new version which will eventually be SafariTabs 0.6.1. SafariTabs 0.6 does actually work with Safari 3.1 with the exception of a few features, its simply a configuration setting that SIMBL checks that prevents the plugin from being loaded.

For nearly all of the users that have contacted me about SafariTabs' incompatibility I have clearly stated this exact point as well as the fact that there is way around it and the steps to implementing this workaround if they are willing to live with the lack of a few features until a new release is available. The point of this post is to not only reassure all of the users of SafariTabs that a new version is being worked on and is on its way very soon, but also to provide this workaround to a greater audience than simply a per individual basis in each email. It also gives me more time to actually work on SafariTabs than spending the time repeating myself in every email that I receive.

It may seem like I don't care and I don't want to hear from users having issues, but the reality is the exact opposite, I welcome and encourage feedback regrading all aspects of any of my projects. Its just an announcement/acknowledgment like this I think is required to make everyone aware of the situation, not just those who contact me.

Having said this, the following is a quick guide that I have provided users when asked about SafariTabs incompatibility with Safari 3.1. Basically, SIMBL uses a custom entry within a bundle's Info.plist file which indicates the maximum and minimum build versions of the targeted application (in this case Safari) that the plugin has been tested with. SIMBL tests the plugin against the current application's build version and loads it based on its success. You simply need to change the maximum build version of Safari that SafariTabs has supposedly been tested with in order for SIMBL to load it. The following is how:

  1. View the contents of the SafariTabs bundle by Ctrl/right-clicking SafariTabs.bundle and selecting 'Show Package Contents' from the menu.
  2. Open the Info.plist file located at Contents/Info.plist.
  3. Edit the MaxBundleVersion key contents to end in 25 rather than 23 found under the parent key SIMBLTargetApplications.
  4. Save the file and restart Safari.

I must say that this workaround should only be used if you cannot wait for the new version of SafariTabs and you are comfortable with editing the contents of the bundle. The workaround is intended for users who have stated to me that they can't use Safari without it and don't need the missing fetures.

The new version is progressing nicely and the delay is largely down to the fact that I want to resolve all the bugs and issues that were brought to light in the current release. The final product should provide an improved user experience than some users may have had with new features introduced in the previous release.

Posted March 23rd, 2008