<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>Eclipse Project Release Notes 3.6</title>
</head>
<body>

<h1>Eclipse Project Release Notes</h1>
<p>Release 3.6.1<br/>
  Last revised September 8, 2010</p>
<p align="left"><strong>This software is OSI Certified Open Source Software.<br/>
OSI Certified is a certification mark of the Open Source Initiative.&nbsp;</strong></p>
<blockquote>
  <p align="left"><a href="#TargetOperatingEnvironments">1. Target Operating
  Environments</a><br/>
  <a href="#Compatibility">2. Compatibility with Previous
  Releases</a><br/>
  <a href="#KnownIssues">3. Known Issues</a><br/>
  <a href="#RunningEclipse">4. Running Eclipse</a><br/>
  <a href="#Upgrading">5. Upgrading a Workspace from a Previous Release</a><br/>
  <a href="#InteroperabilityWithPreviousReleases">6. Interoperability with
  Previous Releases</a><br/>
  </p>
</blockquote>

<h2>1. <a name="TargetOperatingEnvironments"></a>Target Operating Environments</h2>
<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 3.6 release of the Eclipse Project is developed on a mix
  of Java 1.4, Java 5 and Java 6 VMs. As such, the Eclipse SDK as a whole
  is targeted at all modern, desktop Java VMs. Most functionality is available for
  1.4 level development everywhere, and extended development capabilities are made
  available on the VMs that support them.</p>
<p><a href="#Appendix1">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 3.6 is tested and validated on the following reference platforms:</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="6">Windows</td>
			<td rowspan="2">7</td>
			<td rowspan="1">x86 32-bit</td>
			<td rowspan="2">Sun Java 5 Update 22<br/>
				IBM Java 5 SR11
			</td>
			<td rowspan="6">Win32</td>
		</tr>
		<tr>
			<td rowspan="1">x86 64-bit</td>
		</tr>
		<tr>
			<td rowspan="2">Vista</td>
			<td rowspan="1">x86 32-bit</td>
			<td>Sun Java 5 Update 22<br/>
				IBM Java 5 SR11<br/>
				Oracle JRockit 27.6.5
			</td>
		</tr>
		<tr class="c0">
			<td rowspan="1">x86 64-bit</td>
			<td>Sun Java 5 Update 22<br/>
				IBM Java 5 SR11
			</td>
		</tr>
		<tr class="c0">
			<td rowspan="2">XP</td>
			<td rowspan="1">x86 32-bit</td>
			<td>Sun Java 6 Update 17<br/>
				Sun Java 5 Update 22<br/>
				IBM Java 5 SR11<br/>
				Oracle JRockit 27.6.5
			</td>
		</tr>
		<tr class="c0">
			<td rowspan="1">x86 64-bit</td>
			<td>Sun Java 5 Update 22<br/>
				IBM Java 5 SR11
			</td>
		</tr>
		<!-- ************ RHEL ************** -->
		<tr class="c1">
			<td rowspan="3">Red Hat Enterprise Linux</td>
			<td rowspan="2">5.0</td>
			<td rowspan="1">x86 32-bit</td>
			<td>Sun Java 6 Update 17<br/>
				Sun Java 5 Update 22<br/>
				IBM Java 5 SR11<br/>
				Oracle JRockit 27.6.5
			</td>
			<td rowspan="3">GTK</td>
		</tr>
		<tr class="c1">
			<td rowspan="1">Power 64-bit</td>
			<td>IBM Java 5 SR11</td>
		</tr>
		<tr class="c1">
			<td rowspan="1">4.0</td>
			<td rowspan="1">x86 64-bit</td>
			<td>Sun Java 5 Update 22<br/>
				IBM Java 5 SR11
			</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">Sun Java 5 Update 22<br/>
				IBM Java 5 SR11
			</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 5 SR11</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">Sun Java 5 Update 22<br/>
				IBM Java 5 SR11
			</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">Sun Solaris</td>
			<td rowspan="2">10</td>
			<td rowspan="1">x86 32-bit</td>
			<td rowspan="2">Sun Java 5 Update 22</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 v2</td>
			<td rowspan="1">ia64 32-bit</td>
			<td rowspan="1">HP-UX Java 5 Update 18</td>
			<td rowspan="1">Motif 2.1</td>
		</tr>
		<!-- ************ AIX ************** -->
		<tr class="c0">
			<td rowspan="1">IBM AIX</td>
			<td rowspan="1">5.3</td>
			<td rowspan="1">Power 32-bit</td>
			<td rowspan="1">IBM Java 5 SR11</td>
			<td rowspan="1">Motif 2.1</td>
		</tr>
		<!-- ************ Mac ************** -->
		<tr class="c1">
			<td rowspan="3">Apple Mac OS X</td>
			<td rowspan="3">10.5</td>
			<td rowspan="1">Universal</td>
			<td rowspan="3">Apple Java 10.5 Update 2</td>
			<td rowspan="1">Carbon</td>
		</tr>
		<tr class="c1">
			<td rowspan="1">Universal 32-bit</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>

<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 and DBCS locales are supported by the Eclipse SDK on all reference platforms;
  BIDI locales are supported by the Eclipse SDK everywhere but on Motif.</p>
<p>The Eclipse SDK supports GB 18030 (level 1), the Chinese code page standard,
  on Windows XP and 2000, Linux/GTK and the Macintosh.</p>
<p>German and Japanese locales are tested.</p>

<h2>2. <a name="Compatibility"></a>Compatibility with Previous Releases</h2>
<h3>Compatibility of Release 3.6 with 3.5</h3>
<p>Eclipse 3.6 is compatible with Eclipse 3.5 (and all earlier 3.x versions).</p>

<p><strong>API Contract Compatibility:</strong> Eclipse SDK 3.6 is upwards
  contract-compatible with Eclipse SDK 3.5 except in those areas noted in the
  <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_6_porting_guide.html" target="_top">
    <em>Eclipse 3.6 Plug-in Migration Guide</em>
  </a>. Programs that use affected APIs and extension points will need to be ported
  to Eclipse SDK 3.6 APIs. Downward contract compatibility
  is not supported. There is no guarantee that compliance with Eclipse SDK 3.6
  APIs would ensure compliance with Eclipse SDK 3.5 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 3.6 is upwards
  binary-compatible with Eclipse SDK 3.5 except in those areas noted in the
  <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_6_porting_guide.html" target="_top">
    <em>Eclipse 3.6 Plug-in Migration Guide</em>
  </a>. Downward plug-in compatibility is not supported. Plug-ins for Eclipse SDK
  3.6 will not be usable in Eclipse SDK 3.5. 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 3.6 is upwards source-compatible
  with Eclipse SDK 3.5 except in the areas noted in the
  <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_6_porting_guide.html" target="_top">
    <em>Eclipse 3.6 Plug-in Migration Guide</em>
  </a>. This means that source files written
  to use Eclipse SDK 3.5 APIs might successfully compile and run against Eclipse
  SDK 3.6 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 3.6 is upwards
  workspace-compatible with earlier 3.x versions of the Eclipse SDK unless noted.
  This means that workspaces and projects created with Eclipse SDK 3.5 .. 3.0 can be successfully
  opened by Eclipse SDK 3.6 and upgraded to a 3.6 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 3.6 should provide similar upwards compatibility
  for their hidden and visible workspace metadata created by earlier versions;
  3.6 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 3.6 will be unusable with a product based on an earlier
  version of Eclipse. Visible metadata files created (or overwritten) by Eclipse
  3.6 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,
  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>

<h2>3. <a name="KnownIssues"></a> Known Issues</h2>
<blockquote>
  <a href="#I-General">
  3.1 General problems</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-Startup">3.1.1 Startup</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-GCJ">3.1.2 GCJ</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-64bitJava">3.1.3 64-bit Java HotSpot(TM) VM</a><br/>
  <a href="#I-Platform">3.2 Platform</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Core">3.2.1 Core</a><br/>

  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Ant">3.2.2 Ant</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-User-Assistance">3.2.3 User Assistance</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-UI">3.2.4 UI</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Text">3.2.5 Text</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-SWT">3.2.6 SWT</a><br/>

  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Team-CVS">3.2.7 Team and CVS</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Install-Update">3.2.8  Install/Update</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Debug">3.2.9 Debug</a><br/>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Compare">3.2.10 Compare</a><br/>
  <a href="#I-JDT">
  3.3 Java development tools (JDT)</a><br/>
  <a href="#I-PDE">
  3.4 Plug-in Development Environment (PDE)</a><br/>

</blockquote>
<p>Note: Bug numbers refer to the Eclipse project bug database at <a href="http://dev.eclipse.org/bugs/">http://bugs.eclipse.org/bugs/</a></p>

<h3>3.1 <a name="I-General">General problems</a></h3>
<h3>3.1.1 <a name="I-General-Startup">General - Startup</a></h3>
<h4>Installation/Configuration issues that can cause Eclipse to fail start</h4>
<p>Here are some common problems that can cause Eclipse not to start:</p>
<ul>
  <li>As shown <a href="#TargetOperatingEnvironments">above</a>, Eclipse 3.6 requires 
    at least a 1.4.2 VM. Perhaps an older version of the VM is being found in 
    your path. To explicitly specify which VM to run with, use the Eclipse <tt>-vm</tt> 
    command-line argument. (See also the <a href="#RunningEclipse">Running Eclipse</a> 
    section below.)</li>
  <li>
    Running Eclipse on Gentoo Linux may result in the following error message:
    <div style="margin-left: 40px;">
<tt>* run-java-tool is not available for sun-jdk-1.6 on i686<br/>* IMPORTANT: some Java tools are not available on some VMs on some architectures</tt>
    </div>

