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