Follow knopflerfish on Twitter

News

Latest News

23 Dec 2015
Knopflerfish moved to GitHub
Hello GitHub

All source code repositories and web pages for Knopflerfish has moved to GitHub. Most web pages has been updated, but some Knopflerfish documentation still refers to the old subversion repository. The result of the nightly builds aren't published yet.

23 Dec 2015
Knopflerfish mailing lists closing down
Mailman

As part of the GitHub move we will close down the Knopflerfish mailing lists.

04 Nov 2015
Maintenance release Knopflerfish framework 7.2.2
framework 7.2.2

Corrected issue where the resolver under certain conditions couldo go into an infinite loop when a bundle wasn't resolvable.

23 Sep 2015
Maintenance release HTTP server bundle 5.1.2
http 5.1.2

Removed debug printout that incorrectly indicated a NPE problem.

HttpServletResponse.getLocale() incorrectly returned null if no locale had been set. Corrected to return the default locale.

11 Sep 2015
Maintenance release for better Android support of OSGi Framework and Http Client Connector
framework 7.2.1

Some packages from org.apache.commons added as exported by default

Property org.knopflerfish.framework.is_doublechecked_locking_safe set to true on Android by default.

Http Client Connector 3.1.3.kf5-001

Bundle repackaged to avoid class loader problems on Android

18 Aug 2015
Maintenance release HTTP server bundle 5.1.1
http 5.1.1

Corrected issues in the HttpServletRequest class. Some methods caused NPE or gave incorrect results during the second GET call in a Keep-Alive connection. Methods affected: getLocalAddr(), getLocalName(), getRemteAddr(), getRemoteHost(), getLocalPort(), getRemotePort().

10 Jul 2015
Knopflerfish 5.2 released, new minor release of KF5
Knopflerfish 5.2.0

Knopflerfish 5.2 is released and includes several minor enhancements as well as all bug fixes made since KF 5.1 was released.

The new key features in Knopflerfish 5.2 are:
  • Bug fixes in the Knopflerfish OSGi framework: fixed NPR during package resolve, correcting native code checking when attaching a fragment, and corrections related to start level handling.
  • Improved support for handling Android DEX files
  • ART (Android runtime), the Dalvik predecessor, is now fully supported
  • The Knopflerfish embedded HTTP server has been optimized to use less resources (threads & memory)
  • The HTTP also has the following new features:
    • Chunked transfer encoding responses
    • Automatic content compression for selected content types
    • Correct handling of certain HTTP/1.1 request and response headers
  • Improvements to the build system to better support Android / OSGi DEX bundles.

The Release Notes include the complete list of features and fixes.

29 Mar 2015
Maintenance release Knopflerfish framework 7.1.4
framework 7.1.4

Corrected issue with NPE during package resolving or package requiring.

26 Sep 2014
HTTP server bundle 5.0 released
http 5.0.0

  • Improved the configuration handling the first time a CM configuration is received to avoid unnecessary reconfigurations of the built-in default settings. This could lead to a server socket close followed by new listen on the same port.
  • CM meta-data is updated to include previously undocumented configuration parameters.

30 Jun 2014
Maintenance release Knopflerfish framework 7.1.3
framework 7.1.3

  • Fixed native code checking before we attach fragment.
  • Changed behaviour start-up of start-level service, so that it always goes to the beginning start-level instead of last active start-level from previous run. This to comply with the OSGi Core specification.
  • Limit removed on number of queued start-level operations (was 100).

13 Jun 2014
Knopflerfish 5.1 released, new minor release of KF5
Knopflerfish 5.1.0

Knopflerfish 5.1 is released and includes several minor enhancements as well as all bug fixes made since KF 5.0 was released. The 5.1 release also includes fixed related to Java 8 and Knopflerfish 5.1 passes all tests on Java 7 and 8 as well as older Java versions, and embedded Java profiles.

The new key features in Knopflerfish 5.1 are:
  • Support for starting from a single jar that includes all jars, xargs and property files needed to start the entire system
  • Knopflerfish framework can now be executed in read only mode, i.e. no files are written by the framework. This assumes bundles are installed as reference file URLs.
  • UserAdmin is completely self-contained, i.e. no dependencies on KF specific bundles
  • CM's persistent storage has been made more robust and fault resilient
  • HTTP Server now handles chunked transfer encoding correctly
  • Minor fixes in SCR
  • Repository Commands supports -r flag which recursively finds and installs dependencies.

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

