Eclipse Modeling Framework (EMF)
Draft 2.2.0 Plan

Including XML Schema Definition (XSD) and Service Data Objects (SDO) frameworks

Last revised $Date: 2008/05/21 20:09:05 $ ( marks interesting changes over a previous revision of this document)

    Please send comments about this draft plan to the eclipse.tools.emf or eclipse.technology.xsd newsgroup, as applicable.

This document lays out the feature and API set for the next feature release of the Eclipse Modeling Framework (EMF) project (which includes XSD and SDO) after 2.1.0, designated release 2.2.

Plans do not materialize out of nowhere, nor are they entirely static. To ensure the planning process is transparent and open to the entire Eclipse community, plans are posted in an embryonic form and then revised from time to time throughout the release cycle.

The first part of the plan deals with the important matters of release deliverables, release milestones, target operating environments, and release-to-release compatibility. These are all things that need to be clear for any release, even if no features were to change. 

The remainder of the plan consists of plan items for the projects under the EMF, XSD and SDO projects. Each plan item covers a feature or API that is to be added, or some aspect that is to be improved. Each plan item has its own entry in the Eclipse bugzilla database, with a title and a concise summary (usually a single paragraph) that explains the work item at a suitably high enough level so that everyone can readily understand what the work item is without having to understand the nitty-gritty detail.

Not all plan items represent the same amount of work; some may be quite large, others, quite small. Some plan items may involve work that is localized to a single subsystem; others may involve coordinated changes across several projects within the same top-level project; and others may involve coordination with other top-level projects. Although some plan items are for work that is more pressing that others, the plan items appear in no particular order.

With the previous release as the starting point, this is the plan for how we will enhance and improve it. Fixing bugs, improving test coverage, documentation, examples, performance tuning, usability, etc. are considered routine ongoing maintenance activities and are not included in this plan unless they would also involve a significant change to the API or feature set, or involve a significant amount of work. The intent of the plan is to account for all interesting feature work.

Release Deliverables

The release deliverables are:

Release Milestones

EMF, SDO and XSD builds are available weekly as Integration builds. EMF Milestone Releases are one week after the Eclipse Milestone Releases.

The EMF milestones are:

Given that each Eclipse milestone is approximately 6 weeks apart, we are currently planning 6 EMF milestones. EMF's API Freeze and Feature Complete will occur at M6/RC0.

Following the final milestone, release candidates begin, first bi-weekly, and then weekly. EMF Release Candidates are planned for the Monday following each Friday Eclipse Release Candidate. This convergence is required to meet the goals of the Callisto Simultaneous Release.

Scheduled release candidates end June 5 and, beyond that point, will be produced only as needed, leading up to a release June 28.

Target Operating Environments

In order to remain current, each release of an Eclipse project targets reasonably current versions of underlying operating environments and other Eclipse projects on which it depends. 

Most of Eclipse is "pure" Java TM code and has no direct dependence on the underlying operating system. The chief dependence is on the Eclipse Platform, and on the Java 2 Platform that runs it.

The EMF, SDO and XSD 2.2.0 releases depend on the following:

Additionally, if loading or importing models from XML Schema, the following is required. Click here for an explanation of this additional requirement.

The 2.2.0 releases of EMF, SDO and XSD are designed to run on any configuration supporting the above components.

The Eclipse Platform runs in a variety of operating environments. Testing is focused on a handful of popular combinations of operating system and Java 2 Platform; these are our reference platforms . Eclipse undoubtedly runs fine in many operating environments beyond the reference platforms we test. However, since we do not systematically test them we cannot vouch for them. Problems encountered when running Eclipse on non-reference platform that cannot be recreated on any reference platform will be given lower priority than problems with running Eclipse on a reference platform.

See the Eclipse Project 3.2 plan for a list of reference platforms.

Internationalization

Eclipse is designed as the basis for internationalized products. The user interface elements provided by the various Eclipse projects, including dialogs and error messages, are externalized. The English strings for EMF, SDO and XSD are provided as the default resource bundles. Translations are not provided with this release. However, the plug-in fragment mechanism provides the means by which translations into any number of other languages can be incorporated.

Compatibility with Previous Releases

Compatibility of Release 2.2.0 with 2.1.0

EMF, SDO and XSD 2.2.0 will be compatible with EMF, SDO and XSD 2.1.0.

