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

    
Changes from 1.2.0 to 1.4.0
---------------------------
** Bug
    * [FELIX-994] - ClassCastException while Architecture on a composite with a provided service
     
** Improvement
    * Update parent pom

 
Changes from 1.0.0 to 1.2.0
---------------------------
** Bug
    * [FELIX-797] - Composite Architecture contains duplicate instances
    * [FELIX-817] - iPOJO Service Exported throw an error when stopping
    
Changes from 0.8.1 to 1.0.0
---------------------------
** Bug    
    * [FELIX-622] - iPOJO Composite Service Instance can use factories twice to create service instance
    * [FELIX-628] - Architecture service should not publish the instance.name property
    * [FELIX-637] - Composite service implementation does not support long argument 
    
** Improvement
    * [FELIX-673] - Provide OBR description to iPOJO bundles 
    * [FELIX-688] - Better error reporting when an instance creation failed 
    * [FELIX-689] - Instance 'name' property should become 'instance.name' 
    * [FELIX-716] - Provide XML schemas for iPOJO descriptors

Version 0.8.1
-------------
    * Initial release 
