Changes from the 1.8.4 to 1.8.6 ------------------------------- ** Bug * [FELIX-3742] - Implementing class fails to load unless super interface's (interface extended by implemented interface) package is imported. * [FELIX-3789] - Deadlock due to synchronization on INSTANCE_NAME * [FELIX-3819] - The export directive of iPOJO is wrong Changes from the 1.8.2 to 1.8.4 -------------------------------- ** Bug * [FELIX-3451] - "instance.name" attribute not recognized * [FELIX-3500] - InstanceManager concurrency issue: "A methodID cannot be associated with a method from the POJO class" * [FELIX-3501] - IPojo FactoryStateListener doesn't get notified while stopping factory * [FELIX-3545] - Memory leak when unregistering a component used by an aggregate dependency with an unbind callback * [FELIX-3548] - Concurrent access during startup * [FELIX-3567] - iPOJO Configuration Handler should not reuse the dictionary object from the configuration admin * [FELIX-3576] - iPOJO fails when using constructor injection and expecting BundleContext in ctor * [FELIX-3599] - Problem with 'subservice action="instantiate"' in ipojo composite * [FELIX-3621] - Two dimensional array as argument to a method in a component * [FELIX-3672] - Potential Concurrent Modification Exception when a bundle is stopped ** Improvement * [FELIX-3560] - Extensions to IPojo's Factory and ComponentInstance documentation for custom handlers Changes from the 1.8.0 to 1.8.2 ------------------------------- ** Bug * [FELIX-2893] - Properties are not propagate to service by default * [FELIX-2902] - Service properties added by propagation overrides already existing properties * [FELIX-2907] - Problem calling _setInstanceManager on guice enhanced classe * [FELIX-2981] - Unable to remove configuration properties using iPOJO's configuration handler * [FELIX-2989] - Using a Service Controller set to true can trigger a service registration-unregistration-registration sequence * [FELIX-2995] - The service properties are updated despite there is no changes * [FELIX-3009] - Abstract classes as service specifications generates warnings at runtime * [FELIX-3075] - Change to ServiceController status in current trunk does not re-register service * [FELIX-3172] - Error when calling BundleContext.register(Class, Object, Dictionary) * [FELIX-3192] - Service properties are not updated if the properties were already propagated * [FELIX-3271] - On KF, the Instance singleton strategy throws an UnsupportedOperationException when stopping * [FELIX-3323] - Ipojo composite throw ClassCastException when configuration is updated thru ConfigAdmin * [FELIX-3356] - Objectweb ASM Clashes with IPojo * [FELIX-3374] - Use of java.lang.Properties in iPOJO Core ** Improvement * [FELIX-3036] - Add IPOJO-Components header support * [FELIX-3081] - Integrate the online-manipulator in iPOJO Core * [FELIX-3144] - Method interceptors should receive Method or Constructor objects * [FELIX-3155] - Allow identifying iPojo extensions by a namespace qualified name * [FELIX-3190] - iPOJO Factories doesn't give access to the complete Metadata model * [FELIX-3252] - Merge the online manipulator into iPOJO Core * [FELIX-3326] - Accessing IPojo-Component's all inherited classes and all implemented interfaces in PrimitiveTypeDescription ** New Feature * [FELIX-2932] - Allows disabling the asynchronous processing in the iPOJO Extender Changes from the 1.6.8 to 1.8.0 ------------------------------- ** Bug * [FELIX-2694] - Instance state not recomputed after reconfiguration when the instance is stopped * [FELIX-2716] - [iPOJO] Failure when creating proxies for classes in java.* packages ** Improvement * [FELIX-2781] - Expose the implementation class as service when no interfaces are found in the hierarchy * [FELIX-1424] - Constructor Injection * [FELIX-1428] - Constructor injection of Configuration properties * [FELIX-2461] - Allow specifying the targeted service interface in the @ServiceController * [FELIX-2620] - Change iPojo annotation parameters to follow java naming conventions * [FELIX-2621] - Rename annotations to remove collisions * [FELIX-2622] - Support static service properties that are not mirrored into fields * [FELIX-2688] - iPojo "requires.filters" - Array object instead of Dictionary object * [FELIX-2705] - Provide a way to extend the logger strategy * [FELIX-2742] - Constructor injection of service dependencies * [FELIX-2744] - Add annotations to the maven-ipojo-plugin archetype Changes from the 1.6.6 to 1.6.8 ------------------------------- ** Improvement * [FELIX-2688] - iPojo "requires.filters" - Array object instead of Dictionary object * [FELIX-2705] - Provide a way to extend the logger strategy ** Bug * [FELIX-2685] - Wrong Element name when XML namespace contains ':' * [FELIX-2694] - Instance state not recomputed after reconfiguration when the instance is stopped Changes from the 1.6.4 to 1.6.6 ------------------------------- ** Improvement * [FELIX-2594] - Have a way to create new custom iPojo handler without having to specify a handler usage * [FELIX-2623] - @Update annotated methods should not require a Dictionary parameter ** Bug * [FELIX-2580] - iPOJO failed to create proxies on service which are not interface * [FELIX-2596] - DependencyHandler.onObjectCreation throws NPE when bundle is refreshed * [FELIX-2603] - wrong behavior of InstanceManager.onSet(..) method * [FELIX-2636] - Cannot control the validity of an iPOJO instance using a configuration property Changes from the 1.6.2 to 1.6.4 ------------------------------- ** Improvement * [FELIX-2420] - Enum support for @Property annotation * [FELIX-2461] - Allow specifying the targeted service interface in the @ServiceController * [FELIX-2472] - Proxies should throw a runtime exception instead of a null pointer exception ** Bug * [FELIX-2561] - Properties set as required instead of optional in the component type descriptions Changes from the 1.6.0 to 1.6.2 ------------------------------- ** Bug * [FELIX-2308] - getService is called during the unregistration of a service. * [FELIX-2309] - Potential NPE when a service has abruptly in the smart proxies. * [FELIX-2323] - Unbind method should not be called during the invalidation process if the invalidation does not come from a service departure. ** Improvement * [FELIX-2296] - Access to ServiceReference in iPOJO service. Changes from the 1.4.0 to 1.6.0 ------------------------------- ** Bug * [FELIX-1533] - Potential deadlock when stopping the underlying OSGi framework * [FELIX-1965] - iPojo component is made available regardless of exception during validate * [FELIX-2014] - Potential ClassCastException when a service property does not receive a value and is used in the constructor * [FELIX-2019] - The Property value is 'null' in the Architecture description, while the value is well assigned to the component's field. * [FELIX-2052] - Handler require callback are not called if the service (required) is registered before the instance of the handler has been started. * [FELIX-2093] - iPOJO doesn't always use the correct class loader ** Improvement * [FELIX-1425] - Service Proxy Mode * [FELIX-1426] - Service injection with Dynamic Proxies * [FELIX-1427] - Service injection with Smart Proxies * [FELIX-1532] - Be able to set the iPOJO Log Level from BND * [FELIX-1741] - Allows the configuration handler description to retrieve the managed service PID * [FELIX-1854] - Allows instances to directly declares service.* properties (pid, ranking, vendor, description) * [FELIX-1885] - Ease CreationStrategy & iPOJOServiceFactory usage * [FELIX-1906] - Allow calling a method when service properties of an already injected service are modified ** New Feature * [FELIX-2132] - Provides a way to control service exposition from the implementation class Changes from 1.2.0 to 1.4.0 --------------------------- ** Bug * [FELIX-985] - iPOJO analyzes already installed bundle by holding a lock * [FELIX-1002] - iPOJO Static binding policy is not compliant with the Declarative Service static binding policy. * [FELIX-1318] - Case mismatch problem of iPOJO custom handler name ** Improvement * Update parent pom * [FELIX-936] - Allowing publishing class as services * [FELIX-966] - iPOJO: Better error reporting when getPojoObject return null * [FELIX-982] - Declare iPOJO as a singleton bundle to avoid multiple version of the runtime at the same time * [FELIX-1114] - callback after configuration change needed * [FELIX-1163] - Improve error message when an array cannot be created due to a classloading issue * [FELIX-1182] - iPOJO - reconfiguration : get all properties with the update callback Changes from 1.0.0 to 1.2.0 --------------------------- ** Bug * [FELIX-797] - Composite Architecture contains duplicate instances * [FELIX-803] - iPOJO Core schema needs to be fixed * [FELIX-805] - Instance not created if the factory becomes valid later * [FELIX-866] - iPOJO Provides 'interface' attribute should be 'specifications' ** Improvement * [FELIX-787] - iPOJO logger log messages inside the log service and print them * [FELIX-796] - Allows enabling/disabling the internal event dispatcher * [FELIX-801] - Support service properties injection in bind/unbind callbacks * [FELIX-815] - Support optional properties * [FELIX-816] - Support comparator attribute with any service binding policy * [FELIX-818] - Implement the ServiceReference compareTo method * [FELIX-853] - Provide new service object creation strategies * New introspection API Changes from 0.8.0 to 1.0.0 --------------------------- ** Bug * [FELIX-557] - Factories still living when a primitive component does not have its manipulation metadata * [FELIX-632] - Component are set to immediate despite they are already immediate * [FELIX-635] - Simplify factory name computation * [FELIX-628] - Architecture service should not publish the instance.name property * [FELIX-621] - Instances not disposed when instances creation failed ** Improvement * [FELIX-552] - ClassCastException when using services as dynamic proxies * [FELIX-555] - Error message in the iPOJO Extender could be more accurate when failing to get the bundle context * [FELIX-558] - Non caught NoClassDefFoundError when the instantiation of a Nullable object failed * [FELIX-603] - Improve iPOJO Arch service dependency description * [FELIX-626] - Allow specifying instance configuration containing empty dictionaries * [FELIX-629] - Allows instance configuration to declares complex properties * [FELIX-631] - Immediate Component Detection * [FELIX-633] - Factory creation should be done in another thread * [FELIX-634] - Improve error handling * [FELIX-655] - Add a 'from' attribute in the service dependencies * [FELIX-673] - Provide OBR description to iPOJO bundles * [FELIX-683] - Supporting lists and vectors in the service dependency management * [FELIX-686] - Supporting collections and set in the service dependency management * [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 * [FELIX-732] - Duplicate instance created of a managed service Version 0.8.0 ------------- * Initial release