Changes from 2.0.0 to 2.0.2
---------------------------
** Improvement
    * [FELIX-4998] - Declarative Service plugin might provide JSON format support for Inventory Printer
** Bug
    * [FELIX-5005] - BundleInfoProvider should work with null being passed as appRoot
    * [FELIX-5023] - Web Console plugin is missing function to enable component descriptions


Changes from 1.0.0 to 2.0.0
---------------------------

** Improvement
    * [FELIX-4786] - Update to latest DS implementation
    * [FELIX-4559] - DS plugin should use Inventory instead of deprecated ConfigurationPrinter
    * [FELIX-3861] - Set felix.webconsole.category on Web Console plugins
    * [FELIX-3140] - Display link for component id within the bundle details and service details view

** Bug
    * [FELIX-4872] - Error while downloadig full text config in BundlesServlet: IllegalArgumentException: Invalid local link

    
Initial Release 1.0.0
---------------------

** Bug
    * [FELIX-3135] - Error page on component reload
    * [FELIX-3268] - Cannot build webconsole and webconsole-plugins with JDK 7
    * [FELIX-3442] - native2ascii doesn't work for DS plugin

** Improvement
    * [FELIX-3100] - Separate SCR plugin
    * [FELIX-3441] - DS plugin inconsistent status text
