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