<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--  Use this to test local rendering in firefox. Comment out this line once this plan is linked to portal data. -->
<?xml-stylesheet type="text/xsl" href="project-plan-render.xsl"?>

<!-- <?xml-stylesheet type="text/xsl" href="http://www.eclipse.org/projects/project-plan.xsl"?> -->

<p:plan
  plan-format="1.0"
  xmlns:p="http://www.eclipse.org/project/plan" xmlns="http://www.w3.org/1999/xhtml"
  name="Eclipse Project">

<p:release projectid="eclipse" version="Juno"/>

<!-- ============================================== -->

<p:introduction>
<div>
<p>
Last revised 8:30 EDT May 3, 2012.   (<img src="http://www.eclipse.org/eclipse/development/new.gif" alt="(new)" border="0" height="12" width="12" /> 
marks interesting changes since the previous draft of 
<a href="http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/eclipse/development/plans/eclipse_project_plan_4_2_20110930.xml">September 30, 2011</a>.)
</p>
<p><i>Please send comments about this plan to the</i> <a href="mailto:eclipse-dev@eclipse.org">eclipse-dev@eclipse.org</a> <i>developer
  mailing list.</i>
</p>
<p>This document lays out the feature and API set for the next feature release
  of the Eclipse SDK after 3.7, designated release 4.2 and code-named Juno.
  This release is occurring simultaneously with the 3.8 platform release. The 4.2 release is a mature
  platform release containing significant new feature work, while the 3.8
  release focuses on stability and bug fixes.
</p>

<p>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,
  we (the Eclipse Project PMC) post plans in an embryonic form and revise them
  throughout the release cycle. </p>
<p>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. </p>
<p>The remainder of the plan consists of plan items for all of the sub-projects
  under the top level Eclipse Project. Each plan item covers a feature or API
  that is to be added to the Eclipse Project deliverables, or some aspect of
  the Eclipse Project 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. </p>
<p>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 component; others may involve coordinated changes to several components;
  other may pervade the entire SDK. Although some plan items are for work that
  is more pressing than others, the plan items appear in no particular order. </p>
<p>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. </p>
<p>The current status of each plan item is noted: </p>
<ul>
  <li><b>Committed</b> plan item - A committed plan item is one that we have
    decided to address for the release.</li>
  <li><b>Proposed</b> plan item - A proposed plan item is one that we are considering
    addressing for the release. Although we are actively investigating it, we
    are not yet in a position to commit to it, or to say that we won't be able
    to address it. After due consideration, a proposal will either be committed
    or deferred.</li>
  <li><b>Deferred</b> plan item - A reasonable proposal that will not make it
    in to this release for some reason is marked as deferred with a brief note
    as to why it was deferred. Deferred plan items may resurface as committed
    plan items at a later point.</li>
</ul>

</div>
</p:introduction>

<!-- ============================================== -->

<p:release_deliverables>
<div>

<p>The release deliverables have the same form as previous releases, namely: </p>
<ul>
  <li>Source code release for all Eclipse Project deliverables, available as
    versions tagged &quot;R4_2&quot; in the Eclipse Project <a href="http://git.eclipse.org">Git
    repositories</a>.</li>
  <li>Eclipse SDK (runtime binary and SDK for Equinox[*], Platform, JDT, and PDE) (downloadable).</li>
  <li>Eclipse Platform (runtime binary and SDK for the Equinox[*] and Platform only) (downloadable).</li>
  <li>Eclipse RCP (runtime and source repositories for the Rich Client Platform) (downloadable).</li>
  <li>Eclipse JDT (runtime and source repositories for the Java Development Tooling) (downloadable).</li>
  <li>Eclipse PDE (runtime and source repositories for the Plug-in Development Environment) (downloadable).</li>
  <li>Eclipse SDK Examples (downloadable).</li>
  <li>SWT distribution (downloadable).</li>
</ul>
<p>* The <a href="http://www.eclipse.org/equinox/">Equinox Project</a> is part of the top level
  <a href="http://www.eclipse.org/rt/">RT Project</a>. A significant portion of the Equinox
  deliverables are consumed and redistributed as part of the Eclipse Project's SDK, Platform,
  and RCP deliverables.</p>

