Finally: Trac 0.12 has been released!

After a bit over two years of development, Trac 0.12 finally has been released today. This is a new major release, containing many enhancements, new features and bug fixes. The most notable enhancements are the following:

  • Internationalization support and interface localization: The interface can now be translated, and displayed in the language chosen by each user. We currently have 17 complete translations and three more above 80%. Our translators have done a great job in the last weeks, keeping their translations up-to-date while we were polishing the messages. Kudos to you all!
  • Multiple repositories per instance: It is now possible to associate more than one repository with a Trac instance. This fits pretty well with the current DVCS trend, where the number of repositories often grows pretty quickly.
  • Improved ticket queries: It is now possible to query tickets by their creation and last modification date, using open or close date ranges. Moreover, queries can now contain OR clauses, e.g. to get the list of tickets you own or where you are on CC.
  • Automatic preview of wiki formatting: The wiki page and ticket comment editors now show an automatic preview of the wiki text as you type. For the wiki page editor, this happens in side-by-side mode, where the left column contains the editable text, and the right column shows the live preview. Having used the feature for some time now, I can say that this is a huge productivity boost.
  • Improved ticket editing: In addition to the live comment preview, the ticket editor now allows editing comments, while retaining the full comment history. Moreover, an optional component allows deleting ticket comments or complete tickets, a very useful feature for spam management.

In total, 0.12 represents 346 closed tickets (at the time of this writing), split into 132 enhancements, 213 defects and one task.

It is interesting to note that Trac not only consists of big chunks of work by a small number of people, but it is really a combination of lots of small contributions by a large number of people. A big thank you to all contributors, your bug reports, insights, patches and sometimes prods have brought Trac to what it is today.

Working on the internationalization aspects has been a very interesting experience. I'm actually quite allergic to non-English user interfaces, so I was initially rather averse to entering this field. However, after playing a bit with the French translation, I found that it presented many interesting challenges.

This release has taken very long to materialize. Two years between major releases is just too long: it means that some features that have been implemented at the beginning of the cycle have been lingering for two years without reaching the end users. We are going to try and improve that for the next release, with a target of 9 - 12 months between major releases. To achieve that, we are going to limit what we implement on the 0.12-stable branch (basically, only bug fixes), so that we can better focus on the enhancements to be implemented on trunk.

We haven't discussed much yet about the features to be scheduled for 0.13, but it seems that multi-project support has a good chance to be part of it. Now that 0.12 is out of the door, we'll take some time to plan the next round, and schedule the relevant tickets as needed. If you want to join the fun, please sign up on trac-dev and help us forge the future of Trac!