Base 2.4.3 is now available to download. This is a very important update if you are running Mac OS 10.7 and purchased Base from the Mac App Store.
This version will only be available for a short time (at the latest, 19th May 2013) and will be the last version to support Mac OS 10.7.
That sounded a bit serious, right? Here’s why:
When Base 2.4 was released, the App Store version enabled sandboxing - a security system required to be used by all updated apps on the Store. Among other things, sandboxing places very strict limits on which files an app can open. Typically this is only files which have been specifically selected by the user. However, Base needs more than that. As well as the selected database file, Base needs access to journal files. These are short-lived files which are temporarily created then deleted when making changes to the original database.
A method of getting access to these related files was added in Mac OS 10.8, so Base makes use of it and everything works smoothly. Except that due to a mistake in my testing, I didn’t realise that this method does not exist on 10.7. This means that people running Base on 10.7 could not make changes to their databases as the journal files were prevented from being created by the sandbox.
So that’s the problem in a nutshell. A mistake on my part results in Base coming up against a strict security system. The obvious answer would be to not use that system, but it’s not that simple. The app sandbox is required by Apple for all (non-bug-fix) updates to apps in the Store. Once you’ve enabled it, you are prevented from releasing an update which does not have the sandbox turned on. The system behind the Store flat-out refuses to allow it.
With slight trepidation, I contacted the App Review team at Apple with a request to temporarily opt out of the sandbox. After explaining the problem to a very helpful person, they have agreed to the following:
- An update to Base can be released with sandboxing disabled
- Another update must be submitted to the Store with sandboxing re-enabled by May 19th 2013
To achieve this, Base will need to remove support for Mac OS 10.7. This would have happened soon in any case, it is just unfortunate that it is occurring in this way.
Although it seems fashionable at the moment to openly criticise the app sandbox and app review systems, I do not wish to do so. The engineer at DTS who helped me add sandboxing to Base was most helpful and the person I spoke to in App Review took the time to fully understand what had happened and how I proposed to fix it. While the technology may not be perfect, the people making it appear to be working hard to get there.
Finally, though most importantly, I would like to apologize for the hassle this has caused people affected by the bug. If you have any further questions, please do get in touch.