</div>
</p:release_deliverables>

<!-- ============================================== -->

<p:release_milestones>

<p:preamble><p>      
  Release milestones will be occurring at roughly 6 week intervals, and will be aligned with the
  <a href="http://wiki.eclipse.org/Juno/Simultaneous_Release_Plan">
  Juno Simultaneous Release</a> train.</p>
</p:preamble>
<p:milestone date="08/05/2011" milestone="M1"><div>4.2M1</div></p:milestone>
<p:milestone date="09/16/2011" milestone="M2"><div>4.2M2</div></p:milestone>
<p:milestone date="10/28/2011" milestone="M3"><div>4.2M3</div></p:milestone>
<p:milestone date="12/09/2011" milestone="M4"><div>4.2M4</div></p:milestone>
<p:milestone date="01/27/2012" milestone="M5"><div>4.2M5</div></p:milestone>
<p:milestone date="03/16/2012" milestone="M6"><div>4.2M6 (API Freeze)</div></p:milestone>
<p:milestone date="05/04/2012" milestone="M7"><div>4.2M7 (Feature Freeze)</div></p:milestone>

<p:postamble>
<div>
<p>Individual, milestone level plans for the components that make up the Eclipse Project can be found 
  on the <a href="http://wiki.eclipse.org/Eclipse/Juno_Plan">Eclipse Project Juno Plan page</a>
  on the Eclipse wiki.</p>
<p>Our target is to complete 4.2 in late June 2012, in alignment with Juno.
  All release deliverables will be available for download as soon as the release has been
  tested and validated in the target operating configurations listed below.</p>
<p>Dates for builds and test passes after M7 
are available in the <a href="http://www.eclipse.org/eclipse/development/plans/freeze_plan_4_2.php">Eclipse 4.2 endgame plan</a>.
</p>
</div>
</p:postamble>

</p:release_milestones>

<!-- ============================================== -->

<p:target_environments>

<div>
<p>In order to remain current, each Eclipse Project release targets reasonably current
  operating environments.</p>
<p>Most of the Eclipse SDK is &quot;pure&quot; Java code and has no direct dependence
  on the underlying operating system. The chief dependence is therefore on the
  Java Platform itself. Portions are targeted to specific classes of operating
  environments, requiring their source code to only reference facilities available
  in particular class libraries (e.g. J2ME Foundation 1.1, J2SE 1.4, Java 5, etc).</p>
<p>In general, the 4.2 release of the Eclipse Project is developed on a mix
  of Java SE 5 and Java SE 6 VMs. As such, the Eclipse SDK as a whole
  is targeted at all modern, desktop Java VMs. Most functionality is available for
  Java SE 5 level development everywhere, and extended development capabilities are made
  available on the VMs that support them.</p>
<p><a href="#appendix">Appendix 1</a> contains a table that indicates the class
  library level required for each bundle.</p>
<p>There are many different implementations of the Java Platform running atop
  a variety of operating systems. We focus our testing on a handful of
  popular combinations of operating system and Java Platform; these are our <em>reference
  platforms</em>. 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 a
  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.</p>
<p>Eclipse 4.2 is tested and validated on the following reference platforms
  (this list is updated over the course of the release cycle):</p>
<style type="text/css">
	table.platforms {
		border-width: 1px;
		border-spacing: 0px;
		border-style: solid;
		border-collapse: separate;
	}
	table.platforms th {
		border-width: 1px;
		padding: 3px;
		border-style: inset;
		border-color: black;
		background-color: #B9A9FF;
	}
	table.platforms td {
		border-width: 1px 1px 1px 1px;
		padding: 3px 3px 3px 3px;
		border-style: inset inset inset inset;
		border-color: gray gray gray gray;
	}
	table.platforms tr.c0 td {
		background-color: #FDFDFD;
	}
	table.platforms tr.c1 td {
		background-color: #F4EEFF;
	}
