blob: 4e957a815201b38ce45b2dacdd5bde4c2787ac35 [file] [log] [blame]
David Jenckscac6e262013-02-10 08:01:42 +00001Changes from 1.6.2 to 1.8
David Jencks48afc492012-12-20 04:53:49 +00002---------------------------
3
4** Bug
5 * [FELIX-3708] - [DS] use java 5
6 * [FELIX-3729] - [DS] Track dependencies by imitating ServiceTracker and keeping a list of actual service references all the time
7 * [FELIX-3738] - [DS] ComponentInstance.getServices(String refName) is implemented wrong for 0..1 and 1..1 refs
8 * [FELIX-3754] - Services registered from within the activate method may not be bound
9 * [FELIX-3787] - NPE on reference update
10 * [FELIX-3790] - [DS] Services may not be bound if the events arrive during component instantiation.
11 * [FELIX-3825] - [DS] make logging more useful by including component ID when known
12 * [FELIX-3826] - [DS] race in enabling components with factory pid
David Jenckscac6e262013-02-10 08:01:42 +000013 * [FELIX-3862] - [DS] Deadlock when service is removed during activation
14 * [FELIX-3870] - [DS] confusing logic around determining if modified method can be called on config update
15 * [FELIX-3875] - [DS] After configuration changes target filter on optional ref, matching services are not bound
16 * [FELIX-3888] - [DS] Expose the insides of ScrCommand as a service directly and enhance it
17 * [FELIX-3890] - [DS] We might try to unbind a service we couldn't get and didn't bind
18 * [FELIX-3891] - [DS] synchronization around registerService can create deadlocks
David Jencks3591d782013-02-15 02:35:00 +000019 * [FELIX-3902] - [DS] Single dynamic mandatory reference problem on target filter update
David Jencks48afc492012-12-20 04:53:49 +000020
Felix Meschberger626a3f82011-10-17 10:07:59 +000021Changes from 1.6.0 to 1.6.2
22---------------------------
23
Felix Meschberger5da6b992012-10-31 19:26:12 +000024** Sub-task
25 * [FELIX-3650] - Don't log a warn message for Configuration Admin LOCATION_CHANGED event
26
Felix Meschberger626a3f82011-10-17 10:07:59 +000027** Bug
28 * [FELIX-2578] - Declarative Services bundle does not start without Configuration Admin API wired
29 * [FELIX-2821] - Component service references not unbound in reverse order (breaks compendium spec 112.5.15)
30 * [FELIX-2823] - Uncaught exception in case of circular service reference
31 * [FELIX-2824] - Components that have a ConfigurationPolicy value of REQUIRE fail to activate
32 * [FELIX-2926] - No log message on missing activate method
33 * [FELIX-2944] - SCR/ spec version 1.1-felix is causing NPE in XmlHandler
34 * [FELIX-2962] - SCR doesn't detect invalid XML
Felix Meschberger43eac632012-06-01 12:48:16 +000035 * [FELIX-2992] - scr 1.6.1-SNAPSHOT: impossible to build due to obsolete dependencies
Felix Meschberger626a3f82011-10-17 10:07:59 +000036 * [FELIX-3039] - SCR cleans up delayed service components too aggressively
37 * [FELIX-3086] - IllegalArgumentException in PropertyMetadata.setValues()
38 * [FELIX-3087] - Given invalid value, but the property isn't invalid.
39 * [FELIX-3089] - A component without ServicePermissions cannot be registered as a service
Felix Meschberger43eac632012-06-01 12:48:16 +000040 * [FELIX-3090] - SCR factory components ignore reference target filters
Felix Meschberger626a3f82011-10-17 10:07:59 +000041 * [FELIX-3093] - SCR project does not build on machines with empty M2 repository
42 * [FELIX-3108] - SCR doesn't cope when the DS xml is not encoded using the default platform encoding.
43 * [FELIX-3126] - SCR activates a service component while the containing bundle is stopping.
Felix Meschberger43eac632012-06-01 12:48:16 +000044 * [FELIX-3288] - NPE when component exposed as a service with servicefactory = true
45 * [FELIX-3307] - NPE in DependencyManager.invokeBindMethod
Felix Meschbergerbaef9542012-01-26 14:48:54 +000046 * [FELIX-3317] - Concurrency issue during Component Service registration
Felix Meschberger43eac632012-06-01 12:48:16 +000047 * [FELIX-3325] - Finding activate/deactivate/modified methods has numerous problems
48 * [FELIX-3409] - with permissions enabled, AbstractComponentManager.verifyDependencyManagers is wrong.
49 * [FELIX-3410] - ImmediateComponentManager should use any non-ignored configuration to try to activate a component.
50 * [FELIX-3456] - Component ignores required static service addition when in Activating state
Felix Meschberger5da6b992012-10-31 19:26:12 +000051 * [FELIX-3533] - Strip out . properties when a lifecycle method returns service properties
52 * [FELIX-3534] - ServiceFactory components don't deal with ConfigurationAdmin updates properly
53 * [FELIX-3535] - Minor DS cleanup fixes
54 * [FELIX-3536] - Consider putting the non-spec ComponentFactory behavior in a separate class
55 * [FELIX-3557] - Tests for DS circular dependency behavior
56 * [FELIX-3559] - [DS] first register immediate components' service, then create the implementation object per spec
57 * [FELIX-3625] - "officially" upgrade scr to ds 1.2 from compendium 4.3
David Jenckse39a3cc2012-10-31 18:53:13 +000058 * [FELIX-3637] - DS bind concurrency problem
Felix Meschberger5da6b992012-10-31 19:26:12 +000059 * [FELIX-3639] - SCR "need write lock" assertion error
Felix Meschberger50c15802012-11-28 07:15:10 +000060 * [FELIX-3645] - SCR could not obtain lock in 5000 ms
Felix Meschberger5da6b992012-10-31 19:26:12 +000061 * [FELIX-3646] - AbstractComponent.disposeInternal ignores reason
David Jenckse39a3cc2012-10-31 18:53:13 +000062 * [FELIX-3647] - Component modification must continue if modify method throws
63 * [FELIX-3648] - A component declared with DS 1.0 or DS 1.1 namespace must fail validation if Reference.updated attribute is declared
Felix Meschberger5da6b992012-10-31 19:26:12 +000064 * [FELIX-3649] - Remove ct.workaround property and support
65 * [FELIX-3657] - [DS] ServiceFactory problems
66 * [FELIX-3658] - [DS] disableing a component that is a dependency of another results in an IllegalStateException
67 * [FELIX-3659] - [DS] Share the method objects among all the dependency managers and component managers for the same class
68 * [FELIX-3675] - [DS] NPE shutting down a component due to service already removed
69 * [FELIX-3676] - [DS] misleading logging on first immediate component getService call
70 * [FELIX-3681] - [DS] Dependencies are not dropped when implemention object is discarded
71 * [FELIX-3697] - [DS] create all the components in a bundle before enabling them
72 * [FELIX-3698] - [DS] code simplification for BundleComponentActivator.getSelectedComponents
73 * [FELIX-3704] - [DS] ds shutdown should wait for ComponentActorThread task queue to complete before finishing
74 * [FELIX-3710] - [DS] don't try to activate for a service event for an optional reference
75 * [FELIX-3717] - [DS] unbind method might not have correct parameters
76 * [FELIX-3718] - [DS] deactivate might not move component state to unsatisfied
77 * [FELIX-3719] - [DS] disabling a dependency manager should not reset the service count
David Jenckse39a3cc2012-10-31 18:53:13 +000078 * [FELIX-3723] - ClassCastException on ConfigurationAdmin service creating components
Felix Meschberger5da6b992012-10-31 19:26:12 +000079 * [FELIX-3724] - [DS] concurrent getService calls may return null
80 * [FELIX-3725] - [DS] hidden dependency on spring junit wrapper from pax exam
81 * [FELIX-3726] - Reference target filters defined as component properties are ignored
82 * [FELIX-3727] - [DS] NPE during shutdown
Felix Meschberger50c15802012-11-28 07:15:10 +000083 * [FELIX-3744] - set implementation object before modifying service properties
84
Felix Meschberger626a3f82011-10-17 10:07:59 +000085** Improvement
86 * [FELIX-2895] - Allow the use of a property to tell SCR to always discover Service Component files even if there's no wildcard in the name
Felix Meschberger43eac632012-06-01 12:48:16 +000087 * [FELIX-3016] - Activator log level cannot be changed dynamically through Configuration Admin
Felix Meschberger23e633e2012-01-11 08:14:55 +000088 * [FELIX-3232] - Re-Import SCR Service API
Felix Meschberger43eac632012-06-01 12:48:16 +000089 * [FELIX-3371] - update scr build to recent pax components
90 * [FELIX-3377] - Allow a component to update its own service properties
91 * [FELIX-3506] - SCR bind/unbind/update methods should be able to return a map of service properties like the activate/deactivate/modified methods.s
David Jencks48afc492012-12-20 04:53:49 +000092 * [FELIX-3558] - [DS] make it easier to debug tests by cribbing code from ScrService to print out DS state * [FELIX-3569] - Improve configured method handling for ComponentFactory instances
Felix Meschberger5da6b992012-10-31 19:26:12 +000093 * [FELIX-3662] - [DS] use backport-util-concurrenct instead of concurrent for pre java 5 compatibility
94 * [FELIX-3677] - [DS] in the scr command info operation, show the bound service references
Felix Meschberger626a3f82011-10-17 10:07:59 +000095
96** New Feature
97 * [FELIX-2712] - [SCR] Add Gogo command support
Felix Meschberger43eac632012-06-01 12:48:16 +000098 * [FELIX-3507] - scr greedy and reluctant policy options from compendium 4.3
Felix Meschberger5da6b992012-10-31 19:26:12 +000099 * [FELIX-3524] - SCR configuration-pid from compendium 4.3
Felix Meschberger626a3f82011-10-17 10:07:59 +0000100
101** Task
102 * [FELIX-2539] - Include DEPENDENCIES file in distributables
103 * [FELIX-2553] - Reconsider logging/log levels
104 * [FELIX-2903] - Inline required KXml classes
105 * [FELIX-3158] - Upgrade to Felix parent POM 2.1 and use managed ant plugin version
Felix Meschberger43eac632012-06-01 12:48:16 +0000106 * [FELIX-3527] - Add Java API usage check
Felix Meschberger5da6b992012-10-31 19:26:12 +0000107 * [FELIX-3668] - Revert Rev. 1381440 "restore previous behavior when a bind method cannot be found"
108 * [FELIX-3679] - Component names need not be globally unique any more
Felix Meschberger91702f42012-11-07 11:09:42 +0000109 * [FELIX-3747] - Cleanup maven project setup
Felix Meschberger626a3f82011-10-17 10:07:59 +0000110
111** Wish
112 * [FELIX-1747] - Use Remote Resources Plugin to generate the legal files
113
114
Felix Meschbergerda38c6b2010-08-10 11:36:17 +0000115Changes from 1.4.0 to 1.6.0
116---------------------------
117
118** Bug
119 * [FELIX-1952] - Factory configured ComponentFactory instances not reconfigured when configuration updated
120 * [FELIX-1997] - Actual configuration might not be reflected in the web console
121 * [FELIX-2006] - If an Error is thrown instantiated a component, the component remains in the Activating state and cannot be managed any longer
122 * [FELIX-2090] - Multiple concurrency issues under heavy "stop/start" load
123 * [FELIX-2091] - AbstractComponentManager.getBundle() may throw NullPointerException
124 * [FELIX-2213] - NPE when modifying properties of lazy (uninstantiated) service
125 * [FELIX-2230] - NPE deactivating service during fw shutdown
126 * [FELIX-2231] - Errors with services in Lazy bundles
127 * [FELIX-2233] - ConfiguredComponentHolder tracks component enablement but not disablement
128 * [FELIX-2288] - Felix SCR API problem/misunderstanding
129 * [FELIX-2289] - Unsynchronized access to map of component instances may block the system
130 * [FELIX-2325] - SCR says that my component is registered twice
131 * [FELIX-2370] - Access to internal data structures for delayed and service factory components not thread safe
132 * [FELIX-2399] - Make ScrService lenient against unexpected configuration data types
133 * [FELIX-2510] - Configuration not provided to components if Configuration Admin is not active while setting up components
134 * [FELIX-2518] - Modified method without arguments not supported
135 * [FELIX-2519] - Declarative Services 1.0 descriptors must fail to validate if 1.1 attributes are declared
136 * [FELIX-2520] - Bind method selection must not expect the component's bundle to import the service interface type
137 * [FELIX-2521] - Method call failures not always handled correctly
138 * [FELIX-2523] - Component must be reactivated even if modified method is declared
139
140** Improvement
141 * [FELIX-2368] - Activate components synchronously
142 * [FELIX-2372] - Improve logging on IllegalStateException getting a service
143 * [FELIX-2526] - Add a property to enable workarounds for CT assumptions
144
145** Sub-task
146 * [FELIX-2534] - Adapt SCR LICENSE and NOTICE files
147
148
Felix Meschbergerb35c8332010-05-28 20:27:35 +0000149Changes from 1.2.0 to 1.4.0
150---------------------------
151
152** Bug
153 * [FELIX-1841] - SCR invokes bind method twice when dependency service properties are modified
154 * [FELIX-1846] - When updated configuration of component without a previously set target filter, NullPointerException is thrown
155 * [FELIX-1866] - SCR 1.1 restarts components when service properties are changed, even if "modified" attributed is specified
156 * [FELIX-1922] - issue with configuration policy=require and with factory components
157 * [FELIX-1923] - SCR project misses explicit Maven Bundle Plugin version
158 * [FELIX-1926] - Access to internal maps in the ComponentRegistry must be guarded against concurrency issues
159 * [FELIX-1927] - NPE in AbstractComponentManager if no services are provided and a SecurityManager is installed
160 * [FELIX-1942] - Component Factory instances are may reactivate
161 * [FELIX-1943] - Component Factory not deactivated if required reference unregistered
162 * [FELIX-1944] - Reference.getServiceReferences() returns empty array if no services bound
163
164** Improvement
165 * [FELIX-1897] - Add proper Configuration Admin support for SCR configuration
166
167** New Feature
168 * [FELIX-1893] - Add "update" callback support to inform components of modified service properties
169
170** Task
171 * [FELIX-1945] - Increase org.apache.felix.scr package export to 1.4
172
Felix Meschbergerda38c6b2010-08-10 11:36:17 +0000173
Felix Meschbergerb35c8332010-05-28 20:27:35 +0000174Changes from 1.0.8 to 1.2.0
175---------------------------
176
177** Bug
178 * [FELIX-1162] - Component.getReferences returns null if a component that has references is not enabled.
179 * [FELIX-1166] - SCR does not rebind ConfigurationAdmin service in Sling jcrinstall tests
180 * [FELIX-1173] - Concurrency Issues while containing bundle is stopping
181 * [FELIX-1177] - Components must correctly be disposed off
182 * [FELIX-1178] - Component may remain deactivated after a reference has been unregistered and registered again
183 * [FELIX-1185] - If a static/mandatory reference to a service is unregistered, the component should be deactivated synchronously instead of asynchronously
184 * [FELIX-1195] - NullPointerException in ComponentActivatorTask if component is destroyed
185 * [FELIX-1238] - NPE when invoking "scr list" with no components registered
186 * [FELIX-1252] - NullPointerException in "scr list" command
187 * [FELIX-1413] - Newly registered services must not immediately bound for static references
188 * [FELIX-1414] - Service ranking is only obeyed on first component activation
189 * [FELIX-1416] - Wrong factory configuration behaviour
190 * [FELIX-1436] - Descriptors with duplicate implementation and/or service elements are invalid
191 * [FELIX-1437] - DS 1.1 signatures for activators and bind methods only available for declaration with new namespace
192 * [FELIX-1440] - Abort method (binder, activator) method search on non-accessible suitable methods
193 * [FELIX-1445] - When a component is deactivated due to the deactivation of a service to which it staticly 1..1 references, this component is not reactivated when that service is reregistered.
194 * [FELIX-1503] - Component Factory instances are not let gone after dispose
195 * [FELIX-1504] - ComponentInstance implementation is reused accross reactivations
196 * [FELIX-1658] - Deadlocks caused by component activation and deactivation
197 * [FELIX-1666] - Missing support for DS 1.1 specified lazy activation behavior
198 * [FELIX-1674] - typo in scr and webconsole - "unsatisifed"
199 * [FELIX-1714] - typo in scr command
200 * [FELIX-1733] - Disposed components are not removed from the component registry
201 * [FELIX-1825] - Configurations of delayed components are not deactivated if not used any more
202 * [FELIX-1826] - ComponentException must be thrown if ComponentFactory.newInstance cannot create a component instance
203 * [FELIX-1827] - Check permission before getting or registering services
204 * [FELIX-1830] - Support for DS 1.1 character property type name
205 * [FELIX-1832] - ServiceFactory must not be deactivated if the instances fails to be created
206 * [FELIX-1833] - Stopping the Felix SCR bundle may leave traces behind thus preventing the class loader from being GC-ed
207
208** Improvement
209 * [FELIX-1186] - Defer the construction of a log message
210 * [FELIX-1223] - Replace ManagedService[Factory] by ConfigurationListener based component configuration
211 * [FELIX-1239] - AbstractComponentManager.getServiceReference need not be synchronized
212 * [FELIX-1313] - Declarative Services bundle should not export Configuration Admin package
213 * [FELIX-1314] - Restructure SCR implementation package
214 * [FELIX-1443] - Unify Method lookup
215 * [FELIX-1447] - Remove ComponentMetadata parameter from AbstractComponentManager.log method signature
216 * [FELIX-1530] - Extend the SCR introspection API to reflect the new DS 1.1 features
217 * [FELIX-1686] - Missing activate or deativate methods show up as Error in LogService
218 * [FELIX-1735] - Use system property to provide bundle jar file to integration tests
219 * [FELIX-1823] - Drop support for Framework API 1.3 (R4.0)
220
221** New Feature
222 * [FELIX-924] - No component instance if no Configuration
223 * [FELIX-925] - Extend SCR to allow alternate activate and deactivate method signatures
224 * [FELIX-927] - Allow bind and unbind methods to receive the service properties
225 * [FELIX-928] - Allow use of wildcards in Service-Component header
226 * [FELIX-929] - Making name attributes optional
227 * [FELIX-930] - XML schema namespace change
228 * [FELIX-1232] - Do not use private configuration properties as service properties
229 * [FELIX-1284] - Support for the 'modified' operation (DS in OSGi 4.2 compendium)
230
231** Task
232 * [FELIX-1711] - Remove OSGi library source from SVN and depend on official R4.2 libraries
233
Felix Meschbergerda38c6b2010-08-10 11:36:17 +0000234
Felix Meschbergerb35c8332010-05-28 20:27:35 +0000235Changes from 1.0.6 to 1.0.8
236---------------------------
237
238** Bug
239 * [FELIX-714] - Needless component reactivation on startup
240 * [FELIX-832] - Bind method not invoked when the unbind method is unspecified after reference is changed
241 * [FELIX-836] - Deadlocks caused by Declarative Services
242 * [FELIX-861] - NullPointerException on stopping bundle managed by SCR
243 * [FELIX-950] - service.ranking property not respected for singular service reference
244 * [FELIX-993] - Reference target filters not handled correctly
245 * [FELIX-1044] - DependencyManager may miss service registrations
246 * [FELIX-1053] - SCR: Bound Service Replacement regression ?
247
248** Improvement
249 * [FELIX-639] - Need more logs from SCR
250 * [FELIX-717] - Fix License Reference for KXml in NOTICE file
251 * [FELIX-923] - Log a better message if the names of components collide
252 * [FELIX-1046] - Upgrade parent pom reference to new parent pom (for repository.a.o deployment)
253
254
255Changes from 1.0.4 to 1.0.6
256---------------------------
257
258** Bug
259 * [FELIX-694] - NullPointerException on shutdown
260 * [FELIX-695] - XML configuration file uses unqualified locals
261 * [FELIX-698] - SCR logs "java.lang.IllegalStateException: Invalid BundleContext" when activating components
262
263** Improvement
264 * [FELIX-668] - SCR OBR description
265
Felix Meschbergerda38c6b2010-08-10 11:36:17 +0000266
Felix Meschbergerb35c8332010-05-28 20:27:35 +0000267Changes from 1.0.2 to 1.0.4
268---------------------------
269
270** Bug
271 * [FELIX-624] - Wrong classloader is used to detect bind/unbind methods
272 * [FELIX-646] - Reconfiguration of factory components is not possible
273
Felix Meschbergerda38c6b2010-08-10 11:36:17 +0000274
Felix Meschbergerb35c8332010-05-28 20:27:35 +0000275Changes from 1.0.0 to 1.0.2
276---------------------------
277
278** Bug
279 * [FELIX-490] - Deadlocks may be caused by Declarative Services
280 * [FELIX-539] - Intermittent IllegalArgumentException while using declarative services
281 * [FELIX-550] - SCR registers service component twice after stopping/starting a bundle
282 * [FELIX-578] - ComponentFactoryImpl.newInstance() must create the component synchronously
283 * [FELIX-579] - NPE in AbstractComponentManager
284 * [FELIX-591] - NPE in AbstractComponentManager
285 * [FELIX-593] - Fix handling of immediate attribute of component factories
286 * [FELIX-599] - Service Registration Lock: Do not release not-owned lock and don't wait so long for the lock
287 * [FELIX-601] - Reactivation of a component after a configuration update should be completely asynchronous
288
289
290Initial Release 1.0.0
291---------------------
292
293** Bug
294 * [FELIX-105] - SCR component/reference/cardinality never used
295 * [FELIX-106] - SCR doesn't support XML documents with namespaces
296 * [FELIX-109] - java.lang.ClassCastException when the component descriptor contains <property> elements
297 * [FELIX-112] - activate() calls do not match with deactivate() calls for a delayed component (immediate="false") and service instances are multiple (although there is no factory)
298 * [FELIX-264] - Update pom to use new bundle plugin
299 * [FELIX-268] - SCR module in the pom.xml
300 * [FELIX-279] - Concurrency Issues when enabling components
301 * [FELIX-337] - Immediate components are registered as delayed
302 * [FELIX-341] - Intermittent exception during Felix shutdown
303 * [FELIX-356] - DependencyManager.bind may bind to null and does not correctly check for success
304 * [FELIX-357] - activation and deactivation may run concurrently
305 * [FELIX-364] - 0..1 dynamic service reference does not bind properly.
306 * [FELIX-366] - Bound Service Replacement incorrect
307 * [FELIX-368] - Service binding odities if (un)bind methods take ServiceReferences
308 * [FELIX-384] - Possible deadlock on framework startlevel change
309 * [FELIX-385] - ReferenceMetadata.setTarget includes the interface name in the target filter
310 * [FELIX-387] - Fix support for reference service target properties
311 * [FELIX-425] - DependencyManager does not correctly handle service counting
312 * [FELIX-464] - Cannot retrieve service to be unbound in unbind method taking ServiceReference
313 * [FELIX-489] - Intermittent deadlock while using declarative services in Tuscany
314
315** Improvement
316 * [FELIX-128] - Implementing missing ComponentContext methods
317 * [FELIX-131] - Fix method lookup and implement enableComponet/disableComponent
318 * [FELIX-132] - Integrate SCR with Felix
319 * [FELIX-140] - Drop GenericActivator from SCR
320 * [FELIX-243] - Add support for ServiceFactory components
321 * [FELIX-254] - Add support for property values in <property> element body
322 * [FELIX-258] - Support Configuration Admin configuration
323 * [FELIX-259] - Add support for factory components
324 * [FELIX-277] - Improve SCR packaging to make it simpler to deploy and use
325 * [FELIX-373] - Log the unsatisfied dependencies of a component which prevent activation of the component
326 * [FELIX-374] - Register ManagedService on behalf of components to receive Configuration
327 * [FELIX-392] - Better handle unexpected issues when trying to get a activation or binding method by reflection
328
329** New Feature
330 * [FELIX-18] - Implement Declarative Services
331 * [FELIX-110] - completion of the current Felix SCR implementation to take into account components <properties> elements
332 * [FELIX-284] - Add Management API
333
334** Task
Pierre De Ropefd44f32012-06-01 14:18:54 +0000335 * [FELIX-144] - Change all headers and remove copyright notices