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