Changes from 0.1.2 to 0.1.3
---------------------------

** Bug
  * [FELIX-3898] name parsing issue on BundleDependency

** Improvement
  * [FELIX-3899] switch to Scala 2.10

Changes from 0.1.1 to 0.1.2
---------------------------

** Bug
  * [FELIX-3764] servicediagnostics plugin does not append the correct context path info to it's javascript files
  * [FELIX-3767] servicediagnostics plugin should properly handle service properties

** Improvement
  * complete rewrite
  * [FELIX-3768] servicediagnostics plugin should detect circular dependencies
  * doesn't embedd scala, json or jquery anymore

** Backward compatibility
  * broken: plugin API changed

Release 0.1.1
-------------

Initial version.
