Checkout Knopflerfish
Knopflerfish on GitHub
Follow knopflerfish on Twitter

Release Notes Knopflerfish 2.1.1

Minor release of Knopflerfish

General (non-optional bundles)

System Properties
Direct usage of System.getProperty() have been replaced with calls to BundleContext.getProperty() to allow for making the framework configuration local. See the documentation of the framework property named "org.knopflerfish.framework.xargs.writesysprops"

Framework (Core)

Bugfix: Relative Bundle URLs
Fix an issue with normalization of relative bundle URLs reported in http://sourceforge.net/tracker/index.php?func=detail&aid=2000856&group_id=82798&atid=567241
Bugfix: file separator issue
Fix file separator issue for unpacked bundle-jar files. Reported in https://sourceforge.net/forum/forum.php?thread_id=2071337&forum_id=328005
Bugfix: system prop. initialization
Fixed an issue with system property initialization causing extension bundles to be marked as unsupported, reported in http://sourceforge.net/tracker/index.php?func=detail&aid=2042769&group_id=82798&atid=567241
New: Bundle.getBundleContext
Added the R4.1 method Bundle.getBundleContext() + support for creating matching AdminPermission.
System bundle events
The state of the system bundle is now moved from STARTING to ACTIVE right before sending out the framework event STARTED. I.e., after that the target run-level have been reached.
Fragment bugfix
Fixed a problem with fragment handling when updating a bundle with attached fragments. Also fixed a problem where require bundle could lead to a loop in the bundle class loader.

Misc (KF specific, start scripts, build system etc

Updated Desktop Bundle, v2.2.1 -
A view for events handled by the OSGi event service have been added to the desktop. The presentation part of the view can filtered events both on topic and event details. It is also possible to create and post new events or re-send old ones with or without modification. When re-sending an old event a time stamp (with key "timestamp.generated") is added to the event dictionary to make the event unique.
Also, a view for OSGi and java.util preferences has been added. This view can be used to edit both JVM preferences and bundle preferences.
Bundles opened via the desktop's "Open" menu is no longer auto started.
Bundles having using Declarative Services are now displayed using a special icon
Menu shortcuts now uses the system menu shortcut (looks better on OS X).
Bundle Repository Bundle desktop plug-in
The Desktop plug in provided by this bundle now presents the version of all bundles in the tree on the left hand side. URLs for the default repositories as well as the Knopflerfish repositories are now included by default.
X10 Bundle bugfix
Updated to use tjx10 v1.3, the closing serial ports when stopping. Reported in:
http://sourceforge.net/tracker/index.php?func=detail&aid=2080527&group_id=82798&atid=567241
http://sourceforge.net/tracker/index.php?func=detail&aid=2080521&group_id=82798&atid=567241
Console Bundle, v2.0.1
Removed the built in alias "cd" (Oscar compatibility) since it hides "cd" commands in other command groups causing huge confusion.
Build System
The task that generates the OSCAR Bundle Repository description now supports references to external repositories. No import is generated for packages with optional resolution.
To reduces the burden of updating all build files when bumping the version of a bundle the build system have been extended with expansion of bundle versions for items on the "bundle.path". E.g., if a non-existing path elements with location like "log_api-N.N.N.jar" are present in the the "bundle.path" then it will be replace by the bundle with matching name and highest version amongst the bundles available in the directories ${topdir}/jars and ${osgi.dir}/jars. The build will fail if no match was found. All build-files have been updated to take advantage of this feature. All xargs-files are now generated from templates with bundle names on the form @log_all-N.N.N.jar@ using a similar expansion method.
It is now possible to use bundlebuild_include.xml to build fragment bundles. The recommended build file setting for fragment bundles is: <property name = "bundle.build.lib" value = "false"/>
<property name = "bundle.build.api" value = "false"/>
<property name = "bundle.build.impl" value = "false"/>
<property name = "bundle.build.all" value = "true"/>

I.e., build it as an "all"-bundle.

Bundle manifest files with an empty "Export-Package" or "Import-Package" attribute should no longer be generated.
The requirement on having a both a "src" and a "resources" directory in each bundle directory (if they where missing they where created during the build) have been removed.