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