blob: 77ed22a8d9f0395b8fc599cc31bfa0dcfb450653 [file] [log] [blame]
Karl Paulsf9ad6432015-10-13 13:39:05 +00001Changes from 5.2.0 to 5.4.0
2---------------------------
3
4** Bug
5 * [FELIX-5043] - Potential of waiting forever in ServiceRegistry.getService()
6 * [FELIX-5061] - Optional resource fragment with requirements that cause class space consistency issues with the host export cause unexpected ResolutionExceptions
7 * [FELIX-5064] - Framework should provide service capabilities for registered services
8 * [FELIX-5075] - Framework hooks not re-sorted on service ranking update
9
10** Improvement
11 * [FELIX-5014] - Support Windows 10 for Bundle-NativeCode
12 * [FELIX-5034] - Reduce and correct locking related to the hook registry
13 * Update to latest resolver 1.8.0
14
Karl Paulsa93950c2015-08-25 09:19:52 +000015Changes from 5.0.1 to 5.2.0
16---------------------------
17** Bug
18 * [FELIX-4456] - openConnection().getContentLengthLong() always returns -1 for bundle URLs on Java7
19 * [FELIX-4468] - EventObject is created with null pointer : "null source"
20 * [FELIX-4960] - NPE in BundleRevisionImpl.getResourcesLocal()
21 * [FELIX-4977] - Concurrency issue with factory services
Karl Paulse07fa022015-08-26 14:07:25 +000022 * [FELIX-5010] - NPE when resolving bundle with a header "Bundle-NativeCode = *"
Karl Paulsa93950c2015-08-25 09:19:52 +000023
24** Improvement
25 * [FELIX-4938] - Throw an exception when service use count overflow
26
27** New Feature
28 * [FELIX-4942] - Optimise the resolver
29
Karl Paulsfae65682015-06-14 22:31:23 +000030Changes from 5.0.0 to 5.0.1
31---------------------------
32** Bug
33 * [FELIX-4867] - Stale bundle revisions don't get cleaned up when last using bundle is gone
34 * [FELIX-4905] - Framework does not export org.osgi.service.resolver
35 * [FELIX-4914] - Resolution problem with identity requirements on fragments
36 * [FELIX-4927] - Felix reports itself as an OSGi R4/R5 Framework
Karl Paulsa93950c2015-08-25 09:19:52 +000037 * [FELIX-4928] - Singleton getService() sometimes incorrectly returns null
Karl Paulsfae65682015-06-14 22:31:23 +000038
39** Improvement
40 * [FELIX-4866] - Improve service registry
41
Karl Pauls829fff12015-04-20 12:01:26 +000042Changes from 4.6.1 to 5.0.0
43---------------------------
44** Bug
45 * [FELIX-4838] - Deadlock in Service Registry
46 * [FELIX-4850] - org.osgi.framework.version should be 1.8
47 * [FELIX-4854] - Unable to create consistent wiring when same package is exported in same version by multiple bundles
48
49** Improvement
50 * [FELIX-4821] - Use a faster implementation for StringMap
51 * [FELIX-4845] - Clean up Logger implementation
52 * [FELIX-4525] - Refactor the Framework to use the Resolver module
53
Karl Pauls5063d832015-03-03 10:10:29 +000054Changes from 4.6.0 to 4.6.1
55---------------------------
56** Bug
57 * [FELIX-4806] - Ungetting service through ServiceObjects might throw IllegalArgumentException
58
59** Improvement
60 * [FELIX-4810] - Cache WeakZipFile#entries
61
Karl Paulsf1f665a2015-01-11 23:57:18 +000062Changes from 4.4.1 to 4.6.0
63---------------------------
64** Sub-task
65 * [FELIX-4503] - [Core R6] Support osgi.native capability
66 * [FELIX-4504] - [Core R6] Support Framework DTOs
67 * [FELIX-4505] - [Core R6] Support Prototype Service Factory
68 * [FELIX-4578] - [Core R6] Support new Framework.init(FrameworkListener ... listeners) override
69 * [FELIX-4579] - [Core R6] Support Framework Extension Bundle Activators
70 * [FELIX-4580] - [Core R6] Support service.bundleid Service Registration property
71 * [FELIX-4581] - [Core R6] Support FrameworkWiring.findProviders(Requirement)
72 * [FELIX-4582] - [Core R6] Support WovenClassListener
73 * [FELIX-4583] - [Core R6] Ensure that all OSGi Core R6 CT tests pass
74 * [FELIX-4590] - [Core R6] Update to R6 API
75 * [FELIX-4593] - Support the JavaSE/compact profiles for Java 8
76 * [FELIX-4726] - [Core R6] Update bundle and service hooks for the system bundle
77
78** Bug
79 * [FELIX-3883] - [Framework] Move OS and processor aliases to configuration properties
80 * [FELIX-4690] - Some bundles containing native code can fail to start on Windows 7+
81 * [FELIX-4701] - Properties with surprising spelling in AutoProcessor
82 * [FELIX-4729] - [Core R6] Support for osgi.native namespace with Loading native code libraries
83
84** Improvement
85 * [FELIX-4502] - [Core R6] Provide an OSGi R6 compliant framework implementation
86 * [FELIX-4658] - URL of the CodeSource of a ProtectionDomain should resolve to the right JAR
87 * [FELIX-4692] - Improve Service access time
88 * [FELIX-4757] - Native Capabilities should allow OS and Processor alias to load from default and config properties
89
Karl Pauls628dbbc2014-07-09 16:36:34 +000090Changes form 4.4.0 to 4.4.1
91---------------------------
92** Bug
93 * [FELIX-3239] - PackageAdmin#getExportedPackages does not work on packages exported by attached fragments
94 * [FELIX-3309] - Dashes in qualifier get replaced by periods causing framework not to start up
95 * [FELIX-3701] - Intermittent CNFE with embedded jars in Fragment Bundles
96 * [FELIX-4220] - BundleException type is always set to 0
97 * [FELIX-4281] - Security Warning: Felix with Java Web Start
98 * [FELIX-4515] - BundleRevision for system extension has no capabilities
99 * [FELIX-4523] - Deadlock in URLHandlers when Felix.init and Felix.stop are called concurrently
100 * [FELIX-4534] - Bundles containing native code fails to start on Windows 7
101
Karl Paulse1d8c702014-03-20 21:50:06 +0000102Changes from 4.2.1 to 4.4.0
103---------------------------
104** Bug
105 * [FELIX-1131] - ServiceReference.isAssignableTo fails when using a factory that can not see the exported class and the bundle exporting the service does not have a direct wire to this class
106 * [FELIX-3992] - Classloader access outside of a privileged block
107 * [FELIX-4190] - The framework should not hold any lock while calling ServiceFactory#unget
108 * [FELIX-4283] - actually throw exception if method not found
109 * [FELIX-4331] - [Core R5] Support BundleContext and Framework adaptations
110 * [FELIX-4353] - [Core R5] BundleWiringTests OSGi CT test failures
111 * [FELIX-4354] - [Core R5] ResolverHookTests OSGi CT test failures
112 * [FELIX-4355] - [Core R5] org.osgi.test.cases.framework.launch OSGi CT test failure
113 * [FELIX-4365] - Input stream not properly closed on org.apache.felix.framework.Felix.getFrameworkVersion
114 * [FELIX-4388] - Initial start level not considered when bundle.start() is called
115 * [FELIX-4462] - Classloader deadlock in Java6 between two bundles
116
117** Improvement
118 * [FELIX-4128] - [Core R5] Provide an OSGi R5 compliant framework implementation
119 * [FELIX-4284] - remove dead allocation
120
121** Task
122 * [FELIX-4080] - [Core R5] Add support for org.osgi.framework.UnfilteredServiceListener
123 * [FELIX-4082] - [Core R5] Update org.osgi.framework.bsnversion framework property
124 * [FELIX-4083] - [Core R5] Support for valueOf when evaluating a Filter
125 * [FELIX-4084] - [Core R5] Enhance Bundle.adapt() to provider AccessControlContext.
126 * [FELIX-4085] - [Core R5] Implement updates to the Bundle Hook Specification
127 * [FELIX-4324] - [Core R5] Implement osgi.identity namespace for fragments
128
129** Wish
130 * [FELIX-3868] - Adding osgi.identity namespace to bundles (resources)
131
Karl Paulsa2364072013-03-08 20:56:35 +0000132Changes from 4.2.0 to 4.2.1
133---------------------------
134** Bug
135 * [FELIX-3411] - The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
136 * [FELIX-3893] - Bundle in cache doesn't pass security check anymore.
137 * [FELIX-3907] - NullPointerException in BundleWiringImpl when m_disposed is true.
138 * [FELIX-3939] - IllegalArgumentException from ClassLoader.definePackage
139 * [FELIX-3950] - Permission check being done even when security manager is absent
140 * [FELIX-3957] - Error events can be thrown when refreshing fragment bundles
141
142** Improvement
143 * [FELIX-3961] - Add a fallback to the default java security policy if no security provider is present
144
Karl Pauls97262fe2013-02-05 22:48:47 +0000145Changes from 4.0.3 to 4.2.0
146---------------------------
147** Bug
148 * [FELIX-2780] - Extension bundle implementation relies on urlhandlers service to start extension bundles
149 * [FELIX-3160] - NPE in BundleRevisionImpl.close() when uninstalling a bundle
150 * [FELIX-3242] - Concurrent modification problem in StatefulResolver$ResolverStateImpl.getCandidates
151 * [FELIX-3273] - Possible exception when accessing headers
152 * [FELIX-3306] - Lazy activation of bundles is not always working as expected
153 * [FELIX-3343] - Installing an fragment bundle without Bundle-ManifestVersion: 2 causes NPE in resolver
154 * [FELIX-3348] - StartLevel thread may terminate on uncaught exception
155 * [FELIX-3353] - The implementation of org.osgi.service.packageadmin.PackageAdmin#getExportedPackages(Bundle), does not follow the spec.
156 * [FELIX-3367] - getClassloader permission
157 * [FELIX-3397] - NPE when trying to resolve invalid fragments
158 * [FELIX-3411] - The implementation of org.osgi.service.startlevel.StartLevel#setStartLevel(int) does not follow the spec
159 * [FELIX-3413] - NPE and thread blocked in org.osgi.service.packageadmin.PackageAdmin#refreshPackages(Bundle[])
160 * [FELIX-3455] - Framework JARs for JDK 7
161 * [FELIX-3465] - Multi root resolve operations may cause duplicate blame chains to be created
162 * [FELIX-3618] - [Framework] Should not allow bundles to use generic cap/req headers for osgi.wiring.* namespaces
163 * [FELIX-3626] - Issue of felix on android 4.1
164 * [FELIX-3632] - [Framework] Parsing of delimited strings in manifest parser collapses all consecutive escapes
165 * [FELIX-3670] - PackageAdmin.isBundleType throws NPE for uninstalled bundle
166 * [FELIX-3713] - Bundle.start() returns without starting the bundle
167 * [FELIX-3743] - Potential endless loop setting the active framework startlevel
168 * [FELIX-3753] - Felix crashes when embedded within Felix
169 * [FELIX-3761] - When a bundle registers a service, the bundle lock is obtained without any real purpose
170 * [FELIX-3766] - Slightly invalid logic for pre-checking dynamic imports which cause the framework the grab the lock with no real need
171 * [FELIX-3803] - Bundle#getResource always try to resolve the bundle
172 * [FELIX-3824] - Possible InvalidStateException thrown while unregistering bundle services
173 * [FELIX-3840] - problem with URLHandlers when running 2 frameworks in one jvm in separate class loaders
174 * [FELIX-3844] - Native bundles cannot be installed on Windows 8 and Windows Server 2012
175 * [FELIX-3852] - InstallBundle throws ClassCastException: java.util.jar.Attributes$Name cannot be cast to java.lang.String
176 * [FELIX-3887] - ClassCastException during resolution of Require-Bundle: system.bundle
177
178** Improvement
179 * [FELIX-3344] - [Framework] Filter parsing treats ** as invalid syntax
180 * [FELIX-3372] - Add the ability to handle a blank on the property "org.osgi.framework.system.packages.extra"
181 * [FELIX-3394] - [Framework] Refactor internal resolver APIs to better align with upcoming OSGi resolver spec
182 * [FELIX-3447] - Optimize read only collections by using a specific class and not a wrapper which is slower
183 * [FELIX-3553] - Use of parallel class loading capability of JDK7
184 * [FELIX-3609] - Small optimizations
185 * [FELIX-3611] - Bundle certificates are not added to the CodeSource when building the BundleProtectionDomain
186 * [FELIX-3807] - Refreshing bundles should first grab all the bundle locks to avoid concurrent modifications of those bundles
187
188** New Feature
189 * [FELIX-3504] - [Framework] Move to OSGi R5 packages
190
191** Task
192 * [FELIX-3786] - Create system package definintions for Java 8
193
194
195Changes from 4.0.2 to 4.0.3
196---------------------------
197
198** Bug
199 * [FELIX-3003] - NPE in ResolverImpl.permutateIfNeeded
200 * [FELIX-3296] - URLHandlers caches null as values for common protocols
201 * [FELIX-3302] - Adapt the URLHandlers for the 4.0 refactoring
202 * [FELIX-3363] - Native bundles cannot be installed on Windows Server 2008 r2 with the tag win32
203 * [FELIX-3393] - Possible deadlock with reentrant calls
204 * [FELIX-3572] - [Framework] Resolver is not checking package space consistency for dynamic imports
205
206** Improvement
207 * [FELIX-3262] - Startup delay due to URLHandlersBundleStreamHandler
208
Karl Paulsf506dac2011-11-20 20:57:46 +0000209Changes from 4.0.1 to 4.0.2
210---------------------------
211
212** Bug
213 * [FELIX-3178] - NPE in ResolverImpl
214 * [FELIX-3194] - [Framework] Manifest parser is not correctly handling escapes
215 * [FELIX-3205] - Error resolving system.bundle dependencies
216 * [FELIX-3207] - Improper handling of nulls and substring matching at CapabilitySet/SimpleFilter
217 * [FELIX-3211] - org.apache.felix.framework.cache.BundleCache.deleteDirectoryTreeRecursive throws NPE
218 * [FELIX-3220] - Multiple ClassCastException(s) when invoking OSGi Service-Hooks (EventHook, FindHook)
219
220** Improvement
221 * [FELIX-3166] - Make Felix compile within Eclipse
222
223** New Feature
224 * [FELIX-3156] - Implement Bundle::getDataFile and Bundle::compareTo
225
Karl Pauls9e4fa062011-10-10 20:28:23 +0000226Changes from 4.0.0 to 4.0.1
227---------------------------
228
229** Bug
230 * [FELIX-3137] - [Framework] Capabilities from resolved singleton bundles are not indexed correctly
231 * [FELIX-3150] - Filter parameter is ignored at getServiceReferences
232 * [FELIX-3153] - [Framework] refreshPackages() should stop bundles in one pass and refresh them in a second pass
233
234** Improvement
235 * [FELIX-3138] - [Framework] Refactor some unnecessary code in the resolver
236 * [FELIX-3141] - [Framework] Framework should filter removal pending fragments not the resolver
237
Karl Pauls070bdc62011-09-22 14:49:45 +0000238Changes from 3.2.2 to 4.0.0
Karl Pauls73f01362011-09-22 13:29:22 +0000239---------------------------
240
241** Bug
242 * [FELIX-2762] - Substring parser incorrectly disallowing use of parentheses characters
243 * [FELIX-2990] - [Framework] Bug introduced into handling of native libraries during a fresh
244 * [FELIX-3015] - [Framework] Provide org.osgi.util.tracker version 1.5
245 * [FELIX-3033] - [Framework] Service registry hooks are not correctly filtering bundle contexts for event hook
246 * [FELIX-3038] - Framework does not offer J2SE-1.2 Execution Environment
247 * [FELIX-3043] - [Framework] Resolver is not correctly resolving fragments in all cases
248 * [FELIX-3059] - Reexported packages are not calculate correctly leading to resolver and class loading bugs
249 * [FELIX-3062] - [Framework] Resolver gets into infinite loop in the face of a require-bundle cycle
250 * [FELIX-3082] - [Framework] Bundles not allowed to add listeners while in STOPPING state
251 * [FELIX-3085] - Importing/exporting "." should not be allowed
252 * [FELIX-3096] - Could not add FrameworkListener from ServiceListener
253
254** Improvement
255 * [FELIX-2467] - The framework extensions should be returned when invoking the method PackageAdmin#getFragments with the system bundle
256 * [FELIX-2572] - JRE system packages should include "uses" constraints
257 * [FELIX-2950] - [Framework] Adopt OSGi R4.3 API as framework internal API
258 * [FELIX-2998] - [Framework] OSGi R4.3 changed filter handling of exceptions when calling equals()/compare() to return false
259 * [FELIX-3000] - Move sending service registered event out of bundle lock
Karl Pauls73f01362011-09-22 13:29:22 +0000260 * [FELIX-3071] - [Framework] It should be possible to limit number of open JAR files
261 * [FELIX-3125] - [Framework] Use single file per bundle in bundle cache by default
262
263** New Feature
264 * [FELIX-2959] - [Framework] Implement OSGi R4.3 class loader byte-code weaving hook
265 * [FELIX-2969] - [Framework] Implement OSGi R4.3 framework wiring object
266 * [FELIX-2973] - [Framework] Implement OSGi R4.3 generic capabilities and requirements
267 * [FELIX-2975] - [Framework] Implement OSGi R4.3 framework start level object
268 * [FELIX-2986] - [Framework] Implement OSGi R4.3 resolver hooks
269 * [FELIX-2999] - [Framework] OSGi R4.3 now specifies that number types should be trimmed when evaluating filters
270 * [FELIX-3032] - [Framework] Implement OSGi R4.3 bundle hooks
271 * [FELIX-3052] - [Framework] Implement OSGi R4.3 system bundle generic capabilities
272 * [FELIX-3056] - [Framework] Implement OSGi R4.3 event listener service registry hook
273 * [FELIX-3122] - [Framework] Implement OSGi R4.3 framework UUID
274 * [FELIX-3124] - [Framework] Implement OSGi R4.3 property to allow installing bundles with the same BSN and version
275
276** Task
277 * [FELIX-3110] - [Framework] Implement 4.3 security checks
278
279
Karl Paulsda9871c2011-05-11 19:16:20 +0000280Changes from 3.2.1 to 3.2.2
281---------------------------
282
283** Bug
284 * [FELIX-2935] - Bundle.getEntryPaths and findEntries are returning META-INF/ multiple times
285 * [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.
286 * [FELIX-2942] - Bundles with higher start level get activated even before framework reaches that start level
287
288
Karl Pauls3f5c19b2011-04-18 21:33:22 +0000289Changes from 3.2.0 to 3.2.1
290---------------------------
291
292* Bug
293 * [FELIX-2901] - [Framework] NPE from a host bundle during framework shutdown
294 * [FELIX-2917] - Constructor of SecurityExceptino() which is incompatible to 1.4 is used
Karl Pauls5a179f22011-04-26 20:58:15 +0000295 * [FELIX-2924] - bundle stop hangs for http-2.2.0 in felix-3.2.0
Karl Pauls3f5c19b2011-04-18 21:33:22 +0000296
297** Improvement
298 * [FELIX-2909] - [Framework] Resolver could be more efficient if it detected if fragments were present
299
300
Karl Paulsda84e132011-03-28 20:00:25 +0000301Changes from 3.0.9 to 3.2.0
302---------------------------
303
304* Bug
305 * [FELIX-1816] - deadlock on SystemBundle.stop()
306 * [FELIX-2741] - NPE in ResolverImpl.calculatePackageSpaces
307 * [FELIX-2748] - Possible synchronization issue with BundleContext.getBundle()
308 * [FELIX-2877] - java6 update 24 breaks felix when used inside webstart
309
310
311** Improvement
312 * [FELIX-2858] - [Framework] Modify resolver to be self-contained with respect to fragment handling
313 * [FELIX-2859] - [Framework] Modify resolver to be self-contained with respect to singleton handling
314 * [FELIX-2864] - [Framework] Add package profile for JDK7 to default properties
315
Karl Paulsc52f6172011-02-21 21:48:19 +0000316Changes from 3.0.8 to 3.0.9
317---------------------------
318
319** Bug
320 * [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
321 * [FELIX-2784] - When the framework try to grab the bundle lock, it ignores thread interruption
322 * [FELIX-2822] - [Framework] System bundle module's state not reset when framework restarted leading to NPE
323 * [FELIX-2832] - [Framework] It should not be possible to open an URLConnection to "/" for a bundle URL
324 * [FELIX-2840] - [Framework] Uninstalling an uninstalled bundle throws NoSuchElementException
325 * [FELIX-2849] - PackageAdmin is inconsistent between getFragments and getHosts
326 * [FELIX-2850] - PackageAdmin return fragments / hosts even if the host isn't resolved
327 * [FELIX-2851] - Resolution problems after a fragment can't be resolved
328
329** Improvement
330 * [FELIX-2841] - [Framework] Improve resolve exception messages
331
Richard S. Hall8fe08db2011-02-21 14:38:03 +0000332Changes from 3.0.7 to 3.0.8
333---------------------------
334
335** Bug
336 * [FELIX-2749] - Boolean.parseBoolean() newly defined in Java5 should not be used.
337 * [FELIX-2789] - Native library matching is not correctly checking additional extensions
338 * [FELIX-2800] - Logging will throw an NPE if no bundle is specified
339 * [FELIX-2802] - A failed update doesn't rollback properly
340 * [FELIX-2805] - Cache PackageAdmin.getBundle() result for system bundle classes
341
Karl Pauls279d5412010-12-26 21:09:17 +0000342Changes from 3.0.6 to 3.0.7
343---------------------------
344
345** Bug
346 * [FELIX-2456] - Framework no longer fires UNRESOLVED event when a bundle is explicitly refreshed
347 * [FELIX-2693] - [Framework] Service registry should throw a ServiceException for factories resulting in a cycle
348 * [FELIX-2700] - Framework uses java.nio package which is not supported by CDC VM
349 * [FELIX-2710] - [Framework] For exploded bundles Bundle.getEntry("a/b.jar/")==Bundle.getEntry("a/b.jar")
350 * [FELIX-2717] - [Framework] Resolver treats multiple exports of same package as conflicting for fragment imports
351 * [FELIX-2725] - [Framework] Resolver is not correctly calculating exported packages for already resolved modules
352 * [FELIX-2728] - JarRevision does not close URLConnections which are instances of HttpURLConnection
353 * [FELIX-2736] - [Framework] Resolver is not correctly verifying package space consistency for dynamic imports
354 * [FELIX-2738] - [Framework] DirectoryContent does not handle security correctly
355
356** Improvement
357 * [FELIX-2703] - [Framework] Include OSGi/Minimum EEs in default properties
358 * [FELIX-2721] - [Framework] Implement custom manifest parser and avoid JarFile
359 * [FELIX-2737] - [Framework] Optimize resolver algorithm by not re-calculating uses constraints for resolved modules
360
Karl Paulsdb2cbc02010-11-03 21:03:40 +0000361Changes from 3.0.5 to 3.0.6
362---------------------------
363
364** Bug
365 * [FELIX-2670] - [Framework] Implicit boot delegation doesn't delegate for external code in all cases
366 * [FELIX-2683] - [Framework] Bundle last modified time is not persisted on deployment
367
368** Improvement
369 * [FELIX-2560] - Bundle URLs do not survive refreshes
370
371** New Feature
372 * [FELIX-2646] - [Framework] Locking could be used to prevent concurrent access to a single bundle cache
373
Karl Pauls5dfa2a02010-10-18 21:58:01 +0000374Changes from 3.0.4 to 3.0.5
375---------------------------
376
377** Bug
378 * [FELIX-2653] - LinkageError caused by duplicate class definition during implicit boot delegation
379
380** Improvement
381 * [FELIX-2645] - Add a (hidden) way to retrieve a local URL for a given bundle URL
382 * [FELIX-2654] - [Framework] Modify bundle cache to use a single file per bundle state
383
Karl Paulse74c2482010-10-04 20:35:42 +0000384Changes from 3.0.3 to 3.0.4
385---------------------------
386
387** Bug
388 * [FELIX-2584] - No FrameworkEvent.ERROR on unchecked exception in event listener
389 * [FELIX-2629] - [Framework] Module class loader should return an empty enumeration for getResources()
390
391** Improvement
392 * [FELIX-2619] - [Framework] Bundle cache is rechecking nonexistent files again and again
393 * [FELIX-2626] - [Framework] Bundle cache is rewriting some files when restarting bundles
394
Karl Pauls4ca14822010-09-22 20:37:21 +0000395Changes from 3.0.2 to 3.0.3
396---------------------------
397
398** Bug
399 * [FELIX-2548] - Resolver should use case sensitive indexing for capabilities
400 * [FELIX-2569] - Felix bundle classloader always delegates to parent loader in getResources()
401 * [FELIX-2589] - SecurityException "SecurityManager already installed" is thrown when calling Framework.init() multiple times with FRAMEWORK_SECURITY set
402 * [FELIX-2598] - Hang in Felix: thread owing a bundle lock waits for ever to lock it again
403 * [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
404
405** Improvement
406 * [FELIX-1022] - Classloader Exceptions should be more informative
407 * [FELIX-2549] - Fix some synchronization issues in content handling
408 * [FELIX-2555] - Log messages should contain the bundle id, when available
409 * [FELIX-2597] - Deadlock during delivery of resolved event
410
Karl Pauls7fd85ce2010-08-18 20:41:35 +0000411Changes from 3.0.1 to 3.0.2
412---------------------------
413
414** Bug
415 * [FELIX-2421] - Implicit bootdelegation doesn't ignore classloaders if they are inner classes
416 * [FELIX-2437] - Deadlock on refrsh Import and refresh
417 * [FELIX-2451] - Felix uses System.out to print debug messages related to resolver...
418 * [FELIX-2459] - Wrong error message on a missing package
419 * [FELIX-2466] - Unknown attributes are not stripped from Fragment-Host header
420 * [FELIX-2473] - Subtring matching is incorreclty matching against an empty string
421 * [FELIX-2479] - Required bundles not correctly re-exporting their substitutable exports
422
423** Improvement
424 * [FELIX-2528] - Potential performance issue in resolver when uses constraint conflict is detected
425 * [FELIX-2529] - In some scenarios the resolver will not backtrack on imported package decisions
426
Karl Pauls5fb43302010-06-14 20:13:54 +0000427Changes from 3.0.0 to 3.0.1
428---------------------------
429
430** Bug
431 * [FELIX-2401] - NPE in org.apache.felix.framework.FilterImpl.DictionaryCapability.getAttribute(String)
432
Karl Paulsf4ea0312010-06-06 21:55:08 +0000433Changes from 2.0.5 to 3.0.0
434---------------------------
435** Sub-task
436 * [FELIX-2036] - Improve resolver's generic capability/requirement model
437 * [FELIX-2037] - Improve resolver performance by making solution space searching smarter
438
439** Bug
440 * [FELIX-995] - JRE packages are exported with wrong version
441 * [FELIX-1967] - Freeze finding consistent class space
442 * [FELIX-2080] - Updating bundles when debugging switched on might result in a deadlock with 100% CPU usage
443 * [FELIX-2150] - URLStreamHandlerProxy.setURL may not set query component correctly
444 * [FELIX-2172] - Extremely long resolve stage when running CXF-DOSGi system test
445 * [FELIX-2177] - Fragment bundles not loaded after second start when using autodeploy
446 * [FELIX-2271] - CLONE -NPE "name can't be null" when trying to install a bundle in Felix 2.0.3
447 * [FELIX-2273] - getClassLoader-permission required accessing classes from dynamically loaded class
448 * [FELIX-2281] - Bundle id order affects fragment resolution success
449 * [FELIX-2317] - Possible NPE for jars with null Manifest
450 * [FELIX-2321] - BundleException type should be properly set when installing a duplicate bundle
451 * [FELIX-2332] - Lots of contention on ExtensionManager.openConnection(URL)
452 * [FELIX-2335] - Bundle.loadClass() for system bundle doesn't obey boot delegation
453 * [FELIX-2356] - extension bundle cannot load class from embed jar
454 * [FELIX-2383] - Bundles are restarted during start level change
455 * [FELIX-2392] - Felix framework uses a Java5 method
456
457** Improvement
458 * [FELIX-1210] - Allow jars with missing intermediate entries to be handled as if they were present in Bundle.getEntryPaths
459 * [FELIX-1797] - Customizable Framework startup message
460 * [FELIX-2035] - Reimplement framework resolver
461 * [FELIX-2039] - Reimplement standard OSGi LDAP filter to use new filter solution for resolver
462 * [FELIX-2040] - Modify framework service registry to use resolver's new capability/requirement model
463 * [FELIX-2041] - Look into using generics in framework code
464 * [FELIX-2042] - Use Gogo as the default shell for the framework distribution
465 * [FELIX-2324] - Support execution environment so that OBR works properly
466 * [FELIX-2336] - Variable substitution in configuration files should ignore mismatched delimiters
467
468Changes from 2.0.4 to 2.0.5
469---------------------------
470** Bug
471 * [FELIX-1753] - The start level should check that the bundle still exists before starting it to avoid an ugly exception
472 * [FELIX-2087] - NPE "name can't be null" when trying to install a bundle in Felix 2.0.3
473 * [FELIX-2107] - Bundle.findEntries() matches '*<filePattern>' instead of '<filePattern>'
474 * [FELIX-2195] - Using URLDecoder.decode on locations is wrong
475 * [FELIX-2222] - Failure to reinstall a cached bundle will corrupt the bundle cache
476
Karl Paulsc6eda452010-02-14 22:52:56 +0000477Changes from 2.0.3 to 2.0.4
478---------------------------
479
480** Bug
481 * [FELIX-2056] - URLHandlersStreamHandler not getting handlers from frameworks that are inside a different classloader
482 * [FELIX-2067] - Fragment bundle ignored silently when the host Bundle-SymbolicName equals import package name
483 * [FELIX-2073] - The System Bundle is not providing WS Addressing
484
485** Improvement
486 * [FELIX-2071] - Missing checks inside ModuleImpl (in Framework) which causes exceptions
487
488Changes from 2.0.2 to 2.0.3
489---------------------------
490
491** Bug
492 * [FELIX-1838] - PackageAdmin.getExportedPackages() duplicates output for packages with different version
493 * [FELIX-1867] - ModuleImpl diagnoseClassLoadError throw NullPointerException for empty package name in debug mode
494 * [FELIX-1917] - A few minor bugs in the framework found while embedding Felix
495 * [FELIX-1919] - Fragment bundle cannot be linked to its host
496 * [FELIX-1920] - RequiredBundle.getRequiringBundles() incorrectly calculates result
497 * [FELIX-1929] - getStartLevel() always reports requested start level, not active start level
498 * [FELIX-1982] - Documented but uninterpreted felix.cache.* properties
499 * [FELIX-1998] - Use UTF-8 when decoding reference location URLs
500 * [FELIX-2002] - Uninstalled fragments are not properly detached
501
502** Improvement
503 * [FELIX-37] - Implement security for bundle resource URLs
504 * [FELIX-325] - Factor out security checks from the framework/system bundle code
505 * [FELIX-1973] - Implement all required security checks
506
507** New Feature
508 * [FELIX-30] - Implement extension bundles
509 * [FELIX-1991] - Allow boot delegation class loader to be configurable per bundle
510
511
512Changes from 2.0.1 to 2.0.2
513---------------------------
514
515** Bug
516 * [FELIX-1754] - Usage of BundleContext.getServiceReferences results in failure to activate components
517 * [FELIX-1782] - Errors during start-up on gnu/classpath based VMs (jamvm, kaffe, cacao) and mika
518 * [FELIX-1795] - Bundle version ignored in Fragment-Host header
519 * [FELIX-1834] - java.io.IOException: No framework context found when embedding felix frameworks as bundles
520
521** Improvement
522 * [FELIX-1534] - Improve fragment merging
523 * [FELIX-1781] - Try to reduce object allocations/usage in resolver algorithm
524 * [FELIX-1783] - Eliminate contention on ServiceRegistry.getServiceReferences(String, Filter)
525
526Changes from 2.0.0 to 2.0.1
527---------------------------
528
529** Bug
530 * [FELIX-1565] - Deadlock UrlHandlers
531 * [FELIX-1573] - Occasional NPE in URLHandlersBundleStreamHandler
532 * [FELIX-1580] - Regression with native library handling
533 * [FELIX-1586] - Framework reports org.osgi.framework.version as 1.3
534 * [FELIX-1600] - ServiceReference.isAssignableTo() always returns true if requesting bundle has no wire
535 * [FELIX-1631] - Implicit bootdelegation causes hang on android
536 * [FELIX-1710] - Resolver still does not discard all partial results when a cyclical dependency fails
537 * [FELIX-1721] - Framework boot delegation has a bug due to extraneous code
538 * [FELIX-1731] - Native library extraction could be improved to help cases where there are dependencies among libraries
539
540** Improvement
541 * [FELIX-1619] - Change the default auto-deploy actions to be install and start only
542 * [FELIX-1625] - Refactor bundle cache to simplify management
543 * [FELIX-1679] - VersionRange class should use finals to be thread safe.
544 * [FELIX-1724] - Various module metadata should be cached
545
546** Task
547 * [FELIX-1617] - Modify framework, main, shell, shell.tui, and obr to depend on official OSGi JAR files
548
549Changes from 1.8.1 to 2.0.0
550---------------------------
551
552** Bug
553 * [FELIX-893] - Felix fails to start using J9 JVM
554 * [FELIX-905] - Felix needs an RFC 126 FindHook
555 * [FELIX-906] - Felix needs an RFC 126 EventHook
556 * [FELIX-1122] - Extension bundles are not being removed from the bundle list when uninstalled
557 * [FELIX-1123] - System bundle does still not correctly handle (export) package attributes
558 * [FELIX-1124] - ResourceNotFoundException too verbose
559 * [FELIX-1130] - Bundle.getHeaders() returns a Dictionary<java.util.jar.Attribute.Name,String>
560 * [FELIX-1138] - URL Handlers performance regression due to service lookups
561 * [FELIX-1170] - MemoryLeak when stopping and restarting Felix
562 * [FELIX-1187] - BundleContext.ungetService() should return false only if the usage count is zero when the method is invoked
563 * [FELIX-1197] - Bundle Fragments not resolved correctly
564 * [FELIX-1198] - config.properties still refers to old org.osgi.framework.startlevel property
565 * [FELIX-1247] - BundleEvent.UNRESOLVED should be fired during update/uninstall not refresh
566 * [FELIX-1249] - Bundle.findEntries() should search fragments as well as the bundle itself
567 * [FELIX-1254] - Bundle#findEntries does not return resources from fragments
568 * [FELIX-1271] - Improve manifest localization to handle special cases
569 * [FELIX-1272] - Need to special case getResource()/getResources()/loadClass() for fragment bundles
570 * [FELIX-1273] - Bundle.getResources() should return null for a non-existent resource
571 * [FELIX-1277] - Fix Service Hooks Tests failures in RFC 126 TCK
572 * [FELIX-1279] - Framework.waitForStop() does not obey timeout
573 * [FELIX-1280] - Package Admin - getExportedPackages must return null instead of an empty array
574 * [FELIX-1285] - SecureAction captures the calling context incorrectly
575 * [FELIX-1286] - Module class loader should use secure action instead of a privileged block
576 * [FELIX-1287] - System bundle operations from RFC-132 (e.g., init(), start(), stop(), waitForStop()) are using wrong lock object
577 * [FELIX-1288] - System bundle context should be null after stopping the framework
578 * [FELIX-1292] - PackageAdmin.getBundle(Class) should return null if the bundle associated with the passed in class is from another framework
579 * [FELIX-1293] - StringMap used for case insensitive properties does not respect ordering if case sensitivity is changed
580 * [FELIX-1295] - ServiceRegistry increments/decrements service use count after/before getService/ungetService() is called on ServiceFactory
581 * [FELIX-1371] - Automatic parent class loader delegation does not correctly filter calls to Bundle.loadClass()
582 * [FELIX-1397] - Required execution environment verification should happen at resolve time, not install time
583 * [FELIX-1400] - bootdelegation and dynamic-import-packages are accepting invalid patterns
584 * [FELIX-1401] - Manifest localization with fragments not handled correctly
585 * [FELIX-1422] - Resolver does not always discard partial results when a cyclically dependency fails
586 * [FELIX-1435] - Resolver does not always resolve a dynamic import to a fragment export
587 * [FELIX-1527] - R4.2 spec errata now specifies uninstalling a bundle must transition through INSTALLED on its way to UNINSTALLED
588 * [FELIX-1551] - Start level service must synchronously persist bundle start level changes
589 * [FELIX-1556] - Bundle.getResource/s is not able to find resources if the package is not alraedy wired when I use DynamicImport-Package: *
590
591** Improvement
592 * [FELIX-712] - Ability to disable automatic parent classloader delegation
593 * [FELIX-883] - JarContent logs and then swallows exceptions when reading from JAR file, should probably throw an exception
594 * [FELIX-1120] - Enable BundleCache customization
595 * [FELIX-1134] - Add support for native libraries in fragments
596 * [FELIX-1189] - Improve error message in main when there is an error processing auto-install/start bundles
597 * [FELIX-1246] - PackageAdmin.getBundle() is not implemented efficiently
598 * [FELIX-1260] - Make Bundle.findEntries() and Bundle.getEntryPaths() more thread safe
599 * [FELIX-1291] - Implement support for proper return type from Framework.waitForStop()
600 * [FELIX-1300] - Remove legacy bundle cache support when extracting embedded JAR files
601 * [FELIX-1360] - Improve native library matching algorithm (part 2)
602 * [FELIX-1404] - Use provided classes from OSGi R4.2 companion code
603 * [FELIX-1432] - Manifest parser doesn't return import package declarations in order of manifest
604 * [FELIX-1462] - Felix framework launcher should only use standard launching API
605
606** New Feature
607 * [FELIX-33] - Implement system bundle update
608 * [FELIX-749] - Add support for lazy activation of bundles
609 * [FELIX-1193] - Implement org.osgi.framework.bundle.parent from RFC 132
610 * [FELIX-1205] - Update to the latest OSGi R4.2 API
611 * [FELIX-1244] - Add support for ServiceEvent.MODIFIED_ENDMATCH
612 * [FELIX-1250] - Support service exceptions for service factories
613 * [FELIX-1289] - Support for FrameworkUtil.getBundle()
614 * [FELIX-1297] - Implement support for new org.osgi.framework.command.execpermission configuration property
615 * [FELIX-1298] - Implement support for new org.osgi.framework.library.extensions configuration property
616 * [FELIX-1446] - Framework launcher should automatically deploy bundles in bundle directory
617 * [FELIX-1478] - Add shutdown hook to launcher to cleanly shutdown the framework if the process is killed
618
619
620
621
622** Task
623 * [FELIX-1144] - The NOTICE file for Main subproject is not correctly copied into the source JAR
624
625
626** Test
627 * [FELIX-1208] - Need migrate the EventDispatcherTest to newer version of EasyMock
628
629Changes form 1.6.1 to 1.8.0
630---------------------------
631** Bug
632 * [FELIX-1034] - bootdelegation property seems to be matching more packages than desired
633 * [FELIX-1059] - DynamicImport-Package matches more packages than desired
634
635** Improvement
636 * [FELIX-1060] - URLHandlers doesn't support URLStreamHandler.openConnection(proxy,url) method
637
638** New Feature
639 * [FELIX-29] - Implement bundle fragments
640
641Changes from 1.6.0 to 1.6.1
642---------------------------
643** Bug
644 * [FELIX-1027] - deadlock with felix 1.6.0 ?
645 * [FELIX-1028] - NPE in configuration view when running webconsole with Equinox
646 * [FELIX-1033] - Exceptions when Felix is started with security manager
647 * [FELIX-1035] - deadlock observed while using fileinstall to monitor multiple directories
648 * [FELIX-1045] - Felix 1.6.0 fails with ClassCircularityError
649
650Changes from 1.4.1 to 1.6.0
651---------------------------
652
653** Bug
654 * [FELIX-737] - Resolver does not correctly discard export when module imports the same package (part 2)
655 * [FELIX-852] - Fragment support is currently limited to directly resolved hosts
656 * [FELIX-869] - SCR throws exception on invalidating a component with a reference to a service that was already unregistered
657 * [FELIX-891] - Bundle lock acquisition should not record lock until it verifies the bundle is lockable
658 * [FELIX-892] - ServiceReferenceImpl improper implementation of equals and hashcode
659 * [FELIX-893] - Felix fails to start using J9 JVM
660 * [FELIX-897] - Empty system package is exported when a semicolon is present in "extra" configuration
661 * [FELIX-902] - Empty bundle.state file produces NPE
662 * [FELIX-910] - Framework may ignore framework startlevel on startup
663 * [FELIX-911] - Potential deadlock between Bundle.stop() and BundleContext.registerService()
664 * [FELIX-915] - PackageAdmin returns null on getBundle(...) with system classes
665 * [FELIX-934] - Bootdelegation bug
666 * [FELIX-947] - Behaviour of startlevel comman doesn't adhere to spec
667 * [FELIX-948] - ServiceReferenceImpl.compareTo should handle other types than integer for service ranking
668 * [FELIX-951] - Deadlock in iPojo when stopping Felix
669 * [FELIX-952] - Exception thrown when unregistering services because the bundle is stopped
670 * [FELIX-953] - Bundle#loadClass sometimes return null instead of throwing a CNFE
671 * [FELIX-961] - 100% CPU looping inside uses calculation
672 * [FELIX-962] - Erroneous class loading delegation to the application launcher classloader in some cases
673 * [FELIX-969] - system bundle does not correctly handle (export) package attributes
674 * [FELIX-971] - Exception thrown in ServiceTracker at shutdown
675 * [FELIX-978] - Resolver does not clean up properly on a failed recursive attempt to resolve
676 * [FELIX-1004] - Extensionmanager openConnection(URL) method should be public
677 * [FELIX-1005] - Strange list of imported packages returned by the package admin
678
679** Improvement
680 * [FELIX-681] - Modify daemon threads to catch all exceptions and log them to avoid premature thread death
681 * [FELIX-851] - Refactor the module abstraction layer to align more closely to OSGi concepts
682 * [FELIX-872] - JarContent swallows exception when opening manifest, it should log it
683 * [FELIX-883] - JarContent logs and then swallows exceptions when reading from JAR file, should probably throw an exception
684 * [FELIX-894] - Loosen locking when starting/stopping/uninstalling a bundle by firing event without holding a lock
685 * [FELIX-908] - Unsynchronize access to bundle state inside BundleInfo by making the variable volatile
686
687Changes from 1.4.0 to 1.4.1
688---------------------------
689
690* [2008-12-19] Refactor the URLHandlers implementation to fix a possible
691 Linkage-Error when running embedded inside tomcat. Furthermore, make it possible
692 to dynamically set a SecurityManager, change the url we add to the framework
693 classloader to fix issues with rmi and make sure we restore the previous URLStreamHandlerFactory
694 after stopping. (FELIX-842, FELIX-837, FELIX-844, FELIX-827)
695* [2008-12-19] Add missing javax.security.cert in JRE 1.4 and 1.5. (FELIX-854)
696* [2008-12-19] Improve framework internal locking protocol.
697* [2008-12-18] Fixed an issue where bundles with a non-existing native library
698 would not be removed correctly. (FELIX-835)
699* [2008-11-21] Throw an exception when there is an attempt to start or stop a
700 fragment, as per the spec. (FELIX-820)
701* [2008-11-20] Fixed a bug during shutdown where uninstalled fragments are not
702 properly closed. (FELIX-819)
703* [2008-11-14] Added partial support for new service registry hooks as proposed
704 for OSGi R4.2; currently, only listener hooks are supported. (FELIX-804)
705* [2008-11-08] Fixed Felix' delegation hack so that it correctly delegates to
706 the parent class loader for resources as appropriate; previously it was always
707 delegating for class loading, which was incorrect. (FELIX-808)
708
709Changes from 1.2.2 to 1.4.0
710---------------------------
711
712* [2008-11-05] URLStreamHandlerService and ContentHandlerService override
713 built-in handlers and make it possible to use URLHandlers when extending the
714 Felix class. (FELIX-756, FELIX-800)
715* [2008-11-04] Implement ServiceReference.compareTo() method. (FELIX-799)
716* [2008-10-31] Fix some visibility issues in the LDAP operators which could
717 result in incorrect toString values. (FELIX-765)
718* [2008-10-31] Fixed spec compliance issues around getting a service reference
719 from an invalid registration and throwing an exception when there are
720 duplicate property keys. (FELIX-798)
721* [2008-10-21] Fixed an issue with extension bundles which would be installed
722 as fragments and fail to install extension bundles if they have incomplete
723 metadata. (FELIX-770)
724* [2008-10-21] Fix a possible deadlock in URLHandlers. (FELIX-748)
725* [2008-10-16] Modified framework to have default values for the system
726 packages property, which also required modifying main to no longer expect to
727 set it. Now it is possible to start Felix with no configuration properties.
728 (FELIX-753)
729* [2008-10-16] Update felix to work with the 1.0.0-rc1 version of the android
730 sdk.
731* [2008-10-15] Implemented remaining PackageAdmin methods from R4. (FELIX-35)
732* [2008-10-15] Modified resolver to correctly mark fragment modules as resolved.
733 (FELIX-777)
734* [2008-10-15] Modified the resolver to longer consider uninstalled fragments
735 and hosts when resolving dependencies; this required a new "stale" flag on
736 modules that gets set when their associated bundle is uninstalled. (FELIX-776)
737* [2008-10-15] Modified the resolver to sort candidates when resolving
738 Require-Bundle dependencies. (FELIX-775)
739* [2008-10-14] Modified ExportedPackage.getImportingBundles() to include
740 bundles requiring the exporting bundle, in addition to those bundles
741 importing the package. Also tried to simplify dependency management code
742 by separating it out. (FELIX-764)
743* [2008-10-14] Fix a NullPointerException in SecureAction when a
744 SecurityManager is used by keeping pointers on the local stack. (FELIX-766)
745* [2008-10-13] Use System.gc to allow to update and uninstall bundles with
746 native libs on Windows. (FELIX-733)
747* [2008-10-10] Set the activator to null on Bundle.stop() to allow for earlier
748 garbage collection. (FELIX-762)
749* [2008-10-10] Implements support for flushing the cache on framework
750 initialization. (FELIX-755)
751* [2008-10-10] Improve exception messages. (FELIX-750)
752* [2008-10-09] Modified the bundle cache to no longer have profiles. (FELIX-754)
753* [2008-10-08] Modified the Felix API to aligned with the proposed standard
754 OSGi framework API. The framework instance can now be stopped and restarted.
755 (FELIX-753)
756* [2008-09-29] Support transiently starting/stopping bundles. (FELIX-713)
757* [2008-09-25] Correctly discard exported packages when a bundle is chosen to
758 import a package it exports. (FELIX-736)
759* [2008-09-24] Clearly distinguish between "resolved" and "unresolved"
760 capabilities, which is necessary since "resolved" capabilities have higher
761 priority than "unresolved" ones. (FELIX-730)
762* [2008-09-24] Do not bootdelegate in the case where Bundle.loadClass() has
763 been used. (FELIX-712)
764* [2008-09-23] Improve decoding of reference URLs. (FELIX-731)
765* [2008-09-23] For completeness, added symbolic names to framework and main.
766* [2008-09-17] Improve gc by fixing an issue with StartLevel and PackageAdmin.
767 (FELIX-728)
768* [2008-09-15] Fix an issue with Require-Bundle not aggregating packages
769 correctly. (FELIX-722)
770* [2008-09-15] Fixed a bug where class loader delegation for dynamic imports
771 was happening when it shouldn't. (FELIX-724)
772* [2008-09-12] Added a configuration property to determine whether installing a
773 fragment that uses unimplemented features throws an exception or logs a
774 warning. (FELIX-725)
775* [2008-09-12] Removed some experimental code for "implicit requirements",
776 since it was no longer needed.
777* [2008-09-12] Fix some visibility issues within the LDAP filter. (FELIX-721)
778
779Changes from 1.2.1 to 1.2.2
780---------------------------
781
782* [2008-10-14] Fixed a NullPointer exception that could happen when
783 running with a SecurityManager as a backport of FELIX-766.
784
785Changes from 1.2.0 to 1.2.1
786---------------------------
787
788* [2008-09-05] Fixed a performance regression that was caused by uncached
789 access to the bundle manifest headers. (FELIX-711)
790* [2008-09-03] Fixed a bug in calculating the system bundle's exported
791 packages which added a null export package.
792
793Changes from 1.0.4 to 1.2.0
794---------------------------
795
796* [2008-08-29] Support JAR-wide manifest package metadata. (FELIX-682)
797* [2008-08-29] Throw an exception when installing a fragment that uses
798 features that we do not support.
799* [2008-08-20] Improve error reporting when loading bundle classes using
800 Bundle.loadClass.
801* [2008-08-16] Fix attribute checking when resolving dynamic imports.
802 (FELIX-676)
803* [2008-08-08] Implement singleton bundle support. (FELIX-102)
804* [2008-08-06] Default to current security policy if no security extension is
805 installed in order to make Subject.doAs work. (FELIX-654)
806* [2008-08-04] Return Bundle.getLastModified() for bundle URLs
807 lastModified(). (FELIX-582)
808* [2008-08-04] Improve handling of improper resource URLs. (FELIX-577)
809* [2008-08-01] Add necessary stub methods to implement new R4.1 methods.
810 (FELIX-595)
811* [2008-08-01] Applied patch to properly return symbolic name when it has
812 parameters. (FELIX-650)
813* [2008-07-25] Fix some rollback issues after a bundle update throws an
814 exception. (FELIX-647)
815* [2008-07-23] Modified manifest parser to be more lenient. (FELIX-641)
816* [2008-07-07] Add support for the standard symbolic name for the system
817 bundle. (FELIX-602)
818* [2008-06-01] Add initial fragment support for extending the host bundle
819 class path. (FELIX-29, FELIX-656)
820
821Changes from 1.0.3 to 1.0.4
822___________________________
823
824* [2008-04-18] Check that the returned object from a service factory is an
825 instance of all classes named when the service was registered. (FELIX-540)
826* [2008-04-13] Fix an issue when logging messages while holding framework
827 internal locks that could lead to a deadlock. For now we just disable
828 logging to log services inside the framework. (FELIX-536)
829* [2008-04-13] Implemented various small performance improvments e.g.,
830 we now cache filters and create an index for objectclass to improve
831 service lookup performance and don't use the BundleInfo to get the
832 bundle id but the BundleImpl directly. Furthermore, we added an index to
833 get bundles by id.
834* [2008-04-04] Fix an NoClassDefFoundError when trying to query the
835 framework classloader for whether a class is available or not.
836* [2008-03-19] Don't try to resolve extension bundles and fix a
837 classcastexception that could happen if more then one framework is around
838 and both have extensions installed. Furthermore, make extension bundles
839 use the system bundle context.
840* [2008-03-07] Bundle.getResource does now check for AdminPermission.
841 (FELIX-150)
842* [2008-03-06] Make urlhandlers work when a handler factory is already set.
843 Furthermore, it is now possible to have more then one framework running
844 in more then one classloader. (FELIX-38).
845* [2008-03-05] Make LDAP filter reentrant.
846* [2008-02-29] Refactored the IContent abstraction from the module loader
847 layer to provide more generic access to the content of the module. This
848 makes it possible that a bundle's class path could span multiple module's,
849 which will be necessary for fragments. (FELIX-29)
850* [2008-02-27] Applied a patch to disable the class loading diagnostic message
851 when the logger is not at the DEBUG level. (FELIX-500)
852* [2008-02-15] Modified the service registry to use more fine-grained locking
853 to avoid callbacks to service factories while holding locks. (FELIX-489)
854
855Changes from 1.0.1 to 1.0.3
856---------------------------
857
858* [2008-01-27] Moved framework docs to main, since the launcher examples now
859 depend on main for the auto-property handling.
860* [2008-01-25] Applied patches to improve how Felix finds resources when
861 getResources() is called. (FELIX-466, FELIX-467)
862* [2008-01-25] Make FilterImpl.toString() add escape characters where needed.
863 (FELIX-471)
864* [2008-01-16] Fix a NPE on framework restart when extension bundles are
865 installed.
866* [2008-01-15] Try to fix a potential visibility issue on loading a class
867 form a bundle where it seems to be possible that we create two classloaders
868 instead of one.
869* [2008-01-15] Modified boot delegation to not terminate when delegating to
870 parent class loader for non-java.* packages. (FELIX-463)
871* [2008-01-04] Fix some issues related to directories on the bundle class
872 path. Specifically, leading slashes created an issue and are now stripped
873 and entries were not being properly filtered when enumerating the contents
874 of a class path directory. (FELIX-426)
875* [2007-12-20] Modified logger to have all of its public methods be final to
876 avoid it from being extended in undesired ways via the constructor supplied
877 logger. (FELIX-428)
878* [2007-12-20] The TCK has changed to verify that bundles do not depend on
879 themselves, so we filter that case now.
880* [2007-12-20] Applied patch from Guillaume Nodet to properly fire a framework
881 error event only when a bundle cannot be resolved. (FELIX-441)
882* [2007-12-19] Modified framework to accept a Logger instance so that host
883 applications can do custom logging until the log service arrives. (FELIX-428)
884* [2007-12-19] Add support for loading bundles on Google Android (FELIX-440).
885* [2007-12-18] Improve native code loading - bundle installation will now
886 fail in case a native library is not in the jar and we only use the first
887 library of a given name. Furthermore, we now support .dylib extensions on
888 the mac as well as others; should make it possible to use .netmodules as
889 well. (FELIX-439)
890* [2007-12-17] Make the win32 alias match any version of windows for native
891 clauses. (FELIX-438)
892* [2007-12-14] Removed auto-property processing out of the framework and
893 into the default launcher, i.e, main. (FELIX-393)
894* [2007-12-13] Fix a StackOverflowError in URLHandlers.createStreamHandler()
895 when creating URL on jamvm and Mika. This patch resolves an unfortunate
896 interaction between our ExtensionManager and the URLHandlers by making the
897 URLHandlers aware of the extension protocol. Pretty much like we do already
898 for the bundle protocol. (FELIX-435)
899* [2007-11-26] Fix a small oversight in the extension manager that could lead
900 to a null pointer exception and save some memory by creating less objects.
901* [2007-11-26] Degrate to version 0.0.0 if we can not find the Felix.properties
902 for some reason and avoid a null pointer in this case.
903* [2007-11-08] Reorganized usage count methods to better handle null
904 reference checking in response to Karl Pauls seeing an NPE when trying to
905 get a service that was already unregistered while shutting down the
906 framework.
907* [2007-11-06] Added a simple check to detect and work around a bug in J9.
908 (FELIX-416)
909* [2007-10-30] Change how the extension manager url stream handler handles
910 request to the root path in order to make some tomcat issue go away.
911 (FELIX-414)
912* [2007-10-26] Added support for "/" bundle resources as requested. (FELIX-383)
913* [2007-10-24] Use system bundle when firing a framework error event when an
914 install error occurs.
915* [2007-10-22] Fix a NPE when getEntryPaths is called on the system bundle.
916 (FELIX-394)
917* [2007-10-16] Modifies bundle resource URL handling such that if a resource
918 URL points to a resource that does not exist, a bundle class path search
919 for the resource will be instigated and if any matching resource is found,
920 that one will be used instead. (FELIX-383)
921* [2007-10-10] Auto-property handling now installs bundles into the default
922 bundle start level if a start level is not specified. (FELIX-359)
923* [2007-10-08] Overwrite the URLStreamHandler.getHostAddress(URL) in the
924 ExtensionManager to immediately return null to prevent DNS lookup.
925 (FELIX-388)
926* [2007-09-30] Resolved a concurrency issue that could result in the same
927 bundle being resolved more than once; also tried to simplify locking in
928 the core search policy implementation. (FELIX-381)
929
930Changes from 1.0.0 to 1.0.1
931---------------------------
932
933* [2007-07-23] Fixed a bug in the framework shutdown process which was
934 causing threads calling Felix.stopAndWait() to not get notified that
935 the framework had shutdown. (FELIX-329)
936* [2007-08-15] Fixed a bug in the LDAP filter which was not thread safe
937 on execution. (FELIX-338)
938* [2007-08-17] Added support for persistent last used bundle ID to avoid
939 re-use of bundle identifiers. (FELIX-339)
940* [2007-08-23] Modified BundleImpl.getHeaders(Locale) to accept a null
941 locale. (FELIX-346)
942* [2007-09-11] Added support to handle external termination of Felix
943 which was not handled or detected and prevented a restart of future
944 Felix instances in the same VM. (FELIX-363)
945* [2007-09-12] Add support for Collection values in the LDAP filter to
946 match the 4.1 spec.
947* [2007-09-12] Fixed a bug in the LDAP filter where attributes where
948 limited to [a-zA-Z ] so didn't allow for e.g., numbers. (FELIX-361)
949* [2007-09-13] Enable support for exporting the same package more than
950 once (FELIX-101).
951* [2007-09-13] Returns the system bundle from a call to
952 PackageAdmin.getBundle(Class) in case the class comes from the
953 classloader (or one of its parents) that loaded Felix and the system
954 bundle exports the package.
955* [2007-09-16] Fixed a bug in class space filtering in the service registry
956 that could result in class cast exceptions for service clients.
957* [2007-09-16] Fixed a bug that prevented extension bundle exports to be
958 usable.
959
960Changes from 0.8.0-incubator to 1.0.0
961-------------------------------------
962
963* [2007-01-18] Added support for bundle header localization. (FELIX-27)
964* [2007-01-22] Modified framework resolver to support a generic
965 capability/requirement model.
966* [2007-01-22] Reorganized and centralized manifest parsing code and added
967 support for resolver's generic capability/requirement model. (FELIX-98)
968* [2007-01-22] Improved native library naming normalization. (FELIX-26)
969* [2007-01-23] No longer eagerly resolving classes loaded from modules
970 since this was causing verification errors with IBM J9.
971* [2007-01-25] Added some support for execution environment checking.
972 (FELIX-23)
973* [2007-01-29] Added support for getAllServiceReferences(). (FELIX-32)
974* [2007-01-31] Added Require-Bundle support to resolve using the generic
975 capability/requirement model of the resolver. (FELIX-28)
976* [2007-02-05] Fixed a bug in processor type normalization for x86-64
977 processors.
978* [2007-02-09] The resolver previously ignored packages that were pending
979 removal when resolving new bundles, now it does not.
980* [2007-02-09] Bundles are automatically refreshed when updated/uninstalled
981 if none of their exported packages are in use.
982* [2007-02-13] Added support for extension bundles. (FELIX-30)
983* [2007-03-02] Added a Bundle.getBundleContext() method until actual
984 support for OSGi R4.1.
985* [2007-04-26] Modified Bundle.findEntries() to return URLs to directory
986 entries as well as file entries.
987* [2007-05-06] Modified LDAP evaluator to special case the fact that
988 BigDecimal is not available in Foundation profile.
989* [2007-05-21] Made some performance improvements in LDAP evaluation.
990* [2007-05-22] Modified JAR file to include Service Tracker package.
991* [2007-05-22] Improved concurrency handling around checking for already
992 loaded classes and defining classes.
993* [2007-06-05] Modified resource URLs to use port number rather than
994 prepend information to the resource path.
995* [2007-06-13] Improved dynamic imports to cycle through all available
996 candidates when checking for class space consistency.
997* [2007-06-18] Improved service registry filtering based on class versions
998 to allow a bundle to register a service for a different version of class
999 that it can access.
1000* [2007-06-21] Modified our "last ditch effort" to guess when to delegate
1001 to the system bundle to make it a little more robust.
1002* [2007-06-29] Fixed a bug in EventDispatcher that was causing asynchronous
1003 events to not be fired after stopping the framework instance and creating
1004 a new instance. (FELIX-314)
1005* [2007-07-03] Fixed a bug in EventDispatcher that would not correctly
1006 update a listener when it implemented multiple listener interfaces.
1007* [2007-07-04] Modified Felix framework class to implement the Bundle
1008 interface to improve the startup/shutdown sequence and to provide a
1009 simplified API for creating framework instances.
1010* [2007-07-11] Removed the PropertyResolver-related classes and now only
1011 use Maps for configuration properties. (FELIX-324)