0.2

 * Fixes incubator release issues from 0.1.0
 * Various bug fixes relating to the new UI
 * Upgraded to Bootstrap 2.1

 * Not fixed for this release:
   * Some issues with the installer remain
   * Custom text area fields break layout in ticket view



0.1.0

 * added multi-product
 * added dashboard and theme
 * added simplified installation

 * Not fixed for this release:
   * Widget error for product page with no versions defined (#136)

Project Initiation (Tue, 10 Jan 2012)
 
 * Trunk created in Apache svn repositories as an incubator project

