blob: 3e2c2231130c21448eefe53742395d769da7c9ef [file] [log] [blame]
Clement Escoffiera7a9fb82014-03-10 19:10:38 +00001Changes from 1.11.1 to 1.11.2
2-----------------------------
3
4** Bug
5 * [FELIX-4229] - Provide a way to obtain the component's BundleContext (other than constructor injection)
6 * [FELIX-4419] - Open access to InstanceDeclaration and TypeDeclaration
7 * [FELIX-4432] - DefaultServiceRankingInterceptor holds duplicate dependencies
8 * [FELIX-4448] - Invalid dynamism management when an interceptor implements both Tracking and Ranking interceptors
9 * [FELIX-4449] - The ConfigurationListener list contains duplicates and fires update on unchanged configurations
10
11** Improvement
12 * [FELIX-3931] - Provide a handler to inject the bundle context
13 * [FELIX-4160] - Create an Maven Parent POM for iPOJO
14
Clement Escoffier17ffca92014-01-19 15:36:12 +000015Changes from 1.11.0 to 1.11.1
16-----------------------------
17
18** Bug
19 * [FELIX-4335] - PropertyDescription does not allow retrieving the current value of the represented property
20 * [FELIX-4374] - iPOJO: ConcurrentModificationException in ProvidedService
21 * [FELIX-4386] - Deadlock while creating composite instances programmatically
22
23** Improvement
24 * [FELIX-4292] - @Component 'propagation' attribute has wrong default value
25
Clement Escoffier2ed091c2013-10-06 14:11:29 +000026Changes from 1.10.1 to 1.11.0
27-----------------------------
28
29** Bug
30 * [FELIX-4115] - NPE in DependencyModel.getService() when @Bind method throws an exception
31 * [FELIX-4132] - @Modified not working on Equinox
32 * [FELIX-4138] - TypeDeclaration calls factory.dispose() even if it already has been disposed (externally)
33 * [FELIX-4139] - package conflict with ipojo-annotations and ipojo-runtime
34 * [FELIX-4164] - Instance / Component matching regression
35 * [FELIX-4172] - Updated method called twice at the bundle start
36 * [FELIX-4183] - Wrong Javadoc of TrackerCustomizer addingService method
37 * [FELIX-4199] - The filter based service tracking interceptor should always be created
38 * [FELIX-4200] - Only the last iPOJO Tracking interceptor is modifying the reference
39 * [FELIX-4204] - Service Dependencies with a callback without a type attribute must be rejected
40 * [FELIX-4207] - ipojo @Component with propagation set to true doesn't propagate properties
41 * [FELIX-4218] - NPE with field annotated with both @Property and @ServiceProperty
42 * [FELIX-4236] - Unvalued properties should be part of the instance's architecture
43 * [FELIX-4247] - Memory leak with ServiceUsage and inner class (Listener style)
44 * [FELIX-4248] - ServiceUsage ThreadLocal removal
45 * [FELIX-4250] - Specification deduction broken when the method does not start with the 'bind' prefix
46 * [FELIX-4251] - The @Bind annotation should use Class instead of String
47 * [FELIX-4261] - NPE when an instance is declared without a configuration using the @ConfigurationTracker
48 * [FELIX-4268] - Duplicated name errors always happen when there are 2 factories with the same name
49
50** Improvement
51 * [FELIX-4143] - Improve @Configuration management performances
52 * [FELIX-4216] - Allow @Property without name in constructors
53 * [FELIX-4228] - Improve dependency identification in log messages and exceptions
54 * [FELIX-4232] - Service Dependency Interceptors should be part of the instance architecture
55 * [FELIX-4252] - Make Extender's ThreadPool size configurable
56 * [FELIX-4262] - QueueServices should be observable
57 * [FELIX-4263] - iPOJO Core should use ranged imports
58 * [FELIX-4264] - JobInfo should provide a way to identify the kind of task
59
60** New Feature
61 * [FELIX-4146] - Add getInstances and getInstanceNames in the Factory interface
62 * [FELIX-4147] - Add getProvidedService in ProvidedServiceDescription and allow external service management
63 * [FELIX-4215] - Extend manipulation metadata with argument names
64 * [FELIX-4231] - Provide service binding interceptors
65 * [FELIX-4265] - Provides a recorder for startup events
66 * [FELIX-4267] - Define Apache Karaf features for iPOJO
67
68** Task
69 * [FELIX-3925] - Merge the temporal dependency handler within the service dependency handler
70 * [FELIX-4133] - Add distribution creation in the iPOJO runtime build
71 * [FELIX-4134] - Move integration-tests to the reactor
72 * [FELIX-4136] - Document service dependency interceptors
73 * [FELIX-4151] - Fix mistakes in the javadoc tags
74 * [FELIX-4156] - Fix versions of maven plugins
75 * [FELIX-4217] - Ensure compatibility between Aries Blueprint and iPOJO
76 * [FELIX-4245] - Deadlock in Dependency
77 * [FELIX-4270] - Bump iPOJO package version to 1.11.0
78
79** Sub-task
80 * [FELIX-4239] - Extend service dependency documentation with the 'exception' attribute.
81 * [FELIX-4240] - Support the 'exception' attribute in service dependencies
82 * [FELIX-4242] - Support the 'timeout' attribute in service dependencies
83 * [FELIX-4243] - Define the dependency configuration matrix and improve error detection
84 * [FELIX-4244] - Extend the service dependency documentation with the timeout attribute
85 * [FELIX-4257] - Allow the dependency handler to track the entry and exit of inner class methods
86
Clement Escoffier590ebbb2013-06-15 07:19:01 +000087Changes from 1.10.0 to 1.10.1
88-----------------------------
89
90** Bug
91 * [FELIX-4072] - onGet and onSet methods do not provide the reference on the pojo object
92 * [FELIX-4076] - Useless locking on getRequiredHandler
93 * [FELIX-4077] - Fix documentation urls in maven projects
94 * [FELIX-4089] - Extender do not deactivate managed components when stopped
95 * [FELIX-4096] - NPE when retrieve required and missing handler on a disposed factory
96 * [FELIX-4105] - Factories not disposed when their bundle is leaving
97 * [FELIX-4106] - Defensive service registration and update
98 * [FELIX-4108] - Deadlock in the new extender
99 * [FELIX-4109] - ComponentTypeDescription.addProperty() ignore immutable parameter
100 * [FELIX-4113] - Factories not disposed when the extension provider is leaving
101 * [FELIX-4114] - iPOJO ProvidedServiceDescription does not expose policy & CreationStrategy
102 * [FELIX-4123] - Deadlock in new extender because of factory lock used in removedService
103 * [FELIX-4127] - Configuration tracker bug when starting and stopping iPOJO successively
104 * [FELIX-4129] - Cannot change the optionality of a dependency
105
106** Improvement
107 * [FELIX-1430] - Notification mechanism on bind/unbind events
108 * [FELIX-4073] - PrimitiveHandler.attach(ComponentInstance) is final
109 * [FELIX-4119] - Allow customization of DependencyHandler created Callbacks
110
111** New Feature
112 * [FELIX-4116] - Ability to listen for component service dependencies, providings, configuration properties, ...
113 * [FELIX-4120] - Allow external entity to interact during the service resolution
114 * [FELIX-4125] - Provide 'components' and 'component' commands
115 * [FELIX-4130] - Allow retrieving the component instance from the instance description
116 * [FELIX-4131] - Explicitly set configuration's location when the configuration is null
117
118** Task
119 * [FELIX-4092] - Move 'annotation' module from 'runtime' to 'manipulator' project
120 * [FELIX-4103] - Skip deployment of it-tests
121 * [FELIX-4104] - Do not run integration-tests in the default build
122 * [FELIX-4124] - Move arch-gogo to runtime
123
Clement Escoffier133c3c02013-06-15 07:25:56 +0000124Changes from 1.8.6 to 1.10.0
Clement Escoffierfe1775d2013-05-13 12:54:07 +0000125----------------------------
126
127** Bug
128 * [FELIX-3451] - "instance.name" attribute not recognized
129 * [FELIX-3843] - ClassCastException when listing service properties of a non-ComponentFactory Factory service
130 * [FELIX-3895] - iPOJO instance is not shown (with the "arch" commands) if constructor is failing
131 * [FELIX-3896] - Null reference are injected with @Bind(optional=false) method on iPOJO components
132 * [FELIX-3918] - iPOJO Logger cannot be dynamically configured on Equinox and KF
133 * [FELIX-3919] - iPOJO Proxies strategy cannot be configured dynamically on Equinox and KF
134 * [FELIX-3920] - Creation Strategy does not work on KF3
135 * [FELIX-3974] - Properties cannot be set as immutable using annotations
136 * [FELIX-3995] - Missing options in Bind annotation
137 * [FELIX-4041] - Properties starting with . should not be propagated
138 * [FELIX-4048] - @Requires handler does not fail when no specification can be found
139 * [FELIX-4053] - Avoid @StaticServiceProperty to be used on classes
140 * [FELIX-4054] - Use current factory version to generate instance name if required
141
142** Improvement
143 * [FELIX-3860] - factories and instances iPOJO gogo commands should show the "public=false" instances/factories
144 * [FELIX-3932] - Allow dependency filter's to get context-source variables
145 * [FELIX-4040] - Implement config admin support to handle binding location properly
146 * [FELIX-4045] - Chain Exceptions when possible
147
148** New Feature
149 * [FELIX-4034] - Instance configuration DSL
150
151** Task
152 * [FELIX-3892] - Upgrade runtime codebase to Java 5
153 * [FELIX-3903] - Migrate tests to pax exam 3
154 * [FELIX-3921] - Update pom to latest Felix's parent
155 * [FELIX-3948] - Define a new extender model
156 * [FELIX-3978] - Check that we don't use java 6+ API
157
158** Wish
159 * [FELIX-3926] - Provide metadata for the Extender namespace
160
Clement Escoffier06de0612012-12-18 09:13:20 +0000161Changes from the 1.8.4 to 1.8.6
162-------------------------------
163
164** Bug
165 * [FELIX-3742] - Implementing class fails to load unless super interface's (interface extended by implemented interface) package is imported.
166 * [FELIX-3789] - Deadlock due to synchronization on INSTANCE_NAME
167 * [FELIX-3819] - The export directive of iPOJO is wrong
168
Clement Escoffier72609822012-10-28 14:29:42 +0000169Changes from the 1.8.2 to 1.8.4
170--------------------------------
171
172** Bug
173 * [FELIX-3451] - "instance.name" attribute not recognized
174 * [FELIX-3500] - InstanceManager concurrency issue: "A methodID cannot be associated with a method from the POJO class"
175 * [FELIX-3501] - IPojo FactoryStateListener doesn't get notified while stopping factory
176 * [FELIX-3545] - Memory leak when unregistering a component used by an aggregate dependency with an unbind callback
177 * [FELIX-3548] - Concurrent access during startup
178 * [FELIX-3567] - iPOJO Configuration Handler should not reuse the dictionary object from the configuration admin
179 * [FELIX-3576] - iPOJO fails when using constructor injection and expecting BundleContext in ctor
180 * [FELIX-3599] - Problem with 'subservice action="instantiate"' in ipojo composite
181 * [FELIX-3621] - Two dimensional array as argument to a method in a component
182 * [FELIX-3672] - Potential Concurrent Modification Exception when a bundle is stopped
183
184** Improvement
185 * [FELIX-3560] - Extensions to IPojo's Factory and ComponentInstance documentation for custom handlers
186
Clement Escoffier6353db72012-04-21 08:25:10 +0000187Changes from the 1.8.0 to 1.8.2
188-------------------------------
189** Bug
190 * [FELIX-2893] - Properties are not propagate to service by default
191 * [FELIX-2902] - Service properties added by propagation overrides already existing properties
192 * [FELIX-2907] - Problem calling _setInstanceManager on guice enhanced classe
193 * [FELIX-2981] - Unable to remove configuration properties using iPOJO's configuration handler
194 * [FELIX-2989] - Using a Service Controller set to true can trigger a service registration-unregistration-registration sequence
195 * [FELIX-2995] - The service properties are updated despite there is no changes
196 * [FELIX-3009] - Abstract classes as service specifications generates warnings at runtime
197 * [FELIX-3075] - Change to ServiceController status in current trunk does not re-register service
198 * [FELIX-3172] - Error when calling BundleContext.register(Class, Object, Dictionary)
199 * [FELIX-3192] - Service properties are not updated if the properties were already propagated
200 * [FELIX-3271] - On KF, the Instance singleton strategy throws an UnsupportedOperationException when stopping
201 * [FELIX-3323] - Ipojo composite throw ClassCastException when configuration is updated thru ConfigAdmin
202 * [FELIX-3356] - Objectweb ASM Clashes with IPojo
203 * [FELIX-3374] - Use of java.lang.Properties in iPOJO Core
204
205** Improvement
206 * [FELIX-3036] - Add IPOJO-Components header support
207 * [FELIX-3081] - Integrate the online-manipulator in iPOJO Core
208 * [FELIX-3144] - Method interceptors should receive Method or Constructor objects
209 * [FELIX-3155] - Allow identifying iPojo extensions by a namespace qualified name
210 * [FELIX-3190] - iPOJO Factories doesn't give access to the complete Metadata model
211 * [FELIX-3252] - Merge the online manipulator into iPOJO Core
212 * [FELIX-3326] - Accessing IPojo-Component's all inherited classes and all implemented interfaces in PrimitiveTypeDescription
213
214** New Feature
215 * [FELIX-2932] - Allows disabling the asynchronous processing in the iPOJO Extender
216
217Changes from the 1.6.8 to 1.8.0
218-------------------------------
219** Bug
220 * [FELIX-2694] - Instance state not recomputed after reconfiguration when the instance is stopped
221 * [FELIX-2716] - [iPOJO] Failure when creating proxies for classes in java.* packages
222
223** Improvement
224 * [FELIX-2781] - Expose the implementation class as service when no interfaces are found in the hierarchy
225 * [FELIX-1424] - Constructor Injection
226 * [FELIX-1428] - Constructor injection of Configuration properties
227 * [FELIX-2461] - Allow specifying the targeted service interface in the @ServiceController
228 * [FELIX-2620] - Change iPojo annotation parameters to follow java naming conventions
229 * [FELIX-2621] - Rename annotations to remove collisions
230 * [FELIX-2622] - Support static service properties that are not mirrored into fields
231 * [FELIX-2688] - iPojo "requires.filters" - Array object instead of Dictionary object
232 * [FELIX-2705] - Provide a way to extend the logger strategy
233 * [FELIX-2742] - Constructor injection of service dependencies
234 * [FELIX-2744] - Add annotations to the maven-ipojo-plugin archetype
235
236Changes from the 1.6.6 to 1.6.8
237-------------------------------
238** Improvement
239 * [FELIX-2688] - iPojo "requires.filters" - Array object instead of Dictionary object
240 * [FELIX-2705] - Provide a way to extend the logger strategy
241
242** Bug
243 * [FELIX-2685] - Wrong Element name when XML namespace contains ':'
244 * [FELIX-2694] - Instance state not recomputed after reconfiguration when the instance is stopped
245
246Changes from the 1.6.4 to 1.6.6
247-------------------------------
248** Improvement
249 * [FELIX-2594] - Have a way to create new custom iPojo handler without having to specify a handler usage
250 * [FELIX-2623] - @Update annotated methods should not require a Dictionary parameter
251
252** Bug
253 * [FELIX-2580] - iPOJO failed to create proxies on service which are not interface
254 * [FELIX-2596] - DependencyHandler.onObjectCreation throws NPE when bundle is refreshed
255 * [FELIX-2603] - wrong behavior of InstanceManager.onSet(..) method
256 * [FELIX-2636] - Cannot control the validity of an iPOJO instance using a configuration property
257
Clement Escoffier7a879462010-07-03 15:23:31 +0000258Changes from the 1.6.2 to 1.6.4
259-------------------------------
260** Improvement
261 * [FELIX-2420] - Enum support for @Property annotation
262 * [FELIX-2461] - Allow specifying the targeted service interface in the @ServiceController
Clement Escoffier6191b082010-08-29 09:05:18 +0000263 * [FELIX-2472] - Proxies should throw a runtime exception instead of a null pointer exception
264
265** Bug
266 * [FELIX-2561] - Properties set as required instead of optional in the component type descriptions
Clement Escoffier7a879462010-07-03 15:23:31 +0000267
Clement Escoffier162697b2010-05-12 08:01:59 +0000268Changes from the 1.6.0 to 1.6.2
269-------------------------------
270** Bug
271 * [FELIX-2308] - getService is called during the unregistration of a service.
272 * [FELIX-2309] - Potential NPE when a service has abruptly in the smart proxies.
273 * [FELIX-2323] - Unbind method should not be called during the invalidation process if the invalidation does not come from a service departure.
274
275** Improvement
276 * [FELIX-2296] - Access to ServiceReference in iPOJO service.
277
Clement Escoffiere99f0d32010-04-14 15:25:52 +0000278Changes from the 1.4.0 to 1.6.0
279-------------------------------
280** Bug
Clement Escoffier162697b2010-05-12 08:01:59 +0000281 * [FELIX-1533] - Potential deadlock when stopping the underlying OSGi framework
Clement Escoffiere99f0d32010-04-14 15:25:52 +0000282 * [FELIX-1965] - iPojo component is made available regardless of exception during validate
283 * [FELIX-2014] - Potential ClassCastException when a service property does not receive a value and is used in the constructor
284 * [FELIX-2019] - The Property value is 'null' in the Architecture description, while the value is well assigned to the component's field.
285 * [FELIX-2052] - Handler require callback are not called if the service (required) is registered before the instance of the handler has been started.
286 * [FELIX-2093] - iPOJO doesn't always use the correct class loader
287
288** Improvement
289 * [FELIX-1425] - Service Proxy Mode
290 * [FELIX-1426] - Service injection with Dynamic Proxies
291 * [FELIX-1427] - Service injection with Smart Proxies
292 * [FELIX-1532] - Be able to set the iPOJO Log Level from BND
293 * [FELIX-1741] - Allows the configuration handler description to retrieve the managed service PID
294 * [FELIX-1854] - Allows instances to directly declares service.* properties (pid, ranking, vendor, description)
295 * [FELIX-1885] - Ease CreationStrategy & iPOJOServiceFactory usage
296 * [FELIX-1906] - Allow calling a method when service properties of an already injected service are modified
Clement Escoffier6191b082010-08-29 09:05:18 +0000297
Clement Escoffiere99f0d32010-04-14 15:25:52 +0000298** New Feature
299 * [FELIX-2132] - Provides a way to control service exposition from the implementation class
300
Clement Escoffier6191b082010-08-29 09:05:18 +0000301
Clement Escoffierbfa74d02009-07-19 16:25:18 +0000302Changes from 1.2.0 to 1.4.0
303---------------------------
304** Bug
305 * [FELIX-985] - iPOJO analyzes already installed bundle by holding a lock
306 * [FELIX-1002] - iPOJO Static binding policy is not compliant with the Declarative Service static binding policy.
Clement Escoffier6191b082010-08-29 09:05:18 +0000307 * [FELIX-1318] - Case mismatch problem of iPOJO custom handler name
Clement Escoffierbfa74d02009-07-19 16:25:18 +0000308** Improvement
309 * Update parent pom
310 * [FELIX-936] - Allowing publishing class as services
311 * [FELIX-966] - iPOJO: Better error reporting when getPojoObject return null
312 * [FELIX-982] - Declare iPOJO as a singleton bundle to avoid multiple version of the runtime at the same time
313 * [FELIX-1114] - callback after configuration change needed
314 * [FELIX-1163] - Improve error message when an array cannot be created due to a classloading issue
315 * [FELIX-1182] - iPOJO - reconfiguration : get all properties with the update callback
Clement Escoffier6191b082010-08-29 09:05:18 +0000316
317
Clement Escoffier3c9a4192009-01-15 14:48:59 +0000318Changes from 1.0.0 to 1.2.0
319---------------------------
320** Bug
321 * [FELIX-797] - Composite Architecture contains duplicate instances
322 * [FELIX-803] - iPOJO Core schema needs to be fixed
323 * [FELIX-805] - Instance not created if the factory becomes valid later
324 * [FELIX-866] - iPOJO Provides 'interface' attribute should be 'specifications'
325
326** Improvement
327 * [FELIX-787] - iPOJO logger log messages inside the log service and print them
328 * [FELIX-796] - Allows enabling/disabling the internal event dispatcher
329 * [FELIX-801] - Support service properties injection in bind/unbind callbacks
330 * [FELIX-815] - Support optional properties
331 * [FELIX-816] - Support comparator attribute with any service binding policy
332 * [FELIX-818] - Implement the ServiceReference compareTo method
333 * [FELIX-853] - Provide new service object creation strategies
334 * New introspection API
Clement Escoffier6191b082010-08-29 09:05:18 +0000335
Clement Escoffier130ca572008-10-13 07:33:03 +0000336Changes from 0.8.0 to 1.0.0
337---------------------------
Clement Escoffier6191b082010-08-29 09:05:18 +0000338** Bug
Clement Escoffier3c9a4192009-01-15 14:48:59 +0000339 * [FELIX-557] - Factories still living when a primitive component does not have its manipulation metadata
340 * [FELIX-632] - Component are set to immediate despite they are already immediate
341 * [FELIX-635] - Simplify factory name computation
342 * [FELIX-628] - Architecture service should not publish the instance.name property
343 * [FELIX-621] - Instances not disposed when instances creation failed
Clement Escoffier6191b082010-08-29 09:05:18 +0000344
Clement Escoffier130ca572008-10-13 07:33:03 +0000345** Improvement
Clement Escoffier3c9a4192009-01-15 14:48:59 +0000346 * [FELIX-552] - ClassCastException when using services as dynamic proxies
347 * [FELIX-555] - Error message in the iPOJO Extender could be more accurate when failing to get the bundle context
Clement Escoffier6191b082010-08-29 09:05:18 +0000348 * [FELIX-558] - Non caught NoClassDefFoundError when the instantiation of a Nullable object failed
349 * [FELIX-603] - Improve iPOJO Arch service dependency description
350 * [FELIX-626] - Allow specifying instance configuration containing empty dictionaries
Clement Escoffier3c9a4192009-01-15 14:48:59 +0000351 * [FELIX-629] - Allows instance configuration to declares complex properties
352 * [FELIX-631] - Immediate Component Detection
Clement Escoffier6191b082010-08-29 09:05:18 +0000353 * [FELIX-633] - Factory creation should be done in another thread
354 * [FELIX-634] - Improve error handling
Clement Escoffier3c9a4192009-01-15 14:48:59 +0000355 * [FELIX-655] - Add a 'from' attribute in the service dependencies
356 * [FELIX-673] - Provide OBR description to iPOJO bundles
357 * [FELIX-683] - Supporting lists and vectors in the service dependency management
358 * [FELIX-686] - Supporting collections and set in the service dependency management
Clement Escoffier6191b082010-08-29 09:05:18 +0000359 * [FELIX-688] - Better error reporting when an instance creation failed
Clement Escoffier3c9a4192009-01-15 14:48:59 +0000360 * [FELIX-689] - Instance 'name' property should become 'instance.name'
Clement Escoffier6191b082010-08-29 09:05:18 +0000361 * [FELIX-716] - Provide XML schemas for iPOJO descriptors
362 * [FELIX-732] - Duplicate instance created of a managed service
363
Clement Escoffier03b51182008-05-16 20:46:55 +0000364Version 0.8.0
365-------------
Clement Escoffierbfa74d02009-07-19 16:25:18 +0000366 * Initial release