Equinox 4.4 will be compatible with Equinox 3.9 (Kepler) (and all earlier 3.x versions).
API Contract Compatibility: Equinox 4.4 will be upwards contract-compatible with Equinox 3.9 (Kepler except in those areas noted in the Eclipse 4.4 Plug-in Migration Guide . Programs that use affected APIs and extension points will need to be ported to Equinox 4.4 APIs. Downward contract compatibility is not supported. There is no guarantee that compliance with Equinox 4.4 APIs would ensure compliance with Equinox 3.9 (Kepler) APIs. Refer to Evolving Java-based APIs for a discussion of the kinds of API changes that maintain contract compatibility.
Binary (plug-in) Compatibility: Equinox Kepler will be upwards binary-compatible with Equinox Juno (3.8) except in those areas noted in the Eclipse 4.4 Plug-in Migration Guide . Downward plug-in compatibility is not supported. Plug-ins for Equinox 3.9 will not be usable in Equinox 3.8. Refer to Evolving Java-based APIs for a discussion of the kinds of API changes that maintain binary compatibility.
Source Compatibility: Equinox 4.4 will be upwards source-compatible with Equinox 4.4 (Kepler) except in the areas noted in the Eclipse 4.4 Plug-in Migration Guide . This means that source files written to use Equinox 3.9 (Kepler) APIs might successfully compile and run against Equinox 4.4APIs, although this is not guaranteed. Downward source compatibility is not supported. If source files use new Equinox APIs, they will not be usable with an earlier version of Equinox.
Non-compliant usage of API's: All non-API methods and classes, and certainly everything in a package with "internal" in its name or exported with the x-internal directive, are considered implementation details which may vary between operating environment and are subject to change without notice. Client plug-ins that directly depend on anything other than what is specified in the Equinox API are inherently unsupportable and receive no guarantees about compatibility within a single release much less with earlier releases. Refer to How to Use the Eclipse API for information about how to write compliant plug-ins.
Compatibility Concerns: The Equinox 4.4 release will continue to focus on compatibility in general, but there will be certain aspects of the release that will affect compatibility for a small group of bundle developers.
The Core Framework implementation will no longer provide or use an implementation of the old Equinox resolver API (org.eclipse.osgi.service.resolver package). The API package org.eclipse.osgi.service.resolver will still be exported by the core framework (org.eclipse.osgi). A compatibility fragment may be installed to add back an implementation of the org.eclipse.osgi.service.resolver package and register an instance of the PlatformAdmin service. But this service has some limitations due to the fact that it is not directly used by the framework implementation (bug XXX for details).
The Core Framework implementation will no longer provide support for old style Eclipse 2.0 plugins (which contain no valid OSGi bundle manifest). The plugin converter survice may be added back by installing a compatibility fragment.
The Core Framework no longer exports or provides support for the org.eclipse.osgi.event package. This package provided a single interface that bundle listeners could implement to get additional batch type events delivered to them. This API was intended to help listeners determine when a refresh or framework start level has completed. The API was not really sufficient and has not been used by the eclipse community.
Equinox Framework Hooks have significantly changed. All Equinox framework extension hook implementations will need to be migrated to the new core framework if they want to hook into the implementation details of the framework.
The Core Equinox OSGi Framework now requires Java 6.