Changes from the 1.6.0 to 1.6.2
-------------------------------
** Improvement
    * [FELIX-2472] - Proxies should throw a runtime exception instead of a null point exception

Changes from the 1.4.2 to 1.6.0
-------------------------------
** Improvement
    * [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
---------------------------
** Improvement
    * Update parent pom


Changes from 1.0.0 to 1.2.0
---------------------------
** Improvement
    * [FELIX-855] - Collection support in iPOJO Temporal Dependencies
    * [FELIX-860] - Temporal Dependency Proxy injection
    
Changes from 0.8.1 to 1.0.0
---------------------------
** Improvement
    * [FELIX-625] - Temporal Dependency improvements (onTimeout policies)
    * [FELIX-673] - Provide OBR description to iPOJO bundles
    * [FELIX-716] - Provide XML schemas for iPOJO descriptors


Version 0.8.1
-------------
    * Initial release
