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