Changes from the 1.6.0 to 1.8.0
-------------------------------
** Improvement
    * [FELIX-2758] - Add post-registration and post-unregistration callbacks to the iPOJO API
    * [FELIX-2759] - The iPOJO API do not support constructor injection

Changes from the 1.4.0 to 1.6.0
-------------------------------
** Improvement
    * [FELIX-1427] - Service injection with Smart Proxies
    * [FELIX-1906] - Allow calling a method when service properties of an already injected service are modified
    * [FELIX-2268] - Simplify setting of properties.

** New Feature
    * [FELIX-2132] - Provides a way to control service exposition from the implementation class

Version 1.4.0
-------------

** Bug
    * [FELIX-965] - Avoid classloading issue if an already manipulated class is used by the API

** Improvement
    * Update parent pom
    * Initial commit