</style>
<center>
	<table class="platforms">
		<tr>
			<th>Operating System</th>
			<th>Version</th>
			<th>Hardware</th>
			<th>JRE</th>
			<th>Windowing System</th>
		</tr>
		<!-- ************ WINDOWS ************** -->
		<tr class="c0">
			<td rowspan="4">Windows</td>
			<td rowspan="2">7</td>
			<td rowspan="1">x86 32-bit</td>
			<td rowspan="4"><img src="http://www.eclipse.org/eclipse/development/new.gif" alt="(new)" border="0" height="12" width="12" /> Oracle Java 7 Update 2<br/>
				Oracle Java 6 Update 27<br/>
				IBM Java 6 SR9
			</td>
			<td rowspan="4">Win32</td>
		</tr>
		<tr>
			<td rowspan="1">x86 64-bit</td>
		</tr>
		<tr class="c0">
			<td rowspan="2">XP</td>
			<td rowspan="1">x86 32-bit</td>
		</tr>
		<tr class="c0">
			<td rowspan="1">x86 64-bit</td>
		</tr>
		<!-- ************ RHEL ************** -->
		<tr class="c1">
			<td rowspan="3">Red Hat Enterprise Linux</td>
			<td rowspan="3">6</td>
			<td rowspan="1">x86 32-bit</td>
			<td rowspan="2">
			    <img src="http://www.eclipse.org/eclipse/development/new.gif" alt="(new)" border="0" height="12" width="12" /> Oracle Java 7 Update 2<br/>
			    Oracle Java 6 Update 27<br/>
				IBM Java 6 SR9
			</td>
			<td rowspan="3">GTK</td>
		</tr>
		<tr class="c1">
			<td rowspan="1">x86 64-bit</td>
		</tr>
		<tr class="c1">
			<td rowspan="1">Power 64-bit</td>
			<td>IBM Java 6 SR9</td>
		</tr>
		<!-- ************ SLES ************** -->
		<tr class="c0">
			<td rowspan="3">SUSE Linux Enterprise Server</td>
			<td rowspan="3">11</td>
			<td rowspan="1">x86 32-bit</td>
			<td rowspan="2">Oracle Java 6 Update 27<br/>
				IBM Java 6 SR9
			</td>
			<td rowspan="3">GTK</td>
		</tr>
		<tr class="c0">
			<td rowspan="1">x86 64-bit</td>
		</tr>
		<tr class="c0">
			<td rowspan="1">Power 64-bit</td>
			<td>IBM Java 6 SR9</td>
		</tr>
		<!-- ************ Ubuntu ************** -->
		<tr class="c1">
			<td rowspan="2">Ubuntu Long Term Support</td>
			<td rowspan="2">10.04</td>
			<td rowspan="1">x86 32-bit</td>
			<td rowspan="2">Oracle Java 6 Update 27<br/>
				IBM Java 6 SR9
			</td>
			<td rowspan="2">GTK</td>
		</tr>
		<tr class="c1">
			<td rowspan="1">x86 64-bit</td>
		</tr>
		<!-- ************ Solaris ************** -->
		<tr class="c0">
			<td rowspan="2">Oracle Solaris</td>
			<td rowspan="2">11</td>
			<td rowspan="1">x86 32-bit</td>
			<td rowspan="2">Oracle Java 6 Update 27</td>
			<td rowspan="2">GTK</td>
		</tr>
		<tr class="c0">
			<td rowspan="1">SPARC 32-bit</td>
		</tr>
		<!-- ************ HPUX ************** -->
		<tr class="c1">
			<td rowspan="1">HP-UX</td>
			<td rowspan="1">11i v3</td>
			<td rowspan="1">ia64 32-bit</td>
			<td rowspan="1">HP-UX Java 6 Update 10</td>
			<td rowspan="1">GTK</td>
		</tr>
		<!-- ************ AIX ************** -->
		<tr class="c0">
			<td rowspan="1">IBM AIX</td>
			<td rowspan="1">7.1</td>
			<td rowspan="1">Power 64-bit</td>
			<td rowspan="1">IBM Java 6 SR9</td>
			<td rowspan="1">GTK</td>
		</tr>
		<!-- ************ Mac ************** -->
		<tr class="c1">
			<td rowspan="2">Apple Mac OS X</td>
			<td rowspan="2">10.6</td>
			<td rowspan="1">Universal 32-bit</td>
			<td rowspan="2">Apple Java 10.6 Update 5</td>
			<td rowspan="2">Cocoa</td>
		</tr>
		<tr class="c1">
			<td rowspan="1">Universal 64-bit</td>
		</tr>
	</table>
 </center>

