OSGi 4.3 comes to the Apache Felix project with today's release of the Felix Framework 4.0.0. The key difference with this release is that it passes the OSGi 4.3 compliance tests.
The release of OSGi 4.3 brought generics to the core framework, which allows type-safe services to be accessed instead of having to perform casts. Although Equinox 3.7 implemented the OSGi 4.3 runtime with its release this summer, Felix has only just been released with the support.
It also brings the ability to resolve and process capabilities, which are a generalisation of the bundle package wiring that OSGi has had for ever. Now it is possible to express abstract dependencies (such as “There must be a Declarative Sevices provider”) without needing to express a dependency on a specific package.
In addition, both Equinox and Felix now support the OSGi 4.3 framework hooks which allow filters to be put in place to hide bundles and services from each other. This is used by Eclipse Virgo to create region digraphs, which up until now has only run on Equinox due to the dependencies on the OSGi 4.3 APIs. This provides a mechanism to create nested/composite bundles, which allows an OSGi runtime to effectively provide multi tenancy; or in other words, host multiple applications whilst keeping them separated from one another.
Finally, the OSGi 4.3 runtime provides a general byte-code weaver hook. This permits frameworks to install a general class re-writing hook that can be used to provide hook-ups such as integration with a transaction manager or supporting efficient mechanisms for hooking in JPA-persisted entities.
The change notes are available, and the framework can be downloaded from the main Felix site.
The Felix Framework 4.0.0 also has an implementation of the Security Framework Provider 2.0. Although the Felix Framework 3.0.0 has been certified compliant, and Felix Framework 4.0.0 passes the tests, it has not yet been certified compliant.