blob: 47c699a3962693bffb7b5e3f1c6e1835a6eae6d1 [file] [log] [blame]
Karl Paulsc6eda452010-02-14 22:52:56 +00001Changes from 2.0.3 to 2.0.4
2---------------------------
3
4** Bug
5 * [FELIX-2056] - URLHandlersStreamHandler not getting handlers from frameworks that are inside a different classloader
6 * [FELIX-2067] - Fragment bundle ignored silently when the host Bundle-SymbolicName equals import package name
7 * [FELIX-2073] - The System Bundle is not providing WS Addressing
8
9** Improvement
10 * [FELIX-2071] - Missing checks inside ModuleImpl (in Framework) which causes exceptions
11
12Changes from 2.0.2 to 2.0.3
13---------------------------
14
15** Bug
16 * [FELIX-1838] - PackageAdmin.getExportedPackages() duplicates output for packages with different version
17 * [FELIX-1867] - ModuleImpl diagnoseClassLoadError throw NullPointerException for empty package name in debug mode
18 * [FELIX-1917] - A few minor bugs in the framework found while embedding Felix
19 * [FELIX-1919] - Fragment bundle cannot be linked to its host
20 * [FELIX-1920] - RequiredBundle.getRequiringBundles() incorrectly calculates result
21 * [FELIX-1929] - getStartLevel() always reports requested start level, not active start level
22 * [FELIX-1982] - Documented but uninterpreted felix.cache.* properties
23 * [FELIX-1998] - Use UTF-8 when decoding reference location URLs
24 * [FELIX-2002] - Uninstalled fragments are not properly detached
25
26** Improvement
27 * [FELIX-37] - Implement security for bundle resource URLs
28 * [FELIX-325] - Factor out security checks from the framework/system bundle code
29 * [FELIX-1973] - Implement all required security checks
30
31** New Feature
32 * [FELIX-30] - Implement extension bundles
33 * [FELIX-1991] - Allow boot delegation class loader to be configurable per bundle
34
35
36Changes from 2.0.1 to 2.0.2
37---------------------------
38
39** Bug
40 * [FELIX-1754] - Usage of BundleContext.getServiceReferences results in failure to activate components
41 * [FELIX-1782] - Errors during start-up on gnu/classpath based VMs (jamvm, kaffe, cacao) and mika
42 * [FELIX-1795] - Bundle version ignored in Fragment-Host header
43 * [FELIX-1834] - java.io.IOException: No framework context found when embedding felix frameworks as bundles
44
45** Improvement
46 * [FELIX-1534] - Improve fragment merging
47 * [FELIX-1781] - Try to reduce object allocations/usage in resolver algorithm
48 * [FELIX-1783] - Eliminate contention on ServiceRegistry.getServiceReferences(String, Filter)
49
50Changes from 2.0.0 to 2.0.1
51---------------------------
52
53** Bug
54 * [FELIX-1565] - Deadlock UrlHandlers
55 * [FELIX-1573] - Occasional NPE in URLHandlersBundleStreamHandler
56 * [FELIX-1580] - Regression with native library handling
57 * [FELIX-1586] - Framework reports org.osgi.framework.version as 1.3
58 * [FELIX-1600] - ServiceReference.isAssignableTo() always returns true if requesting bundle has no wire
59 * [FELIX-1631] - Implicit bootdelegation causes hang on android
60 * [FELIX-1710] - Resolver still does not discard all partial results when a cyclical dependency fails
61 * [FELIX-1721] - Framework boot delegation has a bug due to extraneous code
62 * [FELIX-1731] - Native library extraction could be improved to help cases where there are dependencies among libraries
63
64** Improvement
65 * [FELIX-1619] - Change the default auto-deploy actions to be install and start only
66 * [FELIX-1625] - Refactor bundle cache to simplify management
67 * [FELIX-1679] - VersionRange class should use finals to be thread safe.
68 * [FELIX-1724] - Various module metadata should be cached
69
70** Task
71 * [FELIX-1617] - Modify framework, main, shell, shell.tui, and obr to depend on official OSGi JAR files
72
73Changes from 1.8.1 to 2.0.0
74---------------------------
75
76** Bug
77 * [FELIX-893] - Felix fails to start using J9 JVM
78 * [FELIX-905] - Felix needs an RFC 126 FindHook
79 * [FELIX-906] - Felix needs an RFC 126 EventHook
80 * [FELIX-1122] - Extension bundles are not being removed from the bundle list when uninstalled
81 * [FELIX-1123] - System bundle does still not correctly handle (export) package attributes
82 * [FELIX-1124] - ResourceNotFoundException too verbose
83 * [FELIX-1130] - Bundle.getHeaders() returns a Dictionary<java.util.jar.Attribute.Name,String>
84 * [FELIX-1138] - URL Handlers performance regression due to service lookups
85 * [FELIX-1170] - MemoryLeak when stopping and restarting Felix
86 * [FELIX-1187] - BundleContext.ungetService() should return false only if the usage count is zero when the method is invoked
87 * [FELIX-1197] - Bundle Fragments not resolved correctly
88 * [FELIX-1198] - config.properties still refers to old org.osgi.framework.startlevel property
89 * [FELIX-1247] - BundleEvent.UNRESOLVED should be fired during update/uninstall not refresh
90 * [FELIX-1249] - Bundle.findEntries() should search fragments as well as the bundle itself
91 * [FELIX-1254] - Bundle#findEntries does not return resources from fragments
92 * [FELIX-1271] - Improve manifest localization to handle special cases
93 * [FELIX-1272] - Need to special case getResource()/getResources()/loadClass() for fragment bundles
94 * [FELIX-1273] - Bundle.getResources() should return null for a non-existent resource
95 * [FELIX-1277] - Fix Service Hooks Tests failures in RFC 126 TCK
96 * [FELIX-1279] - Framework.waitForStop() does not obey timeout
97 * [FELIX-1280] - Package Admin - getExportedPackages must return null instead of an empty array
98 * [FELIX-1285] - SecureAction captures the calling context incorrectly
99 * [FELIX-1286] - Module class loader should use secure action instead of a privileged block
100 * [FELIX-1287] - System bundle operations from RFC-132 (e.g., init(), start(), stop(), waitForStop()) are using wrong lock object
101 * [FELIX-1288] - System bundle context should be null after stopping the framework
102 * [FELIX-1292] - PackageAdmin.getBundle(Class) should return null if the bundle associated with the passed in class is from another framework
103 * [FELIX-1293] - StringMap used for case insensitive properties does not respect ordering if case sensitivity is changed
104 * [FELIX-1295] - ServiceRegistry increments/decrements service use count after/before getService/ungetService() is called on ServiceFactory
105 * [FELIX-1371] - Automatic parent class loader delegation does not correctly filter calls to Bundle.loadClass()
106 * [FELIX-1397] - Required execution environment verification should happen at resolve time, not install time
107 * [FELIX-1400] - bootdelegation and dynamic-import-packages are accepting invalid patterns
108 * [FELIX-1401] - Manifest localization with fragments not handled correctly
109 * [FELIX-1422] - Resolver does not always discard partial results when a cyclically dependency fails
110 * [FELIX-1435] - Resolver does not always resolve a dynamic import to a fragment export
111 * [FELIX-1527] - R4.2 spec errata now specifies uninstalling a bundle must transition through INSTALLED on its way to UNINSTALLED
112 * [FELIX-1551] - Start level service must synchronously persist bundle start level changes
113 * [FELIX-1556] - Bundle.getResource/s is not able to find resources if the package is not alraedy wired when I use DynamicImport-Package: *
114
115** Improvement
116 * [FELIX-712] - Ability to disable automatic parent classloader delegation
117 * [FELIX-883] - JarContent logs and then swallows exceptions when reading from JAR file, should probably throw an exception
118 * [FELIX-1120] - Enable BundleCache customization
119 * [FELIX-1134] - Add support for native libraries in fragments
120 * [FELIX-1189] - Improve error message in main when there is an error processing auto-install/start bundles
121 * [FELIX-1246] - PackageAdmin.getBundle() is not implemented efficiently
122 * [FELIX-1260] - Make Bundle.findEntries() and Bundle.getEntryPaths() more thread safe
123 * [FELIX-1291] - Implement support for proper return type from Framework.waitForStop()
124 * [FELIX-1300] - Remove legacy bundle cache support when extracting embedded JAR files
125 * [FELIX-1360] - Improve native library matching algorithm (part 2)
126 * [FELIX-1404] - Use provided classes from OSGi R4.2 companion code
127 * [FELIX-1432] - Manifest parser doesn't return import package declarations in order of manifest
128 * [FELIX-1462] - Felix framework launcher should only use standard launching API
129
130** New Feature
131 * [FELIX-33] - Implement system bundle update
132 * [FELIX-749] - Add support for lazy activation of bundles
133 * [FELIX-1193] - Implement org.osgi.framework.bundle.parent from RFC 132
134 * [FELIX-1205] - Update to the latest OSGi R4.2 API
135 * [FELIX-1244] - Add support for ServiceEvent.MODIFIED_ENDMATCH
136 * [FELIX-1250] - Support service exceptions for service factories
137 * [FELIX-1289] - Support for FrameworkUtil.getBundle()
138 * [FELIX-1297] - Implement support for new org.osgi.framework.command.execpermission configuration property
139 * [FELIX-1298] - Implement support for new org.osgi.framework.library.extensions configuration property
140 * [FELIX-1446] - Framework launcher should automatically deploy bundles in bundle directory
141 * [FELIX-1478] - Add shutdown hook to launcher to cleanly shutdown the framework if the process is killed
142
143
144
145
146** Task
147 * [FELIX-1144] - The NOTICE file for Main subproject is not correctly copied into the source JAR
148
149
150** Test
151 * [FELIX-1208] - Need migrate the EventDispatcherTest to newer version of EasyMock
152
153Changes form 1.6.1 to 1.8.0
154---------------------------
155** Bug
156 * [FELIX-1034] - bootdelegation property seems to be matching more packages than desired
157 * [FELIX-1059] - DynamicImport-Package matches more packages than desired
158
159** Improvement
160 * [FELIX-1060] - URLHandlers doesn't support URLStreamHandler.openConnection(proxy,url) method
161
162** New Feature
163 * [FELIX-29] - Implement bundle fragments
164
165Changes from 1.6.0 to 1.6.1
166---------------------------
167** Bug
168 * [FELIX-1027] - deadlock with felix 1.6.0 ?
169 * [FELIX-1028] - NPE in configuration view when running webconsole with Equinox
170 * [FELIX-1033] - Exceptions when Felix is started with security manager
171 * [FELIX-1035] - deadlock observed while using fileinstall to monitor multiple directories
172 * [FELIX-1045] - Felix 1.6.0 fails with ClassCircularityError
173
174Changes from 1.4.1 to 1.6.0
175---------------------------
176
177** Bug
178 * [FELIX-737] - Resolver does not correctly discard export when module imports the same package (part 2)
179 * [FELIX-852] - Fragment support is currently limited to directly resolved hosts
180 * [FELIX-869] - SCR throws exception on invalidating a component with a reference to a service that was already unregistered
181 * [FELIX-891] - Bundle lock acquisition should not record lock until it verifies the bundle is lockable
182 * [FELIX-892] - ServiceReferenceImpl improper implementation of equals and hashcode
183 * [FELIX-893] - Felix fails to start using J9 JVM
184 * [FELIX-897] - Empty system package is exported when a semicolon is present in "extra" configuration
185 * [FELIX-902] - Empty bundle.state file produces NPE
186 * [FELIX-910] - Framework may ignore framework startlevel on startup
187 * [FELIX-911] - Potential deadlock between Bundle.stop() and BundleContext.registerService()
188 * [FELIX-915] - PackageAdmin returns null on getBundle(...) with system classes
189 * [FELIX-934] - Bootdelegation bug
190 * [FELIX-947] - Behaviour of startlevel comman doesn't adhere to spec
191 * [FELIX-948] - ServiceReferenceImpl.compareTo should handle other types than integer for service ranking
192 * [FELIX-951] - Deadlock in iPojo when stopping Felix
193 * [FELIX-952] - Exception thrown when unregistering services because the bundle is stopped
194 * [FELIX-953] - Bundle#loadClass sometimes return null instead of throwing a CNFE
195 * [FELIX-961] - 100% CPU looping inside uses calculation
196 * [FELIX-962] - Erroneous class loading delegation to the application launcher classloader in some cases
197 * [FELIX-969] - system bundle does not correctly handle (export) package attributes
198 * [FELIX-971] - Exception thrown in ServiceTracker at shutdown
199 * [FELIX-978] - Resolver does not clean up properly on a failed recursive attempt to resolve
200 * [FELIX-1004] - Extensionmanager openConnection(URL) method should be public
201 * [FELIX-1005] - Strange list of imported packages returned by the package admin
202
203** Improvement
204 * [FELIX-681] - Modify daemon threads to catch all exceptions and log them to avoid premature thread death
205 * [FELIX-851] - Refactor the module abstraction layer to align more closely to OSGi concepts
206 * [FELIX-872] - JarContent swallows exception when opening manifest, it should log it
207 * [FELIX-883] - JarContent logs and then swallows exceptions when reading from JAR file, should probably throw an exception
208 * [FELIX-894] - Loosen locking when starting/stopping/uninstalling a bundle by firing event without holding a lock
209 * [FELIX-908] - Unsynchronize access to bundle state inside BundleInfo by making the variable volatile
210
211Changes from 1.4.0 to 1.4.1
212---------------------------
213
214* [2008-12-19] Refactor the URLHandlers implementation to fix a possible
215 Linkage-Error when running embedded inside tomcat. Furthermore, make it possible
216 to dynamically set a SecurityManager, change the url we add to the framework
217 classloader to fix issues with rmi and make sure we restore the previous URLStreamHandlerFactory
218 after stopping. (FELIX-842, FELIX-837, FELIX-844, FELIX-827)
219* [2008-12-19] Add missing javax.security.cert in JRE 1.4 and 1.5. (FELIX-854)
220* [2008-12-19] Improve framework internal locking protocol.
221* [2008-12-18] Fixed an issue where bundles with a non-existing native library
222 would not be removed correctly. (FELIX-835)
223* [2008-11-21] Throw an exception when there is an attempt to start or stop a
224 fragment, as per the spec. (FELIX-820)
225* [2008-11-20] Fixed a bug during shutdown where uninstalled fragments are not
226 properly closed. (FELIX-819)
227* [2008-11-14] Added partial support for new service registry hooks as proposed
228 for OSGi R4.2; currently, only listener hooks are supported. (FELIX-804)
229* [2008-11-08] Fixed Felix' delegation hack so that it correctly delegates to
230 the parent class loader for resources as appropriate; previously it was always
231 delegating for class loading, which was incorrect. (FELIX-808)
232
233Changes from 1.2.2 to 1.4.0
234---------------------------
235
236* [2008-11-05] URLStreamHandlerService and ContentHandlerService override
237 built-in handlers and make it possible to use URLHandlers when extending the
238 Felix class. (FELIX-756, FELIX-800)
239* [2008-11-04] Implement ServiceReference.compareTo() method. (FELIX-799)
240* [2008-10-31] Fix some visibility issues in the LDAP operators which could
241 result in incorrect toString values. (FELIX-765)
242* [2008-10-31] Fixed spec compliance issues around getting a service reference
243 from an invalid registration and throwing an exception when there are
244 duplicate property keys. (FELIX-798)
245* [2008-10-21] Fixed an issue with extension bundles which would be installed
246 as fragments and fail to install extension bundles if they have incomplete
247 metadata. (FELIX-770)
248* [2008-10-21] Fix a possible deadlock in URLHandlers. (FELIX-748)
249* [2008-10-16] Modified framework to have default values for the system
250 packages property, which also required modifying main to no longer expect to
251 set it. Now it is possible to start Felix with no configuration properties.
252 (FELIX-753)
253* [2008-10-16] Update felix to work with the 1.0.0-rc1 version of the android
254 sdk.
255* [2008-10-15] Implemented remaining PackageAdmin methods from R4. (FELIX-35)
256* [2008-10-15] Modified resolver to correctly mark fragment modules as resolved.
257 (FELIX-777)
258* [2008-10-15] Modified the resolver to longer consider uninstalled fragments
259 and hosts when resolving dependencies; this required a new "stale" flag on
260 modules that gets set when their associated bundle is uninstalled. (FELIX-776)
261* [2008-10-15] Modified the resolver to sort candidates when resolving
262 Require-Bundle dependencies. (FELIX-775)
263* [2008-10-14] Modified ExportedPackage.getImportingBundles() to include
264 bundles requiring the exporting bundle, in addition to those bundles
265 importing the package. Also tried to simplify dependency management code
266 by separating it out. (FELIX-764)
267* [2008-10-14] Fix a NullPointerException in SecureAction when a
268 SecurityManager is used by keeping pointers on the local stack. (FELIX-766)
269* [2008-10-13] Use System.gc to allow to update and uninstall bundles with
270 native libs on Windows. (FELIX-733)
271* [2008-10-10] Set the activator to null on Bundle.stop() to allow for earlier
272 garbage collection. (FELIX-762)
273* [2008-10-10] Implements support for flushing the cache on framework
274 initialization. (FELIX-755)
275* [2008-10-10] Improve exception messages. (FELIX-750)
276* [2008-10-09] Modified the bundle cache to no longer have profiles. (FELIX-754)
277* [2008-10-08] Modified the Felix API to aligned with the proposed standard
278 OSGi framework API. The framework instance can now be stopped and restarted.
279 (FELIX-753)
280* [2008-09-29] Support transiently starting/stopping bundles. (FELIX-713)
281* [2008-09-25] Correctly discard exported packages when a bundle is chosen to
282 import a package it exports. (FELIX-736)
283* [2008-09-24] Clearly distinguish between "resolved" and "unresolved"
284 capabilities, which is necessary since "resolved" capabilities have higher
285 priority than "unresolved" ones. (FELIX-730)
286* [2008-09-24] Do not bootdelegate in the case where Bundle.loadClass() has
287 been used. (FELIX-712)
288* [2008-09-23] Improve decoding of reference URLs. (FELIX-731)
289* [2008-09-23] For completeness, added symbolic names to framework and main.
290* [2008-09-17] Improve gc by fixing an issue with StartLevel and PackageAdmin.
291 (FELIX-728)
292* [2008-09-15] Fix an issue with Require-Bundle not aggregating packages
293 correctly. (FELIX-722)
294* [2008-09-15] Fixed a bug where class loader delegation for dynamic imports
295 was happening when it shouldn't. (FELIX-724)
296* [2008-09-12] Added a configuration property to determine whether installing a
297 fragment that uses unimplemented features throws an exception or logs a
298 warning. (FELIX-725)
299* [2008-09-12] Removed some experimental code for "implicit requirements",
300 since it was no longer needed.
301* [2008-09-12] Fix some visibility issues within the LDAP filter. (FELIX-721)
302
303Changes from 1.2.1 to 1.2.2
304---------------------------
305
306* [2008-10-14] Fixed a NullPointer exception that could happen when
307 running with a SecurityManager as a backport of FELIX-766.
308
309Changes from 1.2.0 to 1.2.1
310---------------------------
311
312* [2008-09-05] Fixed a performance regression that was caused by uncached
313 access to the bundle manifest headers. (FELIX-711)
314* [2008-09-03] Fixed a bug in calculating the system bundle's exported
315 packages which added a null export package.
316
317Changes from 1.0.4 to 1.2.0
318---------------------------
319
320* [2008-08-29] Support JAR-wide manifest package metadata. (FELIX-682)
321* [2008-08-29] Throw an exception when installing a fragment that uses
322 features that we do not support.
323* [2008-08-20] Improve error reporting when loading bundle classes using
324 Bundle.loadClass.
325* [2008-08-16] Fix attribute checking when resolving dynamic imports.
326 (FELIX-676)
327* [2008-08-08] Implement singleton bundle support. (FELIX-102)
328* [2008-08-06] Default to current security policy if no security extension is
329 installed in order to make Subject.doAs work. (FELIX-654)
330* [2008-08-04] Return Bundle.getLastModified() for bundle URLs
331 lastModified(). (FELIX-582)
332* [2008-08-04] Improve handling of improper resource URLs. (FELIX-577)
333* [2008-08-01] Add necessary stub methods to implement new R4.1 methods.
334 (FELIX-595)
335* [2008-08-01] Applied patch to properly return symbolic name when it has
336 parameters. (FELIX-650)
337* [2008-07-25] Fix some rollback issues after a bundle update throws an
338 exception. (FELIX-647)
339* [2008-07-23] Modified manifest parser to be more lenient. (FELIX-641)
340* [2008-07-07] Add support for the standard symbolic name for the system
341 bundle. (FELIX-602)
342* [2008-06-01] Add initial fragment support for extending the host bundle
343 class path. (FELIX-29, FELIX-656)
344
345Changes from 1.0.3 to 1.0.4
346___________________________
347
348* [2008-04-18] Check that the returned object from a service factory is an
349 instance of all classes named when the service was registered. (FELIX-540)
350* [2008-04-13] Fix an issue when logging messages while holding framework
351 internal locks that could lead to a deadlock. For now we just disable
352 logging to log services inside the framework. (FELIX-536)
353* [2008-04-13] Implemented various small performance improvments e.g.,
354 we now cache filters and create an index for objectclass to improve
355 service lookup performance and don't use the BundleInfo to get the
356 bundle id but the BundleImpl directly. Furthermore, we added an index to
357 get bundles by id.
358* [2008-04-04] Fix an NoClassDefFoundError when trying to query the
359 framework classloader for whether a class is available or not.
360* [2008-03-19] Don't try to resolve extension bundles and fix a
361 classcastexception that could happen if more then one framework is around
362 and both have extensions installed. Furthermore, make extension bundles
363 use the system bundle context.
364* [2008-03-07] Bundle.getResource does now check for AdminPermission.
365 (FELIX-150)
366* [2008-03-06] Make urlhandlers work when a handler factory is already set.
367 Furthermore, it is now possible to have more then one framework running
368 in more then one classloader. (FELIX-38).
369* [2008-03-05] Make LDAP filter reentrant.
370* [2008-02-29] Refactored the IContent abstraction from the module loader
371 layer to provide more generic access to the content of the module. This
372 makes it possible that a bundle's class path could span multiple module's,
373 which will be necessary for fragments. (FELIX-29)
374* [2008-02-27] Applied a patch to disable the class loading diagnostic message
375 when the logger is not at the DEBUG level. (FELIX-500)
376* [2008-02-15] Modified the service registry to use more fine-grained locking
377 to avoid callbacks to service factories while holding locks. (FELIX-489)
378
379Changes from 1.0.1 to 1.0.3
380---------------------------
381
382* [2008-01-27] Moved framework docs to main, since the launcher examples now
383 depend on main for the auto-property handling.
384* [2008-01-25] Applied patches to improve how Felix finds resources when
385 getResources() is called. (FELIX-466, FELIX-467)
386* [2008-01-25] Make FilterImpl.toString() add escape characters where needed.
387 (FELIX-471)
388* [2008-01-16] Fix a NPE on framework restart when extension bundles are
389 installed.
390* [2008-01-15] Try to fix a potential visibility issue on loading a class
391 form a bundle where it seems to be possible that we create two classloaders
392 instead of one.
393* [2008-01-15] Modified boot delegation to not terminate when delegating to
394 parent class loader for non-java.* packages. (FELIX-463)
395* [2008-01-04] Fix some issues related to directories on the bundle class
396 path. Specifically, leading slashes created an issue and are now stripped
397 and entries were not being properly filtered when enumerating the contents
398 of a class path directory. (FELIX-426)
399* [2007-12-20] Modified logger to have all of its public methods be final to
400 avoid it from being extended in undesired ways via the constructor supplied
401 logger. (FELIX-428)
402* [2007-12-20] The TCK has changed to verify that bundles do not depend on
403 themselves, so we filter that case now.
404* [2007-12-20] Applied patch from Guillaume Nodet to properly fire a framework
405 error event only when a bundle cannot be resolved. (FELIX-441)
406* [2007-12-19] Modified framework to accept a Logger instance so that host
407 applications can do custom logging until the log service arrives. (FELIX-428)
408* [2007-12-19] Add support for loading bundles on Google Android (FELIX-440).
409* [2007-12-18] Improve native code loading - bundle installation will now
410 fail in case a native library is not in the jar and we only use the first
411 library of a given name. Furthermore, we now support .dylib extensions on
412 the mac as well as others; should make it possible to use .netmodules as
413 well. (FELIX-439)
414* [2007-12-17] Make the win32 alias match any version of windows for native
415 clauses. (FELIX-438)
416* [2007-12-14] Removed auto-property processing out of the framework and
417 into the default launcher, i.e, main. (FELIX-393)
418* [2007-12-13] Fix a StackOverflowError in URLHandlers.createStreamHandler()
419 when creating URL on jamvm and Mika. This patch resolves an unfortunate
420 interaction between our ExtensionManager and the URLHandlers by making the
421 URLHandlers aware of the extension protocol. Pretty much like we do already
422 for the bundle protocol. (FELIX-435)
423* [2007-11-26] Fix a small oversight in the extension manager that could lead
424 to a null pointer exception and save some memory by creating less objects.
425* [2007-11-26] Degrate to version 0.0.0 if we can not find the Felix.properties
426 for some reason and avoid a null pointer in this case.
427* [2007-11-08] Reorganized usage count methods to better handle null
428 reference checking in response to Karl Pauls seeing an NPE when trying to
429 get a service that was already unregistered while shutting down the
430 framework.
431* [2007-11-06] Added a simple check to detect and work around a bug in J9.
432 (FELIX-416)
433* [2007-10-30] Change how the extension manager url stream handler handles
434 request to the root path in order to make some tomcat issue go away.
435 (FELIX-414)
436* [2007-10-26] Added support for "/" bundle resources as requested. (FELIX-383)
437* [2007-10-24] Use system bundle when firing a framework error event when an
438 install error occurs.
439* [2007-10-22] Fix a NPE when getEntryPaths is called on the system bundle.
440 (FELIX-394)
441* [2007-10-16] Modifies bundle resource URL handling such that if a resource
442 URL points to a resource that does not exist, a bundle class path search
443 for the resource will be instigated and if any matching resource is found,
444 that one will be used instead. (FELIX-383)
445* [2007-10-10] Auto-property handling now installs bundles into the default
446 bundle start level if a start level is not specified. (FELIX-359)
447* [2007-10-08] Overwrite the URLStreamHandler.getHostAddress(URL) in the
448 ExtensionManager to immediately return null to prevent DNS lookup.
449 (FELIX-388)
450* [2007-09-30] Resolved a concurrency issue that could result in the same
451 bundle being resolved more than once; also tried to simplify locking in
452 the core search policy implementation. (FELIX-381)
453
454Changes from 1.0.0 to 1.0.1
455---------------------------
456
457* [2007-07-23] Fixed a bug in the framework shutdown process which was
458 causing threads calling Felix.stopAndWait() to not get notified that
459 the framework had shutdown. (FELIX-329)
460* [2007-08-15] Fixed a bug in the LDAP filter which was not thread safe
461 on execution. (FELIX-338)
462* [2007-08-17] Added support for persistent last used bundle ID to avoid
463 re-use of bundle identifiers. (FELIX-339)
464* [2007-08-23] Modified BundleImpl.getHeaders(Locale) to accept a null
465 locale. (FELIX-346)
466* [2007-09-11] Added support to handle external termination of Felix
467 which was not handled or detected and prevented a restart of future
468 Felix instances in the same VM. (FELIX-363)
469* [2007-09-12] Add support for Collection values in the LDAP filter to
470 match the 4.1 spec.
471* [2007-09-12] Fixed a bug in the LDAP filter where attributes where
472 limited to [a-zA-Z ] so didn't allow for e.g., numbers. (FELIX-361)
473* [2007-09-13] Enable support for exporting the same package more than
474 once (FELIX-101).
475* [2007-09-13] Returns the system bundle from a call to
476 PackageAdmin.getBundle(Class) in case the class comes from the
477 classloader (or one of its parents) that loaded Felix and the system
478 bundle exports the package.
479* [2007-09-16] Fixed a bug in class space filtering in the service registry
480 that could result in class cast exceptions for service clients.
481* [2007-09-16] Fixed a bug that prevented extension bundle exports to be
482 usable.
483
484Changes from 0.8.0-incubator to 1.0.0
485-------------------------------------
486
487* [2007-01-18] Added support for bundle header localization. (FELIX-27)
488* [2007-01-22] Modified framework resolver to support a generic
489 capability/requirement model.
490* [2007-01-22] Reorganized and centralized manifest parsing code and added
491 support for resolver's generic capability/requirement model. (FELIX-98)
492* [2007-01-22] Improved native library naming normalization. (FELIX-26)
493* [2007-01-23] No longer eagerly resolving classes loaded from modules
494 since this was causing verification errors with IBM J9.
495* [2007-01-25] Added some support for execution environment checking.
496 (FELIX-23)
497* [2007-01-29] Added support for getAllServiceReferences(). (FELIX-32)
498* [2007-01-31] Added Require-Bundle support to resolve using the generic
499 capability/requirement model of the resolver. (FELIX-28)
500* [2007-02-05] Fixed a bug in processor type normalization for x86-64
501 processors.
502* [2007-02-09] The resolver previously ignored packages that were pending
503 removal when resolving new bundles, now it does not.
504* [2007-02-09] Bundles are automatically refreshed when updated/uninstalled
505 if none of their exported packages are in use.
506* [2007-02-13] Added support for extension bundles. (FELIX-30)
507* [2007-03-02] Added a Bundle.getBundleContext() method until actual
508 support for OSGi R4.1.
509* [2007-04-26] Modified Bundle.findEntries() to return URLs to directory
510 entries as well as file entries.
511* [2007-05-06] Modified LDAP evaluator to special case the fact that
512 BigDecimal is not available in Foundation profile.
513* [2007-05-21] Made some performance improvements in LDAP evaluation.
514* [2007-05-22] Modified JAR file to include Service Tracker package.
515* [2007-05-22] Improved concurrency handling around checking for already
516 loaded classes and defining classes.
517* [2007-06-05] Modified resource URLs to use port number rather than
518 prepend information to the resource path.
519* [2007-06-13] Improved dynamic imports to cycle through all available
520 candidates when checking for class space consistency.
521* [2007-06-18] Improved service registry filtering based on class versions
522 to allow a bundle to register a service for a different version of class
523 that it can access.
524* [2007-06-21] Modified our "last ditch effort" to guess when to delegate
525 to the system bundle to make it a little more robust.
526* [2007-06-29] Fixed a bug in EventDispatcher that was causing asynchronous
527 events to not be fired after stopping the framework instance and creating
528 a new instance. (FELIX-314)
529* [2007-07-03] Fixed a bug in EventDispatcher that would not correctly
530 update a listener when it implemented multiple listener interfaces.
531* [2007-07-04] Modified Felix framework class to implement the Bundle
532 interface to improve the startup/shutdown sequence and to provide a
533 simplified API for creating framework instances.
534* [2007-07-11] Removed the PropertyResolver-related classes and now only
535 use Maps for configuration properties. (FELIX-324)