<p>As stated above, <i>we expect that Eclipse works fine on other current
  Java VM and OS versions but we cannot flag these as reference platforms without
  significant community support for testing them.</i></p>
</div>

<p:internationalization>
<p>The Eclipse SDK is designed as the basis for internationalized products. The
  user interface elements provided by the Eclipse SDK components, including dialogs
  and error messages, are externalized. The English strings are provided as the
  default resource bundles.</p>
<p>Latin-1, DBCS, and BiDi locales are supported by the Eclipse SDK on all reference platforms.</p>
<p>The Eclipse SDK supports GB 18030 (level 1), the Chinese code page standard,
  on Windows, Linux and the Macintosh.</p>
<p>German and Japanese locales are tested.</p>
</p:internationalization>

</p:target_environments>
 
<!-- ============================================== -->

<p:compatibility_with_previous_releases>
<div>

<h3>Compatibility of Release 4.2 with 3.8</h3>
<p>Eclipse 4.2 will be compatible with Eclipse 3.8 (and all earlier 3.x versions).</p>

<p><strong>API Contract Compatibility:</strong> Eclipse SDK 4.2 will be upwards
  contract-compatible with Eclipse SDK 3.8 except in those areas noted in the
  <a href="http://git.eclipse.org/c/platform/eclipse.platform.common.git/plain/bundles/org.eclipse.platform.doc.isv/porting/eclipse_4_2_porting_guide.html?h=R4_HEAD" target="_top">
    <em>Eclipse 4.2 Plug-in Migration Guide</em>
  </a>. Programs that use affected APIs and extension points will need to be ported
  to Eclipse SDK 4.2 APIs. Downward contract compatibility
  is not supported. There is no guarantee that compliance with Eclipse SDK 4.2
  APIs would ensure compliance with Eclipse SDK 3.8 APIs. Refer to
  <a href="http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs">
    <em>Evolving Java-based APIs</em>
  </a> for a discussion of the kinds of API changes that maintain contract compatibility.</p>
  
<p><strong>Binary (plug-in) Compatibility:</strong> Eclipse SDK 4.2 will be upwards
  binary-compatible with Eclipse SDK 3.8 except in those areas noted in the
  <a href="http://git.eclipse.org/c/platform/eclipse.platform.common.git/plain/bundles/org.eclipse.platform.doc.isv/porting/eclipse_4_2_porting_guide.html?h=R4_HEAD" target="_top">
    <em>Eclipse 4.2 Plug-in Migration Guide</em>
  </a>. Downward plug-in compatibility is not supported. Plug-ins for Eclipse SDK
  4.2 will not be usable in Eclipse SDK 3.8. Refer to
  <a href="http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs">
    <em>Evolving Java-based APIs</em>
  </a> for a discussion of the kinds of API changes that maintain binary compatibility.</p>
  
<p><strong>Source Compatibility:</strong> Eclipse SDK 4.2 will be upwards source-compatible
  with Eclipse SDK 3.8 except in the areas noted in the
  <a href="http://git.eclipse.org/c/platform/eclipse.platform.common.git/plain/bundles/org.eclipse.platform.doc.isv/porting/eclipse_4_2_porting_guide.html?h=R4_HEAD" target="_top">
    <em>Eclipse 4.2 Plug-in Migration Guide</em>
  </a>. This means that source files written
  to use Eclipse SDK 3.8 APIs might successfully compile and run against Eclipse
  SDK 4.2 APIs, although this is not guaranteed. Downward source compatibility
  is not supported. If source files use new Eclipse SDK APIs, they will not be
  usable with an earlier version of the Eclipse SDK. </p>
  
