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