14 Apr 2014
Maintenance release CM Desktop 5.0.2, KF-XML Metatype 5.0.2
CM Desktop 5.0.2

Added requirement for Meta Type service

KF-XML-Metatype 5.0.2

Changed to only build all version. This makes it possible to correctly install CM-Desktop using the Repository Desktop with the Felix resolver.

19 Mar 2014
Minor release UserAdmin
UserAdmin 4.1.0

UserAdmin bundle now contains and imports/exports org.knopflerfish.service.log in order to be self-contained.

25 Feb 2014
Maintenance release Metatype
Metatype 5.0.1

Corrects issue in handling of designate-element that could cause configurations to be created, deleted or overwritten unintentionally.

20 Feb 2014
Maintenance release SRC / Declarative Services
SCR 5.0.3

Corrects issue with missing factory component check

17 Feb 2014
Maintenance release CM
CM 5.0.1

The persistent storage of CM data has been improved to be more robust and fault resilient.

5 Feb 2014
Maintenance release HTTP server bundle
HTTP 4.0.5

Corrected issues in the handling of chunked transfer encoding which could cause problems when transferring binary data.

29 Jan 2014
Maintenance release of Repository Desktop
Repository Desktop 1.1.1

When installing from a Repository and using a Resolver the confirmation pop-up dialogue will now list the additional dependencies that will be installed in order to resolve.

22 Jan 2014
Maintenance release of Knopflerfish OSGi framework
framework 7.0.2

Corrected issue that caused IndexOutOfBoundsException when updating large collections of ConditionalPermissionInfos using ConditionalPermissionUpdate.

12 Dec 2013
Maintenance release of SCR bundle
SCR 5.0.2

Corrected issue that caused factory components to be falsely created or missed being created when using target filters. A test-cases for this has also been added the KF test suite.

10 Dec 2013
Minor release of Repository Desktop, Repository Manager, and Repository Commands bundles
Repository Desktop 1.1.0
Repository Manager 1.2.0
Repository Commands 1.1.1

Improved support for Resolver in Repository Manager bundle. Updated Repository console and desktop bundles to use the improved support. Resolver and Repository APIs are now embedded in Repository Manager bundle.

15 Nov 2013
Minor release of Repository Manager and Repository Commands adds support for Resolver Specification
Repository Manager 1.1.0
Repository Commands 1.1.0

The repository console commands and repository manager bundles now have support for the Resolver Service 1.0 specification. The install command now has an optional [-r] flag that will try to find and install (and start if that option is given) the recursive dependencies of the bundle you are trying to install. Please see this Knopflerfish blog entry for more information.

21 Oct 2013
Knopflerfish 5 released, KF moves to OSGi R5
Knopflerfish 5.0.0

Knopflerfish 5.0.0 is now officially released, the new major OSGi R5 compliant release of the leading open source based OSGi run-time for embedded use. To further emphasize the embeededness, KF5 includes a new, compact version of the OSGi R5 framework, occupying no more than 316K of disk space.

The new key features in Knopflerfish are:
  • Knopflerfish OSGi framework and OSGi Compendium Services are all updated to OSGi R5
  • A compact version of framework, occupying no more than 316K of disk-space
  • KF5 fully uses the OSGi specified repository format. Former KF formats (OBR) have been deprecated. New Repository Manager bundle, new console commands for interacting with the repository manager, as well as new Repository Desktop manager.
  • All Knopflerfish bundles, e.g. desktop, console commands etc have been update to use and reflect the new R5 APIs.
  • Simplified process for building Knopflerfish with Java 7

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

The KF5 overview page presents an overview of OSGi R5 and what features are supported in Knopflerfish 5.

18 Oct 2013
Knopflerfish 4.0.1 is released, Knopflerfish 5 / OSGi R5 is just around the corner.

Knopflerfish 4.0.1 is a bug fix release of Knopflerfish 4 / OSGi R4 v4.3, collecting all bug fixes made on the Knopflerfish trunk since KF 4.0.0 was released. The Knopflerfish 5 release is just around the corner and concurrent with the KF5 release the Knopflerfish svn trunk will be switched to KF5 / OSGi R5. The 4.0.1 release therefore also marks the end of KF4 as the main development branch.

Stay tuned for more exciting news on Knopflerfish 5 next week!

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

20 Sep 2013
Maintenance release of Class Patcher bundle
Class Patcher 1.0.1