If this occurs, start Eclipse by specifying a -vm argument, either
specify the path to a java vm or use: <tt>eclipse -vm `java-config</tt>
--java` (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=176021">176021</a>)</li>
<li>Eclipse must be installed to a clean directory and not installed over top of
a previous installation. If you have done this then please re-install to a new
directory. If your workspace is in a child directory of your old installation
directory, then see the instructions below on "<a href="#upgrading">Upgrading Workspace from a
Previous Release"</a>.</li>

<li>Java sometimes has difficulty detecting whether a file system is writable. In
particular, the method java.io.File.canWrite() appears to return true in
unexpected cases (e.g., using Windows drive sharing where the share is a
read-only Samba drive). The Eclipse runtime generally needs a writable
configuration area and as a result of this problem, may erroneously detect the
current configuration location as writable. The net result is that Eclipse will
fail to start and depending on the circumstances, may fail to write a log file
with any details. To work around this, we suggest users experiencing this
problem set their configuration area explicitly using the <tt>-configuration</tt> command
line argument. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67719">67719</a>)</li>
</ul>

<h4><b>Invalid characters in install directory prevents Eclipse from starting</b></h4>
<p>Eclipse will fail to launch if installed in a directory whose path
contains certain invalid characters, including :%#&lt;&gt;&quot;!. The
workaround is to install Eclipse in a directory whose path does not contain
invalid characters. (bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=3109">3109</a>
and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=17281">17281</a>)</p>

<h4>Hanging during class loading when out of permanent generation memory</h4>
<p>
The Sun VM may hang indefinitely during class loading if it runs out of permanent
generation memory.  This will cause CPU usage to stay at 100% until the process
is ended.  See the section <a href="#RunningEclipse">Running Eclipse</a> for details
on addressing this VM problem.
</p>

<h3>3.1.2 <a name="I-General-GCJ">General - GCJ</a></h3>
<p>GCJ is an effort by the GCC team to provide an open source Java compiler and
runtime environment to interpret Java bytecode. Unfortunately, the GCJ runtime
environment is not an environment that is often tested on by Eclipse developers.</p>

<p>The most common problems surrounding GCJ are:</p>
<ul>
<li>Eclipse does not start at all</li>
<li>Eclipse throws a 'java.lang.ClassNotFoundException: org.eclipse.core.runtime.Plugin' that can be found in the logs (located in
workspace/.metadata/.log)</li>	
</ul>

<p>The workspace's log file is a good place to check to identify whether GCJ is
being used or not. Every Eclipse log session is prepended with
information about the runtime environment that was used to run Eclipse. The log
may include something like the following:</p>

<code>java.fullversion=GNU libgcj 4.2.1 (Debian 4.2.1-5)</code>

<p>If Eclipse does start, one can check which runtime environment is being used to
run Eclipse by going to <b>Help &gt; About Eclipse SDK &gt; Installation Details &gt; Configuration</b>. The
<b>About</b> dialog itself can also provide other information, the build identifier
can be of particular interest as it is tagged by some distributions. This allows the
user to identify whether Eclipse was downloaded through the distribution's
package management system or directly from the eclipse.org web site.</p>

Eg: <code>Build id: M20070212-1330 (Ubuntu version: 3.2.2-0ubuntu3)</code>

<p>The two most common workarounds are:</p><ul>
<li>download the Eclipse binary from eclipse.org directly</li>
<li>run Eclipse using an alternate Java runtime environment</li></ul>

<p>To download Eclipse, try one of the links below:</p><ul>
<li><a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></li>
<li><a href="http://download.eclipse.org/eclipse/downloads/">http://download.eclipse.org/eclipse/downloads/</a></li></ul>

It is imperative that 64-bit builds are downloaded and used if a 64-bit Java
runtime environment has been installed. Below are two sample tarball names of
version 3.6.0 of the Eclipse SDK packaged for 32-bit and 64-bit processors.

<pre>eclipse-SDK-3.6-linux-gtk.tar.gz (32-bit)
eclipse-SDK-3.6-linux-gtk-x86_64.tar.gz (64-bit)</pre>

<p>To run Eclipse with an alternate Java runtime environment, the path to the Java
virtual machine's binary must be identified. With an Eclipse installation from
the distribution, altering the $PATH variable to include the path to the
alternate Java runtime environment is often not enough as the Eclipse that
Linux distributions package often performs a scan internally to pick up GCJ by
itself whilst ignoring what's on the $PATH. An example of the terminal's output
is shown below:</p>

<code>searching for compatible vm...<br/>
  testing /usr/lib/jvm/java-7-icedtea...not found<br/>
  testing /usr/lib/jvm/java-gcj...found</code>

<p>Once the path to the virtual machine's binary has been identified, try running
Eclipse with the following command:</p>

<code>./eclipse -vm /path/to/jre/bin/java</code>

<p>For an actual example, it might look something like the following:</p>

<code>./eclipse -vm /usr/lib/jvm/sun-java-6/bin/java<br/>
./eclipse -vm /opt/sun-jdk-1.6.0.02/bin/java</code>

<p>If this seems to solve the problem, it is likely that the problem really was
related to the use of GCJ as the Java runtime for running Eclipse. The
eclipse.ini file located within Eclipse's folder can be altered to
automatically pass this argument to Eclipse at startup. An example of its
content is presented below:</p>

<code>-showsplash<br/>
org.eclipse.platform<br/>
--launcher.XXMaxPermSize<br/>
256m<br/>
-vm<br/>
/opt/sun-jdk-1.6.0.02/bin/java<br/>
-vmargs<br/>
-Xms40m<br/>
-Xmx512m</code>

<p>Note that every argument must be on its own line. More information about the
eclipse.ini file can be found at <a href="http://wiki.eclipse.org/Eclipse.ini">http://wiki.eclipse.org/Eclipse.ini</a>.</p>

<p>If problems persists after downloading an installation of Eclipse from
eclipse.org and using a supported Java runtime environment (a list of which may be found <a href="#TargetOperatingEnvironments">above</a>), 
you can seek further assistance through the <a href="http://www.eclipse.org/newsgroups/">newsgroups</a>, 
the IRC <a href="irc://irc.freenode.net/#eclipse">channel</a>, 
and/or <a href="https://bugs.eclipse.org/bugs/">bugzilla</a>.
</p>

<h3>3.1.3 <a name="I-General-64bitJava">General - 64-bit Java HotSpot(TM) VM</a></h3>
<p>
There is a known issue with the Java HotSpot(TM) 1.6.0 VM compiler which causes eclipse to 
crash (see Sun bug <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6614100">http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6614100</a>,
and Eclipse bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=214092">214092</a>).
The crash usually occurs within a VM CompilerThread when attempting to compile the method org.eclipse.core.internal.dtree.DataTreeNode.forwardDeltaWith.
</p>
<p>
This problem has been addressed in Sun Java 6 update 11, so the simplest resolution is
to obtain the latest JRE release for your platform.
To work around the issue you can exclude the method org.eclipse.core.internal.dtree.DataTreeNode.forwardDeltaWith from being compiled with the following
VM argument:
</p>

<code>
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
</code>

<p>
This VM argument can be placed in the eclipse.ini file after the -vmargs line like the following:
</p>

<code>
-startup<br/>
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090306-1900<br/>
--launcher.library<br/>
plugins/org.eclipse.equinox.launcher_1.0.200.v20090429-1630.jar<br/>
-showsplash<br/>
org.eclipse.platform<br/>
--launcher.XXMaxPermSize<br/>
256m<br/>
-vmargs<br/>
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith<br/>
-Xms40m<br/>
-Xmx256m<br/>
</code>

<p>
There have been reports of other classes that cause the compiler to crash.  If all else fails you can 
disable the compiler with the VM arg &quot;-Xint&quot;. 
</p>

<h3>3.2 <a name="I-Platform">Platform</a></h3>

<h3>3.2.1 <a name="I-Platform-Core">Platform - Core</a></h3>

<h4>Installing plug-ins by unzipping them into the plugins directory</h4>
<p>New plug-ins can be installed into the system by unzipping them into the plugins
directory. However this is not recommended, and the dropins directory should be
used for this purpose instead. Note that unzipping a different
version of a plug-in that is already installed will have no effect. To change the version
of a plug-in installed in your system, you need to either perform an update, or install
a feature patch.</p>

<h4>XML files with UTF-8 byte order mark fail to have content type detected</h4>
<p>Eclipse will fail to detect the proper content type for XML files that have a
UTF-8 byte order mark if Crimson is the XML parser (as it is on Sun 1.4 JREs,
but not on Sun 1.5 JREs). This
problem will prevent actions normally available when files of the affected
content types are selected from being presented to the user. The workaround is
to ensure the default XML parser supports UTF-8 BOMs (such as Xerces does). (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67048">67048</a>)</p>
<h4>No branding with old config.ini</h4>
<p>If you have an old config.ini file and use it with a new Eclipse build, you
may not get the correct product branding. This is because the id of the standard
Eclipse product changed. Users in shared install scenarios may end up in this
situation as previous builds of Eclipse automatically generated config.ini files
in some cases. The work around is either to delete the local config.ini or
update the eclipse.product line to read eclipse.product=org.eclipse.platform.ide.</p>

<h4>Problems with
classloaders in created threads</h4>
<p>There is a known issue with trying to load classes from a newly-created
thread using a class loader different from the plug-in class loader. The result
will be a <code>ClassNotFoundException</code>. As a workaround, do the
following:</p>
<ol>
  <li>Create a thread in which to run your code.</li>
  <li>Send yourThread.setContextClassLoader(yourClassLoader); // you can find
    your classloader by grabbing a class it loaded (YourPluginClass.class.getClassLoader())</li>
  <li>Run your code in the newly created thread.</li>
</ol>
<p>If you set the context class loader for the current thread, you are
competing with other users of the thread (all of Eclipse), so the results will
be unpredictable. However, there should be no problem in practice provided you
reset the context class loader back to its original value when your use in the
current thread is&nbsp;complete. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8907">8907</a>)</p>

<h4>Deadlock creating executable
extension in Plugin.startup</h4>
<p>If <code>Plugin.startup</code> code is too complex and performs tasks such
as creating an executable extension, a deadlock situation can be created. Only
simple bookkeeping tasks should be performed in <code>Plugin.startup</code>
code. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=5875">5875</a>)</p>
<h4>Potential Problems Converting Plug-in Manifests</h4>
<p>If your plug-in ships with a plug-in manifest and not an OSGi bundle manifest,
is shipped as a JAR file, and contains a nested JAR file then there may be
problems in the automatic generation of the bundle manifest file. The packages
defined in the nested JAR may not be exported correctly in the <tt>Export-packages</tt>

bundle manifest header. To work around this you should ship your plug-in with a
bundle manifest. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=97689">97689</a>)</p>
<h4>Location for Debug Options File on Mac OS</h4>
<p>If you are running in debug mode on Mac OS, the default location for the
.options file is inside the application bundle in the Eclipse.app/Contents/MacOS
directory (like the eclipse.ini). (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=88782">88782</a>)</p>

<h4>Issues with JNI that use FindClass</h4>
<p>
There may be issues when using a JNI implementation that uses FindClass 
in a function where the JNIEnv pointer is not available, such as in a C 
callback (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=125250">125250</a>).  The reason is that FindClass, in this case, uses the application
class loader to find the class.
If the desired class is in the classpath used for the application classloader
(e.g. defined by the VM argument -cp &lt;classpath&gt;), as it would typically be in 
a stand-alone application, there is no problem.  However, under
Eclipse, the application classloader does not have access to classes 
contained in plug-ins.  Eclipse uses its own class loader to find classes 
contained in plug-ins.
</p>
<p>
The proper plug-in class loader is used by FindClass in JNI functions which are 
passed the JNIEnv pointer, but not when you have to use AttachCurrentThread to get the 
JNIEnv pointer.  In this case the application classloader is used.
</p>
<p>
For example, the following will fail because AttachCurrentThread is used to 
get the JNIEnv pointer:</p>
<pre>
static JavaVM* jvm;  // Global variable

void myCallback(void) {
    JNIEnv* env;
    jvm-&gt;AttachCurrentThread((void**)&amp;env, NULL);
    // Fails if some/class is not in the application classloader:
    jclass cls = env-&gt;FindClass(&quot;some/class&quot;);
    jmethodID methodID = env-&gt;GetMethodID(cls, &quot;methodName&quot;,
      &quot;(Ljava/lang/String;)V or whatever signature&quot;);
    env-&gt;CallVoidMethod(callback, methodID, ...);
    jvm-&gt;DetachCurrentThread();
  }
}
</pre>
<p>
A solution is to cache the method ID, for example:
</p>
<pre>
static jmethodID mid;  // Global variable

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
...
  // Store the JavaVM pointer
    jvm = vm;

  // Find the class and store the method ID
  // Will use the class loader that loaded the JNI library
    jclass cls = env-&gt;FindClass(className&quot;some/class&quot;);
    if(!cls) goto ERR;

    mid = env-&gt;GetMethodID(cls, &quot;methodName&quot;,
      &quot;(Ljava/lang/String;)V or whatever signature&quot;);
    if(!mid) goto ERR;
...
}

void myCallback(void) {
    JNIEnv* env;
    jvm-&gt;AttachCurrentThread((void**)&amp;env, NULL);
    env-&gt;CallVoidMethod(callback, mid, ...);
     // Handle error ...
    jvm-&gt;DetachCurrentThread();
  }
}
</pre>


<h3>3.2.2 <a name="I-Platform-Ant">Platform - Ant</a></h3>
<h4>UTF-8 encoded buildfiles with Byte Order Mark</h4>
<p>UTF-8 encoded buildfiles with byte order marks will fail to be parsed correctly depending on the XML parser being used for the build. Therefore a valid buildfile will fail to build with an error message similar to: "BUILD FAILED: C:\workspace\bom.xml:1: Document root element is missing.". To succeed in building with these files, ensure to include Xerces jars on the Ant runtime classpath so that the Xerces parser is used to parse the XML. As well the context menu for these files in the Navigator or Package Explorer will not have the run shortcuts for Ant builds. (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67048">67048</a>)</p>
<h4> Custom Ant tasks and Ant
types must be separate from plug-in library JARs</h4>
<p>Including the class files for custom Ant tasks or Ant types in the regular
code JAR for your plug-in causes problems. These class files must be provided in
a separate JAR that is contributed to the <code>org.eclipse.ant.core.antTasks</code>
or <code>antTypes</code> extension point (and not declared as a library in the
plug-in's manifest). This ensures that the Ant tasks and types are loaded by the
special Ant class loader and not by a plug-in classloader. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34466">34466</a>).</p>

<h4> Concurrent Ant builds not supported</h4>
<p>Eclipse can run Ant in the same JVM as the rest of Eclipse. Several aspects
of Ant and its use of global Java resources (such as System.out and System.err),
make it unsafe to run more than one Ant build concurrently in the same JVM. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=24129">24129</a>).</p>
<h4> Running certain Ant tasks
cause memory leakage</h4>
<p>Certain Ant tasks are known to leak memory. Please see the bug report for
details, patches, and possible workarounds. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=24448">24448</a>)</p>
<h4> Tasks that require input
lock up workspace</h4>

<p>As with using Ant from the command line, prompts for input from the
console is not handled. This is not the same as making use of the &lt;input&gt;
task, which works correctly within Eclipse. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21748">21748</a>)</p>
<h4>&quot;version&quot; property is always set when running Ant in the same VM as Eclipse</h4>
<p>The Xalan libraries set system properties including a version property. These get set as properties within the Ant build and therefore the "version" property cannot be set within an Ant buildfile due to the immutable nature of Ant properties. This property will always be set to "2.4.1" for Ant builds in the same VM as Eclipse. (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45717">45717</a>)</p>
<h4>XDoclet support from within Eclipse</h4>

<p>Since there are differences when running Ant from the commandline and within Eclipse, some extra steps may be needed to have XDoclet support function correctly within Eclipse. Problems may occur creating XDoclet subtasks. The workarounds and full discussion can be found in bug report. (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37070">37070</a>)</p>
<h4>Ant Editor code completion based on Ant 1.6.1</h4>
<p>Code completion provided by the Ant editor does not respect the user-specified version of org.eclipse.ant.core plug-in or ANT_HOME. Code completion proposals are mostly based on Ant 1.6.1 with some updates to Ant 1.6.5 (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30886">30886</a>)</p>
<h4> Eclipse can hang due to implementation of the Ant &lt;property&gt; task (Windows 9X
only)</h4>
<p>On Windows 9X, using:&lt;property environment="env"/&gt; will cause Eclipse to hang if the build occurs in the same VM as Eclipse. Running the build in a separate VM will hang the build but not Eclipse.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44196">44196</a>)</p>

<h4> Setting build loggers not supported when debugging Ant builds</h4>
<p>When debugging Ant builds within Eclipse, setting -logger as a program argument will be ignored.</p>

<h4>Renaming an External Tool builder set to run during auto-build will cause errors</h4>
<p>If you rename an existing external tool builder that is configured to run during auto-builds, you will get the following error:
 Errors during build.
      Errors running builder "Integrated External Tool Builder" on project
      &lt;PROJECT_NAME&gt;.
      The builder launch configuration could not be found.
The workaround is to first disable the builder for auto-builds and then rename the builder.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=118294">118294</a>)</p>

<h4>Slow typing/saving of the Ant editor with imports that define numerous macrodefs</h4>
<p>The Ant editor is slow on saving with buildfiles that have &lt;import&gt; declarations of buildfiles that have numerous &lt;macrodef&gt;s.
See bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=92640">92640</a> and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=125117">125117</a> for possible workarounds</p>

<h4>Failure to run Ant builds on non-Windows platforms if Eclipse installed in location with spaces in the path</h4>
<p>Due to a bug in Ant 1.7.0, Ant builds will fail with an IllegalArgumentException if the Eclipse installation is in a location with spaces in the path.
Embedded usage of Ant builds, such as plug-in export will also fail.
See bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187993">187993</a> for possible workarounds</p>

<h3>3.2.3 <a name="I-Platform-User-Assistance">Platform - User Assistance</a></h3>
<h4>Welcome page not displayed properly (Linux/Unix)</h4>
<p>The default Welcome implementation is HTML-based and requires a supported browser
in order to work. If no supported browser can be found, Welcome falls back to its
Forms-based implementation, which has a different (simpler) appearance. Consult the
<a href="http://www.eclipse.org/swt/faq.php#browserplatforms">SWT FAQ</a> for supported
browsers and setting up your browser to work with eclipse.
</p>

<h4>Help browser tool bar buttons do not work for some documents</h4>
<p>The Help browser's Print, Synchronize, and Bookmark buttons do not work for
pages that are not actually installed with the product. However, you can always
use the print command in the browser's context menu to print the page you're
reading. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44216">44216</a>)</p>
<h4> Help documents not displayed
in a browser or very slow document loading (Windows only)</h4>

If your LAN settings are not properly configured for local host access, your
Help browser might open to a blank page or display an HTTP error instead of a
help page, or you may experience long delays when loading help documents. Your
system administrator can configure your LAN settings so that help documents can
be accessed from the local help server.
<blockquote>
  <ol>
    <li>In the Control Panel, open <b>Internet Options</b>, select the <b>Connections</b>
      tab and choose <b>LAN Settings</b>.</li>
    <li>If your host was configured to use DHCP for IP assignment, make sure
      that the &quot;Automatically detect settings&quot; check box is cleared.</li>
    <li>If you use a proxy server, ensure that the &quot;Bypass proxy server
      for local addresses&quot; is selected.</li>
    <li>In &quot;Advanced&quot; settings for proxies, add
      &quot;127.0.0.1;localhost&quot; to the &quot;Exceptions&quot; if these
      addresses are not listed.</li>
    <li>If you are using an automatic configuration script for proxy
      settings, and are not sure that the script is correct, clear the &quot;Use
      automatic configuration script&quot; check box.</li>

  </ol>
</blockquote>
<h4> Working disconnected from
the network (Windows only)</h4>
If you are experiencing problems when not connected to the network, you must
install the loopback adapter from the Windows installation CD. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=831">831</a>)
<h4> Using Internet Explorer in
offline mode (Windows only)</h4>

If you have been using Internet Explorer in Offline mode, when you access the
help system you will get a message indicating that the web page you requested is
not available offline or a blank page will display. Click <b>Connect</b> or
deselect &quot;Work Offline&quot; in the Internet Explorer &quot;File&quot; menu
to return the system behavior to normal.
<h4>Help topics not highlighted in High Contrast mode (Windows only)</h4>
<p>Windows High Contrast settings are not consistently picked up by Internet
Explorer when they are set from the Accessibility Options utility as opposed to
when they are set using the predefined schemes. On Windows XP, it is recommended
to set High Contrast as follows: Right click the desktop, chose properties,
select Windows Classic style from the Windows and buttons drop down on the
Appearance tab, and choose your scheme (for example High Contrast Black) from
Color Scheme drop down. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=28609">28609</a>)</p>

<h3>3.2.4 <a name="I-Platform-UI">Platform - UI</a></h3>
<h4>High contrast settings</h4>
<p>Eclipse was tested for High Contrast using 1152 x 864 resolution in Windows
XP High Contrast mode. You can select this mode by selecting Accessibility
Options &gt; Display &gt; Use High Contrast from the Windows XP Control Panel
menu.</p>
<h4>Default text file encoding
may be detected incorrectly (Windows XP/2000 only)</h4>

<p><strong>Note</strong>: the bug report associated with this problem has been fixed. 
If you run Eclipse with JDK 1.5 or greater you should not have to use the workaround 
stated below any longer. However, the problem still exists when running Eclipse with 
JDK 1.4.x or lower, so in this case  the workaround is still required . </p>
<p>The &quot;Text file encoding&quot; value displayed in the Preferences
  dialog under &quot;Editors&quot; may be wrong on platforms running Windows XP
(or 2000) when the user locale and system locale differ.&nbsp;</p>
<p>Example of the manifestation of the bug: A Japanese user using Japanese
Windows 2000 works in New York, United States. The user has selected English
(United States) as the user locale. The &quot;Text file encoding&quot; value
displayed by Eclipse is incorrect: &quot;Cp1252&quot; (English). It should
display the system locale &quot;MS932&quot; (Japanese).</p>
<p>Workaround: The user can modify the user locale so that user locale and
system locale are identical. In the example above, this means the user should
set Japanese as the user locale. Then restart Eclipse. The &quot;Text file
encoding&quot; value will then be correct: &quot;MS932&quot; (Japanese).</p>

<p>For Windows XP:</p>
<ul>
  <li>To check the system locale: Open the Control Panel. Go to Regional and
    Language Options. Switch to the Advanced tab. The system locale is specified
    in &quot;Language for non-Unicode programs&quot;.</li>
  <li>To change the user locale: Open the Control Panel. Go to Regional and
    Language Options. The user locale can be modified by changing the language
    in &quot;Standards and formats&quot;.</li>
</ul>
<p>For Windows 2000:</p>
<ul>
  <li>To check the system locale: Open the Control Panel. Go to Regional
    Options. Look up the items in the General tab, inside the &quot;Language
    settings for the system&quot; group. The system locale is the item marked as
    (Default).</li>
  <li>To change the user locale: Open the Control Panel. Go to Regional
    Options. The user locale can be modified by changing the location in
    &quot;Settings for the current user&quot;.</li>

</ul>
<p>(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=20641">20641</a>)</p>
<h4> Dirty state not tracked
properly for OLE documents (Windows only)</h4>
<p>The dirty state for an OLE document is not updated properly. This causes
Eclipse to prompt to save the contents of the editor when the document is
closed, even if the contents have already been saved. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2564">2564</a>)</p>
<h4> OLE document crashes can
cause Eclipse to also crash (Windows only)</h4>
<p>If an OLE document crashes, Eclipse can crash, or the workbench menus can
become inconsistent.</p>
<h4>2.1 Presentation based workspaces incorrectly get new Min/Max behavior</h4>
<p>
Workspaces that are currently using the Eclipse 2.1 Presentation will incorrectly
'inherit' the new min/max behavior when opened with 3.3.
</p>
<p>
Workaround:</p>
<ol>
 <li>Go to the 'Preferences -&gt; Appearance' page, change the current presentation to 'Default' and select apply</li>
 <li>Change it back to the 2.1 Presentation, select 'OK' and 'Yes' to the restart prompt</li>
</ol>
When the workbench re-opens the old min/max behavior will be restored.
<h4>Toolbars only containing contributed controls exhibit display errors on Mac/Linux</h4>
<p>
Currently there is no way on the Max or Linux platforms to define the <b>height</b> for controls contributed to
toolbars, nor will those platforms respect the size returned by the control's <code>computeSize</code> method. If you
encounter this issue there is currently no truly viable workaround.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=183003">183003</a>)
</p>


<h3>3.2.5 <a name="I-Platform-Text">Platform - Text</a></h3>
None.

<h3>3.2.6 <a name="I-Platform-SWT">Platform - SWT</a></h3>
<h4>Eclipse plug-in based on the SWT Browser throws exception</h4>
<p>The SWT Browser widget uses a platform-specific web browser to render HTML.
The org.eclipse.swt.SWTError exception (&quot;No more handles&quot;) is thrown
on platforms that don't meet the requirements for running the Browser widget.
Supported platforms and prerequisites are listed on the SWT FAQ item <a href="http://www.eclipse.org/swt/faq.php#browserplatforms">
&quot;Which platforms support the SWT Browser?&quot;</a>.</p>

<h4>Opening File Dialog crashes eclipse (Vista only)</h4>
<p>On Vista, launching eclipse using <code>-vmargs -Xmx[any size]</code> can crash eclipse when the FileDialog is opened.
The workaround is to use the default heap size, i.e. do not use the <code>-Xmx</code> VM args.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188317">188317</a>)</p>

<h4>Crash while editing text (Windows XP with SP2 only)</h4>
<p>Some users who have installed Service Pack 2 on Windows XP have experienced
crashes while using editors in Eclipse.  The workaround is to place a working version 
of Windows\System32\USP10.DLL in the Eclipse startup directory or uninstall
Service Pack 2.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56390">56390</a>)</p>

<h4>Input Method broken (Motif only)</h4>
<p>Some versions of RedHat Linux such as Fedora Core 3 and Enterprise Linux WS 
release 4 use a new technology called IIIM (Intranet/Internet Input Method
Framework) to replace the old XIM (X input method).   When running on these 
new systems, Eclipse will crash if you attempt to enter any DBCS character.  The 
workaround is to use a XIM based input method such as chinput.  This problem 
may be fixed in newer releases of RedHat.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=89722">89722</a>)</p>

<h4>Eclipse does not start on Linux-Motif with Xinerama and a UTF-8 locale</h4>
<p>The Linux-motif build of Eclipse does not launch properly when run on a 
computer with Xinerama (provides support for dual head monitors) and a UTF-8 
locale.  The workaround for this problem is to change the locale to a non-UTF-8 
value, or to disable Xinerama.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38843">38843</a>)
</p>

<h4>Eclipse hangs when pasting from an unresponsive application (GTK only)</h4>
<p>If the application that is supplying the clipboard material is unresponsive,
the paste operation hangs Eclipse for several minutes. This situation can be
encountered when copying from an Eclipse target workbench, suspending the target
workbench at a breakpoint and pasting into the hosting Eclipse workbench. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44915">44915</a>)</p>

<h4>Unable to drag data between applications in simplified Chinese locale (Motif only)</h4>
<p>When configured for the simplified Chinese locale, it is not possible to
drag data between applications running on the Motif window system. This is a
known limitation of the Open Motif library. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=29777">29777</a>)</p>

<h4>Crash when attempting to launch file browser (AIX Motif only)</h4>
<p>There is a known AIX graphics bug affecting certain levels of AIX
releases. Ensure that the AIX install includes the necessary service updates as
described in the &quot;Install notes/requirements for Eclipse on AIX&quot;
attachment to Eclipse bug report number <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34524">34524</a>.</p>

<h4>Available colors on 8-bit Linux (Linux only)</h4>
<p>Typically, in Gnome Linux installs running with 8-bit visuals (i.e. 256
color mode), before the Eclipse application is started there are no free colors.
This may mean that Eclipse is unable to allocate the default widget background
color, causing it to display a white background. The functionality, however, is
otherwise unaffected.</p>

<h4>IME-related crash (Linux Motif only)</h4>
<p>When using Linux Motif and GB18030 IME &quot;chinput&quot;, Eclipse can
crash if the IME client window is left open when the parent window is disposed.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32045">32045</a>)</p>

<h4>IME conversion problem (Solaris GTK only)</h4>
<p>When typing Japanese text, the conversion to Kanji must be done one ideogram at
a time. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=226636">226636</a>)</p>

<h4> gtk_init_check and X11 socket failure when using the IBM 1.4.2 JRE (GTK only)</h4>
<p>Under RHEL 3.1 with the IBM 1.4.2 JRE and a large number
of plugins, Eclipse may fail to launch with an exception from
<tt>gtk_init_check</tt> along with this error:</p>
<pre>
_X11TransSocketOpen: socket() failed for local
_X11TransSocketOpenCOTSClient: Unable to open socket for local
</pre>
<p>A workaround is to set the environment variable <tt>JAVA_HIGH_ZIPFDS</tt> to
a value of 500 before starting Eclipse. (bug
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106396">106396</a>)</p>

<h4>Key bindings can stop working on Debian (GTK+ only)</h4>
<p>On some versions of Debian, Eclipse key bindings may stop working.  In this context
the only way to make the key bindings work again is to restart Eclipse.
</p><p>
The problem is that a focus issue exists in GTK+ 2.6.7 and earlier, for which SWT has
a workaround.  This workaround is incompatible with the GTK+ 2.6.7 fix, so a GTK+ version
check is done at runtime to determine whether the workaround should be used or not.
However, Debian backported the GTK+ focus fix into their libgtk+2.0 (2.6.4-2) package,
so the SWT workaround and GTK+ fix are both incorrectly applied in this context.
</p><p>
To work around this problem, either get the Debian unstable version of GTK+, compile your
own GTK+, or hack SWT's Shell.gtk_realize(int) and change the version that it checks.
See SWT bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107013">107013</a>
and GTK+ bug <a href="http://bugzilla.gnome.org/show_bug.cgi?id=109246">109246</a>
for more information.</p>

<h4>Typing in an editor crashes with IBM 1.5 VM (Linux GTK PPC only)</h4>
<p>When running on the IBM Java 5.0 VM, Eclipse crashes while the user is typing in an editor.
If using this VM you must disable the JIT with the -Xnojit vm argument to avoid the crashes
(see bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=116730">116730</a>).
The command line for launching Eclipse with this vm should be: <br/>
<code>eclipse -vmargs -Dosgi.locking=none -Xnojit</code>
</p>

<h4>Eclipse won't start (Linux GTK PPC only)</h4>
<p>Eclipse fails to create a lock file with reason &quot;No locks available&quot;. 
To launch eclipse you must disable file locking using the osgi.locking property.
For example, you could launch eclipse as follows: <br/>
<code>eclipse -vmargs -Dosgi.locking=none</code>
</p>

<h4>SWT for Carbon cannot be used with Mac OS X JRE version 1.6 (Mac OS X 10.5 only)</h4>
<p>On Leopard (Mac OS X 10.5), JDK version 1.6 assumes that pointers have a size of 64 bits, but SWT's Carbon
port only uses 32-bit pointers, so SWT and Eclipse cannot be used on Leopard with JDK version
1.6.  The workaround is to use the Cocoa version of SWT or an earlier supported version
of the Mac OS X JDK.
</p>
<p>Snow Leopard (Mac OS X 10.6) has both a 32-bit and 64-bit version of JDK 1.6, so this restriction does not apply on that version of the operating system.
</p>

<h4>Strings may be truncated or incorrectly wrapped on RHEL5 (Linux GTK only)</h4>
<p>
Strings on wrapping Controls may not appear correctly in some locales on RHEL5 as a result
of a bug in Pango version 1.14.x.  This problem can be fixed by upgrading the installed
Pango library to a version that is newer than 1.14.x. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=231951">231951</a>)
</p>

<h4>Block Selection functionality provided by StyledText is not BIDI aware</h4>
<p>
When the orientation of characters under the left and right edges of the block
selection rectangle are not the same, the actual selection ranges (in memory)
differ from the visual representation of the selection. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=277929">277929</a>)
</p>

<h4>Older versions of some Windows screen readers no longer work with Eclipse</h4>
<p>JAWS versions 8 and 9 and Window-Eyes version 6 no longer work well with Eclipse and other SWT applications.
Window-Eyes 6 will cause Eclipse to crash, and JAWS 8 and 9 can cause SWT applications to crash.
This happens because IAccessible2 support was added to SWT for Eclipse 3.6, but these older screen reader versions contain
partial implementations of IAccessible2 that do not follow the current IAccessible2 specification.</p>
<p>
The workaround for these cases is to specify Java property <code>org.eclipse.swt.accessibility.UseIA2</code> with value <code>false</code>,
which will instruct SWT to not attempt to use IA2 interfaces.  An easy way to set this property is to specify VM argument
<code>-Dorg.eclipse.swt.accessibility.UseIA2=false</code> when launching Eclipse or your SWT application. (bug
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313182">313182</a>)</p>


<h3>3.2.7 <a name="I-Platform-Team-CVS">Platform - Team - CVS</a></h3>
<p>The following are known problems with the CVS repository provider only, and
do not apply to other repository providers. Additional information on how to use
CVS from Eclipse can be found in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-vcm-home/docs/online/cvs_features2.0/cvs-faq.html">Eclipse
CVS FAQ</a>.</p>
<h4> CVS server compatibility</h4>
<p>The CVS plug-in parses messages returned from the CVS server. If the format
of these messages is not as expected, some of the plug-in's functionality may be
missing. The CVS plug-in is compatible with all stable 1.11.X builds of the CVS
server, and should be compatible with future releases in that stream unless text
message formats change (the last tested server was 1.11.22). As for the 1.12.X
feature releases of CVS, the Eclipse CVS client has been tested with builds up
to 1.12.13. However, future releases could easily break the Eclipse CVS client.
Basic functionality, such as Checkout, Commit, and Update, should always work,
but there may be problems with more advanced commands such as Synchronizing and
Browsing the repository.</p>
  
<h4>SSH2 proxy settings lost upgrading to 3.3</h4>
<p>CVS now uses the Platform proxy settings. As a result, any CVS proxy settings
will be lost and must be re-entered on the General&gt;Network Connections preference 
page. </p>
<h4>Connection cannot be found after initially missing</h4>
<p>If a connection initially fails due to a network problem, the connection may
continue to fail even when the network problem is fixed. In order to establish
the connection you must exit and restart Eclipse. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=9295">9295</a>)</p>
<h4>&quot;Received broken pipe signal&quot; error from server</h4>
<p>Eclipse sometimes performs multiple commands within a single connection to
the server. This may cause problems with CVS servers that are running server
scripts in response to certain commands. (bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23575">23575</a>
and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23581">23581</a>)</p>

<h4>&quot;Terminated with fatal signal 10&quot; error from server</h4>
<p>There is a bug in the CVS server related to some compression levels. If you
get this error, changing the compression level on the CVS preference page may
help. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=15724">15724</a>)</p>
<h4>&quot;Unknown response&quot; error using ext connection method</h4>
<p>There are a few situations that can result in an &quot;Unknown response&quot;
error messages when using the ext connection method. One situation involves
using an external communications client (e.g. rsh or ssh) that adds CRs to the
communications channel (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21180">21180</a>).
Another involves Eclipse not properly reading the stderr output of the external
communications tool. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=11633">11633</a>)</p>

<h4>A disabled CVS capability may not be auto-enabled in existing workspaces</h4>
<p>New in 3.0 is the ability to disable capabilities and the CVS support in
Eclipse can be disabled. However, for backwards compatibility the CVS capability
is auto-enabled in existing workspaces that already contain CVS projects. The
auto-enabling function may not run if the team support plugin is not loaded at
startup. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66977">66977</a>)</p>
<h4>Builder output files may appear as changed</h4>
<p>When folders containing build output are shared they may get improperly
marked as dirty when build output is generated.</p>

<h4>Enabling GNOME proxy support</h4>
<p>GNOME applications can make use of proxy settings defined in this environment.
If set, Eclipse will use it prior to proxy settings declared using env variables.
This feature is disabled by default, to enable it launch Eclipse with
<code>"-Dorg.eclipse.core.net.enableGnome"</code> switch. That is,</p>
<pre>eclipse -Dorg.eclipse.core.net.enableGnome</pre>

<h3>3.2.8 <a name="I-Platform-Install-Update">Platform - Install/Update</a></h3>
<h4>Manually installing features and plug-ins on a FAT file system (Windows only)</h4>

<p>When features and plug-ins are manually installed on top of an Eclipse-based
 product install located on a FAT file system that has already been run at least 
 once, the product must be explicitly restarted with -clean. That is,</p>
<pre>eclipse.exe -clean
</pre>

<h4>Connecting to untrusted sites using https</h4>
<p>You cannot install or update software from a site using https whose certificate
is not chained to a trusted root certificate in your local certificate store. This typically
means the server is using a self-signed certificate, or a certificate authenticated by
an unknown third party.</p>

<h4>Extension location is lost if the install path changes</h4>
<p>A previously configured extension location may be temporarily removed if the install is moved or mounted 
under a different path. This only happens when the link file that configures the 
extension location uses a relative path that points to a directory under the Eclipse 
install. On a second startup using the same install path, the extension location 
is added again (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=95403">95403</a>). <br/></p>

<h4>Feature patches can only be installed from Eclipse 3.4-based update sites</h4>
<p>Feature patches can only be installed from update sites designed for Eclipse 3.4 or greater.
Specifically, the update site must have the necessary metadata for Equinox p2 (a content.xml
or content.jar file). This data can be generated by building an update site using Eclipse 3.4
or newer, or running the p2 metadata generator on an update site built using earlier versions
of the Eclipse SDK. See the help topic <i>Generating p2 metadata</i> for more details on running the p2 metadata
generator (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244483">244483</a>).
</p>

<h3>3.2.9 <a name="I-Platform-Debug">Platform - Debug</a></h3>
<p>None. (Known problems with the Java debugger appear below in the <a href="#I-JDT">JDT</a>
section.)</p>

<h3>3.2.10 <a name="I-Platform-Compare">Platform - Compare</a></h3>
<p>None.</p>

<h3>3.3 <a name="I-JDT">Java development tools (JDT)</a></h3>

<h4>Multiple regions formatting in a given source snippet</h4>
In version 3.4, the new API method <code>org.eclipse.jdt.core.formatter.CodeFormatter.format(int, String, IRegion[], int, String)</code>
has been added to allow the formatting of several regions in a source snippet with a single pass.<br/>
Even if specified, this method does not currently accept comments of the following kinds:
<ul>
<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_SINGLE_LINE_COMMENT</code></li>
<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_MULTI_LINE_COMMENT</code></li>
<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_JAVA_DOC</code></li>
</ul>
This will be fixed in a future release (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233967">233967</a>).

<h4>Searching for constant field references</h4>
<p>Search does not find references to constant fields inside binaries because
the Java Language Specification mandates that constant field values be inlined
in the class file's byte codes, leaving no trace of a field reference.&nbsp;(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=12044">12044</a>)</p>

<h4> Cut, copy, paste not working
for linked resources in views showing Java elements</h4>
<p>The cut, copy, and paste actions do not work for linked files and folders
appearing in views that show Java elements, including the Package Explorer. The
workaround is to use these actions from the Navigator view instead. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34568">34568</a>)</p>
<h4> Java working sets not
working correctly for elements from JRE system library container</h4>
<p>Applying a working set consisting entirely of elements from the JRE System
library container as a filter to the packages view might result in an empty
Package Explorer. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30442">30442</a>)</p>

<h4>Breakpoints unreliable running Sun 1.6.0_14</h4>
Developers debugging applications on Sun's 1.6.0_14 
virtual machine should be aware that breakpoints are unreliable (i.e. do 
not always suspend execution). The problem occurs on Windows and Linux 
platforms. This is an issue with the VM and not with Eclipse.
The workaround is to use the <code>-XX:+UseParallelGC</code> VM option. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137">279137</a>).

<h4>Side effects of Step into Selection and Run to Line</h4>
<p>The actions &quot;Step into Selection&quot; and &quot;Run to Line&quot;
optimistically set breakpoints on the line the user has chosen to step into or
run to. However, the debugger can not determine if or when execution will ever
reach the chosen line. The breakpoints set by the underlying implementation are
not visible to the user and can cause execution to suspend unexpectedly at a
later time, when the associated line is actually executed. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51507">51507</a>)</p>

<h4>Default locale initialization incorrect</h4>
<p>The default locale is generally initialized from the settings in the
operating system when a target VM is launched. However, when using javaw.exe on
JDK1.4.2, Windows XP, the default locale is incorrectly initialized to en_US, no
matter what the operating system settings are. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65945">65945</a>)</p>

<h4>Some refactoring script operations fail with Sun 6.0 JREs</h4>
<p>Creating and applying refactoring scripts sometimes fails with Sun 6.0 JREs
due to a bug in the XML parser that is shipped with those VMs.
A workaround is to use a J2SE 5.0 VM or an IBM 6.0 VM.
Another workaround is to replace the XML parser using the
<a href="http://java.sun.com/javase/6/docs/technotes/guides/standards/index.html">Java Endorsed Standards Override Mechanism</a>:
</p>
<ol>
  <li>Get original versions of xml-apis.jar, xercesImpl.jar, xalan.jar, and serializer.jar from Apache, e.g.
    xalan-j_2_7_1-bin.zip from <a href="http://xml.apache.org/xalan-j/downloads.html">here</a>.
  </li>
  <li>Unpack the archive and copy the 4 JARs into <code>&lt;path-to-your-JavaSE6.0-install&gt;\jre\lib\endorsed\</code>.
  </li>
</ol>
(see Sun bug <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6760982">http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6760982</a>,
Eclipse bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=262820">262820</a>)

<h4>Suspend on uncaught exception overrides exception breakpoint location filters</h4>
<p>Exception breakpoints can be configured with location filters (inclusive and 
  exclusive). When an unchecked exception is configured to <b>not</b> suspend 
  execution in a specific class, execution will still suspend when the user preference 
  to suspend on uncaught exceptions is on. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66770">66770</a>)</p>

<h4>Running Java programs with non-Latin-1 characters in package or class names</h4>
You get a <code>java.lang.NoClassDefFoundError</code> when running Java
programs with non-Latin characters in the package or class names. The workaround
is to package the class files as a JAR file and run the program out of the JAR
and not from the file system directly. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4181">4181</a>)

<h4>Cannot run or debug class in
a project with GB18030 characters in project name</h4>
<p>Most class libraries do not properly support the creation of a system
process (via <code>java.lang.Runtime.exec(...)</code>) when the specified
command line contains GB18030 characters. This limitation means the debugger
cannot launch applications when the command line it generates contains GB18030
characters. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32206">32206</a>)</p>

<h4>Cannot detect installed JRE with GB18030 characters in path name</h4>
<p>Automatic JRE detection fails when the JRE is stored in a directory
containing GB18030 characters in its name. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=33844">33844</a>)</p>

<h4>Cannot generate Javadoc for packages with GB18030 characters in the name</h4>
<p>Most class libraries do not properly support the creation of a system
process (via <code>java.lang.Runtime.exec(...)</code>) when the specified
command line contains GB18030 characters. Since Javadoc is created using the
Javadoc executable provided with the JDK, generating Javadoc fails if the
package or class name contains GB18030 characters. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32215">32215</a>)</p>

<h4> Unable to debug stack
overflows</h4>

<p>If a debug session suspends on a <code>java.lang.StackOverflowError</code>
exception (due to an exception breakpoint), the debugger may not be able to
retrieve any debug information from the target JVM. As well, the debugger may
not be able to reliably interact with the target JVM past this point. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19217">19217</a>)</p>
<h4> Evaluation limitation</h4>
<p>The debugger uses threads in the target JVM to perform evaluations (both
explicit evaluations that the user requests, and implicit evaluations such as <code>toString()</code>
invocations in the <b>Variables</b> view). The Java Debug Interface (JDI)
requires that the thread in which an evaluation is performed be suspended by a
user event (that is, a breakpoint or step request). Evaluations cannot be
performed on threads suspended by the suspend action. As well, when a breakpoint
is configured to suspend the JVM rather than just the individual thread, the
threads which did not encounter the breakpoint are not in a valid state to
perform an evaluation. When an evaluation is attempted in a thread that is not
in a valid state to perform an evaluation, an error message will appear to the
effect of &quot;Thread must be suspended by step or breakpoint to perform method
invocation&quot;. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34440">34440</a>)</p>

<h4> Missing debug attributes</h4>
The debugger requires that class files be compiled with debug attributes if
it is to be able to display line numbers and local variables. Quite often, class
libraries (for example, &quot;<code>rt.jar</code>&quot;) are compiled without
complete debug attributes, and thus local variables and method arguments for
those classes are not visible in the debugger.
<h4> Using Hot Code Replace</h4>
<p>Hot code replace is supported on JDK 1.4.x VMs, and IBM J9 VMs. The debugger
will attempt to replace all class files that change in the workspace as the user
edits and builds source code. However, hot code replace is limited to changes
that a particular virtual machine implementation supports. For example, changes
within existing methods may be supported, but the addition or removal of members
may not be.</p>
<p>Note that hot code replace and stepping on JDK 1.4.0 VMs was unreliable. The
underlying VM problems were fixed in JDK 1.4.1, and later.</p>
<h4> Scrapbook</h4>
Setting a breakpoint inside a scrapbook page is not supported.

<p>When a snippet is run in the scrapbook which directly or indirectly calls <code>System.exit(int)</code>,
the evaluation cannot be completed, and will result in a stack trace for a <code>com.sun.jdi.VMDisconnectedException</code>
being displayed in the scrapbook editor.</p>
<p>Terminating a scrapbook page while it is performing an evaluation results
in a <code>com.sun.jdi.VMDisconnectedException</code> being displayed in the
scrapbook editor.</p>
<h4> Debugging over slow
connections</h4>
A global Java debug preference specifies the debugger timeout, which is the
maximum amount of time the debugger waits for a response from the target VM
after making a request of that VM. Slow connections may require that this value
be increased. The timeout value can be edited from the <b>Java &gt; Debug </b>preference
page. Changing the timeout value only affects subsequently launched VM, not VMs
that are already running.

<h4> Updating of inspected values</h4>
When inspecting the result of an evaluated expression in the debugger, it is
important to note that the result displayed is the result of that expression at
the time it was evaluated. For example, when inspecting a simple integer counter
(primitive data type), the value displayed in the Expressions view is the value
when the expression was evaluated. As the counter is changed in the running
program, the inspected result will not change (since the view is not displaying
the value bound to a variable - it is displaying the value of an expression, and
the value of a primitive data type cannot change). However, if an expression
results in an object, fields of that object will be updated in the inspector as
they change in the running program (since the value bound to fields in an object
can change).
<h4> Stepping over native methods
that perform I/O</h4>
When the debugger steps over native methods that perform I/O to <code>System.out</code>
or <code>System.err</code>, the output may not appear immediately unless the
native performs a flush on the output buffer.
<h4> VM and process termination
running on IBM 1.3 JVM on Linux (Linux only)</h4>
Terminating a launch, debug target, or system process associated with a debug
target running on the IBM 1.3 JVM on the Linux platform does not work when the
associated debug target has a suspended thread. To remove such debug targets
from the debug UI, select <b>Terminate and Remove</b> from the debug view's
pop-up menu (or use the shortcut &quot;delete&quot; key). Associated system
processes in the OS may not be properly cleaned up. If a debug target has no
suspended threads, termination works properly. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=1631">1631</a>)


<h4> Memory View (Linux only)</h4>
The feature to automatically load segments of memory while scrolling in the Memory
view does not work on Linux. Instead the user must use the &quot;Next Page&quot; and &quot;Previous Page&quot; actions
to manually load memory segments (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74559">74559</a>)
<h4>Java 6 and MacOS</h4>
Apple JavaSE-1.6 VMs only execute on 64-bit architectures but JDT will detect 1.6 VMs installed on 32-bit
architectures when a new workspace is started or when the user presses the &quot;Search...&quot; button
on the Installed JREs preference page. Error messages will appear in the log each time JDT attempts to
determine which execution environments a 1.6 VM is compatible with. JDT can be configured to ignore 1.6
JREs by removing them from the Installed JREs preference page.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=262542">262542</a>)

<h4>Java Annotation Processing</h4>
<p>Some methods in the processing API are unimplemented when compiling within the IDE, and will
throw <code>UnsupportedOperationException</code>.</p>
<p>
Java 6 annotation processors are supported in the batch compiler and in the
IDE. By design, Java 6 processors are only executed during a build, not while
editing. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188558">188558</a>)</p>
<p>
Java 5 annotation processors are supported in the IDE only. Java 5 processors
can be executed while editing, as well as during a build. Slow annotation
processors can cause a slowdown of the editing experience. If this occurs, you
may wish to turn off <b>Enable processing in editor</b> on the <b>Java Compiler &gt; Annotation Processing</b> properties
page of your Java project.</p>

<h4>Java indexing encounters problems when a folder is used both as a source and a class folder</h4>
<p>Java indexing encounters problems when a folder is used both as a source folder
in a project and as a class folder in another project. Hence, when this peculiar setup is
used, the Java Search might miss matches located in such a folder. To avoid this kind of problem, it is strongly advised to use different
folders for sources and binary classes. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=309903">309903</a>)</p>

<h3>3.4 <a name="I-PDE">Plug-in Development Environment (PDE)</a></h3>
<h4>Feature manifest editor does not preserve all comments</h4>

<p>When a non-source page of the feature manifest editor is used, PDE will convert
changes back into XML by regenerating the file. Although the overall content and
most of the comments are preserved, some comments may be lost. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59502">59502</a>)</p>
<h4>PDE will not unzip source zips of some plug-ins</h4>
<p>In the plug-in import wizard, when you choose to import plug-ins as
&quot;projects with source folders&quot;, PDE will not unzip the source for the
org.apache.ant, org.eclipse.core.runtime.compatibility.registry, org.eclipse.osgi.util and org.eclipse.osgi.services. This is
because the source ZIPs contains code that will not compile when unzipped as it
requires additional JARs that are not part of the SDK. To avoid the creation of
plug-in projects that won't compile, PDE will import these plug-ins as binary
and attach source, so you would still be able to read the source, you just won't
be able to modify it. Also, PDE will not unzip the source for the
org.eclipse.swt plug-ins. In this case, it is because, when shipped, the swt
code is spread across a plug-in and a fragment, and when unzipped, it will
require circular dependencies between the plug-in and fragment projects. These
circular dependencies are at minimum marked as warnings by the JDT compiler and
may result in unpredictable build behavior. Therefore, PDE always imports
org.eclipse.swt as binary with source attached. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66314">66314</a>)</p>

<h4>Emacs key bindings do not
work in manifest editor fields</h4>
<p>Non-default key bindings currently do not work in fields on non-source
pages of the PDE manifest editors. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19482">19482</a>)</p>
<h4>Plug-in import wizard does
not allow plug-ins of different versions to be imported</h4>
<p>The Eclipse platform allows two plug-ins with the same ID but different
versions to coexist if the only thing they contribute is run-time libraries.
However, PDE cannot handle these plug-ins because it creates project names using
plug-in Ids during binary project import. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=18500">18500</a>)</p>
<h4>Export of plug-in may silently drop classes</h4>
<p>When exporting a plug-in using the plug-in, feature or product wizards, some classes
might be dropped from the resulting archive if their fully qualified name is too long.
This typical path limitation can be worked around by creating the jar of the problematic
plug-in by using the Jar export wizard.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=97150">97150</a>)</p>

<h4>Compilation errors when exporting projects not stored outside of the workspace</h4>
<p>When exporting multiple plug-ins and one is stored outside of the workspace,
compile errors occurs on export. To work around the problem, you can either export
the plug-ins one by one, or change their location.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=98579">98579</a>)</p>

<h4>Headless build needs to be run from a fully qualified path</h4>
<p>When running a headless build using the scripts provided by pde build, the properties <code>builder</code> 
and <code>buildDirectory</code> must refer to a fully qualified path.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=139554">139554</a>)
</p>

<h4>Target Platform only sees installed plug-ins</h4>
<p>With the new p2 provisioning system in 3.4, PDE introduced a preference to control how target platforms are built. 
By default, this preference is on if your target equals your host, otherwise it's off. When this preference is enabled, PDE attempts to
read a target platform's configuration and build the target platform based in the target's list of installed plug-ins. If a configuration
can't be found (a bundles.info or platform.xml file), PDE will simply manually scan the target directory and populate the target platform's
list of plug-ins.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=226037">226037</a> and bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=225148">225148</a>)
</p>

<h4>Delta pack is not seen by PDE when installed</h4>
<p>If you're using the delta pack, the target platform preference for building a target based on the target's installed plug-ins must be checked off.
This is because a target's runtime configuration only contains plug-ins specific to the platform it's running on.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=230146">230146</a>)
</p>

<h4>The org.osgi.util.tracker package is exported at wrong version</h4>
<p>The Equinox OSGI Framework (org.eclipse.osgi) exports the org.osgi.util.tracker package
at the incorrect version of 1.4.2.  The correct org.osgi.util.tracker package version for 
the OSGi Release 4 Version 4.2 specification is version 1.4.0.  Bundles that 
wish to run on other vendor frameworks should import the org.osgi.util.tracker package at
version 1.4.0.  By default PDE will suggest the version 1.4.2 to be used when a bundle imports 
the org.osgi.util.tracker package (using Import-Package manifest header).  Developers can 
manually change the import to use 1.4.0 version of the package to be able to run on both
Equinox and other vendor frameworks.
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=279622">279622</a>)
</p>

<h4>Importing plug-ins as source misses resources</h4>
<p>When importing plug-ins as source (from associated binary plug-ins and source bundles), resources
such as property files and images will not be imported into the workspace. The workaround is to retrieve
projects from their associated CVS repository or import binary plug-ins with attached source (if the ability
to edit the imported plug-ins is not required).
(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=280259">280259</a>)
</p>

<h2>4. <a name="RunningEclipse">Running Eclipse</a></h2>
<p>After installing the Eclipse SDK in a directory, you can start the Workbench
by running the Eclipse executable included with the release (you also need a 1.4.2
JRE, not included with the Eclipse SDK). On Windows, the executable file is called <samp>eclipse.exe</samp>,
and is located in the <code>eclipse</code> sub-directory of the install. If
installed at <code>c:\eclipse-SDK-3.6-win32</code>, the executable is <code>c:\eclipse-SDK-3.6-win32\eclipse\eclipse.exe</code>.

<b>Note:</b> Set-up on most other operating environments is analogous. Special
instructions for Mac OS X are listed <a href="#macosx">below</a>.</p>

<h3>Allocating enough memory and solving OutOfMemoryErrors</h3>
<p>By default, Eclipse will allocate up to 256 megabytes of Java heap memory. This should
be ample for all typical development tasks. However, depending on the JRE
that you are running, the number of additional plug-ins you are using, and
the number of files you will be working with, you could conceivably have to increase this amount. 
Eclipse allows you to pass arguments directly to the Java VM using the
<code>-vmargs</code> command line argument, which must follow all other Eclipse specific arguments.
Thus, to increase the available heap memory, you would typically use:</p>
<blockquote>
  <p><code>eclipse -vmargs -Xmx&lt;memory size&gt;</code></p>
</blockquote>
<p>with the <code>&lt;memory size&gt;</code> value set to greater than
&quot;256M&quot; (256 megabytes -- the default). 
</p>
<p>
When using a Sun VM, you may also need to increase the size of the permanent
generation memory.  The default maximum is 64 megabytes, but more may
be needed depending on your plug-in configuration and use.  When the VM runs
out of permanent generation memory, it may crash or hang during class loading.
This failure is less common when using Sun JRE version 1.5.0_07 or greater.
The maximum permanent generation size is increased using the -XX:MaxPermSize=&lt;memory size&gt; argument:</p>
<blockquote>
  <p><code>eclipse -vmargs -XX:MaxPermSize=&lt;memory size&gt;</code></p>
</blockquote>
<p>This argument may not be available for all VM versions and platforms; consult your VM documentation
for more details.
</p>
<p>
Note that setting memory sizes to be larger than the amount of available physical
memory on your machine will cause Java to &quot;thrash&quot; as it copies objects
back and forth to virtual memory, which will severely degrade your performance.
</p>
<h3>Selecting a workspace</h3>
<p>When the Workbench is launched, the first thing you see is a 
dialog that allows you to select where the workspace will be located. The
workspace is the directory where your work will be stored.
If you do not specify otherwise, Eclipse creates the workspace in your
user directory.
This workspace directory is used as the default content area for your projects
as well as for holding any required metadata. For shared or multi-workspace
installs you must explicitly specify the location for your workspace using the
dialog (or via the &quot;<code>-data</code>&quot; command line argument).</p>
<h3>Specifying the Java virtual machine</h3>
<p>Here is a typical Eclipse command line:&nbsp;</p>

<blockquote>
  <p><code>eclipse -vm c:\jdk1.4.2\jre\bin\javaw</code></p>
</blockquote>
<p><i>Tip:</i> It's generally a good idea to explicitly specify which Java VM to
use when running Eclipse. This is achieved with the &quot;<code>-vm</code>&quot;
command line argument as illustrated above. If you don't use &quot;<code>-vm</code>&quot;,
Eclipse will look on the O/S path. When you install other Java-based products,
they may change your path and could result in a different Java VM being used
when you next launch Eclipse.</p>
<p>To create a Windows shortcut to an installed Eclipse:</p>
<ol>
  <li>Navigate to <code>eclipse.exe</code> in Windows Explorer and use Create
    Shortcut on the content menu.</li>
  <li>Select the shortcut and edit its Properties. In the Target: field append
    the command line arguments.</li>
</ol>
<p>Opening this shortcut launches Eclipse. (You can drag the shortcut to the 
Windows Desktop if you want to keep it in easy reach.)</p>

<h3><a name="macosx">Mac OS X</a></h3>
<p>On Mac OS X, you start Eclipse by double clicking the Eclipse application. If you need to 
pass arguments to Eclipse, you'll have to edit the <code>eclipse.ini</code> file
inside the Eclipse application bundle: select the Eclipse application bundle icon while holding down the Control Key.
This will present you with a popup menu. Select &quot;Show Package Contents&quot; in the popup menu.
Locate <code>eclipse.ini</code> file in the <code>Contents/MacOS</code> sub-folder and open it with your favorite text editor to edit the command line options.
</p>

<p>
On MacOS X you can only launch a UI program more than once if you have separate
copies of the program on disk. The reason for this behavior is that every UI
application on Mac can open multiple documents, so typically there is no need
to open a program twice. Since Eclipse cannot open more than one workspace, this means you have to make
a copy of the Eclipse install if you want to open more then one workspace at
the same time (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=139319">139319</a>).
</p>

<p>If you need to launch Eclipse from the command line, you can use the symbolic link &quot;eclipse&quot; in the
top-level eclipse folder. It refers to the eclipse executable inside the application bundle and takes
the same arguments as &quot;eclipse.exe&quot; on other platforms. 
</p>
<p>On Mac OS X 10.4 and later, you may notice a slow down when working with significant
numbers of resources if you allow Spotlight to index your workspace. To prevent this, start
System Preferences, select the Spotlight icon, then the Privacy tab, then click the Add button
(&quot;+&quot;) and find your workspace directory in the dialog that appears.</p>
<h3><a name="SharedInstall">Shared Install</a></h3>
<p>The startup speed of a shared install can be improved if proper cache information is stored in the shared 
install area. To achieve this, after unzipping Eclipse distribution, run Eclipse once with the &quot;-initialize&quot; 
option from an account that has a write access to the install directory.</p>
<h2>5. <a name="Upgrading"></a>Upgrading Workspace from a Previous Release</h2>

<h3>Users who don't use &quot;-data&quot;</h3>
<p>If you weren't previously using &quot;-data&quot; to specify your workspace,
follow these steps to upgrade:</p>

<ol>
  <li>Find the workspace directory used by your old version of Eclipse.
    Typically this is located inside the directory in which Eclipse was
    installed in a sub-directory called &quot;<code>workspace</code>&quot;. If
    you are using a shortcut or script to launch Eclipse, then it will be under
    the current working directory of that shortcut or script in a sub-directory
    called &quot;workspace&quot;. For Windows users, this is specified by the
    &quot;Start in:&quot; argument in your shortcut properties.</li>
  <li>Copy this workspace directory to a new, empty location outside of any
    Eclipse install directory.</li>
  <li>Install the new version of Eclipse in a new location, separate from any
    old version of Eclipse.</li>
  <li>If you had installed additional features and plug-ins into your old
    Eclipse, you should re-install them in the new Eclipse.</li>
  <li>Start this new version of Eclipse and select
    this location using the workspace chooser dialog at startup (or use &quot;<code>-data</code>&quot;
    command line argument to pre-select the workspace location).</li>
</ol>
<h3>Users who do use &quot;-data&quot;</h3>
<p>If you were previously using the &quot;<code>-data</code>&quot; argument to
start Eclipse, your upgrade path is much easier:</p>

<ol>
  <li>Optionally copy your workspace directory to a new, empty location outside of any
    Eclipse install directory as a backup.</li>
  <li>Install the new version of Eclipse in a new location, separate from any
    old versions of Eclipse.</li>
  <li>If you had installed additional features and plug-ins into your old
    Eclipse, you should re-install them in the new Eclipse.</li>
  <li>Start this new version of Eclipse and select this location using the workspace chooser dialog at
    startup (or use &quot;<code>-data</code>&quot;
    command line argument to pre-select the workspace location).</li>
</ol>
<p><i>Note:</i> Copying your workspace is recommended because,
after you've upgraded your workspace, you won't be able to use it
again with an older version of Eclipse. If you ever want to go &quot;back in
time&quot; to an earlier release, you will need that backup.</p>
<h3> Users who use User Libraries or classpath containers that contain JARs referencing other libraries via Class-Path in the MANIFEST.MF</h3>
<p>
If you want the referenced JAR files to be included in the classpath, you can do one of the following:<br/>
<ul>
<li>Add the system property (<code>-DresolveReferencedLibrariesForContainers=true</code>) to the <code>-vmargs</code>
list on start-up, or</li>
<li>Manually add the referenced JARs to the User Library or to the project.</li>
</ul>
</p>
<h2>6. <a name="InteroperabilityWithPreviousReleases">Interoperability with
Previous Releases</a></h2>
<h3>6.1 Interoperability of Release 3.6 with previous releases</h3>
<h4>Sharing projects between heterogeneous Eclipse 3.6 and 3.5</h4>
<p>Special care is required when a project in a team repository is being loaded
and operated on by developers using Eclipse-based products based on different
feature or plug-in versions. The general problem is that the existence,
contents, and interpretation of metadata files in the workspaces may be specific
to a particular feature or plug-in version, and differ between versions. The
workspace compatibility guarantees only cover cases where all developers upgrade
their Eclipse workspaces in lock step. In those cases there should be no problem
with shared metadata. However, when some developers are working in Eclipse 3.6
while others are working in Eclipse 3.5, there are no such guarantees.
This section provides advice for what to do and not to do. It addresses the
specific issues with the Eclipse SDK.</p>

<p>The typical failure mode is noticed by the 3.6 user. 3.6 metadata is lost
when a 3.5 user saves changes and then commits the updated metadata files to the
repository. Here's how things typically go awry:</p>
<ul>
  <li>A user working in Eclipse 3.6 creates or modifies a project in a way that
    results in changes to a shared metadata file that rely on 3.6-specific
    information. The user then commits the updated project files, including the
    shared metadata file, to the shared repository.</li>
  <li>Another user working in Eclipse 3.5 shares this project from the same
    repository. The 3.6-specific information in the shared metadata file is not
    understood by Eclipse 3.5, and is generally discarded or ignored without
    warning. The user modifies the project in a way that results in changes to
    the shared metadata file, causing the shared metadata file to be rewritten
    without any of the 3.6-specific information. The user commits the updated
    project files, including the shared metadata file, to the shared repository.
    The user is generally unaware that shared information has just been lost as
    a result of their actions.</li>
  <li>A user working in Eclipse 3.6 picks up the changes to a project from the
    shared repository, including the updated shared metadata file. The user may
    be unaware that they have just taken a retrograde step until later when
    things start to malfunction.</li>
</ul>
<p>Here are some things to watch out for when sharing projects between
Eclipse 3.6 and earlier 3.x releases:</p>
<ul>
  <li><b>Virtual folders</b> - 
  Eclipse 3.6 supports a notion of <i>virtual folders</i> that did not exist
  in Eclipse 3.5 or earlier. If such virtual folders are created in 3.6, and the project
  is subsequently loaded into an Eclipse 3.5 or earlier workspace, these folders
  will not be recognized. Recommendation: avoid creating virtual folders where project
  compatibility with Eclipse 3.5 or earlier is required.</li>
  <li><b>Resource filters</b> - 
  Eclipse 3.6 supports a notion of <i>resource filters</i> that did not exist
  in Eclipse 3.5 or earlier. If such filters are added to resources in 3.6, and the project
  is subsequently loaded into an Eclipse 3.5 or earlier workspace, these filters
  will not be recognized. Recommendation: avoid creating resource filters where project
  compatibility with Eclipse 3.5 or earlier is required.</li>
  <li><b>Predefined path variables</b> - 
  Eclipse 3.6 supports a set of built in path variables that can be used as the basis
  for linked resource locations. Such variables will not be defined automatically in 
  Eclipse 3.5 or earlier. If compatibility with 3.5 or earlier workspace is required,
  users on 3.5 or earlier workspaces will need to define such path variables manually.
  </li>
</ul>
<h4>Using Eclipse 3.6 to develop plug-ins that work in Eclipse 3.5</h4>
<p>It is also possible (and reasonable) to use Eclipse 3.6 to develop a plug-in 
  intended to work in Eclipse 3.5 or earlier. Use the <b>Plug-in Development &gt; 
  Target Platform </b>preference page to locate non-workspace plug-ins in an Eclipse 
  3.5 install. This ensures that the code for your plug-in is being compiled and 
  tested against Eclipse 3.5 APIs, extension points, and plug-ins. (The above 
  list of concerns do not apply since they affect the layout and interpretation 
  of files in the plug-in <i>project</i> but none affect the actual deployed form 
  of the plug-in.)</p>
  
  
  
  <h2>7. <a name="DefectsFixed"></a>Defects Fixed in Maintenance Releases</h2>

<h3>7.1 Defects fixed in release 3.6.1 since 3.6.0</h3>
<p>Release 3.6.1 is a maintenance release to fix serious defects present in
release 3.6.0 These changes only affect some plug-ins and
features.</p>

<p>Maintenance release 3.6.1 contains fixes for the following defects and others:</p>

<p>
Note: Bug fixes since the 3.6 release can be obtained by the following the Bugzilla query: </p> 
<p>

<a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_file_loc_type=allwordssubstr;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;classification=Eclipse;classification=RT;field-1-0-0=bug_status;field-1-1-0=classification;field-1-2-0=product;field-1-3-0=resolution;field-1-4-0=target_milestone;field0-0-0=noop;keywords_type=allwords;long_desc_type=allwordssubstr;product=Equinox;product=JDT;product=PDE;product=Platform;query_format=advanced;remaction=;resolution=FIXED;short_desc=;short_desc_type=allwordssubstr;status_whiteboard=;status_whiteboard_type=allwordssubstr;target_milestone=3.6.1;type-1-0-0=anyexact;type-1-1-0=anyexact;type-1-2-0=anyexact;type-1-3-0=anyexact;type-1-4-0=anyexact;type0-0-0=noop;value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED;value-1-1-0=Eclipse%2CRT;value-1-2-0=Equinox%2CJDT%2CPDE%2CPlatform;value-1-3-0=FIXED;value-1-4-0=3.6.1;value0-0-0=|;query_based_on=">Bugs fixed in the 3.6.1 release</a>

</p>


<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%">
   
    <tr class="bz_buglist_header bz_first_buglist_header" align="left">
      <th colspan="1" class="first-child">
        <a href="buglist.cgi?bug_file_loc_type=allwordssubstr&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=Eclipse&amp;classification=RT&amp;columnlist=short_desc&amp;field0-0-0=noop&amp;keywords_type=allwords&amp;long_desc_type=allwordssubstr&amp;product=Equinox&amp;product=JDT&amp;product=PDE&amp;product=Platform&amp;query_format=advanced&amp;remaction=&amp;resolution=FIXED&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;status_whiteboard=&amp;status_whiteboard_type=allwordssubstr&amp;target_milestone=3.6.1&amp;type0-0-0=noop&amp;value0-0-0=%7C&amp;order=bug_id%20DESC&amp;query_based_on=">ID</a>
      </th>

<th colspan="1">
    <a href="buglist.cgi?bug_file_loc_type=allwordssubstr&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=Eclipse&amp;classification=RT&amp;columnlist=short_desc&amp;field0-0-0=noop&amp;keywords_type=allwords&amp;long_desc_type=allwordssubstr&amp;product=Equinox&amp;product=JDT&amp;product=PDE&amp;product=Platform&amp;query_format=advanced&amp;remaction=&amp;resolution=FIXED&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;status_whiteboard=&amp;status_whiteboard_type=allwordssubstr&amp;target_milestone=3.6.1&amp;type0-0-0=noop&amp;value0-0-0=%7C&amp;order=short_desc%2Cbug_id&amp;query_based_on=">Summary</a>
  </th>


    </tr>

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b169959"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=169959">169959</a>
      <span style="display: none"></span>
    </td>

    <td >Exclusion filter for source folders unclear
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b240657"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240657">240657</a>
      <span style="display: none"></span>
    </td>

    <td >Combo.setText() doesnt set the text if the string is a substring of the strings in combo
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b243529"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243529">243529</a>
      <span style="display: none"></span>
    </td>

    <td >[DND] [Mac] Erratic DND behaviour on Mac OS X
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b244757"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244757">244757</a>
      <span style="display: none"></span>
    </td>

    <td >[ActivityMgmt] ConcurrentModificationException when activities added dynamically
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b268833"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=268833">268833</a>
      <span style="display: none"></span>
    </td>

    <td >[rulers] NullPointerException in org.eclipse.jface.text.source.LineNumberRulerColumn.getWidth
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b270472"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=270472">270472</a>
      <span style="display: none"></span>
    </td>

    <td >[JFace] Orca cannot read Eclipse status line
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b277574"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=277574">277574</a>
      <span style="display: none"></span>
    </td>

    <td >JDI thread evaluations (Error: Exception processing async thread queue)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b278598"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=278598">278598</a>
      <span style="display: none"></span>
    </td>

    <td >[product] ignore certain program arguments when initializing from a launch config
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b284269"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=284269">284269</a>
      <span style="display: none"></span>
    </td>

    <td >[KeyBindings] Reduce memory footprint of BindingManager
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_trivial             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b294761"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=294761">294761</a>
      <span style="display: none"></span>
    </td>

    <td >Gripper icon on Mac status bar should be transparent
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b294860"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=294860">294860</a>
      <span style="display: none"></span>
    </td>

    <td >Left arrow buttons point to the right (Carbon)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b299451"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=299451">299451</a>
      <span style="display: none"></span>
    </td>

    <td >[DND] Tracker rectangle appears on wrong screen when dragging part
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b304652"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=304652">304652</a>
      <span style="display: none"></span>
    </td>

    <td >Export of a feature based product with source bundles fails
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b306464"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=306464">306464</a>
      <span style="display: none"></span>
    </td>

    <td >NPE in ProblemReporter.missingTypeInMethod(ProblemReporter.java:5113)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b308402"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=308402">308402</a>
      <span style="display: none"></span>
    </td>

    <td >[index] PatternSearchJob ignores participant index entries
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b309269"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=309269">309269</a>
      <span style="display: none"></span>
    </td>

    <td >[Widgets] Table selection event does not return a correct table item
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b311217"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311217">311217</a>
      <span style="display: none"></span>
    </td>

    <td >[Help] New Child macro does not pick-up child topics at the toc level - Fix for Eclipse 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b311579"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311579">311579</a>
      <span style="display: none"></span>
    </td>

    <td >[DS] Factory component configurations are not disposed when cannot be activated
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b312140"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312140">312140</a>
      <span style="display: none"></span>
    </td>

    <td >PDE build uses incorrect profile area if Eclipse is read-only
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_enhancement             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b312254"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312254">312254</a>
      <span style="display: none"></span>
    </td>

    <td >Plan verifier to allow third party plugin to veto a provisioning plan
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b312365"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312365">312365</a>
      <span style="display: none"></span>
    </td>

    <td >Carbon: DnD fails when dropping object to a child control.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313121"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313121">313121</a>
      <span style="display: none"></span>
    </td>

    <td >Font dialog doesn't return selected Font (when opened after MULTI Text)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313153"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313153">313153</a>
      <span style="display: none"></span>
    </td>

    <td >Too many blocked &quot;Refreshing external folders&quot; jobs (FUP of bug 302295)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313234"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313234">313234</a>
      <span style="display: none"></span>
    </td>

    <td >-console &lt;port&gt; terminating OSGi framework in 3.6.RC1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313324"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313324">313324</a>
      <span style="display: none"></span>
    </td>

    <td >Suspicious fall-through
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313409"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313409">313409</a>
      <span style="display: none"></span>
    </td>

    <td >NPE during Add Artifact to Target Platform
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313447"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313447">313447</a>
      <span style="display: none"></span>
    </td>

    <td >Avoid MD5 computation for publishing from dropins reconciler
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313454"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313454">313454</a>
      <span style="display: none"></span>
    </td>

    <td >[publisher] Add a new flag to the UpdateSitePublisherApplication to generate the JRE's IU.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313530"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313530">313530</a>
      <span style="display: none"></span>
    </td>

    <td >[hovering] HTMLPrinter should refresh colors if corresponding OS colors change
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313593"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313593">313593</a>
      <span style="display: none"></span>
    </td>

    <td >[Accessibility] Implement retrieval of visible children
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313651"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313651">313651</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] format comments (differs between paste and save action)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313668"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313668">313668</a>
      <span style="display: none"></span>
    </td>

    <td >[search] Call hierarchy doesn't show all calls of the method in workspace
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313740"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313740">313740</a>
      <span style="display: none"></span>
    </td>

    <td >Unable to select any window when JFace warning dialog and file browse dialog are both open
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313744"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313744">313744</a>
      <span style="display: none"></span>
    </td>

    <td >SimpleArtifactRepository does not allow the user to limit the number of threads used for downloads
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313747"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313747">313747</a>
      <span style="display: none"></span>
    </td>

    <td >SimpleArtifactRepository fails to transfer files when its location is relative
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313789"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313789">313789</a>
      <span style="display: none"></span>
    </td>

    <td >[comparator] False Positive comparing with different inner class info ordering
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313825"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313825">313825</a>
      <span style="display: none"></span>
    </td>

    <td >Erroneous local variable's problems reported at surrounding ParenthesizedExpression
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313905"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313905">313905</a>
      <span style="display: none"></span>
    </td>

    <td >[reconciler] Second startup after update also slow
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313943"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313943">313943</a>
      <span style="display: none"></span>
    </td>

    <td >[hovering] Java source hovers not readable using Ubuntu 10.04 (white-on-black tooltips)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313952"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313952">313952</a>
      <span style="display: none"></span>
    </td>

    <td >NPE from import page crashes Eclipse
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313953"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313953">313953</a>
      <span style="display: none"></span>
    </td>

    <td >[performance] [reconciler] [query] Super slow startup time after deleting files in dropins
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b313994"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313994">313994</a>
      <span style="display: none"></span>
    </td>

    <td >[Webapp] If a toc satisfies a criterion but its children do not it is still displayed - Fix for Eclipse 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b313996"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313996">313996</a>
      <span style="display: none"></span>
    </td>

    <td >[Intro] Slate theme Overview page looks odd with non-white window background - Fix for Eclipse 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b314243"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314243">314243</a>
      <span style="display: none"></span>
    </td>

    <td >[Widgets] Tooltip for tool item in inactive shell not updated when mouse moved to other item
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b314256"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314256">314256</a>
      <span style="display: none"></span>
    </td>

    <td >[Help] Duplicate links in F1 help - Fix in 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b314324"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314324">314324</a>
      <span style="display: none"></span>
    </td>

    <td >[Help] Ton's of EofException/s - Fix in Eclipse 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b314343"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314343">314343</a>
      <span style="display: none"></span>
    </td>

    <td >[console] IllegalStateException can happen on shutdown if you disconnect from standard console
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b314456"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314456">314456</a>
      <span style="display: none"></span>
    </td>

    <td >NPE at org.eclipse.pde.internal.core.target.provisional.LoadTargetDefinitionJob.handleReload(LoadTargetDefinitionJob.java:370)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b314589"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314589">314589</a>
      <span style="display: none"></span>
    </td>

    <td >[Help] NPE creating new scope in search view - Fix for 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b314768"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314768">314768</a>
      <span style="display: none"></span>
    </td>

    <td >AbstractRepositoryManager eats exception
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b314830"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314830">314830</a>
      <span style="display: none"></span>
    </td>

    <td >[compiler] Switching on a null expression doesn't always throw NullPointerException
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b314900"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314900">314900</a>
      <span style="display: none"></span>
    </td>

    <td >Compare task doesn't report added or removed api components
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b314946"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314946">314946</a>
      <span style="display: none"></span>
    </td>

    <td >[Accessibility] Title override values not reported in ControlsWithAccessibleNames example
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b314951"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314951">314951</a>
      <span style="display: none"></span>
    </td>

    <td >[Accessibility] Spinners report back as 'unknown'
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b315092"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315092">315092</a>
      <span style="display: none"></span>
    </td>

    <td >API Baseline becomes empty
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b315620"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315620">315620</a>
      <span style="display: none"></span>
    </td>

    <td >[Progress] WorkbenchWindow is leaked
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b315710"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315710">315710</a>
      <span style="display: none"></span>
    </td>

    <td >headless build fails with java.lang.ClassCastException
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b315732"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315732">315732</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] NullPointerException (always) on inserting a custom template proposal into java code when &quot;Use code formatter&quot; is on
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b315746"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315746">315746</a>
      <span style="display: none"></span>
    </td>

    <td >--launcher.openFile on Solaris fails with error about unresolved symbol sem_open
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b315757"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315757">315757</a>
      <span style="display: none"></span>
    </td>

    <td >[publisher][regression] Cannot provide -contextMetadata to publisher application
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b315762"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315762">315762</a>
      <span style="display: none"></span>
    </td>

    <td >bundles with compile errors never published even through p2.publishonerror is set to &quot;true&quot;
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b315792"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315792">315792</a>
      <span style="display: none"></span>
    </td>

    <td >NPE is thrown during the headless build
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b315812"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315812">315812</a>
      <span style="display: none"></span>
    </td>

    <td >[accessibility] text-based ToolItems read out their help/tooltip text instead of text
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b315839"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315839">315839</a>
      <span style="display: none"></span>
    </td>

    <td >[CommonNavigator] NPE in WorkingSetsContentProvider
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b315894"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315894">315894</a>
      <span style="display: none"></span>
    </td>

    <td >non composable key combinations erases first char in text editors
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b315932"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315932">315932</a>
      <span style="display: none"></span>
    </td>

    <td >[printing] Print selection prints whole file
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b315939"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315939">315939</a>
      <span style="display: none"></span>
    </td>

    <td >[launcher] Crash in formatVmCommandMsg
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b315948"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315948">315948</a>
      <span style="display: none"></span>
    </td>

    <td >SWT doesnt work on WinCE 6.0 since v3312. Missing check on OS.IsWinCE
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b315978"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315978">315978</a>
      <span style="display: none"></span>
    </td>

    <td >Big regression, eclipse compiles my workspace in 3 mins instead of few seconds
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316011"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316011">316011</a>
      <span style="display: none"></span>
    </td>

    <td >[Help] Restore defaults button does not read remoteHelpPreferred preference correctly. - Fix in Eclipse 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316078"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316078">316078</a>
      <span style="display: none"></span>
    </td>

    <td >Extra ending comment tag in helloworld-feature.xml
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316164"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316164">316164</a>
      <span style="display: none"></span>
    </td>

    <td >[view management] view activation should be triggered by stack frames in default model
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316238"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316238">316238</a>
      <span style="display: none"></span>
    </td>

    <td >[Widgets] Main menu lost when using &quot;open in new window&quot;
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316252"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316252">316252</a>
      <span style="display: none"></span>
    </td>

    <td >[Mozilla][Browser]Wrong usage of C.free()
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316432"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316432">316432</a>
      <span style="display: none"></span>
    </td>

    <td >[widgets] SWT Cocoa, StructuredViewer dispatches selectionChanged on refresh()/setInput()
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316456"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316456">316456</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Annotation values can access private class members
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316619"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316619">316619</a>
      <span style="display: none"></span>
    </td>

    <td >Debug context activation causes expressions view updates when hidden if selection is empty
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316643"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316643">316643</a>
      <span style="display: none"></span>
    </td>

    <td >Cannot enter Report Conversion Patterns on API Use Report External Tool Launch
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_enhancement             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316645"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316645">316645</a>
      <span style="display: none"></span>
    </td>

    <td >API Use Report provides no Common tab
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316650"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316650">316650</a>
      <span style="display: none"></span>
    </td>

    <td >PathUtil doesn't make paths relative correctly across volumes
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316701"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316701">316701</a>
      <span style="display: none"></span>
    </td>

    <td >[Contributions] Service initialization wrong! Sources must be initialized before Handlers
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316780"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316780">316780</a>
      <span style="display: none"></span>
    </td>

    <td >[ds] ClassCircularityError
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P2             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316824"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316824">316824</a>
      <span style="display: none"></span>
    </td>

    <td >[Help] Search Index makes remote server calls when building if remote priority preference is selected - Fix in Eclipse 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316839"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316839">316839</a>
      <span style="display: none"></span>
    </td>

    <td >JobManager.yieldRule() does not update lock graph correctly for jobs that manage rules
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316875"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316875">316875</a>
      <span style="display: none"></span>
    </td>

    <td >[backport] Commit, Apply Patch and Synchronize no longer take keybindings
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316889"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316889">316889</a>
      <span style="display: none"></span>
    </td>

    <td >Internal compiler error: java.lang.NullPointerException with a specific use of recursive generics
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316938"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316938">316938</a>
      <span style="display: none"></span>
    </td>

    <td >Incorrect signature for OS.XGetWindowProperty
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b316975"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316975">316975</a>
      <span style="display: none"></span>
    </td>

    <td >[launcher] memory leak on failure to read launcher.ini file
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b316997"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=316997">316997</a>
      <span style="display: none"></span>
    </td>

    <td >[Forms] FormText: IllegalArgumentException when copying empty selection - Fix in Eclipse 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b317051"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317051">317051</a>
      <span style="display: none"></span>
    </td>

    <td >reducing item count can send Selection event
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b317054"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317054">317054</a>
      <span style="display: none"></span>
    </td>

    <td >Table/Tree item selection can send multiple Selection events
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_VERIFIED             bz_FIXED             bz_secure             bz_secure_mode_manual             bz_row_even             ">

    <td class="first-child">
      <a name="b317055"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317055">317055</a>
      <span style="display: none">[SEC]</span>
    </td>

    <td >[Webapp][Security] URLEncode url requests from local users
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b317068"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317068">317068</a>
      <span style="display: none"></span>
    </td>

    <td >[breadcrumb] BreadcrumbItems not disposed when editor closed
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b317100"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317100">317100</a>
      <span style="display: none"></span>
    </td>

    <td >Debug breadcrumb does not allow to switch threads
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b317264"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317264">317264</a>
      <span style="display: none"></span>
    </td>

    <td >[search] Refactoring is impossible with commons.lang added to project
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b317282"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317282">317282</a>
      <span style="display: none"></span>
    </td>

    <td >[implementation] AbstractTextEditor does not dispose its SaveAction.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b317283"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317283">317283</a>
      <span style="display: none"></span>
    </td>

    <td >[breadcrumb] BreadcrumbItems not disposed when editor closed
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b317390"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317390">317390</a>
      <span style="display: none"></span>
    </td>

    <td >Editors hang for several seconds when processing input when Windows On-Screen Keyboard accessory is running
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b317468"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317468">317468</a>
      <span style="display: none"></span>
    </td>

    <td >Adding elements to an enum body with trailing comma generates bad code
    </td>

  </tr>


  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b317755"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317755">317755</a>
      <span style="display: none"></span>
    </td>

    <td >[JUnit] JUnit -&gt; Activate on Error/Failure Only not working
    </td>

  </tr>

      
  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b317760"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317760">317760</a>
      <span style="display: none"></span>
    </td>

    <td >SimpleArtifactRepository behaviour change
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b317782"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317782">317782</a>
      <span style="display: none"></span>
    </td>

    <td >TextTransfer generates incorrect UTF16 in pasteboard when copying strings from SWT application
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b317841"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317841">317841</a>
      <span style="display: none"></span>
    </td>

    <td >[incremental build] unnecessary 'structural changes' due to annotation parameters
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b317902"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317902">317902</a>
      <span style="display: none"></span>
    </td>

    <td >Segmentation Fault When Widget looses focus
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_trivial             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b317972"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=317972">317972</a>
      <span style="display: none"></span>
    </td>

    <td >Fix for wrong usages of affect* and effect*
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b318020"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318020">318020</a>
      <span style="display: none"></span>
    </td>

    <td >[compiler] wrong initialization flow info with if (true) throw... pattern in else block
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b318072"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318072">318072</a>
      <span style="display: none"></span>
    </td>

    <td >[Webapp] In org.eclipse.help.webapp, schema folder is not included in build.properties
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P2             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b318114"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318114">318114</a>
      <span style="display: none"></span>
    </td>

    <td >The 3.6 director should use running system for default os/ws/arch values
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b318144"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318144">318144</a>
      <span style="display: none"></span>
    </td>

    <td >transformRepos target in genericTargets.xml doesn't transform if directory contains non-repository files
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b318162"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318162">318162</a>
      <span style="display: none"></span>
    </td>

    <td >[backport] Resource filters do not work in CDT 7.0 projects
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b318170"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318170">318170</a>
      <span style="display: none"></span>
    </td>

    <td >[Backport] Need symlink support in eclipse for windows vista
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b318205"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318205">318205</a>
      <span style="display: none"></span>
    </td>

    <td >Translation Question - WSW36#397
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b318221"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318221">318221</a>
      <span style="display: none"></span>
    </td>

    <td >[Doc] Translation Question - WSW36#406
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b318333"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318333">318333</a>
      <span style="display: none"></span>
    </td>

    <td >equals compares objects of different types
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b318540"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318540">318540</a>
      <span style="display: none"></span>
    </td>

    <td >Validation dialog is now modal
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b318557"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318557">318557</a>
      <span style="display: none"></span>
    </td>

    <td >[backport] Exception when trying to commit a lot of projects
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b318597"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318597">318597</a>
      <span style="display: none"></span>
    </td>

    <td >Backport valid 3.6.1 fix candidates
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b318782"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318782">318782</a>
      <span style="display: none"></span>
    </td>

    <td >[DataBinding] StringIndexOutOfBoundsException exception when clearing a Text with SWT.SEARCH
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b318797"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318797">318797</a>
      <span style="display: none"></span>
    </td>

    <td >[implementation] Deadlock in SharedASTProvider.getAST()  (on breakpoint creation)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b318862"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318862">318862</a>
      <span style="display: none"></span>
    </td>

    <td >[Viewers] [Provider] ClassCastException happened at jface when selecting tree with using picture-capture software.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b318893"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318893">318893</a>
      <span style="display: none"></span>
    </td>

    <td >[implementation] NPE in SourceViewer
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b318916"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318916">318916</a>
      <span style="display: none"></span>
    </td>

    <td >Fix for wrong usages of affect* and effect*
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b319037"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319037">319037</a>
      <span style="display: none"></span>
    </td>

    <td >apitooling.apideprecation_reportconversion task has incorrect parameters listed in doc
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b319274"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319274">319274</a>
      <span style="display: none"></span>
    </td>

    <td >Baseline is not valid while generating performance results for maintenance builds
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED             bz_secure             bz_secure_mode_manual             bz_row_odd             ">

    <td class="first-child">
      <a name="b319344"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319344">319344</a>
      <span style="display: none">[SEC]</span>
    </td>

    <td >[Webapp][Security] Phishing on help application
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_enhancement             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b319378"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319378">319378</a>
      <span style="display: none"></span>
    </td>

    <td >Preferences-&gt;Java Compiler-&gt; Errors/Warnings -&gt; switch case fall through enhancement
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b319562"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319562">319562</a>
      <span style="display: none"></span>
    </td>

    <td >update R3_6_maintenance build scripts to include 3.6.1 feature versions
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b319582"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319582">319582</a>
      <span style="display: none"></span>
    </td>

    <td >AIOOBE calling IAHyperlink methods
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b319603"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319603">319603</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] eclipse fails with 2 generics methods with the same name while javac succeeds
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b319645"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319645">319645</a>
      <span style="display: none"></span>
    </td>

    <td >Click throughs still says 3.5
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b319677"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319677">319677</a>
      <span style="display: none"></span>
    </td>

    <td >VoiceOver doesn't read tooltip (help tag)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b319688"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319688">319688</a>
      <span style="display: none"></span>
    </td>

    <td >[Backport] libunix interface broken for readlink()
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b319700"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319700">319700</a>
      <span style="display: none"></span>
    </td>

    <td >[doc] Broken Link, Customizing the p2_UI
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b319701"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319701">319701</a>
      <span style="display: none"></span>
    </td>

    <td >[doc] Broken Link, Repository management
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b319781"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319781">319781</a>
      <span style="display: none"></span>
    </td>

    <td >Reference to java.util.Timer(String, boolean) not reported as error under 1.4
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b319786"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319786">319786</a>
      <span style="display: none"></span>
    </td>

    <td >Change API freeze check in 3.6.x stream to compare against 3.6
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b319860"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319860">319860</a>
      <span style="display: none"></span>
    </td>

    <td >[organize imports] Unused import added for reference to nested type from Javadoc
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_minor             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b319900"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319900">319900</a>
      <span style="display: none"></span>
    </td>

    <td >StringLiteral#setLiteralValue needlessly escapes apostrophes (')
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b319944"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=319944">319944</a>
      <span style="display: none"></span>
    </td>

    <td >PDE feature must be increased to 3.6.1
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b320005"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320005">320005</a>
      <span style="display: none"></span>
    </td>

    <td >[launcher] --launcher.XXMaxPermSize: isSunVM should return true for Oracle
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b320064"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320064">320064</a>
      <span style="display: none"></span>
    </td>

    <td >StyledText and CCombo should also use preceding CLabel as accessible name
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b320066"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320066">320066</a>
      <span style="display: none"></span>
    </td>

    <td >DROP_DOWN ToolItems need accessible name
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b320123"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320123">320123</a>
      <span style="display: none"></span>
    </td>

    <td >NPE : Cannot import project as source from target platform
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b320124"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320124">320124</a>
      <span style="display: none"></span>
    </td>

    <td >ArrayIndexOutOfBoundsException can occur when using bundle command in the console
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_blocker             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b320167"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320167">320167</a>
      <span style="display: none"></span>
    </td>

    <td >Auto-Activation works only once
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b320195"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320195">320195</a>
      <span style="display: none"></span>
    </td>

    <td >Eclipse hangs when processing annotation
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b320342"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320342">320342</a>
      <span style="display: none"></span>
    </td>

    <td >Test failure in YieldTest.testResumingThreadJobIsNotRescheduled
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b320414"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320414">320414</a>
      <span style="display: none"></span>
    </td>

    <td >Compiler produces incorrect bytecode for null pointer check
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b320427"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320427">320427</a>
      <span style="display: none"></span>
    </td>

    <td >MirrorSelector uses 1.5 methods
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED             bz_secure             bz_secure_mode_manual             bz_row_even             ">

    <td class="first-child">
      <a name="b320547"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320547">320547</a>
      <span style="display: none">[SEC]</span>
    </td>

    <td >[Webapp][Security] Misuse of /topic/file
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED             bz_secure             bz_secure_mode_manual             bz_row_odd             ">

    <td class="first-child">
      <a name="b320548"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320548">320548</a>
      <span style="display: none">[SEC]</span>
    </td>

    <td >[Webapp][Security] Ability to read files not in bundles
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b320581"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320581">320581</a>
      <span style="display: none"></span>
    </td>

    <td >[Widgets] [GTK2.18] JVM crash when call Control.moveAbove(Control control)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b320583"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320583">320583</a>
      <span style="display: none"></span>
    </td>

    <td >Target platform gets out of sync at each Eclipse restart
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b320754"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320754">320754</a>
      <span style="display: none"></span>
    </td>

    <td >[formatter] formatter:off/on tags does not work correctly
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b320760"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320760">320760</a>
      <span style="display: none"></span>
    </td>

    <td >Eclipse Help System WAR has a deadlock at startup
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b320802"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320802">320802</a>
      <span style="display: none"></span>
    </td>

    <td >ASTParser.createASTs(..) fails silently on multiple missing parameter types.
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b320884"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320884">320884</a>
      <span style="display: none"></span>
    </td>

    <td >Update link to J2SE 1.4 Javadocs
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b320946"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320946">320946</a>
      <span style="display: none"></span>
    </td>

    <td >Bad comparison in ProfileBundleContainer.isContentEqual()
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b320959"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=320959">320959</a>
      <span style="display: none"></span>
    </td>

    <td >The Eclipse Platform version specified in .eclipseproduct in Helios is wrong
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b321359"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=321359">321359</a>
      <span style="display: none"></span>
    </td>

    <td >Purple-icons drawing image with cairo in Solaris-sparc (big-endian)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b321386"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=321386">321386</a>
      <span style="display: none"></span>
    </td>

    <td >Eclipse exits with 0 exit code when application is throwing an exception
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b321505"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=321505">321505</a>
      <span style="display: none"></span>
    </td>

    <td >[Backport][Import/Export] importing file from big disk hangs UI
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b321850"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=321850">321850</a>
      <span style="display: none"></span>
    </td>

    <td >Launch config dialog wrongly asks to save unsaved changes
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b321921"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=321921">321921</a>
      <span style="display: none"></span>
    </td>

    <td >Create 3.6.1 freeze plan
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b321926"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=321926">321926</a>
      <span style="display: none"></span>
    </td>

    <td >Erroneously deems null check conditional branch to be dead code, and produces incorrect bytecode
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b321942"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=321942">321942</a>
      <span style="display: none"></span>
    </td>

    <td >Eclipse will not Launch with certain .bundledata.## file in ORG.ECLIPSE.OSGI folder
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b322001"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322001">322001</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Name Clash error occurs
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b322137"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322137">322137</a>
      <span style="display: none"></span>
    </td>

    <td >SWT.ON_TOP shells do not stay above all applications
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b322154"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322154">322154</a>
      <span style="display: none"></span>
    </td>

    <td >Compiler bug that does not occur in Galileo 3.5.2
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b322222"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322222">322222</a>
      <span style="display: none"></span>
    </td>

    <td >[Widgets] segfault in pango_layout_new when closing a dialog
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b322291"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322291">322291</a>
      <span style="display: none"></span>
    </td>

    <td >[launcher] remember to compile for S390(x)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b322374"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322374">322374</a>
      <span style="display: none"></span>
    </td>

    <td >[Webapp][Security] Setting sys prop -Dserver_host=127.0.0.1 does NOT force webserver to listen only on 127.0.0.1 interface
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b322438"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322438">322438</a>
      <span style="display: none"></span>
    </td>

    <td >[Browser-Webkit] Mouse events have wrong button values (0,1,2 instead of 1,2,3)
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b322887"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=322887">322887</a>
      <span style="display: none"></span>
    </td>

    <td >[Mac] [Commands] Command from 'org.eclipse.ui.cocoa' fragment references category defined in 'org.eclipse.ui.cheatsheets'
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b323056"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323056">323056</a>
      <span style="display: none"></span>
    </td>

    <td >[Accessibility] get_hyperlink returns incorrect address for accessible
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b323134"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323134">323134</a>
      <span style="display: none"></span>
    </td>

    <td >[JUnit] JUnit view loses several action states on restart
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b323197"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323197">323197</a>
      <span style="display: none"></span>
    </td>

    <td >NPE in pdebuild if a dropins/somefile.link has a path that doesn't exist
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b323246"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323246">323246</a>
      <span style="display: none"></span>
    </td>

    <td >IBundleProjectService.setBundleRoot() does not accept null argument
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b323318"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323318">323318</a>
      <span style="display: none"></span>
    </td>

    <td >Making a few fields protected for Tycho
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b323319"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323319">323319</a>
      <span style="display: none"></span>
    </td>

    <td >[planner] Non greedy handling in the slicer brings in complete repositories
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_blocker             bz_P3             bz_CLOSED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b323322"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323322">323322</a>
      <span style="display: none"></span>
    </td>

    <td >[planner] Resolution is not stable
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b323539"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323539">323539</a>
      <span style="display: none"></span>
    </td>

    <td >[Dialogs] Open Resource now interprets &quot;.&quot; as &quot;*.&quot;, unlike 3.5
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b323600"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323600">323600</a>
      <span style="display: none"></span>
    </td>

    <td >3.6 SWT source and binary no longer a project
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b323693"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323693">323693</a>
      <span style="display: none"></span>
    </td>

    <td >[1.5][compiler] Compiler fails to diagnose name clash
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_major             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b323953"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323953">323953</a>
      <span style="display: none"></span>
    </td>

    <td >External Tools Launch delegate no longer supports launch in background
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b323995"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323995">323995</a>
      <span style="display: none"></span>
    </td>

    <td >[Accessibility] StyledText selection incorrect after caret moved event
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b324072"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324072">324072</a>
      <span style="display: none"></span>
    </td>

    <td >Debug view &quot;Terminate/Disconnect All&quot; doesn't work
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b324099"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324099">324099</a>
      <span style="display: none"></span>
    </td>

    <td >p2.user.ui feature version should be incremented in 3.6.1 stream
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b324154"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324154">324154</a>
      <span style="display: none"></span>
    </td>

    <td >NPE in FlowContext while building
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_critical             bz_P3             bz_RESOLVED             bz_FIXED             bz_secure             bz_secure_mode_manual             bz_row_even             ">

    <td class="first-child">
      <a name="b324223"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324223">324223</a>
      <span style="display: none">[SEC]</span>
    </td>

    <td >Security Vulnerabilities in Eclipse Help
    </td>

  </tr>

  


  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_VERIFIED             bz_FIXED                                       bz_row_odd             ">

    <td class="first-child">
      <a name="b324336"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324336">324336</a>
      <span style="display: none"></span>
    </td>

    <td >version 0.0.0 for .target resolves to '0 plug-ins available' when newer plug-ins are available in other software sites
    </td>

  </tr>




  

  <tr class="bz_bugitem
             bz_normal             bz_P3             bz_RESOLVED             bz_FIXED                                       bz_row_even             ">

    <td class="first-child">
      <a name="b324413"
         href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324413">324413</a>
      <span style="display: none"></span>
    </td>

    <td >declare 3.6.1RC3
    </td>

  </tr>

  
    </table>

<span class="bz_result_count">192 bugs found.
</span>

<br></br>


<hr/>
<p>Sun, Solaris, Java and all Java-based trademarks are trademarks of Oracle Corporation.
in the United States, other countries, or both.</p>
<p>IBM is a trademark of International Business Machines Corporation in the
United States, other countries, or both.</p>
<p>Microsoft, Windows, Windows NT, Vista, and the Windows logo are trademarks of
Microsoft Corporation in the United States, other countries, or both.</p>
<p>Apple and Mac OS are trademarks of Apple Computer, Inc., registered in the
U.S. and other countries.</p>
<p>QNX, Neutrino, and Photon are trademarks or registered trademarks of QNX
Software Systems Ltd.</p>
<p>Other company, product, and service names may be trademarks or service marks
of others.</p>
<p>(c) Copyright IBM Corp. and others 2009, 2010</p>

<h2><a name="Appendix1">Appendix 1: Execution Environment by Bundle</a></h2>

<p>In the table below, the &quot;3.6 minimum execution environment&quot;
  column indicates the minimum Java class library requirements of each bundle
  for the 3.6 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>3.6<br/>minimum<br/>execution<br/>environment</b></p></div></td>
    </tr>
    <tr>
      <td>aa.compute.bundle.ee</td>
      <td><div align="center">1.5</div></td>
    </tr>
    <tr>
      <td>com.ibm.icu</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>com.jcraft.jsch</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>javax.servlet</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>javax.servlet.jsp</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.apache.ant</td>
      <td><div align="center">J2SE-1.2</div></td>
    </tr>
    <tr>
      <td>org.apache.commons.codec</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.apache.commons.el</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.jasper</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.apache.lucene</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.apache.lucene.analysis</td>
      <td><div align="center">not specified</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.boot</td>
      <td><div align="center">F1.0</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.filesystem.win32.x86</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.jobs</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.net</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.net.win32.x86</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.resources</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.core.resources.win32.x86</td>
      <td><div align="center">not specified</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.auth</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.ecf</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ecf.filetransfer</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ecf.identity</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ecf.provider.filetransfer</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ecf.provider.filetransfer.httpclient</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ecf.provider.filetransfer.httpclient.ssl</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ecf.provider.filetransfer.ssl</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ecf.ssl</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.app</td>
      <td><div align="center">M1.2</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.common</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.concurrent</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.ds</td>
      <td><div align="center">M1.2</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.event</td>
      <td><div align="center">M1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.frameworkadmin</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.frameworkadmin.equinox</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.http.jetty</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.http.registry</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.http.servlet</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.jsp.jasper</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.jsp.jasper.registry</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.launcher</td>
      <td><div align="center">M1.2</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.launcher.win32.win32.x86</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.artifact.repository</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.console</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.core</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.director</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.director.app</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.directorywatcher</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.engine</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.extensionlocation</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.garbagecollector</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.jarprocessor</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.metadata</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.metadata.generator</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.metadata.repository</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.operations</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.publisher</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.ql</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.reconciler.dropins</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.repository</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.repository.tools</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.touchpoint.eclipse</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.touchpoint.natives</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.ui</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.ui.sdk</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.ui.sdk.scheduler</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.updatechecker</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.p2.updatesite</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.preferences</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.registry</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.security</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.security.ui</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.security.win32.x86</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.simpleconfigurator</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.simpleconfigurator.manipulator</td>
      <td><div align="center">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.equinox.util</td>
      <td><div align="center">M1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help.appserver</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.help.base</td>
      <td><div align="center">1.4</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.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.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.debug.ui</td>
      <td><div align="center">1.4</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.4</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.4</div></td>
    </tr>
    <tr>
      <td>org.eclipse.jdt.ui</td>
      <td><div align="center">1.4</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.osgi</td>
      <td><div align="center">M1.2</div></td>
    </tr>
    <tr>
      <td>org.eclipse.osgi.services</td>
      <td><div align="center">M1.2</div></td>
    </tr>
    <tr>
      <td>org.eclipse.osgi.util</td>
      <td><div align="center">M1.2</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.swt.win32.win32.x86</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.4</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.presentations.r21</td>
      <td><div align="center">1.4</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">F1.1</div></td>
    </tr>
    <tr>
      <td>org.eclipse.ui.workbench.compatibility</td>
      <td><div align="center">1.4</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.eclipse.update.core</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.update.core.win32</td>
      <td><div align="center">not specified</div></td>
    </tr>
    <tr>
      <td>org.eclipse.update.scheduler</td>
      <td><div align="center">F1.0</div></td>
    </tr>
    <tr>
      <td>org.eclipse.update.ui</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.mortbay.jetty.server</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.mortbay.jetty.util</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.objectweb.asm</td>
      <td><div align="center">1.3</div></td>
    </tr>
    <tr>
      <td>org.sat4j.core</td>
      <td><div align="center">1.4</div></td>
    </tr>
    <tr>
      <td>org.sat4j.pb</td>
      <td><div align="center">1.4</div></td>
    </tr>
    </tbody>
</table>

</body>
</html>