Sequel Pro Export Redesign
Remember this post in which I detailed at great length my plans for redesigning Sequel Pro's export architecture? Well, a little over 6 months since the redesign branch was created I finally merged it back into trunk yesterday.
As expected the new architecture doesn't exactly match what was planned in every way, but 28 new files and countless lines of code (the majority of which isn't new and was simply migrated and tidied up) later I'm pretty pleased with it. The main thing is that it does follow the general structure based upon units of work that are performed concurrently via instances of
NSOperation subclasses, as well as all export data formats inheriting from a common exporter base class.
So it isn't perfect and I'm sure there are a few bugs that were missed during development, but having just recently released a major new version, we've got plenty of time to resolve them. Although not to everyone's liking, I always think that it's best to get branches merged back into trunk as soon as possible to allow wider testing and further contributions from other developers. It's always good to get a few others to check out your code after you've been staring at it for 6 months.
The most user visible change in the redesign is the new export interface, which is now a single dialog allowing users to easily switch between exporting to different data formats. I'd encourage everyone to give it a try and test it out (with the usual warning that applies when using nightly builds: not to be used on production systems or valuable data).
If you'd like to keep up to date with any further improvements, request new features or report any issues, take a look at this issue, which is being used to track everything related to the new export redesign.