Changes from 1.4.0 to 1.6.0
---------------------------
** Improvement
    * [FELIX-2633] - Rename JMX annotations

Changes from 1.2.0 to 1.4.0
---------------------------
** Bug
    * [FELIX-1183] - iPOJO JMX handler doesn't re-throw exceptions

** Improvement
    * Update parent pom


Changes from 1.0.0 to 1.2.0
---------------------------
** Bug
   * [FELIX-828] - iPOJO JMX Handler: the name attribute has not the expected behavior
    * [FELIX-829] - iPOJO JMX Handler: the sub-element should refer to the handler namespace

Version 1.0.0
-------------
    * Initial release
