blob: 208ea8075e6510b4cc5ce7f4a0f613cbd9cdf848 [file] [log] [blame]
Karl Paulscec4bab2011-10-10 19:10:44 +00001Changes from 4.0.0 to 4.0.1
2---------------------------
3
4** Bug
5 * [FELIX-3137] - [Framework] Capabilities from resolved singleton bundles are not indexed correctly
6 * [FELIX-3150] - Filter parameter is ignored at getServiceReferences
7
8** Improvement
9 * [FELIX-3138] - [Framework] Refactor some unnecessary code in the resolver
10 * [FELIX-3141] - [Framework] Framework should filter removal pending fragments not the resolver
11
Karl Paulsc2bd5042011-09-22 14:49:24 +000012Changes from 3.2.2 to 4.0.0
Karl Pauls5bc739a2011-09-22 13:23:51 +000013---------------------------
14
15** Bug
16 * [FELIX-2762] - Substring parser incorrectly disallowing use of parentheses characters
17 * [FELIX-2990] - [Framework] Bug introduced into handling of native libraries during a fresh
18 * [FELIX-3015] - [Framework] Provide org.osgi.util.tracker version 1.5
19 * [FELIX-3033] - [Framework] Service registry hooks are not correctly filtering bundle contexts for event hook
20 * [FELIX-3038] - Framework does not offer J2SE-1.2 Execution Environment
21 * [FELIX-3043] - [Framework] Resolver is not correctly resolving fragments in all cases
22 * [FELIX-3059] - Reexported packages are not calculate correctly leading to resolver and class loading bugs
23 * [FELIX-3062] - [Framework] Resolver gets into infinite loop in the face of a require-bundle cycle
24 * [FELIX-3082] - [Framework] Bundles not allowed to add listeners while in STOPPING state
25 * [FELIX-3085] - Importing/exporting "." should not be allowed
26 * [FELIX-3096] - Could not add FrameworkListener from ServiceListener
27
28** Improvement
29 * [FELIX-2467] - The framework extensions should be returned when invoking the method PackageAdmin#getFragments with the system bundle
30 * [FELIX-2572] - JRE system packages should include "uses" constraints
31 * [FELIX-2950] - [Framework] Adopt OSGi R4.3 API as framework internal API
32 * [FELIX-2998] - [Framework] OSGi R4.3 changed filter handling of exceptions when calling equals()/compare() to return false
33 * [FELIX-3000] - Move sending service registered event out of bundle lock
Karl Pauls5bc739a2011-09-22 13:23:51 +000034 * [FELIX-3071] - [Framework] It should be possible to limit number of open JAR files
35 * [FELIX-3125] - [Framework] Use single file per bundle in bundle cache by default
36
37** New Feature
38 * [FELIX-2959] - [Framework] Implement OSGi R4.3 class loader byte-code weaving hook
39 * [FELIX-2969] - [Framework] Implement OSGi R4.3 framework wiring object
40 * [FELIX-2973] - [Framework] Implement OSGi R4.3 generic capabilities and requirements
41 * [FELIX-2975] - [Framework] Implement OSGi R4.3 framework start level object
42 * [FELIX-2986] - [Framework] Implement OSGi R4.3 resolver hooks
43 * [FELIX-2999] - [Framework] OSGi R4.3 now specifies that number types should be trimmed when evaluating filters
44 * [FELIX-3032] - [Framework] Implement OSGi R4.3 bundle hooks
45 * [FELIX-3052] - [Framework] Implement OSGi R4.3 system bundle generic capabilities
46 * [FELIX-3056] - [Framework] Implement OSGi R4.3 event listener service registry hook
47 * [FELIX-3122] - [Framework] Implement OSGi R4.3 framework UUID
48 * [FELIX-3124] - [Framework] Implement OSGi R4.3 property to allow installing bundles with the same BSN and version
49
50** Task
51 * [FELIX-3110] - [Framework] Implement 4.3 security checks
52
53
Karl Pauls5bfc61f2011-05-11 19:00:36 +000054Changes from 3.2.1 to 3.2.2
55---------------------------
56
57** Bug
58 * [FELIX-2935] - Bundle.getEntryPaths and findEntries are returning META-INF/ multiple times
59 * [FELIX-2941] - Felix Framework 3.2.0 and Framework Security 1.4.2 fails OSGI Conditional Permission Admin CT when running on IBM JVM 5 and 6.
60 * [FELIX-2942] - Bundles with higher start level get activated even before framework reaches that start level
61
62
Karl Pauls47b9d042011-04-18 21:16:29 +000063Changes from 3.2.0 to 3.2.1
64---------------------------
65
66* Bug
67 * [FELIX-2901] - [Framework] NPE from a host bundle during framework shutdown
68 * [FELIX-2917] - Constructor of SecurityExceptino() which is incompatible to 1.4 is used
Karl Paulsf1e813f2011-04-26 20:31:30 +000069 * [FELIX-2924] - bundle stop hangs for http-2.2.0 in felix-3.2.0
Karl Pauls47b9d042011-04-18 21:16:29 +000070
71** Improvement
72 * [FELIX-2909] - [Framework] Resolver could be more efficient if it detected if fragments were present
73
74
Karl Paulsa012b532011-03-28 19:42:04 +000075Changes from 3.0.9 to 3.2.0
76---------------------------
77
78* Bug
79 * [FELIX-1816] - deadlock on SystemBundle.stop()
80 * [FELIX-2741] - NPE in ResolverImpl.calculatePackageSpaces
81 * [FELIX-2748] - Possible synchronization issue with BundleContext.getBundle()
82 * [FELIX-2877] - java6 update 24 breaks felix when used inside webstart
83
84
85** Improvement
86 * [FELIX-2858] - [Framework] Modify resolver to be self-contained with respect to fragment handling
87 * [FELIX-2859] - [Framework] Modify resolver to be self-contained with respect to singleton handling
88 * [FELIX-2864] - [Framework] Add package profile for JDK7 to default properties
89
Guillaume Nodet4b4ae502011-02-21 09:38:48 +000090Changes from 3.0.8 to 3.0.9
91---------------------------
92
93** Bug
94 * [FELIX-1581] - Bundle#update, Bundle#uninstall and Bundle#stop should wait for a (configurable) timeout before throwing an exception if the bundle is starting or stopping
95 * [FELIX-2784] - When the framework try to grab the bundle lock, it ignores thread interruption
Guillaume Nodet4b4ae502011-02-21 09:38:48 +000096 * [FELIX-2822] - [Framework] System bundle module's state not reset when framework restarted leading to NPE
97 * [FELIX-2832] - [Framework] It should not be possible to open an URLConnection to "/" for a bundle URL
98 * [FELIX-2840] - [Framework] Uninstalling an uninstalled bundle throws NoSuchElementException
99 * [FELIX-2849] - PackageAdmin is inconsistent between getFragments and getHosts
100 * [FELIX-2850] - PackageAdmin return fragments / hosts even if the host isn't resolved
101 * [FELIX-2851] - Resolution problems after a fragment can't be resolved
102
103** Improvement
104 * [FELIX-2841] - [Framework] Improve resolve exception messages
105
Richard S. Hall6de24032011-02-20 21:10:48 +0000106Changes from 3.0.7 to 3.0.8
107---------------------------
108
109** Bug
110 * [FELIX-2749] - Boolean.parseBoolean() newly defined in Java5 should not be used.
111 * [FELIX-2789] - Native library matching is not correctly checking additional extensions
112 * [FELIX-2800] - Logging will throw an NPE if no bundle is specified
113 * [FELIX-2802] - A failed update doesn't rollback properly
114 * [FELIX-2805] - Cache PackageAdmin.getBundle() result for system bundle classes
115
Karl Pauls4d06aa62010-12-26 20:58:00 +0000116Changes from 3.0.6 to 3.0.7
117---------------------------
118
119** Bug
120 * [FELIX-2456] - Framework no longer fires UNRESOLVED event when a bundle is explicitly refreshed
121 * [FELIX-2693] - [Framework] Service registry should throw a ServiceException for factories resulting in a cycle
122 * [FELIX-2700] - Framework uses java.nio package which is not supported by CDC VM
123 * [FELIX-2710] - [Framework] For exploded bundles Bundle.getEntry("a/b.jar/")==Bundle.getEntry("a/b.jar")
124 * [FELIX-2717] - [Framework] Resolver treats multiple exports of same package as conflicting for fragment imports
125 * [FELIX-2725] - [Framework] Resolver is not correctly calculating exported packages for already resolved modules
126 * [FELIX-2728] - JarRevision does not close URLConnections which are instances of HttpURLConnection
127 * [FELIX-2736] - [Framework] Resolver is not correctly verifying package space consistency for dynamic imports
128 * [FELIX-2738] - [Framework] DirectoryContent does not handle security correctly
129
130** Improvement
131 * [FELIX-2703] - [Framework] Include OSGi/Minimum EEs in default properties
132 * [FELIX-2721] - [Framework] Implement custom manifest parser and avoid JarFile
133 * [FELIX-2737] - [Framework] Optimize resolver algorithm by not re-calculating uses constraints for resolved modules
134
Karl Pauls13972642010-11-03 20:44:01 +0000135Changes from 3.0.5 to 3.0.6
136---------------------------
137
138** Bug
139 * [FELIX-2670] - [Framework] Implicit boot delegation doesn't delegate for external code in all cases
140 * [FELIX-2683] - [Framework] Bundle last modified time is not persisted on deployment
141
142** Improvement
143 * [FELIX-2560] - Bundle URLs do not survive refreshes
144
145** New Feature
146 * [FELIX-2646] - [Framework] Locking could be used to prevent concurrent access to a single bundle cache
147
Karl Paulsdd404492010-10-18 21:32:43 +0000148Changes from 3.0.4 to 3.0.5
149---------------------------
150
151** Bug
152 * [FELIX-2653] - LinkageError caused by duplicate class definition during implicit boot delegation
153
154** Improvement
155 * [FELIX-2645] - Add a (hidden) way to retrieve a local URL for a given bundle URL
156 * [FELIX-2654] - [Framework] Modify bundle cache to use a single file per bundle state
157
Karl Pauls7c620342010-10-04 20:22:24 +0000158Changes from 3.0.3 to 3.0.4
159---------------------------
160
161** Bug
162 * [FELIX-2584] - No FrameworkEvent.ERROR on unchecked exception in event listener
163 * [FELIX-2629] - [Framework] Module class loader should return an empty enumeration for getResources()
164
165** Improvement
166 * [FELIX-2619] - [Framework] Bundle cache is rechecking nonexistent files again and again
167 * [FELIX-2626] - [Framework] Bundle cache is rewriting some files when restarting bundles
168
Karl Pauls1c3a4592010-09-22 20:26:29 +0000169Changes from 3.0.2 to 3.0.3
170---------------------------
171
172** Bug
173 * [FELIX-2548] - Resolver should use case sensitive indexing for capabilities
174 * [FELIX-2569] - Felix bundle classloader always delegates to parent loader in getResources()
175 * [FELIX-2589] - SecurityException "SecurityManager already installed" is thrown when calling Framework.init() multiple times with FRAMEWORK_SECURITY set
176 * [FELIX-2598] - Hang in Felix: thread owing a bundle lock waits for ever to lock it again
177 * [FELIX-2599] - When specifying the packages exported by the system bundle, attributes and directives on packages do not show up in the system bundle headers
178
179** Improvement
180 * [FELIX-1022] - Classloader Exceptions should be more informative
181 * [FELIX-2549] - Fix some synchronization issues in content handling
182 * [FELIX-2555] - Log messages should contain the bundle id, when available
183 * [FELIX-2597] - Deadlock during delivery of resolved event
184
Karl Paulsbd2998e2010-08-18 20:16:33 +0000185Changes from 3.0.1 to 3.0.2
186---------------------------
187
188** Bug
189 * [FELIX-2421] - Implicit bootdelegation doesn't ignore classloaders if they are inner classes
190 * [FELIX-2437] - Deadlock on refrsh Import and refresh
191 * [FELIX-2451] - Felix uses System.out to print debug messages related to resolver...
192 * [FELIX-2459] - Wrong error message on a missing package
193 * [FELIX-2466] - Unknown attributes are not stripped from Fragment-Host header
194 * [FELIX-2473] - Subtring matching is incorreclty matching against an empty string
195 * [FELIX-2479] - Required bundles not correctly re-exporting their substitutable exports
196
197** Improvement
198 * [FELIX-2528] - Potential performance issue in resolver when uses constraint conflict is detected
199 * [FELIX-2529] - In some scenarios the resolver will not backtrack on imported package decisions
200
Karl Pauls82450a22010-06-14 20:04:02 +0000201Changes from 3.0.0 to 3.0.1
202---------------------------
203
204** Bug
205 * [FELIX-2401] - NPE in org.apache.felix.framework.FilterImpl.DictionaryCapability.getAttribute(String)
206
Karl Pauls74d9aca2010-06-06 21:23:05 +0000207Changes from 2.0.5 to 3.0.0
208---------------------------
209** Sub-task
210 * [FELIX-2036] - Improve resolver's generic capability/requirement model
211 * [FELIX-2037] - Improve resolver performance by making solution space searching smarter
212
213** Bug
214 * [FELIX-995] - JRE packages are exported with wrong version
215 * [FELIX-1967] - Freeze finding consistent class space
216 * [FELIX-2080] - Updating bundles when debugging switched on might result in a deadlock with 100% CPU usage
217 * [FELIX-2150] - URLStreamHandlerProxy.setURL may not set query component correctly
218 * [FELIX-2172] - Extremely long resolve stage when running CXF-DOSGi system test
219 * [FELIX-2177] - Fragment bundles not loaded after second start when using autodeploy
220 * [FELIX-2271] - CLONE -NPE "name can't be null" when trying to install a bundle in Felix 2.0.3
221 * [FELIX-2273] - getClassLoader-permission required accessing classes from dynamically loaded class
222 * [FELIX-2281] - Bundle id order affects fragment resolution success
223 * [FELIX-2317] - Possible NPE for jars with null Manifest
224 * [FELIX-2321] - BundleException type should be properly set when installing a duplicate bundle
225 * [FELIX-2332] - Lots of contention on ExtensionManager.openConnection(URL)
226 * [FELIX-2335] - Bundle.loadClass() for system bundle doesn't obey boot delegation
227 * [FELIX-2356] - extension bundle cannot load class from embed jar
228 * [FELIX-2383] - Bundles are restarted during start level change
229 * [FELIX-2392] - Felix framework uses a Java5 method
230
231** Improvement
232 * [FELIX-1210] - Allow jars with missing intermediate entries to be handled as if they were present in Bundle.getEntryPaths
233 * [FELIX-1797] - Customizable Framework startup message
234 * [FELIX-2035] - Reimplement framework resolver
235 * [FELIX-2039] - Reimplement standard OSGi LDAP filter to use new filter solution for resolver
236 * [FELIX-2040] - Modify framework service registry to use resolver's new capability/requirement model
237 * [FELIX-2041] - Look into using generics in framework code
238 * [FELIX-2042] - Use Gogo as the default shell for the framework distribution
239 * [FELIX-2324] - Support execution environment so that OBR works properly
240 * [FELIX-2336] - Variable substitution in configuration files should ignore mismatched delimiters
241
242Changes from 2.0.4 to 2.0.5
243---------------------------
244** Bug
245 * [FELIX-1753] - The start level should check that the bundle still exists before starting it to avoid an ugly exception
246 * [FELIX-2087] - NPE "name can't be null" when trying to install a bundle in Felix 2.0.3
247 * [FELIX-2107] - Bundle.findEntries() matches '*<filePattern>' instead of '<filePattern>'
248 * [FELIX-2195] - Using URLDecoder.decode on locations is wrong
249 * [FELIX-2222] - Failure to reinstall a cached bundle will corrupt the bundle cache
250
Karl Pauls1da29612010-02-14 22:08:33 +0000251Changes from 2.0.3 to 2.0.4
252---------------------------
253
254** Bug
255 * [FELIX-2056] - URLHandlersStreamHandler not getting handlers from frameworks that are inside a different classloader
256 * [FELIX-2067] - Fragment bundle ignored silently when the host Bundle-SymbolicName equals import package name
257 * [FELIX-2073] - The System Bundle is not providing WS Addressing
258
259** Improvement
260 * [FELIX-2071] - Missing checks inside ModuleImpl (in Framework) which causes exceptions
261
Karl Pauls6532a9d2010-02-04 22:44:52 +0000262Changes from 2.0.2 to 2.0.3
263---------------------------
264
265** Bug
266 * [FELIX-1838] - PackageAdmin.getExportedPackages() duplicates output for packages with different version
267 * [FELIX-1867] - ModuleImpl diagnoseClassLoadError throw NullPointerException for empty package name in debug mode
268 * [FELIX-1917] - A few minor bugs in the framework found while embedding Felix
269 * [FELIX-1919] - Fragment bundle cannot be linked to its host
270 * [FELIX-1920] - RequiredBundle.getRequiringBundles() incorrectly calculates result
271 * [FELIX-1929] - getStartLevel() always reports requested start level, not active start level
272 * [FELIX-1982] - Documented but uninterpreted felix.cache.* properties
273 * [FELIX-1998] - Use UTF-8 when decoding reference location URLs
274 * [FELIX-2002] - Uninstalled fragments are not properly detached
275
276** Improvement
277 * [FELIX-37] - Implement security for bundle resource URLs
278 * [FELIX-325] - Factor out security checks from the framework/system bundle code
279 * [FELIX-1973] - Implement all required security checks
280
281** New Feature
282 * [FELIX-30] - Implement extension bundles
283 * [FELIX-1991] - Allow boot delegation class loader to be configurable per bundle
284
285
Karl Pauls499184a2009-11-01 19:22:20 +0000286Changes from 2.0.1 to 2.0.2
287---------------------------
288
289** Bug
290 * [FELIX-1754] - Usage of BundleContext.getServiceReferences results in failure to activate components
291 * [FELIX-1782] - Errors during start-up on gnu/classpath based VMs (jamvm, kaffe, cacao) and mika
292 * [FELIX-1795] - Bundle version ignored in Fragment-Host header
293 * [FELIX-1834] - java.io.IOException: No framework context found when embedding felix frameworks as bundles
294
295** Improvement
296 * [FELIX-1534] - Improve fragment merging
297 * [FELIX-1781] - Try to reduce object allocations/usage in resolver algorithm
298 * [FELIX-1783] - Eliminate contention on ServiceRegistry.getServiceReferences(String, Filter)
299
Karl Pauls1be8b552009-10-11 20:26:42 +0000300Changes from 2.0.0 to 2.0.1
301---------------------------
302
303** Bug
304 * [FELIX-1565] - Deadlock UrlHandlers
305 * [FELIX-1573] - Occasional NPE in URLHandlersBundleStreamHandler
306 * [FELIX-1580] - Regression with native library handling
307 * [FELIX-1586] - Framework reports org.osgi.framework.version as 1.3
308 * [FELIX-1600] - ServiceReference.isAssignableTo() always returns true if requesting bundle has no wire
309 * [FELIX-1631] - Implicit bootdelegation causes hang on android
310 * [FELIX-1710] - Resolver still does not discard all partial results when a cyclical dependency fails
311 * [FELIX-1721] - Framework boot delegation has a bug due to extraneous code
312 * [FELIX-1731] - Native library extraction could be improved to help cases where there are dependencies among libraries
313
314** Improvement
315 * [FELIX-1619] - Change the default auto-deploy actions to be install and start only
316 * [FELIX-1625] - Refactor bundle cache to simplify management
317 * [FELIX-1679] - VersionRange class should use finals to be thread safe.
318 * [FELIX-1724] - Various module metadata should be cached
319
320** Task
Karl Pauls1be8b552009-10-11 20:26:42 +0000321 * [FELIX-1617] - Modify framework, main, shell, shell.tui, and obr to depend on official OSGi JAR files
322
Karl Pauls43002282009-09-06 22:01:29 +0000323Changes from 1.8.1 to 2.0.0
324---------------------------
325
326** Bug
327 * [FELIX-893] - Felix fails to start using J9 JVM
328 * [FELIX-905] - Felix needs an RFC 126 FindHook
329 * [FELIX-906] - Felix needs an RFC 126 EventHook
330 * [FELIX-1122] - Extension bundles are not being removed from the bundle list when uninstalled
331 * [FELIX-1123] - System bundle does still not correctly handle (export) package attributes
332 * [FELIX-1124] - ResourceNotFoundException too verbose
333 * [FELIX-1130] - Bundle.getHeaders() returns a Dictionary<java.util.jar.Attribute.Name,String>
334 * [FELIX-1138] - URL Handlers performance regression due to service lookups
335 * [FELIX-1170] - MemoryLeak when stopping and restarting Felix
336 * [FELIX-1187] - BundleContext.ungetService() should return false only if the usage count is zero when the method is invoked
337 * [FELIX-1197] - Bundle Fragments not resolved correctly
338 * [FELIX-1198] - config.properties still refers to old org.osgi.framework.startlevel property
339 * [FELIX-1247] - BundleEvent.UNRESOLVED should be fired during update/uninstall not refresh
340 * [FELIX-1249] - Bundle.findEntries() should search fragments as well as the bundle itself
341 * [FELIX-1254] - Bundle#findEntries does not return resources from fragments
342 * [FELIX-1271] - Improve manifest localization to handle special cases
343 * [FELIX-1272] - Need to special case getResource()/getResources()/loadClass() for fragment bundles
344 * [FELIX-1273] - Bundle.getResources() should return null for a non-existent resource
345 * [FELIX-1277] - Fix Service Hooks Tests failures in RFC 126 TCK
346 * [FELIX-1279] - Framework.waitForStop() does not obey timeout
347 * [FELIX-1280] - Package Admin - getExportedPackages must return null instead of an empty array
348 * [FELIX-1285] - SecureAction captures the calling context incorrectly
349 * [FELIX-1286] - Module class loader should use secure action instead of a privileged block
350 * [FELIX-1287] - System bundle operations from RFC-132 (e.g., init(), start(), stop(), waitForStop()) are using wrong lock object
351 * [FELIX-1288] - System bundle context should be null after stopping the framework
352 * [FELIX-1292] - PackageAdmin.getBundle(Class) should return null if the bundle associated with the passed in class is from another framework
353 * [FELIX-1293] - StringMap used for case insensitive properties does not respect ordering if case sensitivity is changed
354 * [FELIX-1295] - ServiceRegistry increments/decrements service use count after/before getService/ungetService() is called on ServiceFactory
355 * [FELIX-1371] - Automatic parent class loader delegation does not correctly filter calls to Bundle.loadClass()
356 * [FELIX-1397] - Required execution environment verification should happen at resolve time, not install time
357 * [FELIX-1400] - bootdelegation and dynamic-import-packages are accepting invalid patterns
358 * [FELIX-1401] - Manifest localization with fragments not handled correctly
359 * [FELIX-1422] - Resolver does not always discard partial results when a cyclically dependency fails
360 * [FELIX-1435] - Resolver does not always resolve a dynamic import to a fragment export
361 * [FELIX-1527] - R4.2 spec errata now specifies uninstalling a bundle must transition through INSTALLED on its way to UNINSTALLED
362 * [FELIX-1551] - Start level service must synchronously persist bundle start level changes
363 * [FELIX-1556] - Bundle.getResource/s is not able to find resources if the package is not alraedy wired when I use DynamicImport-Package: *
364
365** Improvement
366 * [FELIX-712] - Ability to disable automatic parent classloader delegation
367 * [FELIX-883] - JarContent logs and then swallows exceptions when reading from JAR file, should probably throw an exception
368 * [FELIX-1120] - Enable BundleCache customization
369 * [FELIX-1134] - Add support for native libraries in fragments
370 * [FELIX-1189] - Improve error message in main when there is an error processing auto-install/start bundles
371 * [FELIX-1246] - PackageAdmin.getBundle() is not implemented efficiently
372 * [FELIX-1260] - Make Bundle.findEntries() and Bundle.getEntryPaths() more thread safe
373 * [FELIX-1291] - Implement support for proper return type from Framework.waitForStop()
374 * [FELIX-1300] - Remove legacy bundle cache support when extracting embedded JAR files
375 * [FELIX-1360] - Improve native library matching algorithm (part 2)
376 * [FELIX-1404] - Use provided classes from OSGi R4.2 companion code
377 * [FELIX-1432] - Manifest parser doesn't return import package declarations in order of manifest
378 * [FELIX-1462] - Felix framework launcher should only use standard launching API
379
380** New Feature
381 * [FELIX-33] - Implement system bundle update
382 * [FELIX-749] - Add support for lazy activation of bundles
383 * [FELIX-1193] - Implement org.osgi.framework.bundle.parent from RFC 132
384 * [FELIX-1205] - Update to the latest OSGi R4.2 API
385 * [FELIX-1244] - Add support for ServiceEvent.MODIFIED_ENDMATCH
386 * [FELIX-1250] - Support service exceptions for service factories
387 * [FELIX-1289] - Support for FrameworkUtil.getBundle()
388 * [FELIX-1297] - Implement support for new org.osgi.framework.command.execpermission configuration property
389 * [FELIX-1298] - Implement support for new org.osgi.framework.library.extensions configuration property
390 * [FELIX-1446] - Framework launcher should automatically deploy bundles in bundle directory
391 * [FELIX-1478] - Add shutdown hook to launcher to cleanly shutdown the framework if the process is killed
392
393
394
395
396** Task
397 * [FELIX-1144] - The NOTICE file for Main subproject is not correctly copied into the source JAR
398
399
400** Test
401 * [FELIX-1208] - Need migrate the EventDispatcherTest to newer version of EasyMock
402
Karl Pauls1919aa72009-05-10 21:17:30 +0000403Changes form 1.6.1 to 1.8.0
404---------------------------
405** Bug
406 * [FELIX-1034] - bootdelegation property seems to be matching more packages than desired
407 * [FELIX-1059] - DynamicImport-Package matches more packages than desired
408
409** Improvement
410 * [FELIX-1060] - URLHandlers doesn't support URLStreamHandler.openConnection(proxy,url) method
411
412** New Feature
413 * [FELIX-29] - Implement bundle fragments
414
Karl Pauls962f89f2009-04-26 20:36:08 +0000415Changes from 1.6.0 to 1.6.1
416---------------------------
417** Bug
418 * [FELIX-1027] - deadlock with felix 1.6.0 ?
419 * [FELIX-1028] - NPE in configuration view when running webconsole with Equinox
420 * [FELIX-1033] - Exceptions when Felix is started with security manager
421 * [FELIX-1035] - deadlock observed while using fileinstall to monitor multiple directories
422 * [FELIX-1045] - Felix 1.6.0 fails with ClassCircularityError
423
Karl Pauls62ff7ab2009-03-31 21:06:46 +0000424Changes from 1.4.1 to 1.6.0
425---------------------------
426
427** Bug
428 * [FELIX-737] - Resolver does not correctly discard export when module imports the same package (part 2)
429 * [FELIX-852] - Fragment support is currently limited to directly resolved hosts
430 * [FELIX-869] - SCR throws exception on invalidating a component with a reference to a service that was already unregistered
431 * [FELIX-891] - Bundle lock acquisition should not record lock until it verifies the bundle is lockable
432 * [FELIX-892] - ServiceReferenceImpl improper implementation of equals and hashcode
433 * [FELIX-893] - Felix fails to start using J9 JVM
434 * [FELIX-897] - Empty system package is exported when a semicolon is present in "extra" configuration
435 * [FELIX-902] - Empty bundle.state file produces NPE
436 * [FELIX-910] - Framework may ignore framework startlevel on startup
437 * [FELIX-911] - Potential deadlock between Bundle.stop() and BundleContext.registerService()
438 * [FELIX-915] - PackageAdmin returns null on getBundle(...) with system classes
439 * [FELIX-934] - Bootdelegation bug
440 * [FELIX-947] - Behaviour of startlevel comman doesn't adhere to spec
441 * [FELIX-948] - ServiceReferenceImpl.compareTo should handle other types than integer for service ranking
442 * [FELIX-951] - Deadlock in iPojo when stopping Felix
443 * [FELIX-952] - Exception thrown when unregistering services because the bundle is stopped
444 * [FELIX-953] - Bundle#loadClass sometimes return null instead of throwing a CNFE
445 * [FELIX-961] - 100% CPU looping inside uses calculation
446 * [FELIX-962] - Erroneous class loading delegation to the application launcher classloader in some cases
447 * [FELIX-969] - system bundle does not correctly handle (export) package attributes
448 * [FELIX-971] - Exception thrown in ServiceTracker at shutdown
449 * [FELIX-978] - Resolver does not clean up properly on a failed recursive attempt to resolve
450 * [FELIX-1004] - Extensionmanager openConnection(URL) method should be public
451 * [FELIX-1005] - Strange list of imported packages returned by the package admin
452
453** Improvement
454 * [FELIX-681] - Modify daemon threads to catch all exceptions and log them to avoid premature thread death
455 * [FELIX-851] - Refactor the module abstraction layer to align more closely to OSGi concepts
456 * [FELIX-872] - JarContent swallows exception when opening manifest, it should log it
457 * [FELIX-883] - JarContent logs and then swallows exceptions when reading from JAR file, should probably throw an exception
458 * [FELIX-894] - Loosen locking when starting/stopping/uninstalling a bundle by firing event without holding a lock
459 * [FELIX-908] - Unsynchronize access to bundle state inside BundleInfo by making the variable volatile
460
Karl Pauls1be3b032008-12-20 16:27:49 +0000461Changes from 1.4.0 to 1.4.1
462---------------------------
463
464* [2008-12-19] Refactor the URLHandlers implementation to fix a possible
465 Linkage-Error when running embedded inside tomcat. Furthermore, make it possible
466 to dynamically set a SecurityManager, change the url we add to the framework
467 classloader to fix issues with rmi and make sure we restore the previous URLStreamHandlerFactory
468 after stopping. (FELIX-842, FELIX-837, FELIX-844, FELIX-827)
469* [2008-12-19] Add missing javax.security.cert in JRE 1.4 and 1.5. (FELIX-854)
470* [2008-12-19] Improve framework internal locking protocol.
471* [2008-12-18] Fixed an issue where bundles with a non-existing native library
472 would not be removed correctly. (FELIX-835)
473* [2008-11-21] Throw an exception when there is an attempt to start or stop a
474 fragment, as per the spec. (FELIX-820)
475* [2008-11-20] Fixed a bug during shutdown where uninstalled fragments are not
476 properly closed. (FELIX-819)
477* [2008-11-14] Added partial support for new service registry hooks as proposed
478 for OSGi R4.2; currently, only listener hooks are supported. (FELIX-804)
479* [2008-11-08] Fixed Felix' delegation hack so that it correctly delegates to
480 the parent class loader for resources as appropriate; previously it was always
481 delegating for class loading, which was incorrect. (FELIX-808)
482
Karl Pauls89beb9b2008-11-06 16:17:00 +0000483Changes from 1.2.2 to 1.4.0
484---------------------------
Karl Pauls1be3b032008-12-20 16:27:49 +0000485
Karl Pauls89beb9b2008-11-06 16:17:00 +0000486* [2008-11-05] URLStreamHandlerService and ContentHandlerService override
487 built-in handlers and make it possible to use URLHandlers when extending the
488 Felix class. (FELIX-756, FELIX-800)
489* [2008-11-04] Implement ServiceReference.compareTo() method. (FELIX-799)
490* [2008-10-31] Fix some visibility issues in the LDAP operators which could
491 result in incorrect toString values. (FELIX-765)
492* [2008-10-31] Fixed spec compliance issues around getting a service reference
493 from an invalid registration and throwing an exception when there are
494 duplicate property keys. (FELIX-798)
495* [2008-10-21] Fixed an issue with extension bundles which would be installed
496 as fragments and fail to install extension bundles if they have incomplete
497 metadata. (FELIX-770)
498* [2008-10-21] Fix a possible deadlock in URLHandlers. (FELIX-748)
499* [2008-10-16] Modified framework to have default values for the system
500 packages property, which also required modifying main to no longer expect to
501 set it. Now it is possible to start Felix with no configuration properties.
502 (FELIX-753)
503* [2008-10-16] Update felix to work with the 1.0.0-rc1 version of the android
504 sdk.
505* [2008-10-15] Implemented remaining PackageAdmin methods from R4. (FELIX-35)
506* [2008-10-15] Modified resolver to correctly mark fragment modules as resolved.
507 (FELIX-777)
508* [2008-10-15] Modified the resolver to longer consider uninstalled fragments
509 and hosts when resolving dependencies; this required a new "stale" flag on
510 modules that gets set when their associated bundle is uninstalled. (FELIX-776)
511* [2008-10-15] Modified the resolver to sort candidates when resolving
512 Require-Bundle dependencies. (FELIX-775)
513* [2008-10-14] Modified ExportedPackage.getImportingBundles() to include
514 bundles requiring the exporting bundle, in addition to those bundles
515 importing the package. Also tried to simplify dependency management code
516 by separating it out. (FELIX-764)
517* [2008-10-14] Fix a NullPointerException in SecureAction when a
518 SecurityManager is used by keeping pointers on the local stack. (FELIX-766)
519* [2008-10-13] Use System.gc to allow to update and uninstall bundles with
520 native libs on Windows. (FELIX-733)
521* [2008-10-10] Set the activator to null on Bundle.stop() to allow for earlier
522 garbage collection. (FELIX-762)
523* [2008-10-10] Implements support for flushing the cache on framework
524 initialization. (FELIX-755)
525* [2008-10-10] Improve exception messages. (FELIX-750)
526* [2008-10-09] Modified the bundle cache to no longer have profiles. (FELIX-754)
527* [2008-10-08] Modified the Felix API to aligned with the proposed standard
528 OSGi framework API. The framework instance can now be stopped and restarted.
529 (FELIX-753)
530* [2008-09-29] Support transiently starting/stopping bundles. (FELIX-713)
531* [2008-09-25] Correctly discard exported packages when a bundle is chosen to
532 import a package it exports. (FELIX-736)
533* [2008-09-24] Clearly distinguish between "resolved" and "unresolved"
534 capabilities, which is necessary since "resolved" capabilities have higher
535 priority than "unresolved" ones. (FELIX-730)
536* [2008-09-24] Do not bootdelegate in the case where Bundle.loadClass() has
537 been used. (FELIX-712)
538* [2008-09-23] Improve decoding of reference URLs. (FELIX-731)
539* [2008-09-23] For completeness, added symbolic names to framework and main.
540* [2008-09-17] Improve gc by fixing an issue with StartLevel and PackageAdmin.
541 (FELIX-728)
542* [2008-09-15] Fix an issue with Require-Bundle not aggregating packages
543 correctly. (FELIX-722)
544* [2008-09-15] Fixed a bug where class loader delegation for dynamic imports
545 was happening when it shouldn't. (FELIX-724)
546* [2008-09-12] Added a configuration property to determine whether installing a
547 fragment that uses unimplemented features throws an exception or logs a
548 warning. (FELIX-725)
549* [2008-09-12] Removed some experimental code for "implicit requirements",
550 since it was no longer needed.
551* [2008-09-12] Fix some visibility issues within the LDAP filter. (FELIX-721)
552
553Changes from 1.2.1 to 1.2.2
554---------------------------
Karl Pauls1be3b032008-12-20 16:27:49 +0000555
Karl Pauls89beb9b2008-11-06 16:17:00 +0000556* [2008-10-14] Fixed a NullPointer exception that could happen when
557 running with a SecurityManager as a backport of FELIX-766.
558
Karl Paulsfa99d5e2008-09-07 19:54:09 +0000559Changes from 1.2.0 to 1.2.1
560---------------------------
561
562* [2008-09-05] Fixed a performance regression that was caused by uncached
563 access to the bundle manifest headers. (FELIX-711)
564* [2008-09-03] Fixed a bug in calculating the system bundle's exported
565 packages which added a null export package.
566
Karl Pauls30d88e12008-08-31 22:15:39 +0000567Changes from 1.0.4 to 1.2.0
568---------------------------
569
570* [2008-08-29] Support JAR-wide manifest package metadata. (FELIX-682)
571* [2008-08-29] Throw an exception when installing a fragment that uses
572 features that we do not support.
573* [2008-08-20] Improve error reporting when loading bundle classes using
574 Bundle.loadClass.
575* [2008-08-16] Fix attribute checking when resolving dynamic imports.
576 (FELIX-676)
577* [2008-08-08] Implement singleton bundle support. (FELIX-102)
578* [2008-08-06] Default to current security policy if no security extension is
579 installed in order to make Subject.doAs work. (FELIX-654)
580* [2008-08-04] Return Bundle.getLastModified() for bundle URLs
581 lastModified(). (FELIX-582)
582* [2008-08-04] Improve handling of improper resource URLs. (FELIX-577)
583* [2008-08-01] Add necessary stub methods to implement new R4.1 methods.
584 (FELIX-595)
585* [2008-08-01] Applied patch to properly return symbolic name when it has
586 parameters. (FELIX-650)
587* [2008-07-25] Fix some rollback issues after a bundle update throws an
588 exception. (FELIX-647)
589* [2008-07-23] Modified manifest parser to be more lenient. (FELIX-641)
590* [2008-07-07] Add support for the standard symbolic name for the system
591 bundle. (FELIX-602)
592* [2008-06-01] Add initial fragment support for extending the host bundle
593 class path. (FELIX-29, FELIX-656)
594
Karl Paulsecf4cc82008-04-21 23:32:57 +0000595Changes from 1.0.3 to 1.0.4
596___________________________
597
598* [2008-04-18] Check that the returned object from a service factory is an
599 instance of all classes named when the service was registered. (FELIX-540)
600* [2008-04-13] Fix an issue when logging messages while holding framework
601 internal locks that could lead to a deadlock. For now we just disable
602 logging to log services inside the framework. (FELIX-536)
603* [2008-04-13] Implemented various small performance improvments e.g.,
604 we now cache filters and create an index for objectclass to improve
605 service lookup performance and don't use the BundleInfo to get the
606 bundle id but the BundleImpl directly. Furthermore, we added an index to
607 get bundles by id.
608* [2008-04-04] Fix an NoClassDefFoundError when trying to query the
609 framework classloader for whether a class is available or not.
610* [2008-03-19] Don't try to resolve extension bundles and fix a
611 classcastexception that could happen if more then one framework is around
612 and both have extensions installed. Furthermore, make extension bundles
613 use the system bundle context.
614* [2008-03-07] Bundle.getResource does now check for AdminPermission.
615 (FELIX-150)
616* [2008-03-06] Make urlhandlers work when a handler factory is already set.
617 Furthermore, it is now possible to have more then one framework running
618 in more then one classloader. (FELIX-38).
619* [2008-03-05] Make LDAP filter reentrant.
620* [2008-02-29] Refactored the IContent abstraction from the module loader
621 layer to provide more generic access to the content of the module. This
622 makes it possible that a bundle's class path could span multiple module's,
623 which will be necessary for fragments. (FELIX-29)
624* [2008-02-27] Applied a patch to disable the class loading diagnostic message
625 when the logger is not at the DEBUG level. (FELIX-500)
626* [2008-02-15] Modified the service registry to use more fine-grained locking
627 to avoid callbacks to service factories while holding locks. (FELIX-489)
628
Karl Pauls7db0d882008-01-28 09:37:24 +0000629Changes from 1.0.1 to 1.0.3
Karl Paulsc0335862008-01-27 19:49:56 +0000630---------------------------
631
632* [2008-01-27] Moved framework docs to main, since the launcher examples now
633 depend on main for the auto-property handling.
634* [2008-01-25] Applied patches to improve how Felix finds resources when
635 getResources() is called. (FELIX-466, FELIX-467)
636* [2008-01-25] Make FilterImpl.toString() add escape characters where needed.
637 (FELIX-471)
638* [2008-01-16] Fix a NPE on framework restart when extension bundles are
639 installed.
640* [2008-01-15] Try to fix a potential visibility issue on loading a class
641 form a bundle where it seems to be possible that we create two classloaders
642 instead of one.
643* [2008-01-15] Modified boot delegation to not terminate when delegating to
644 parent class loader for non-java.* packages. (FELIX-463)
645* [2008-01-04] Fix some issues related to directories on the bundle class
646 path. Specifically, leading slashes created an issue and are now stripped
647 and entries were not being properly filtered when enumerating the contents
648 of a class path directory. (FELIX-426)
649* [2007-12-20] Modified logger to have all of its public methods be final to
650 avoid it from being extended in undesired ways via the constructor supplied
651 logger. (FELIX-428)
652* [2007-12-20] The TCK has changed to verify that bundles do not depend on
653 themselves, so we filter that case now.
654* [2007-12-20] Applied patch from Guillaume Nodet to properly fire a framework
655 error event only when a bundle cannot be resolved. (FELIX-441)
656* [2007-12-19] Modified framework to accept a Logger instance so that host
657 applications can do custom logging until the log service arrives. (FELIX-428)
658* [2007-12-19] Add support for loading bundles on Google Android (FELIX-440).
659* [2007-12-18] Improve native code loading - bundle installation will now
660 fail in case a native library is not in the jar and we only use the first
661 library of a given name. Furthermore, we now support .dylib extensions on
662 the mac as well as others; should make it possible to use .netmodules as
663 well. (FELIX-439)
664* [2007-12-17] Make the win32 alias match any version of windows for native
665 clauses. (FELIX-438)
666* [2007-12-14] Removed auto-property processing out of the framework and
667 into the default launcher, i.e, main. (FELIX-393)
668* [2007-12-13] Fix a StackOverflowError in URLHandlers.createStreamHandler()
669 when creating URL on jamvm and Mika. This patch resolves an unfortunate
670 interaction between our ExtensionManager and the URLHandlers by making the
671 URLHandlers aware of the extension protocol. Pretty much like we do already
672 for the bundle protocol. (FELIX-435)
673* [2007-11-26] Fix a small oversight in the extension manager that could lead
674 to a null pointer exception and save some memory by creating less objects.
675* [2007-11-26] Degrate to version 0.0.0 if we can not find the Felix.properties
676 for some reason and avoid a null pointer in this case.
677* [2007-11-08] Reorganized usage count methods to better handle null
678 reference checking in response to Karl Pauls seeing an NPE when trying to
679 get a service that was already unregistered while shutting down the
680 framework.
681* [2007-11-06] Added a simple check to detect and work around a bug in J9.
682 (FELIX-416)
683* [2007-10-30] Change how the extension manager url stream handler handles
684 request to the root path in order to make some tomcat issue go away.
685 (FELIX-414)
686* [2007-10-26] Added support for "/" bundle resources as requested. (FELIX-383)
687* [2007-10-24] Use system bundle when firing a framework error event when an
688 install error occurs.
689* [2007-10-22] Fix a NPE when getEntryPaths is called on the system bundle.
690 (FELIX-394)
691* [2007-10-16] Modifies bundle resource URL handling such that if a resource
692 URL points to a resource that does not exist, a bundle class path search
693 for the resource will be instigated and if any matching resource is found,
694 that one will be used instead. (FELIX-383)
695* [2007-10-10] Auto-property handling now installs bundles into the default
696 bundle start level if a start level is not specified. (FELIX-359)
697* [2007-10-08] Overwrite the URLStreamHandler.getHostAddress(URL) in the
698 ExtensionManager to immediately return null to prevent DNS lookup.
699 (FELIX-388)
700* [2007-09-30] Resolved a concurrency issue that could result in the same
701 bundle being resolved more than once; also tried to simplify locking in
702 the core search policy implementation. (FELIX-381)
703
Karl Pauls305c9642007-09-16 20:46:04 +0000704Changes from 1.0.0 to 1.0.1
705---------------------------
706
707* [2007-07-23] Fixed a bug in the framework shutdown process which was
708 causing threads calling Felix.stopAndWait() to not get notified that
709 the framework had shutdown. (FELIX-329)
710* [2007-08-15] Fixed a bug in the LDAP filter which was not thread safe
711 on execution. (FELIX-338)
712* [2007-08-17] Added support for persistent last used bundle ID to avoid
713 re-use of bundle identifiers. (FELIX-339)
714* [2007-08-23] Modified BundleImpl.getHeaders(Locale) to accept a null
715 locale. (FELIX-346)
716* [2007-09-11] Added support to handle external termination of Felix
717 which was not handled or detected and prevented a restart of future
718 Felix instances in the same VM. (FELIX-363)
719* [2007-09-12] Add support for Collection values in the LDAP filter to
720 match the 4.1 spec.
721* [2007-09-12] Fixed a bug in the LDAP filter where attributes where
722 limited to [a-zA-Z ] so didn't allow for e.g., numbers. (FELIX-361)
723* [2007-09-13] Enable support for exporting the same package more than
724 once (FELIX-101).
725* [2007-09-13] Returns the system bundle from a call to
726 PackageAdmin.getBundle(Class) in case the class comes from the
727 classloader (or one of its parents) that loaded Felix and the system
728 bundle exports the package.
729* [2007-09-16] Fixed a bug in class space filtering in the service registry
730 that could result in class cast exceptions for service clients.
731* [2007-09-16] Fixed a bug that prevented extension bundle exports to be
732 usable.
733
Richard S. Hall2cd5bed2007-07-16 20:32:41 +0000734Changes from 0.8.0-incubator to 1.0.0
735-------------------------------------
736
737* [2007-01-18] Added support for bundle header localization. (FELIX-27)
738* [2007-01-22] Modified framework resolver to support a generic
739 capability/requirement model.
740* [2007-01-22] Reorganized and centralized manifest parsing code and added
741 support for resolver's generic capability/requirement model. (FELIX-98)
742* [2007-01-22] Improved native library naming normalization. (FELIX-26)
743* [2007-01-23] No longer eagerly resolving classes loaded from modules
744 since this was causing verification errors with IBM J9.
745* [2007-01-25] Added some support for execution environment checking.
746 (FELIX-23)
747* [2007-01-29] Added support for getAllServiceReferences(). (FELIX-32)
748* [2007-01-31] Added Require-Bundle support to resolve using the generic
749 capability/requirement model of the resolver. (FELIX-28)
750* [2007-02-05] Fixed a bug in processor type normalization for x86-64
751 processors.
752* [2007-02-09] The resolver previously ignored packages that were pending
753 removal when resolving new bundles, now it does not.
754* [2007-02-09] Bundles are automatically refreshed when updated/uninstalled
755 if none of their exported packages are in use.
756* [2007-02-13] Added support for extension bundles. (FELIX-30)
757* [2007-03-02] Added a Bundle.getBundleContext() method until actual
758 support for OSGi R4.1.
759* [2007-04-26] Modified Bundle.findEntries() to return URLs to directory
760 entries as well as file entries.
761* [2007-05-06] Modified LDAP evaluator to special case the fact that
762 BigDecimal is not available in Foundation profile.
763* [2007-05-21] Made some performance improvements in LDAP evaluation.
764* [2007-05-22] Modified JAR file to include Service Tracker package.
765* [2007-05-22] Improved concurrency handling around checking for already
766 loaded classes and defining classes.
767* [2007-06-05] Modified resource URLs to use port number rather than
768 prepend information to the resource path.
769* [2007-06-13] Improved dynamic imports to cycle through all available
770 candidates when checking for class space consistency.
771* [2007-06-18] Improved service registry filtering based on class versions
772 to allow a bundle to register a service for a different version of class
773 that it can access.
774* [2007-06-21] Modified our "last ditch effort" to guess when to delegate
775 to the system bundle to make it a little more robust.
776* [2007-06-29] Fixed a bug in EventDispatcher that was causing asynchronous
777 events to not be fired after stopping the framework instance and creating
778 a new instance. (FELIX-314)
779* [2007-07-03] Fixed a bug in EventDispatcher that would not correctly
780 update a listener when it implemented multiple listener interfaces.
781* [2007-07-04] Modified Felix framework class to implement the Bundle
782 interface to improve the startup/shutdown sequence and to provide a
783 simplified API for creating framework instances.
784* [2007-07-11] Removed the PropertyResolver-related classes and now only
785 use Maps for configuration properties. (FELIX-324)