Knopflerfish moves to new major version - Knopflerfish 4 is released

We are happy to announce the availability of Knopflerfish 4, the next major release of Knopflerfish. KF4 is designed to be compliant with the OSGi R4 v4.3 specifications.

The new KF4 release support all core features, as well as all the the OSGi Services relevant for the embedded and desktop markets. The KF4 overview page presents a detailed overview of KF4 and OSGi R4 v4.3. A short summary is presented below:
  • Generics - core API now uses generics
  • Capabilities - generic requirements and capabilities
  • Bundle Wiring API - provide information how requirements and provided capabilities have been resolved by the framework. Replaces PackageAdmin
  • Adapt pattern - new adapt method on the Bundle class
  • Framework hooks - mechanism to plug into the framework for close interaction, Resolver Hooks, Bundle Hooks, Service Hooks, Weaving Hooks.
  • Declarative Services updates.
  • Knopflerfish bundles, e.g. desktop, console commands etc, are all update to use and reflect the new 4.3 APIs.
In addition to the upgrade to OSGi R4 v4.3 KF4 includes several new Knopflerfish features and fixes:
  • The class weaving using ASM has been been moved into a separate classpatcher bundle that implements a Weaving Hook.
  • General change to to all timer / timer functions to System.nanoTime() instead of System.currentTimeMillis() to avoid timer problems when correcting system clock.
  • The Android support has been extended with functions for building an Android .apk containing Knopflerfish.
  • The KF Directory Deployer bundle has been given an overhaul and a new feature for deployment of XML-files with OSGi CM configurations has been added.
  • Several new features in the CM-Desktop plug-in, in particular functions for handling the CM Meta data XML document used by the Directory Deployer.
  • The Desktop bundle fully support the new Wiring-API as well as several minor usability improvement.
  • The frameworkcommands bundle has been extended to support the new Wiring API and has several new commands, e.g. "wiring" and "capability".
  • Maven source and javadoc attachments for all Knopflerfish bundle artifacts are now generated.
The Knopflerfish 4.0 Release Notes includes the complete list of features and fixes.


Knopflerfish 3.6 released, KF3 moves to maintenance branch. Knopflerfish 4.0 release is imminent

Knopflerfish 3.6 is the next minor KF3 release and includes several fixes and improvement in the core OSGi framework, the OSGi compendium services, and the Knopflerfish services.

The 3.6 release also marks the end of KF3 as the main development version in the KF trunk. With the 3.6 release the Knopflerfish SVN trunk is switched to KF4 / OSGi R4 v4.3, preparing for the imminent release of Knopflerfish 4.0.

The new KF3 maintenance branch is available in SVN at:

The most important changes are:
  • Stability issues corrected in the Knopflerfish OSGi framework
  • Several stability issues corrected in Declarative Services (SCR), e.g. bind/unbind issues, filter properties
  • Switched to use System.nanoTime() in the framework and all bundles to avoid timer problems when correcting system clocks.
  • Corrected resource leaks in HTTP server and corrected Data header formats
  • Corrected issue in Preference service when running with security

The Release Notes includes the complete list of features and fixes: