Working down by own roadmap these are the most important recent changes:
Reworked configuration files
I did switch from XML based configuration files for preprocessing (*.ost) and style definition (*.oss) to DSL style configuration files (using Coco/R for scanner parser generation). As part of this change I got rid of manually defining Ids to auto generated ids, making configuration simpler.
Improved numeric index
The numeric index now generates index pages of a given block size (4096 by default). This should improve OS low-level file block caching/handling. As a result preprocessing got a bit faster. There are still some code optimizations left, that might increase performance even further.
libagg backend improvements
While the libagg backend is not finished (missing support for external images, some smaller missing features that should be rather easy to add), I added path dash and font support so that resulting maps are now usable. Image quality between cairo, Qt and agg backends is only visibly different in font handling (libagg being better IMHO). I did not yet do any in deep performance comparison, but it looks like performance between cairo and libagg backend is comparable, with libagg possibly being faster in some cases. Main benefit of libagg is the possibility to draw into offscreen buffers without any OS support. Here are screenshots of the same map drawn with cairo and libagg.