Incorrect import-package removed.

17 Sep 2013
Knopflerfish 5 beta-1 released, KF prepares to move to OSGi R5
Knopflerfish 5.0.0.beta-1

Knopflerfish 5.0.0.beta-1 is the first beta release of KF5, the next major release of Knopflerfish, designed to be compliant with the OSGi R5 specifications. The KF5 overview page presents an overview of OSGi R5 and the current status of KF5.

New features in OSGi R5 include the Resource API, OSGi namespace definition, repository service, resolver service and sub-systems to name a few. For KF users the most important changes in KF5 are:
  • Knopflerfish OSGi framework updated to R5
  • Repository services added. This is still work i progress
  • CM has a new concept of targeted PIDs as well as API changes. The KF OSGi CM bundle has been updated accordingly
  • Other Knopflerfish bundles, e.g. desktop, console commands etc have been update to use and reflect the new R5 APIs.

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

22 Aug 2013
Maintenance release of SCR / Declarative Services
SCR 4.0.3

  • Fixed bug that caused the instance properties to be ignored for certain factory components.
  • Fixed dead-lock during component activation.
  • Widen the search for circular component activations to include components that might be activated depending on CM and/or instance properties.
25 Jul 2013
Maintenance release of Knopflerfish OSGi framework
framework 6.0.3

Corrected missing export of the following packages:
org.osgi.framework.hooks.bundle;version=1.0,
org.osgi.framework.hooks.weaving;version=1.0
org.osgi.framework.hooks.resolver;version=1.0

12 Jul 2013
Knopflerfish moves to new major version, Knopflerfish 4 is released

Knopflerfish 4 is 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 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 improvements
  • 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 bundle artifacts are now generated.

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

11 Jul 2013
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 KF3 maintenance branch is available in SVN at:
https://www.knopflerfish.org/svn/knopflerfish.org/branches/kf_3_support/

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.
9 Jul 2013
Maintenance release of SCR / Declarative Services
SCR 3.1.18

  • Error message added when there is a mismatch on bind, modify and unbind calls.
  • Factory components are not deactivated when last consumer ungets service. A test case has been added for that to the KF test suite.
28 Jun 2013
Maintenance release of SCR / Declarative Services
SCR 3.1.17

  • Corrected issue in SCR. Bind and unbind was not called for all references for all factory component instances.
24 Jun 2013
Maintenance release of SCR / Declarative Services
SCR 3.1.16

  • Corrected issue that caused delayed components to deadlock during deactivation. A test case for this has been added to the KF test suite.
21 Jun 2013
Maintenance release of SCR Commands
scrcommands 1.1.1

  • Fixed typo that caused ArrayIndexOutOfBoundsException in "scr list" command.
19 Jun 2013
Maintenance release of Knopflerfish OSGi framework
framework 5.3.11

  • Fixed NPE in framework start-level controller.
19 Jun 2013
Maintenance release of Knopflerfish OSGi framework
framework 5.3.10

  • Corrected issues regarding signed bundles being incorrectly marked as not completely signed. There also seems to be a problem in the JarInputStream class implementation in Oracle JRE (Java 6 & 7). If there are user/non standard jar related files in the META-INF directory in the bundle's JAR, and they directly follow the standard META-INF signature related files, the Oracle JRE fails to find the certificates for the additional files, and KF will mark the bundle as not completely signed. Setting the property org.knopflerfish.framework.bundlestorage.file.jar_verifier_bug to true will instruct KF to assume they are properly signed.

    The versions 5.3.8 and 5.3.9 of the framework shall be regarded as intermediate releases and can be ignored as they didn't address all problems.

13 Jun 2013
Knopflerfish 4 beta-2 released - full OSGi R4 v4.3 implementation
Knopflerfish 4.0.0.beta-2

Knopflerfish 4.0.0.beta-2 is the second beta release of KF4, the next major release of Knopflerfish, designed to be compliant with the OSGi R4 v4.3 specifications.

Compared to the first beta-1 release of KF4 / OSGi R4 v4.3, the second beta release includes several new features and fixes:

  • With the completion of Declarative Services KF4 beta-2 implement OSGi R4 v4.3 fully.
  • Android support is restored and functions for building an Android .apk containing Knopflerfish has been added.
  • The class weaving using ASM has been been moved into a separate classpatcher bundle that implements a Weaving Hook.
  • 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.
  • Desktop bundle includes several minor improvements

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

