Release Notes Knopflerfish 3.0.0 (OSGi R4 v4.2) -------------------------------------------------- First official release of Knopflerfish 3 available from http://www.knopflerfish.org/releases/3.0.0 Knopflerfish 3 is an implementation of the "OSGi Service Platform Release 4 Version 4.2". It contains all services specified in the "Core Specification" and most of the services specified in the "Compendium Specifification". Here follows a breakdown of the most important changes since Knopflerfish 2.3.3 release that aren't caused by updating KF to "OSGi R4 v4.2". ---------------------------------------------- Osgi Core Specification ---------------------------------------------- All the Core Specification Services are included and up to date OSGi R4 v4.2 specificatio. Please consult the "OSGi Service Platform, Core Specification, Release 4 Version 4.2" for more information. Framework 5.0.0 - Several parts of the framework has been rewritten to handle the new OSGi framework specification and improve stability. - The Android support has temporarily been dropped. Will probably be restored in the next release. ---------------------------------------------- OSGi Compendium Specification ---------------------------------------------- All the Compendium Specification Services included are updated to date OSGi R4 v4.2 specification. Please consult the "OSGi Service Platform, Service Compendium, Release 4 Version 4.2" for more information. Event 3.0.3 - Improved performance a lot by rewriting the whole mechanism for matching events to event handlers during event delivery. General clean up and removal of dead code. - Delivery of asynchronous events (posted events) is now by default done using multiple delivery threads. There will be one delivery thread for each thread that posts events. Each delivery thread terminates when it has been idle for more than 1100 milliseconds. - When using multiple delivery thread events posted from a delivery thread will be scheduled for delivery on that thread. This preserves ordering and keep the number of delivery threads down. - Added bundle doc describing all framework properties that may be used to configure the Knopflerfish Event implementation. Http 3.0.0 - Implement URL rewrite to support sessions when Cookies are turned of. The methods encodeURL(String) and encodeRedirectURL(String) in the HttpServletResponse class now inserts the session id at the end of the path part of the URL. The HttpServletRequest now extracts the session id from the path when present. - Return correctly formated IPv6 addresses from HttpServletRequest.getRequestURL(). - When a registered resource was fetched and the request contained an 'If-Modified-Since'-header with a date value that did not parse correctly the fetch was aborted with an IllegalArgumentException. That exception is now caught and the 'If-Modified-Since'-header is ignored when this happens. - Added support for responding with "Content-Encoding: gzip" for resources when the request header "Accept-Encoding" indicates that gzip:ed responses are preferred. - The non-standard request header "Proxy-Connection" is now recognized and handled in the same way as the standardized "Connection" header. - Fixed a problem in the parsing of the HTTP request line when it originated from a proxy-server. Such requests may have an absolute URI (with scheme and authority before the path) not just a path with optional query data. - Fixed problem with calls to HttpContext getMimeType(). The value of the name parameter was not the same as in the corresponding call to getResource() (the original URI path was used instead of the translated target resource name). Component (Service Component Runtime) 3.0.0 - New implementation compatible with the OSGi R4 v4.2 specification. ---------------------------------------------- Knopflerfish Specific ---------------------------------------------- axis-osgi 0.1.0.kf3 - Do not use the bean-mapper for java.util.Date, java.util.Map and java.util.Vector since axis provides special mappers for these classes. Bundlerepository 3.1.1 - Added support for version ranges when resolving imported packages. - Switched to tango icon set. Command 0.1 - This is an implementation of the new proposed OSGi Standardized console (not included in OSGi R4 v4.2). To make console commands written for the legacy Knopflerfish console available in the command console, use the 'console2command'-bundle. Console 3.0.1 - Many commands that has a bundle-argument now accepts the bundle symbolic name as a way to specify the bundle (they also accept bundle id and bundle name as before). - Fixed documentation URL and Subversion URL in the manifest. Console Telnet 3.0.1 - Made the host (IP interface) to open the telnet server on settable via a framework property. Crimson-XML 2.1.0.kf3 - Updated to use 2008 version of OSGi's XMLParserActivator. Fixed so that bundle works together with java 1.4 system xml classes. Desktop 3.1.0 - Improved bundle selection handling. E.g., using the menu item "unselect all" in the edit menu now updates the selection state in the "Bundle details view". The bundle section model now supports selection (or de-selection) of many bundles in one event (operation). - Use the value of the new 4.2 manifest header "Bundle-Icon" as the bundle icon when present. The icon with a size closest to 32 is preferred by the desktop. - Added menu action for resolving all selected bundles. - Added support for using options when starting and stopping bundles. E.g., a bundle may now be transiently started or stopped. - Menu and toolbar entries for starting, stopping, updating and uninstalling bundles are now disabled when no bundle is selected. - Changing start level for bundles now works when more than one bundle is selected. - Fixed a problem (dead-lock of the Event Dispatcher Thread) when calling the bundle life-cycle operations on the desktop bundle itself. - Fixed a number of issues when using the desktop with a RemoteFramework. E.g., the list of bundles shown was taken from the own (client) framework when it should have come from the remote (server) framework. - Switched to tango icon set. - The packages displayer sometimes incorrectly showed packages that the bundle both imports and exports as missing. This is now fixed. The root of the problem was that there is no wire for a package that a bundle imports when the selected exporter is the current class-loader of the bundle itself. Directory Deployer 3.0.1 - Major refresh. New configuration PID and proprety names. Added configuration telling if all bundles it have installed should be uninstalled when it stops or not. Performs a refresh package after bundle updates. Bundles may now be left active in the framework when the directory deployer bundle is stopped. When started again it will detect bundle it has previously installed that no longer has a bundle archive in the watched directories and uninstall them. Framework Commands 3.0.3 - Added support for using options when starting and stopping bundles. E.g., a bundle may now be transiently started or stopped. - New option "-a" (append) added to the 'cd' command. - New command 'properties' that may be used to list System and Framework properties. - New command 'threads' that may be used to list threads started by via the current framework. - The 'services' command has a new option "-sid 23" that only shows services with the specified service id. - The URL given to the 'formupdate' and 'frominstall' commands now uses the same set of base URLs as the 'install' command. httpconsole 3.0.2 - Converte old documentation to bundle user doc, added tooltips to command buttons on the web-page. - Switched to tango icon set. kSOAP Remote Framework 3.0.3 - Updated documentation and added xargs-file fragments that makes it easier to start using this feature. - All properties controlling this bundle can now be given as framework properties. - The RemoteFW implementation of BundleContext.getProperty() did not handle unset properties correctly (it now returns null as expected). kXML 2 2.3.0.kf3 - This bundle provides the latest version of kXML 2, an XML parser with a small footprint. - The bundle packing has been changed since the 1.0.1 version. The kXML 2 bundle is now built and packed as a "normal" bundle without using nested jar-files. This simplifies for other bundles wiht build time dependecies on it. Note that due to this change build files may need to be update. Log 3.0.1 - New configuration property for setting the number of log records to keep in memory. - The bundle symbolic name may now be used to identify the bundle when configuring per bundle log-levels. Log Commands 3.0.1 - If a log entry includes a service reference print the service id in addition to the value of the object class property. - The commands 'setLevel' and 'showLevel' now supports specification of the bundle using its symbolic name. - A new option "-c" that clears the in memory log has been added to the 'memory' command. TrayIcon 3.0.1 - Ensure that the AWT initialization and component creation is performed on AWT's Event Dispatch Thread to avoid dead-locks when more than one bundles is using AWT. - Updated to use standard SystemTray and TrayIcon classes available since Java6 in java.awt package. - This means that the bundle requires java6 to fully function. Will compile and start under older java versions, but no tray icon will be shown. Xerces-J 2.10.0.kf3 - updated to use 2008 version of OSGi's XMLParserActivator. ---------------------------------------------- Please read on the KF site for more information. http://www.knopflerfish.org/