<p><strong>Workspace Compatibility:</strong> Eclipse SDK 4.2 will be upwards
  workspace-compatible with earlier 3.x and 4.x versions of the Eclipse SDK unless noted.
  This means that workspaces and projects created with Eclipse SDK 4.1, 4.0, 3.8 .. 3.0 can be successfully
  opened by Eclipse SDK 4.2 and upgraded to a 4.2 workspace. This includes both
  hidden metadata, which is localized to a particular workspace, as well as metadata
  files found within a workspace project (e.g., the .project file), which may
  propagate between workspaces via file copying or team repositories. Individual
  plug-ins developed for Eclipse SDK 4.2 should provide similar upwards compatibility
  for their hidden and visible workspace metadata created by earlier versions;
  4.2 plug-in developers are responsible for ensuring that their plug-ins recognize
  metadata from earlier versions and process it appropriately. User
  interface session state may be discarded when a workspace is upgraded. Downward
  workspace compatibility is not supported. A workspace created (or opened) by
  a product based on Eclipse 4.2 will be unusable with a product based on an earlier
  version of Eclipse. Visible metadata files created (or overwritten) by Eclipse
  4.2 will generally be unusable with earlier versions of Eclipse. </p>
  
<p><strong>Non-compliant usage of API's</strong>: All non-API methods and classes,
  and certainly everything in a package with &quot;internal&quot; in its name or
  x-internal in the bundle manifest entry,
  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 Eclipse SDK API are inherently
  unsupportable and receive no guarantees about compatibility within a single
  release much less with earlier releases. Refer to
  <a href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">
    <em>How to Use the Eclipse API</em>
  </a> for information about how to write compliant plug-ins. </p>

</div>
</p:compatibility_with_previous_releases>
  
<!-- ============================================== -->

<p:themes_and_priorities>

<p:preamble>
<div>
<p>The plan items listed below were defined according to contributor requirements and the Eclipse
  <a href="http://wiki.eclipse.org/RequirementsCouncilThemesAndPriorities">Themes and Priorities</a>
  set forth by the Eclipse Requirements Council. Each plan item covers a feature or API that is
  to be added to the Eclipse Project deliverables, or some aspect of the Eclipse Project 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 entails.</p>
<p> Although there are three mature projects under the top-level Eclipse Project, there
  is a significant amount of commonality and shared effort between them. In general,
  many plan items involve coordinated changes to multiple components, and thus
  attempting to separate the items into sections based on sub-project leads to
  artificial distinctions between them (e.g., Platform Text vs. JDT Text, Platform
  Debug vs. JDT Debug, etc.). As such, this plan covers the work of all mature projects
  under the top level Eclipse Project.</p>
<p>Not all plan items represent the same amount of work; some may be quite
  large, others, quite small. Although some plan items are for work that is 
  more pressing than others, the plan items appear in no particular order.
  See the corresponding bugzilla items for up-to-date status information on
  ongoing work and planned delivery milestones.</p>
<p>The current status of each plan item is noted:</p>
<ul>
  <li><b>Committed</b> plan item - A committed plan item is one that we have
    decided to address for the release. In bugzilla, this is reflected by
    having a concrete target milestone assigned.</li>
  <li><b>Proposed</b> plan item - A proposed plan item is one that we are
    considering addressing for the release. Although we are actively
    investigating it, we are not yet in a position to commit to it, or to say
    that we won't be able to address it. After due consideration, a proposal
    will either be committed or deferred. In bugzilla, such items are reflected
    by having a target milestone "4.2" or "---" assigned.</li>
  <li><b>Deferred</b> plan item - A reasonable proposal that will not make it in
    to this release for some reason is marked as deferred with a brief note as
    to why it was deferred. Deferred plan items may resurface as committed plan
    items at a later point. In bugzilla, such items are reflected by having
    a target milestone "---" assigned.</li>
</ul>
</div>
</p:preamble>

<!-- ============================================== -->

<p:theme name="Platforms">
<p:description>
<p>This work is focused on ensuring that Eclipse takes full advantage of all
  capabilities of the underlying technologies that it is based on, be they
  operating system, window system, Java or other. This includes support
  for native accessibility, internationalization and localization capabilities.
</p>
</p:description>

<p:committed>
<ul>
<li>
	<strong>Add support for Java SE 7 features.</strong>
	The most recent feature release of Java SE is version 7, which was released on July 28, 2011. 
	This release contains extensions to the Java language, including support for
	dynamically-typed languages, and other minor language changes
	(Coin project). Eclipse Java development tooling will include support for
	compiling, editing, and launching applications for Java 7. [JDT Core, JDT UI] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=288548">288548</a>)
	<br/>
	<br/>
	<b>Note:</b> because of the high importance of Java 7 tools to the Eclipse community,
	we are delivering complete basic Java 7 functionality in Indigo SR1 (September 2011).
	Further enhancements to Java 7 development tools will continue in the Juno release.