The KF4 overview page presents an overview of OSGi R4 v4.3 and the current status of KF4.

29 May 2013
Maintenance release of Declarative Services
Declarative Services (SCR) 3.1.15

  • Corrected issue with target filter properties that are string arrays with one element.
8 May 2013
Maintenance release of Event Admin bundle
Event Admin 3.0.10

  • Corrected NPE that could occur in log message creation during shutdown of bundles.
15 Apr 2013
Maintenance release of OSGi framework, device manager, event, HTTP, and Util
framework 5.3.7
device 3.0.2
event 3.0.9
http 3.1.5
util 2.1.0

The use of System.currentTimeMillis() has been replaced with System.namoTime() in the Knopflerfish OSGi framework as well as all KF bundles to avoid problems with timers when resetting the system clock. If System.nanoTime() is not available, e.g java 1.4 and older, the timers will default back to to System.currentTimeMillis().

8 Apr 2013
Knopflerfish 4 beta-1 released, KF moves to OSGi R4 v4.3
Knopflerfish 4.0.0.beta-1

Knopflerfish 4.0.0.beta-1 is the first beta release of KF4, the next major release of Knopflerfish, designed to be compliant with the OSGi R4 v4.3 specifications. The KF4 overview page presents an overview of OSGi R4 v4.3 and the current status of KF4.

The new KF4 release includes all the new features in R4 v4.3, e.g.
  • 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.
  • Knopflerfish bundles, e.g. desktop, console commands etc, are all update to use and reflect the new 4.3 APIs.

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

5 Apr 2013
Maintenance release of Knopflerfish OSGi framework
framework 5.3.6

3 Apr 2013
Maintenance release of HTTP server
HTTP 3.1.5 / (3.1.4)

  • When all of the transaction threads can not be terminated on shut-down of the http bundle, we can not destroy the transaction manager thread group.
  • Fixed a resource leaks in the TransactionManager class. (Http 3.1.4) See https://sourceforge.net/p/gatespace/bugs/175/
21 Mar 2013
Maintenance release of HTTP server
HTTP 3.1.3

  • Date headers could be messed up since the SimpleDateFormat instances used for the formating was shared without any synchronization. All usages of the shared date formatters are now properly synchronized. See https://sourceforge.net/p/gatespace/bugs/174/
  • The expires date in cookie headers is now in GMT (UTC) which is a requirement in RFC 2616 section 3.3.1 and also in RFC 6265. (HTTP 3.1.3)
21 Mar 2013
Maintenance release of Knopflerfish framework
framework 5.3.5

Two new properties added to further control the thread executing the bundle's start/stop methods. For a full description see the framework documentation.

  • org.knopflerfish.framework.bundlethread.timeout - Use this property to set a limit on how long the framework will wait for a bundle's activator to complete and return from the start and stop methods.
  • org.knopflerfish.framework.bundlethread.abort - If a bundle's start() or stop() method has not returned and the bundle gets uninstalled this property defines how to manage the bundle's start/stop thread.
26 Feb 2013
Maintenance release of OSGi preference service
preferences 3.0.2
  • Code requiring permissions have been wrapped in do-privileged constructions. Prefs should now work as expected with security enabled.
7 Feb 2013
Maintenance release of Knopflerfish framework
framework 5.3.4
  • Corrected issue with data directory for system bundle
  • Corrected initialization and synchronization issues in URLStreamHandlers
25 Jan 2013
Knopflerfish 3.5 released
Knopflerfish 3.5 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 most important changes are:
  • Stability issues corrected in the Knopflerfish OSGi framework
  • Several stability issues corrected in Declarative Services (SCR), e.g. potential race conditions, re-bind and re-registration issues.
  • Corrected resource / memory leak in User Admin
  • Framework commands supports printing thread stack traces and filter which threads to show.
  • SCR commands now support showing "satisfied" or "unsatisfied" applications.
  • Corrected issued preventing Eclipse Gemini Blueprint from running correctly on Knopflerfish
The Release Notes includes the complete list of features and fixes.
22 Jan 2013
Maintenance release of Knopflerfish framework
framework 5.3.2
  • Fixed NPE when uninstalling a bundle simultaneously from multiple threads.
4 Jan 2013
Maintenance release of User Admin
UserAdmin 3.0.3
  • Fix for leaking service listeners (LogRef:s)