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