</li>
</ul>
</p:committed>

<p:proposed>
<ul>
<li>
	<strong>Migrate SWT graphics operations to Cairo.</strong>
	GTK+ is transitioning away from X Window System in favor of Cairo for drawing
	operations. The GTK+ port of SWT will migrate drawing operations to Cairo in
	preparation for a future port of SWT to GTK+ 3.
	 [SWT] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=354978">354978</a>)
</li>
<li>
	<strong>BiDi enhancements.</strong>
	We will invest in ensuring the Eclipse platform remains a first class basis for	products 
	supporting bidirectional text (BiDi). Areas of investigation include:  support for text with internal 
	structure or syntax including BiDi data, support for text input widgets, and comprehensive
	support for static complex expressions.
	[SWT] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=359627">359627</a>)
</li>

</ul>
</p:proposed>

<p:deferred>
<ul>
<li><img src="http://www.eclipse.org/eclipse/development/new.gif" alt="(new)" border="0" height="12" width="12" />
	<strong>Start work on Java SE 8 features.</strong>
	The next Java SE release is version 8, which is currently scheduled for October
	2012. This release is expected to contain extensions to the Java language,
	including support for lambda expressions, default methods, annotations on
	types, a modularity system and minor language changes. 
	Eclipse Java development tooling will make progress towards compiling, editing
	and launching applications for Java 8 for those parts which have publicly
	available specifications. Work in progress will be made available as feature
	patches for early adopters while we work towards the official Java SE 8
	release.
	 [JDT Core, JDT UI] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=358387">358387</a>)
</li>
<li><img src="http://www.eclipse.org/eclipse/development/new.gif" alt="(new)" border="0" height="12" width="12" />
	<strong>Adopt new Windows 7 APIs</strong>
	There are a number of Windows 7 APIs that are needed to implement 
	current/modern looking user interfaces. These include: aero glass shell, Direct2D 
	graphics and stylized menus. SWT will add support to take advantage of these APIs.
	 [SWT] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=359625">359625</a>)
</li>
</ul>
</p:deferred>

</p:theme>
    
<!-- ============================================== -->

<p:theme name="Robustness">
<p:description>
<p>As the basis for the entire Eclipse eco-system, the Eclipse SDK must be robust,
  flexible and secure. This work will address those issues by providing API for
  missing or currently internal functionality, and focusing on the issues that
  affect the stability of the platform.
</p>
</p:description>

<p:committed>
<ul>
<li>
	<strong>Transition to Git.</strong>
	The Eclipse project will transition its source control system from CVS to Git during
	this release. This should have little or no effect on end user functionality, but requires
	changes to the project build infrastructure, tools, and development practices.
	[All Components] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=345479">345479</a>)
</li>
</ul>
</p:committed>

<p:proposed>
<ul>
<li>
	<strong>Make Eclipse Platform 4 enterprise ready.</strong>
	Version 4 of the Eclipse Platform has had two releases since graduating
	from the e4 incubator, but was still treated as secondary to the 3.x platform generation.
	In this release we will take the final steps to make version 4.2 the primary platform
	for enterprise level adoption. This work includes refactoring and cleanup of the workbench
	compatibility code, implementing Intro support, improving performance, addressing
	globalization and accessibility bugs, and regularly running the full suite of Eclipse SDK
	regression tests against Platform version 4.
	[Platform UI] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=359626">359626</a>)
</li>
<li>
	<strong>Build system consolidation.</strong>
	The 3.x and 4.x platform builds currently use different build systems and run on
	different build hardware. We will consolidate these systems to run all builds
	on eclipse.org build infrastructure. As part of this process the 4.x build will transition
	to being the primary Eclipse project build system, with 3.x stream builds performed
	on a reduced schedule for ongoing maintenance work.
	[Releng] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=355430">355430</a>)
</li>
</ul>
</p:proposed>

<p:deferred>
  <p><i>None at this time.</i></p>
