Changes from 1.2.1 to 1.2.2 --------------------------- * [2008-10-14] Fixed a NullPointer exception that could happen when running with a SecurityManager as a backport of FELIX-766. Changes from 1.2.0 to 1.2.1 --------------------------- * [2008-09-05] Fixed a performance regression that was caused by uncached access to the bundle manifest headers. (FELIX-711) * [2008-09-03] Fixed a bug in calculating the system bundle's exported packages which added a null export package. Changes from 1.0.4 to 1.2.0 --------------------------- * [2008-08-29] Support JAR-wide manifest package metadata. (FELIX-682) * [2008-08-29] Throw an exception when installing a fragment that uses features that we do not support. * [2008-08-20] Improve error reporting when loading bundle classes using Bundle.loadClass. * [2008-08-16] Fix attribute checking when resolving dynamic imports. (FELIX-676) * [2008-08-08] Implement singleton bundle support. (FELIX-102) * [2008-08-06] Default to current security policy if no security extension is installed in order to make Subject.doAs work. (FELIX-654) * [2008-08-04] Return Bundle.getLastModified() for bundle URLs lastModified(). (FELIX-582) * [2008-08-04] Improve handling of improper resource URLs. (FELIX-577) * [2008-08-01] Add necessary stub methods to implement new R4.1 methods. (FELIX-595) * [2008-08-01] Applied patch to properly return symbolic name when it has parameters. (FELIX-650) * [2008-07-25] Fix some rollback issues after a bundle update throws an exception. (FELIX-647) * [2008-07-23] Modified manifest parser to be more lenient. (FELIX-641) * [2008-07-07] Add support for the standard symbolic name for the system bundle. (FELIX-602) * [2008-06-01] Add initial fragment support for extending the host bundle class path. (FELIX-29, FELIX-656) Changes from 1.0.3 to 1.0.4 ___________________________ * [2008-04-18] Check that the returned object from a service factory is an instance of all classes named when the service was registered. (FELIX-540) * [2008-04-13] Fix an issue when logging messages while holding framework internal locks that could lead to a deadlock. For now we just disable logging to log services inside the framework. (FELIX-536) * [2008-04-13] Implemented various small performance improvments e.g., we now cache filters and create an index for objectclass to improve service lookup performance and don't use the BundleInfo to get the bundle id but the BundleImpl directly. Furthermore, we added an index to get bundles by id. * [2008-04-04] Fix an NoClassDefFoundError when trying to query the framework classloader for whether a class is available or not. * [2008-03-19] Don't try to resolve extension bundles and fix a classcastexception that could happen if more then one framework is around and both have extensions installed. Furthermore, make extension bundles use the system bundle context. * [2008-03-07] Bundle.getResource does now check for AdminPermission. (FELIX-150) * [2008-03-06] Make urlhandlers work when a handler factory is already set. Furthermore, it is now possible to have more then one framework running in more then one classloader. (FELIX-38). * [2008-03-05] Make LDAP filter reentrant. * [2008-02-29] Refactored the IContent abstraction from the module loader layer to provide more generic access to the content of the module. This makes it possible that a bundle's class path could span multiple module's, which will be necessary for fragments. (FELIX-29) * [2008-02-27] Applied a patch to disable the class loading diagnostic message when the logger is not at the DEBUG level. (FELIX-500) * [2008-02-15] Modified the service registry to use more fine-grained locking to avoid callbacks to service factories while holding locks. (FELIX-489) Changes from 1.0.1 to 1.0.3 --------------------------- * [2008-01-27] Moved framework docs to main, since the launcher examples now depend on main for the auto-property handling. * [2008-01-25] Applied patches to improve how Felix finds resources when getResources() is called. (FELIX-466, FELIX-467) * [2008-01-25] Make FilterImpl.toString() add escape characters where needed. (FELIX-471) * [2008-01-16] Fix a NPE on framework restart when extension bundles are installed. * [2008-01-15] Try to fix a potential visibility issue on loading a class form a bundle where it seems to be possible that we create two classloaders instead of one. * [2008-01-15] Modified boot delegation to not terminate when delegating to parent class loader for non-java.* packages. (FELIX-463) * [2008-01-04] Fix some issues related to directories on the bundle class path. Specifically, leading slashes created an issue and are now stripped and entries were not being properly filtered when enumerating the contents of a class path directory. (FELIX-426) * [2007-12-20] Modified logger to have all of its public methods be final to avoid it from being extended in undesired ways via the constructor supplied logger. (FELIX-428) * [2007-12-20] The TCK has changed to verify that bundles do not depend on themselves, so we filter that case now. * [2007-12-20] Applied patch from Guillaume Nodet to properly fire a framework error event only when a bundle cannot be resolved. (FELIX-441) * [2007-12-19] Modified framework to accept a Logger instance so that host applications can do custom logging until the log service arrives. (FELIX-428) * [2007-12-19] Add support for loading bundles on Google Android (FELIX-440). * [2007-12-18] Improve native code loading - bundle installation will now fail in case a native library is not in the jar and we only use the first library of a given name. Furthermore, we now support .dylib extensions on the mac as well as others; should make it possible to use .netmodules as well. (FELIX-439) * [2007-12-17] Make the win32 alias match any version of windows for native clauses. (FELIX-438) * [2007-12-14] Removed auto-property processing out of the framework and into the default launcher, i.e, main. (FELIX-393) * [2007-12-13] Fix a StackOverflowError in URLHandlers.createStreamHandler() when creating URL on jamvm and Mika. This patch resolves an unfortunate interaction between our ExtensionManager and the URLHandlers by making the URLHandlers aware of the extension protocol. Pretty much like we do already for the bundle protocol. (FELIX-435) * [2007-11-26] Fix a small oversight in the extension manager that could lead to a null pointer exception and save some memory by creating less objects. * [2007-11-26] Degrate to version 0.0.0 if we can not find the Felix.properties for some reason and avoid a null pointer in this case. * [2007-11-08] Reorganized usage count methods to better handle null reference checking in response to Karl Pauls seeing an NPE when trying to get a service that was already unregistered while shutting down the framework. * [2007-11-06] Added a simple check to detect and work around a bug in J9. (FELIX-416) * [2007-10-30] Change how the extension manager url stream handler handles request to the root path in order to make some tomcat issue go away. (FELIX-414) * [2007-10-26] Added support for "/" bundle resources as requested. (FELIX-383) * [2007-10-24] Use system bundle when firing a framework error event when an install error occurs. * [2007-10-22] Fix a NPE when getEntryPaths is called on the system bundle. (FELIX-394) * [2007-10-16] Modifies bundle resource URL handling such that if a resource URL points to a resource that does not exist, a bundle class path search for the resource will be instigated and if any matching resource is found, that one will be used instead. (FELIX-383) * [2007-10-10] Auto-property handling now installs bundles into the default bundle start level if a start level is not specified. (FELIX-359) * [2007-10-08] Overwrite the URLStreamHandler.getHostAddress(URL) in the ExtensionManager to immediately return null to prevent DNS lookup. (FELIX-388) * [2007-09-30] Resolved a concurrency issue that could result in the same bundle being resolved more than once; also tried to simplify locking in the core search policy implementation. (FELIX-381) Changes from 1.0.0 to 1.0.1 --------------------------- * [2007-07-23] Fixed a bug in the framework shutdown process which was causing threads calling Felix.stopAndWait() to not get notified that the framework had shutdown. (FELIX-329) * [2007-08-15] Fixed a bug in the LDAP filter which was not thread safe on execution. (FELIX-338) * [2007-08-17] Added support for persistent last used bundle ID to avoid re-use of bundle identifiers. (FELIX-339) * [2007-08-23] Modified BundleImpl.getHeaders(Locale) to accept a null locale. (FELIX-346) * [2007-09-11] Added support to handle external termination of Felix which was not handled or detected and prevented a restart of future Felix instances in the same VM. (FELIX-363) * [2007-09-12] Add support for Collection values in the LDAP filter to match the 4.1 spec. * [2007-09-12] Fixed a bug in the LDAP filter where attributes where limited to [a-zA-Z ] so didn't allow for e.g., numbers. (FELIX-361) * [2007-09-13] Enable support for exporting the same package more than once (FELIX-101). * [2007-09-13] Returns the system bundle from a call to PackageAdmin.getBundle(Class) in case the class comes from the classloader (or one of its parents) that loaded Felix and the system bundle exports the package. * [2007-09-16] Fixed a bug in class space filtering in the service registry that could result in class cast exceptions for service clients. * [2007-09-16] Fixed a bug that prevented extension bundle exports to be usable. Changes from 0.8.0-incubator to 1.0.0 ------------------------------------- * [2007-01-18] Added support for bundle header localization. (FELIX-27) * [2007-01-22] Modified framework resolver to support a generic capability/requirement model. * [2007-01-22] Reorganized and centralized manifest parsing code and added support for resolver's generic capability/requirement model. (FELIX-98) * [2007-01-22] Improved native library naming normalization. (FELIX-26) * [2007-01-23] No longer eagerly resolving classes loaded from modules since this was causing verification errors with IBM J9. * [2007-01-25] Added some support for execution environment checking. (FELIX-23) * [2007-01-29] Added support for getAllServiceReferences(). (FELIX-32) * [2007-01-31] Added Require-Bundle support to resolve using the generic capability/requirement model of the resolver. (FELIX-28) * [2007-02-05] Fixed a bug in processor type normalization for x86-64 processors. * [2007-02-09] The resolver previously ignored packages that were pending removal when resolving new bundles, now it does not. * [2007-02-09] Bundles are automatically refreshed when updated/uninstalled if none of their exported packages are in use. * [2007-02-13] Added support for extension bundles. (FELIX-30) * [2007-03-02] Added a Bundle.getBundleContext() method until actual support for OSGi R4.1. * [2007-04-26] Modified Bundle.findEntries() to return URLs to directory entries as well as file entries. * [2007-05-06] Modified LDAP evaluator to special case the fact that BigDecimal is not available in Foundation profile. * [2007-05-21] Made some performance improvements in LDAP evaluation. * [2007-05-22] Modified JAR file to include Service Tracker package. * [2007-05-22] Improved concurrency handling around checking for already loaded classes and defining classes. * [2007-06-05] Modified resource URLs to use port number rather than prepend information to the resource path. * [2007-06-13] Improved dynamic imports to cycle through all available candidates when checking for class space consistency. * [2007-06-18] Improved service registry filtering based on class versions to allow a bundle to register a service for a different version of class that it can access. * [2007-06-21] Modified our "last ditch effort" to guess when to delegate to the system bundle to make it a little more robust. * [2007-06-29] Fixed a bug in EventDispatcher that was causing asynchronous events to not be fired after stopping the framework instance and creating a new instance. (FELIX-314) * [2007-07-03] Fixed a bug in EventDispatcher that would not correctly update a listener when it implemented multiple listener interfaces. * [2007-07-04] Modified Felix framework class to implement the Bundle interface to improve the startup/shutdown sequence and to provide a simplified API for creating framework instances. * [2007-07-11] Removed the PropertyResolver-related classes and now only use Maps for configuration properties. (FELIX-324)