API Contract Compatibility: EMF, SDO and XSD 2.2.0 will be upwards contract-compatible with EMF, SDO and XSD 2.1.0 except in those areas noted in the EMF, SDO and XSD 2.2.0 Migration Guide. Programs that use affected APIs and extension points will need to be ported to EMF, SDO and XSD 2.2.0 APIs. Downward contract compatibility is not supported. There is no guarantee that compliance with EMF, SDO and XSD 2.2.0 APIs would ensure compliance with EMF, SDO and XSD 1.x APIs. Refer to Evolving Java-based APIs for a discussion of the kinds of API changes that maintain contract compatibility.

Binary (plug-in) Compatibility: EMF, SDO and XSD 2.2.0 will be upwards binary-compatible with EMF, SDO and XSD 2.1.0 except in those areas noted in the EMF, SDO and XSD 2.2.0 Migration Guide. Downward plug-in compatibility is not supported: plug-ins compiled against EMF, SDO and XSD 2.2.0 will likely be unusable with EMF, SDO and XSD 1.x. Refer to Evolving Java-based APIs for a discussion of the kinds of API changes that maintain binary compatibility.

Source Compatibility: Source files written to use EMF, SDO and XSD 2.1.0 APIs will usually compile and run successfully against EMF, SDO and XSD 2.2.0 APIs, although this cannot be guaranteed. In some cases, it may be necessary to make minor changes to the source code to disambiguate things like imports or overloaded method invocations. Downward source compatibility is not supported. If source files use new APIs, they will not be usable with earlier versions.

Workspace Compatibility: EMF, SDO and XSD 2.2.0 will be upwards workspace-compatible with EMF, SDO and XSD 2.1.0 unless noted. This means that workspaces and projects created by an Eclipse with EMF, SDO and XSD 2.1.0 installed can be successfully opened by an Eclipse with EMF, SDO and XSD 2.2.0 installed. This includes both hidden metadata, which is localized to a particular workspace, as well as metadata files found within a workspace project, which may propagate between workspaces via file copying or team repositories. User interface session state may be discarded when a workspace is upgraded. Downward workspace compatibility is not supported. Metadata files created (or overwritten) by the newer version will generally be unusable with older versions.

Non-compliant usage of API's: All non-API methods and classes, and certainly everything in a package with "internal" in its name, 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 API are inherently unsupportable and receive no guarantees about compatibility within a single release much less with an earlier releases. Refer to How to Use the Eclipse API for information about how to write compliant plug-ins.

EMF, SDO and XSD 2.2.0 Migration Guide

At this time, there are no known issues migrating from 2.1.0 to 2.2.0. Should this change, this document will be revised, or a secondary document will be added documenting any known issues.

Themes

The changes under consideration for the next release of Eclipse EMF/SDO and XSD address a few major themes:

The current status of each plan item is noted:

EMF, SDO and XSD Project

Plan items reflect new features of the EMF (XSD and SDO) project, or areas where existing features will be significantly reworked.

For more information read the detailed EMF 2.2 development prioritized plan (NOTE: this plan is generated per milestone and therefore can be outdated).

Plan Items

The Plan Item Bugzillas:

All Open | All Resolved | All Bugs

Committed Items

Bugzillas with a target milestone set are committed to that release. For the most current list of these items, see the following links:

2.2 release:

All Open | All Resolved | All Bugs

2.2 M1 milestone:

All Open | All Resolved | All Bugs

2.2 M2 milestone:

All Open | All Resolved | All Bugs

2.2 M3 milestone:

All Open | All Resolved | All Bugs

2.2 M4 milestone:

All Open | All Resolved | All Bugs

2.2 M5 milestone:

All Open | All Resolved | All Bugs

2.2 M6 milestone:

All Open | All Resolved | All Bugs

Proposed Items

Bugzillas without a specific target milestone are proposed, but not committed for a particular release. This list also includes Bugzillas that were proposed for older releases but have not yet been addressed. For the most current list of these items, see the following links:

Open | Resolved

Deferred Items

Bugzillas assigned to the non-specific target of 'Future' are deferred, and not scheduled for a particular release. For the most current list of these items, see the following link:

All Open

Note that for the links above, you may need to reset your browser's bugs.eclipse.org cookie(s) in order to see all the appropriate columns.