</p:deferred>

</p:theme>
<!-- ============================================== -->

<p:theme name="Ease of Use">
<p:description>
<p>The Eclipse platform is not lacking in functionality, but sometimes fails to present 
	that functionality to end users in a way that is easy to discover and use. This theme
	encompasses work to simplify and improve the end user experience, and to keep
	up with modern user interface input forms such as multi-touch gestures.</p>
</p:description>

<p:committed>
<ul>
<li><img src="http://www.eclipse.org/eclipse/development/new.gif" alt="(new)" border="0" height="12" width="12" />
	<strong>Use annotations for null checking.</strong>
	Null reference analysis in Eclipse Java development tooling is currently limited
	to analysis within the scope of individual methods. We will explore widening this analysis
	by using annotations to indicate whether particular parameters, return types, and fields 
	are designed to allow null values.
	[JDT Core, JDT UI] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=186342">186342</a>)
</li>
</ul>
</p:committed>

<p:proposed>
  <p><i>None at this time.</i></p>
</p:proposed>

<p:deferred>
<ul>
<li><img src="http://www.eclipse.org/eclipse/development/new.gif" alt="(new)" border="0" height="12" width="12" />
	<strong>Support different target platforms per project.</strong>
	The PDE target platform mechanism has seen dramatic improvements with
	support for provisioning target platforms from remote repositories, local software
	installs, and feature lists. We will further enhance this system by supporting
	a different target platform for each project in the workspace.
	[PDE UI] (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=159072">159072</a>)
</li>
</ul>
</p:deferred>

</p:theme>
    
</p:themes_and_priorities>

<!-- ============================================== -->

<p:appendix name="Execution Environment by Bundle">
  
<p>In the table below, the &quot;4.2 minimum execution environment&quot;
  column indicates the minimum Java class library requirements of each bundle
  for the 4.2 release, where the value is one of:</p>
<table border="0" width="90%">
  <tbody>
    <tr>

      <td align="center"><b>Entry</b></td>
      <td align="left"><b>Meaning</b></td>
    </tr>
    <tr>
      <td><div align="center"><strong>F1.0</strong></div></td>
      <td>J2ME Foundation 1.0 - indicates that the bundle can only be run on
        Foundation 1.0 or greater. Note that with the exception of some MicroEdition
        IO classes, Foundation 1.0 is a subset of J2SE 1.3.</td>
    </tr>
    <tr>
      <td><div align="center"><strong>F1.1</strong></div></td>
      <td>J2ME Foundation 1.1 - indicates that the bundle can only be run on
        Foundation 1.1 or greater. Note that with the exception of some MicroEdition
        IO classes, Foundation 1.1 is a subset of J2SE 1.4.</td>
    </tr>
    <tr>
      <td><div align="center"><strong>1.3</strong></div></td>
      <td>J2SE 1.3 - indicates that the bundle can only be run on JSE 1.3 or
        greater.</td>
    </tr>
    <tr>
      <td><div align="center"><strong>1.4</strong></div></td>
      <td>J2SE 1.4 - indicates that the bundle can only be run on JSE 1.4 or
        greater.</td>
    </tr>
    <tr>
      <td><div align="center"><strong>1.5</strong></div></td>
      <td>Java SE 5 - indicates that the bundle can only be run on Java SE 5 or
        greater.</td>
    </tr>
    <tr>
      <td><div align="center"><strong>1.6</strong></div></td>
      <td>Java SE 6 - indicates that the bundle can only be run on Java SE 6 or
        greater.</td>
    </tr>
    <tr>
      <td align="center"><b>n/a</b></td>
      <td>Unknown at the time of this revision.</td>
    </tr>
  </tbody>
</table>

<p><b>Table of minimum execution environments by bundle.</b> (See also the
  <a href="http://www.eclipse.org/projects/project-plan.php?projectid=rt.equinox#appendix">Equinox Project plan</a>
  for the execution environment requirements of bundles contributed via that project.)</p>

<table border="1">
  <tbody>
    <tr>
      <td width="290"><strong>Bundle</strong></td>
      <td width="60"><div align="center"><p align="center"><b>4.2<br/>minimum<br/>execution<br/>environment</b></p></div></td>
    </tr>
    <tr>
      <td>com.ibm.icu</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>com.jcraft.jsch</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>com.sun.el</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>javax.annotation</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>javax.el</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>javax.inject</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>javax.servlet</td>
      <td><div align="center">1.6</div></td>
    </tr>
    <tr>
      <td>javax.servlet.jsp</td>
      <td><div align="center">1.6</div></td>
    </tr>
    <tr>
      <td>javax.xml</td>
      <td><div align="center">J2SE-1.2</div></td>
    </tr>
    <tr>
      <td>org.apache.ant</td>
      <td><div align="center">J2SE-1.2</div></td>
    </tr>
    <tr>
      <td>org.apache.batik.css</td>
      <td><div align="center">1.3</div></td>
    </tr>
    <tr>
      <td>org.apache.batik.util</td>
      <td><div align="center">1.3</div></td>
    </tr>
    <tr>
      <td>org.apache.batik.util.gui</td>
      <td><div align="center">1.3</div></td>
    </tr>
    <tr>
      <td>org.apache.commons.codec</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.apache.commons.httpclient</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.apache.commons.logging</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.apache.felix.gogo.command</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.apache.felix.gogo.runtime</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.apache.felix.gogo.shell</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.apache.jasper.glassfish</td>
      <td><div align="center">1.6</div></td>
    </tr>
    <tr>
      <td>org.apache.lucene</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.apache.lucene.analysis</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.apache.lucene.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ant.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ant.launching</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ant.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.compare</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.compare.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.compare.win32</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.commands</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.contenttype</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.databinding</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.databinding.beans</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.databinding.observable</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.databinding.property</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.expressions</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.externaltools</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.filebuffers</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.filesystem</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.jobs</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.net</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.resources</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.runtime</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.runtime.compatibility</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.runtime.compatibility.registry</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.variables</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.cvs</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.debug.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.debug.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.core.commands</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.core.contexts</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.core.di</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.core.di.extensions</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.core.services</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.bindings</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.css.core</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.css.swt</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.css.swt.theme</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.di</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.model.workbench</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.services</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.widgets</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.workbench</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.workbench.addons.swt</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.workbench.renderers.swt</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.workbench.swt</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.e4.ui.workbench3</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.emf.common</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.emf.ecore</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.emf.ecore.change</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.emf.ecore.xmi</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help.base</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help.webapp</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.annotation</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.apt.core</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.apt.pluggable.core</td>
      <td><div align="center">1.6</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.apt.ui</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.compiler.apt</td>
      <td><div align="center">1.6</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.compiler.tool</td>
      <td><div align="center">1.6</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.core.manipulation</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.debug</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.debug.ui</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.doc.isv</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.doc.user</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.junit</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.junit.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.junit.runtime</td>
      <td><div align="center">1.3</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.junit4.runtime</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.launching</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.ui</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jface</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jface.databinding</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jface.text</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jsch.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jsch.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ltk.core.refactoring</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ltk.ui.refactoring</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.api.tools</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.api.tools.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.build</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.doc.user</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.ds.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.ds.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.junit.runtime</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.launching</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.runtime</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.ua.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.ua.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.pde.ui.templates</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.platform</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.platform.doc.isv</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.platform.doc.user</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.rcp</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.sdk</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.search</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.swt</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.team.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.team.cvs.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.team.cvs.ssh2</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.team.cvs.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.team.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.text</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.browser</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.cheatsheets</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.console</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.editors</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.externaltools</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.forms</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.ide</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.ide.application</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.intro</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.intro.universal</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.navigator</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.navigator.resources</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.net</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.trace</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.views</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.views.log</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.views.properties.tabbed</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.win32</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.workbench</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.workbench.texteditor</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.update.configurator</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.hamcrest.core</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.junit</td>
      <td><div align="center">1.3</div></td>
    </tr>
    <tr>
      <td>org.junit4</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>org.objectweb.asm</td>
      <td><div align="center">1.3</div></td>
    </tr>
    <tr>
      <td>org.slf4j.api</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.w3c.css.sac</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.w3c.dom.smil</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.w3c.dom.svg</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    </tbody>
</table>
  </p:appendix>  
</p:plan>
