Changes from the 1.4.4 to 1.6.0
-------------------------------
** Improvements
    * Integration with the webconsole 3.x

Changes from the 1.4.2 to 1.4.4
-------------------------------
** Bug
    * [FELIX-1579] - iPOJO Web Console Plugin 1.4.2 does not work as expected

Changes from the 1.4.0 to 1.4.2
-------------------------------
** Bug
    * [FELIX-1497] - iPOJO Web Console plugin NPE when the service reference list is null


Version 1.4.0
-------------
** Improvement
    * Update parent pom
    * Initial commit


