Eclipse Equinox 4.4.0

Release Date
Deliverables
  • Framework
    • OSGi R6 Core Framework Implementation (org.eclipse.osgi)
    • Native Launcher and Spashscreen support
    • Log Service - An implementation of the OSGi R6 Log service.
    • Plugins Compatibility Fragment - Provides support for old style Eclipse 2.0 plugins
    • Equinox Resolver Compatibility Fragment - Provides an implementation of the old Equinox resolver API
  • Compendium Services
    • Application Container - An implementation of the OSGi R6 Application Container service.
    • Config Admin - An implementation of the OSGi R6 Configuration Admin service.
    • Coordinator - An implementation of the OSGi R6 Coordinator service.
    • Device Access Service - An implementation of the OSGi R6 Device Access service.
    • Declarative Services - An implementation of the OSGi R6 Declarative Services specification.
    • Event Admin Service - An implementation of the OSGi R6 Event Admin Service.
    • HTTP Service - An implementation of the OSGi R6 HTTP service.
    • HTTP Servlet - Generic support for exposing another servlet facility (e.g., an underlying application server) as an OSGi HTTP service.
    • IO Connector Service - An implementation of the OSGi R6 IO Connector Service.
    • Initial Provisioning - An implementation of the OSGi R6 Initial Provisioning.
    • Metatype Service - An implementation of the OSGi R6 Metatype service.
    • Preferences Service - The Eclipse preference service is an extension of the standard OSGi preference service that adds listeners and the notion of preference scopes.  It also provides an OSGi R6 implementation of the Preferences Service specification.
    • User Admin Service - An implementation of the OSGi R6 User Admin Service.
    • Wire Admin Service - An implementation of the OSGi R6 Wire Admin Service.
  • p2
    • Command line application to mirror repositories.
    • Command line application to manage (install / uninstall / update) an eclipse install.
    • UI to manage an eclipse installation from within eclipse.
    • API to programmatically interact with p2.
  • Components
    • Eclipse Extension Registry - The Eclipse extension registry allows bundles to communicate and cooperate using declarative markup and lazy instantiation.
    • Equinox Transforms - A framework to provide transformations of bundle resources.
    • Equinox Regions - Provides API for configuring bundles in to regions to provide isolation.
  • Security
    • Equinox Secure Storage
    • Certificate Trust Engine - API for to managing trusted certificates
  • Server Side
    • HTTP Registry - Support for registering servlets, resources and JSPs via the Eclipse extension registry rather than using the code based OSGi registration mechanisms.
    • JSP Registry - Provides a JSP Factory that allows JSP usage with the HTTP Registry.
    • Servlet Bridge - Low level hook servlet installed in an existing traditional application server. This servlet launches an embedded Equinox and enables it to handle incoming HTTP requests originally sent to the underlying server.
    • HTTP Jetty - A thin layer that exposes an embedded Jetty server as a compliant OSGi HTTP service.
  • Weaving
    • Equinox Weaving - Support for weaving aspects at runtime.
Compatibility

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.
Internationalization

The Equinox SDK is designed as the basis for internationalized products. The user interface elements provided by the Equinox components, including dialogs and error messages, are externalized. The English strings are provided as the default resource bundles.

Latin-1, DBCS, and BiDi locales are supported by the Eclipse SDK on all reference platforms.

The Equinox supports GB 18030 (level 1), the Chinese code page standard, on Windows, Linux and the Macintosh.

German and Japanese locales are tested.

Name Date Description
M1 2013/08/09
M2 2013/09/20
M3 2013/11/01
M4 2013/12/13
M5 2014/01/24
M6 2014/03/07 API Freeze and last milestone before EclipseCon US (03/17 to 03/20).
M7 2014/05/02 Feature Freeze
RC1 2014/05/16
RC2 2014/05/23
RC3 2014/05/30
RC4 2014/06/06
Subprojects included with this release
This release is part of Luna