Changes from the 1.4.2 to 1.6.0
-------------------------------
** Bug
    * [FELIX-1411] - Issue on windows to find components inside bundle
    
** Improvement
    * [FELIX-1427] - Service injection with Smart Proxies
    * [FELIX-1906] - Allow calling a method when service properties of an already injected service are modified


Changes from the 1.4.0 to 1.4.2
-------------------------------
** Bug
    * [FELIX-1411] - Issue on windows to find components inside bundle

    
Changes from 1.2.0 to 1.4.0
---------------------------
** Bug
    * [FELIX-1302] - Manipulator never ignore annotations

** Improvement
    * Update parent pom
    
  
Changes from 1.0.0 to 1.2.0
---------------------------
** Improvement
    * [FELIX-813] - Resolve XML-Schemas locally rather than from Internet
    * [FELIX-846] - Enhance the iPojo maven plugin to take metadata from pom.
        
Changes from 0.8.0 to 1.0.0
---------------------------
** Improvement
    * Embed the latest manipulator
    
Version 0.8.0
-------------
    * Initial release 
