<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Eclipse Project Release Notes 3.0.1</title>
</head>

<body>

<h1>Eclipse Project Release Notes</h1>
<p>Release 3.0.1<br>
Last revised September 16, 2004</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="#Target Operating Environments">1. Target Operating
  Environments</a><br>
  <a href="#Compatibility with Previous Release">2. Compatibility with Previous
  Releases</a><br>
  <a href="#Known Issues">3. Known Issues</a><br>
  <a href="#Running Eclipse">4. Running Eclipse</a><br>
  <a href="#Upgrading">5. Upgrading a Workspace from a Previous Release</a><br>
  <a href="#DefectsFixed">6. Interoperability with Previous Releases<br>
  7. Defects Fixed in Maintenance Releases</a><br>
  </p>
</blockquote>
<h2>1. <a name="Target Operating Environments"></a> Target Operating
Environments</h2>
<p>Most of the Eclipse SDK is &quot;pure&quot; Java<font size="1"><sup>TM</sup></font>
code and has no direct dependence on the underlying operating system. The chief
dependence is therefore on the Java 2 Platform itself. The 3.0 release of the
Eclipse Project is written and compiled against version 1.4 of the Java 2
Platform APIs, and targeted to run on version 1.4 of the Java 2 Runtime
Environment, Standard Edition.</p>
<p>There are many different implementations of the Java 2 Platform running atop
a variety of operating systems. We focus Eclipse testing on a handful of popular
<span class="header">combinations of operating system and Java 2 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 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.</span></p>
<p>Eclipse SDK 3.0 has been tested and validated on the following reference
platforms:</p>
<table width="821" border="1">
  <tr bgcolor="#CCCCCC">
    <th colspan="4">
      <div align="center">
        <b><font size="+1">Eclipse Reference Platforms</font></b>
      </div>
    </th>
  </tr>
  <tr>
    <td width="205"><b>Operating system</b></td>
    <td width="76"><b>Processor architecture</b></td>
    <td width="59"><b>Window system</b></td>
    <td width="453"><b>Java 2 Platform</b></td>
  </tr>
  <tr>
    <td width="205">Microsoft Windows XP</td>
    <td width="76">Intel x86</td>
    <td width="59">Win32</td>
    <td width="453">Sun Java 2 SDK, Standard Edition, version 1.4.2_03 for
      Microsoft Windows</td>
  </tr>
  <tr>
    <td width="205">Microsoft Windows XP</td>
    <td width="76">Intel x86</td>
    <td width="59">Win32</td>
    <td width="453">
      <p>IBM 32-bit SDK for Windows, Java 2 Technology Edition, Version 1.4.1</p>
    </td>
  </tr>
  <tr>
    <td width="205">Red Hat Enterprise Linux WS 3</td>
    <td width="76">Intel x86</td>
    <td width="59">GTK</td>
    <td width="453">Sun Java 2 SDK, Standard Edition, 1.4.2_03 for Linux x86</td>
  </tr>
  <tr>
    <td width="205">Red Hat Enterprise Linux WS 3</td>
    <td width="76">Intel x86</td>
    <td width="59">GTK</td>
    <td width="453">IBM 32-bit SDK for Linux on Intel architecture, Java 2
      Technology Edition, Version 1.4.1</td>
  </tr>
  <tr>
    <td width="205">SuSE Linux 8.2</td>
    <td width="76">Intel x86</td>
    <td width="59">GTK</td>
    <td width="453">Sun Java 2 SDK, Standard Edition, 1.4.2_03 for Linux x86</td>
  </tr>
  <tr>
    <td width="205">SuSE Linux 8.2</td>
    <td width="76">Intel x86</td>
    <td width="59">GTK</td>
    <td width="453">IBM 32-bit SDK for Linux on Intel architecture, Java 2
      Technology Edition, Version 1.4.1</td>
  </tr>
  <tr>
    <td width="205">Sun Solaris 8</td>
    <td width="76">SPARC</td>
    <td width="59">Motif</td>
    <td width="453">Sun Java 2 SDK, Standard Edition, 1.4.2_03 for Solaris SPARC</td>
  </tr>
  <tr>
    <td width="205">HP HP-UX 11i</td>
    <td width="76">hp9000<br>
      PA-RISC</td>
    <td width="59">Motif</td>
    <td width="453"><span class="header">HP-UX SDK for the Java 2 platform,
      version 1.4.2.00 for hp9000 PA-RISC</span></td>
  </tr>
  <tr>
    <td width="205" height="21">IBM AIX 5L Version 5.2</td>
    <td width="76">PowerPC</td>
    <td width="59">Motif</td>
    <td width="453">
      <p>IBM 32-bit SDK for AIX, Java 2 Technology Edition, Version 1.4.1</p>
    </td>
  </tr>
  <tr>
    <td width="205">Apple Mac OS X 10.3</td>
    <td width="76">PowerPC</td>
    <td width="59">Carbon</td>
    <td width="453">Java 2 Standard Edition 1.4.1 for Mac OS X</td>
  </tr>
</table>
<p>Although untested, Eclipse should work fine on other OSes that support the
same window system. For Win32: Windows 98, ME, NT, 2000, and Server 2003; SWT
HTML viewer requires Internet Explorer 5 (or higher). For GTK on other Linux
systems: version 2.2.1 of the GTK+ widget toolkit and associated librares (GLib,
Pango); SWT HTML viewer requires Mozilla 1.4GTK2. For Motif on other Linux
systems: Open Motif 2.1 (included); SWT HTML viewer requires Mozilla 1.4GTK2.</p>
<p>An early access version of Eclipse is available for 64-bit Linux GTK. Testing
has been limited to early access 64-bit J2SEs running on AMD64 processors.</p>
<p>SWT is also supported on the QNX Neutrino operating system, x86 processor,
Photon window system, and IBM J9 VM version 2.0. Eclipse 3.0 on Windows or Linux
can be used cross develop QNX applications.</p>
<h4>Internationalization</h4>
<p>The Eclipse Platform 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 locales are supported by the Eclipse SDK on all of the above
operating environments; DBCS locales are supported by the Eclipse SDK on the
Windows, GTK, and Motif window systems; BIDI locales are supported by the
Eclipse SDK only on Windows operating environments.
<p>The Eclipse SDK supports GB 18030, the new Chinese code page standard, on
Windows XP and 2000, and Linux.
<p>German and Japanese locales have been tested.</p>
<h4>BIDI support</h4>
<p>SWT fully supports BIDI on Windows (only). On Linux GTK, SWT supports
entering and displaying BIDI text.</p>
<p>The Eclipse SDK is a development environment targeted at technical
professionals - not an end user application. However, the Eclipse SDK tools will
permit technical professionals who are working in English to build Hebrew/Arabic
end user Java programs which are themselves not based on the Eclipse SDK. The
BIDI support in the Eclipse SDK allows a Java programmer to work with BIDI
strings, code comments, etc. but the Eclipse SDK itself is not designed to be
localized for BIDI locales and its widget orientation can not be changed.</p>
<h2>2. <a name="Compatibility with Previous Release"></a> Compatibility with
Previous Releases</h2>
<h3>Compatibility of Release 3.0.1 with 3.0</h3>
<p>As a general rule, maintenance releases of Eclipse have exactly the same APIs
as the major release on which they are based. This means that plug-ins developed
against any point release (e.g., 2.1.2) on the maintenance stream can be
deployed on any of the other releases in the stream, including both earlier
(2.1.0) and later (2.1.3) ones. In a few instances, we have made exceptions and
added new API in order to address serious problems.</p>
<p>These are the APIs that have changed in 3.0.1:</p>
<ul>
  <li>CopyProjectOperation class in package org.eclipse.ui.actions (plug-in
    org.eclipse.ui.ide) (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=72978">72978</a>)
    <ul>
      <li>Added new methods
        <ul>
          <li>public boolean isCanceled()</li>
          <li>public String getNewName()</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>Extension point org.eclipse.team.core.repository (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=66407">66407</a>)
    <ul>
      <li>Added new &quot;canImportId&quot; attribute on &lt;repository&gt;
        element</li>
    </ul>
  </li>
  <li>Extension point org.eclipse.debug.ui.launchShortcuts (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=55804">55804</a>)
    <ul>
      <li>Added new &quot;path&quot; attribute on &lt;shortcut&gt; element</li>
    </ul>
  </li>
  <li>Plug-in org.eclipse.ui.intro (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=69855">69855</a>)
    <ul>
      <li>Added new interface IIntroContentProvider in package
        org.eclipse.ui.intro.config&nbsp;</li>
      <li>Added new interface IIntroContentProviderSite in package
        org.eclipse.ui.intro.config&nbsp;</li>
      <li>Added new element &lt;contentProvider&gt; (intro content file)</li>
    </ul>
  </li>
  <li>Plug-in org.eclipse.ui.intro (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=69886">69886</a>)
    <ul>
      <li>Changed default encoding for &lt;html&gt; and &lt;head&gt; snippets to
        UTF-8 rather than local encoding (intro content file)</li>
      <li>Added new &quot;encoding&quot; attribute on &lt;head&gt; element
        (intro content file)</li>
      <li>Added new &quot;encoding&quot; attribute on &lt;html&gt; element
        (intro content file)</li>
    </ul>
  </li>
  <li>Plug-in org.apache.ant was updated from Ant 1.6.1 in Eclipse 3.0 to Ant
    1.6.2 in Eclipse 3.0.1. Since the Ant API was augmented between 1.6.1 and
    1.6.2, Ant tasks developed against Eclipse 3.0.1 may not work in Eclipse
    3.0.0 out of the box. Users can work around this problem by downloading and
    installing an Ant 1.6.2 release and configuring Eclipse to use the Ant 1.6.2
    libraries instead of the 1.6.1 ones (see the section &quot;Using a different
    version of Ant&quot; in the Workbench User Guide).</li>
</ul>
<p>When developing plug-ins intended to be deployed successfully atop any
Eclipse 3.0.* release, avoid using any of the elements in the above list.</p>
<h3>Compatibility of Release 3.0 with 2.1 (and 2.0)</h3>
<p>Eclipse 3.0 is compatible with Eclipse 2.0 and 2.1 to the greatest extent
possible.</p>
<p><b>API Contract Compatibility:</b> Eclipse SDK 3.0 is upwards
contract-compatible with Eclipse SDK 2.0 and 2.1 except in those areas noted in
the <em>Eclipse 3.0 Plug-in Migration Guide</em>. Programs that use affected
APIs and extension points will need to be ported to Eclipse SDK 3.0 APIs.
Downward contract compatibility is not supported. There is no guarantee that
compliance with Eclipse SDK 3.0 APIs would ensure compliance with Eclipse SDK
2.0 or 2.1 APIs. Refer to <i><a href="http://eclipse.org/eclipse/development/java-api-evolution.html">Evolving
Java-based APIs</a></i> for a discussion of the kinds of API changes that
maintain contract compatibility.</p>
<p><b>Binary (plug-in) Compatibility:</b> Eclipse SDK 3.0 is upwards
binary-compatible with Eclipse SDK 2.0 and 2.1 except in those areas noted in
the <em>Eclipse 3.0 Plug-in Migration Guide</em>. Eclipse 3.0 will include
additional runtime compatibility mechanisms to provide effective binary API
compatibility. Downward plug-in compatibility is not supported. Plug-ins for
Eclipse SDK 3.0 will not be usable in Eclipse SDK 2.0 or 2.1. Refer to <i><a href="http://eclipse.org/eclipse/development/java-api-evolution.html">Evolving
Java-based APIs</a></i> for a discussion of the kinds of API changes that
maintain binary compatibility.
<p><b>Source Compatibility:</b> Eclipse SDK 3.0 is upwards source-compatible
with Eclipse SDK 2.0 or 2.1 except in the areas noted in the <em>Eclipse 3.0
Plug-in Migration Guide</em>. This means that source files written to use
Eclipse SDK 2.0 or 2.1 APIs can be successfully compiled and run against Eclipse
SDK 3.0 APIs. Since source compatibilities are easy to deal with, maintaining
source compatibility is considered much less important than maintaining contract
and binary compatibility. 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><b>Workspace Compatibility:</b> Eclipse SDK 3.0 is upwards
workspace-compatible with Eclipse SDK 2.0 or 2.1 except as noted in the next
section. This means that workspaces and projects created with Eclipse SDK 2.0 or
2.1 can be successfully opened by Eclipse SDK 3.0 and upgraded to a 3.0
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.0
should provide similar upwards compatibility for their hidden and visible
workspace metadata created by earlier versions; 3.0 plug-in developers are
responsible for ensuring that their plug-ins recognize 3.0, 2.1, and 2.0
metadata 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.0
will be unusable with a product based an earlier version of Eclipse. Visible
metadata files created (or overwritten) by Eclipse 3.0 will generally be
unusable with earlier versions of Eclipse.
<p><b>Non-compliant usage of API's</b>: 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 an earlier releases. Refer to <i><a href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">How
to Use the Eclipse API</a></i> for information about how to write compliant
plug-ins.
<h3>2.1 Incompatibilities between release 3.0 and 2.1</h3>
<p>Eclipse 3.0 breaks compatibility with Eclipse 2.1 in areas described in the <i>Eclipse
3.0 Plug-in Migration Guide</i> located in the Platform Plug-in Developer Guide
(one of the help books included with this released, also available <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.platform.doc.isv/porting/eclipse_3_0_porting_guide.html">here</a>
on the web).</p>
<h2>3. <a name="Known Issues"></a> Known Issues</h2>
<blockquote>
  <p><a href="#I-Platform">3.1 Platform</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Core">3.1.1 Core</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Ant">3.1.2 Ant</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Help">3.1.3 Help</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-UI">3.1.4 UI</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Text">3.1.5 Text</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-SWT">3.1.6 SWT</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Team-CVS">3.1.7 Team and CVS</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Install-Update">3.1.8
  Install/Update</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Debug">3.1.9 Debug</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Compare">3.1.10 Compare</a><br>
  <a href="#I-JDT">3.2 Java Development Tools (JDT)</a><br>
  <a href="#I-PDE">3.3 Plug-in Development Environment (PDE)</a></p>
</blockquote>
<p>Note: Bug numbers refer to the Eclipse project bug database at <a href="http://dev.eclipse.org/bugs/">http://dev.eclipse.org/bugs/</a></p>
<h3>3.1 <a name="I-Platform">Platform</a></h3>
<h4>Problems in Korean translation on GTK 2.2.0 (Linux GTK only)</h4>
<p>Users who download and compile new versions of GTK, for example to gain DBCS
support in GTK 2.2.0 on RedHat 8.0, will encounter the following problems using
the Korean translation. Some of the text font may get clipped at the top, or
windows may resize out of the viewable area. To circumvent this problem, we
recommend setting a high screen resolution, for example 1280x1024, and setting
the Dialog Font and Banner Font to a gothic font. The latter can be done in the <b>Workbench
&gt; Fonts</b> preference page. In addition, in the Properties view, the
expand/collapse control (&quot;+&quot;/&quot;-&quot;) has no effect. The
workaround is to use the arrow keys instead: Left Arrow to collapse, Right Arrow
to expand. (bugs <a href="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=38604">38604</a>
and <a href="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=38598">38598</a>).</p>
<h4>Eclipse process does not exit (HP-UX only)</h4>
<p>On HP-UX, the HP JVM process that runs the Eclipse Workbench does not
terminate upon closing the workbench. The remedy is to always pass the <code>-XdoCloseWithReadPending</code>
to the VM via the Eclipse launcher command line; that is, launch Eclipse with
the command line:</p>
<blockquote>
  <p><code>eclipse -vmargs -XdoCloseWithReadPending</code></p>
</blockquote>
<p>(bug <a href="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=18321">18321</a>)</p>
<h4>Problems reading log file</h4>
<p>Internal errors are reported to the Eclipse log file (.metadata/.log). The
log is a structured text file with messages in English. The log is written using
UTF-8 encoding so that it can capture non-Latin characters that might be
embedded in stack traces, etc. When viewing the log file, the Eclipse editor (or
external program) should be configured to treat the log as UTF-8. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67872">67872</a>)</p>
<h3>3.1.1 <a name="I-Platform-Core">Platform - Core</a></h3>
<h4>Eclipse fails to start after moving or copying Eclipse install</h4>
<p>When a Eclipse install is run for the first time, it caches various
information about the configuration. If the Eclipse install is then moved or
copied to another location on disk, this cached information becomes invalid. To
avoid the problems that this can cause, the first time the moved or copied
Eclipse is launched, the -clean command line option must be used to tell Eclipse
to discard previously-cached configuration information. (bug <a title="NEW - [osgi] Eclipse fails to start from read-only AFS volume" href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=70454">70454</a>)</p>
<h4>Eclipse fails to start on some file systems</h4>
<p>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 -configuration command
line argument. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67719">67719</a>)</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 JRE).
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/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><b>Changing the character encoding for a resource causes inconsistencies</b></h4>
<p>Changing the character encoding for a resource (or the whole workspace) does
not trigger resource change events or auto builds. The result is that builders
and listeners that maintain state derived from the affected resources will not
have a chance to run, causing inconsistencies (such as compiler errors not going
away and searching for references not working properly). To avoid the problem,
create the project and set its character encoding before creating (or importing)
any files in it. However, if you do need to make a project consistent again, try
the following steps (in order):</p>
<ol>
  <li>Close all projects.</li>
  <li>Exit Eclipse.</li>
  <li>Restart Eclipse.</li>
  <li>Re-open all projects.</li>
  <li>Project &gt; Clean all projects.</li>
</ol>
<p>(bug <a href="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=59899">59899</a>, <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67884">67884</a>).</p>
<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="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=3109">3109</a> and <a href="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=17281">17281</a>)</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>Send yourThread.setContextClassLoader(yourClassLoader); // you can find
    your classloader by grabbing a class it loaded (YourPluginClass.class.getClassLoader())
  <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="http://dev.eclipse.org/bugs/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. (bugs <a href="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=12827">12827</a>,
<a href="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=5875">5875</a>)</p>
<h3>3.1.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: &quot;BUILD
FAILED: C:\workspace\bom.xml:1: Document root element is missing.&quot;. 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/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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=34466">34466</a>).</p>
<h4>Concurrent Ant builds not supported</h4>
<p>Eclipse runs 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. (bug <a href="http://bugs.eclipse.org/bugs/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="http://bugs.eclipse.org/bugs/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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=21748">21748</a>)</p>
<h4>No input handler supplied for &lt;input&gt; task when running Ant in a
separate VM</h4>
<p>By default, no input handler is supplied for the &lt;input&gt; task for a
build running in a separate VM. Therefore the input requests will always fail.
The user can supply an input handler using the -inputhandler argument. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=45484">45484</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 &quot;version&quot;
property cannot be set within an Ant buildfile due to the immutable nature of
Ant properties. This property will always be set to &quot;2.4.1&quot; for Ant
builds in the same VM as Eclipse. (bug <a href="https://bugs.eclipse.org/bugs/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/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 always based on Ant 1.6.1. (bug <a href="https://bugs.eclipse.org/bugs/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=&quot;env&quot;/&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/https://bugs.eclipse.org/bugs/show_bug.cgi?id=44196">44196</a>)</p>
<h3>3.1.3 <a name="I-Platform-Help">Platform - Help</a></h3>
<b>
<h4>Help browser tool bar buttons do not work for some documents</h4>
</b>
<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/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>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>If you use a proxy server, ensure that the &quot;Bypass proxy server for
      local addresses&quot; is selected.
    <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>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>
<p>If the above steps do not fix your problem, try changing the port and host
properties on the <b>Help &gt; Help Server</b> preference page. In general,
setting <code>host</code> to <code>localhost</code> or <code>127.0.0.1</code>
should work. Also, especially when running a firewall, you may want to specify
port 80 or some other firewall-friendly value. (bugs <a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=7036">7036</a>,
<a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=9418">9418</a>, <a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=11394">11394</a>)</p>
<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="http://bugs.eclipse.org/bugs/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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=28609">28609</a>)</p>
<b>
<h4>Help browser displays a blank page</h4>
</b>
<p>If you see a help launched with a blank page, and no errors displayed, it can
be caused by a conflict between libraries in org.eclipse.tomcat plug-in and jars
optionally installed in JRE jre/lib/ext directory. To fix the problem, ensure
that the JRE used for running Eclipse does not contain any J2EE or Apache jars
in the jre/lib/ext directory. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=63970">63970</a>)</p>
<h4>Modal interference between Help browser and workbench</h4>
<p>If the Help browser gets stuck with an error dialog, some parts of the
workbench window stop responding to events. Similiarly, Help topics that teach
and describe usage of complex wizards and dialogs are unusable in the default
(built-in) browser due to modal wizards and dialogs. To work around this
problem, use the <b>Help &gt; Always use external browser</b> preference setting
to configure Help to open in a standalone browser. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67543">67543</a>)</p>
<h4>Internationalized Help documents displayed incorrectly (Windows only)</h4>
<p>The embedded help browser used on Windows (Internet Explorer) may display
corrupted characters for some documents if the Auto-Select Encoding option is
turned on. Right click within the frame containing the incorrectly displayed
help document, and clear the check mark beside <b>Encoding &gt; Auto-Select</b>.
(<a title="NEW - File with corrupted chars" href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=72131">bug
72131</a>)</p>
<h3>3.1.4 <a name="I-Platform-UI">Platform - UI</a></h3>
<h4>High contrast settings</h4>
<p>Eclipse was tested for High Contrast using 1162 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>File system import loses file permissions (Unix-based platforms)</h4>
<p>Importing files into a project using the <b>Import &gt; File System</b>
wizard strips the execute permission from executable files. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=25387">25387</a>)</p>
<h4>Closing zoomed editors hides other editor areas</h4>
<p>If you split the editor area into two areas, zoom an editor and then close
it, it is possible for that the second area will be covered by the first. This
can be worked around by zooming the visible editor and then unzooming it. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=66974">66974</a>)</p>
<h4>Problems customizing colors and fonts in non-default themes</h4>
<p>If you are using a theme other than the default, a bug prevents you from
customizing fonts and colors other than those that happen to have been
overridden in the theme definition. There is no such limitation with the default
theme. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67221">67221</a>)</p>
<h4>Problem mixing dynamic and static pages within intro configs</h4>
<p>The Intro support has the concept of dynamic and static pages. Dynamic pages
are described using the intro config XML content and static pages are HTML files
either local or remote. An intro config has the notation of being static or
dynamic, this is determined by the type of home page specified in the intro
presentation. The current implementation only allow dynamic pages to be used
within a dynamic intro and static pages within a static intro, i.e. they are
mutually exclusive.</p>
<p>To workaround this problem when using a dynamic intro, a dynamic page can use
the &lt;html&gt; element with the &quot;type&quot; attribute set to inline. This
will include a static HTML file in the dynamic page (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=68490">68490</a>)</p>
<h4>Default text file encoding may be detected incorrectly (Windows XP/2000
only)</h4>
<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>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>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="http://dev.eclipse.org/bugs/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="http://bugs.eclipse.org/bugs/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>
<h3>3.1.5 <a name="I-Platform-Text">Platform - Text</a></h3>
<h4>Problems opening external files</h4>
<p><b>File &gt; Open External File</b> can fail when the editor opened for the
external file (as determined by <b>Workbench &gt; File Associations</b>
preferences) cannot not deal with external files. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=58179">58179</a>)</p>
<h4>Text editors does not show vertical ruler for external files</h4>
<p>A text editor opened on a file external to the workspace does not show a
vertical ruler. So if you set breakpoints in the file, you won't see the
breakpoints in the editor (the breakpoints only show up in the Breakpoints
view). (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=54900">54900</a>)</p>
<h3>3.1.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://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-home/faq.html#browserplatforms">&quot;Which
platforms are supported by the SWT Browser?&quot;</a>.</p>
<h4>Eclipse crashes on RedHat Linux 9 (GTK+ only)</h4>
<p>Users of the Bluecurve theme shipped with RedHat Linux 9 may experience
problems running Eclipse. These problems may include crashes or reduced
performance. (bugs <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=38305">38305</a>,
<a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67906">67906</a>, <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=37683">37683</a>,
<a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=58738">58738</a>)</p>
<p>We recommend changing to a different theme. Under GNOME, open RedHat Menu
&gt; Preferences &gt; Theme. Select a theme other than Bluecurve. All
applications should update at this point. Under KDE, open RedHatMenu &gt; Run
Command... And then type in &quot;gnome-theme-manager&quot; and click
&quot;Run&quot;. Select a theme other than Bluecurve. The selection may jump to
&quot;Custom Theme&quot; afterward; this is normal, and happens because the
GNOME window manager is not running. All GTK+ applications should update to the
new theme at this point.</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/https://bugs.eclipse.org/bugs/show_bug.cgi?id=44915">44915</a>)</p>
<h4>Drag and drop on Mac (Mac OS X Carbon only)</h4>
<p>The Mac OS X Carbon implementation of SWT does not support dragging from an
SWT application to another application. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=68212">68212</a>)</p>
<h4>Components in SWT_AWT are not displayed (Motif only)</h4>
<p>On Motif systems (verified on Linux and Solaris) problems have been reported
by some developers in the support for embedding AWT widgets within SWT layouts.
These can range from the AWT widgets not being properly displayed to Java VM
crashes. The cause(s) of these problems has not yet been determined. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=68353">68353</a>)</p>
<h4>Can't expand/collapse TableTree item with mouse (GTK only)</h4>
<p>Under certain conditions and on certain versions of GTK, TableTree items,
such as those found in Property Sheets, cannot be expanded or collapsed using
the mouse. The workaround is to use the right and left arrow keys. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=38855">38855</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="http://dev.eclipse.org/bugs/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
the Eclipse bug report. (bug <a href="http://bugs.eclipse.org/bugs/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>List and ComboBox on Windows NT (Windows NT only)</h4>
<p>On Windows NT only, you should avoid creating items in a <code>List</code> or
<code>ComboBox</code> with strings longer than 1000 characters. Doing so may
result in a General Protection Fault. This has been fixed in more recent
versions of Windows.</p>
<h4>Excessive CPU consumption&nbsp; (Linux GTK only)</h4>
<p>When using Linux GTK 2.2.1, there are some scenarios where the CPU usage goes
to 100% for no good reason. When this occurs, resizing or closing the dialog
seems to return the CPU usage to normal. (bug <a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=35443">35443</a>)</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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=32045">32045</a>)</p>
<h4>Using IBM J9 VM (Photon and AIX)</h4>
<p>On QNX Photon and IBM AIX, the SWT library will not be found when running
with an IBM J9 1.5 VM. This is a bug in the IBM J9 class library in version 1.5.
You can workaround this problem by adding the SWT library directory to your
LD_LIBRARY_PATH environment variable.</p>
<h4>Missing permissions for SWT native libraries in workspace (HP-UX only)</h4>
<p>When retrieving the SWT Motif fragment into an Eclipse workspace, the
permissions of the native libraries are reset. This creates a problem on HP-UX
because shared libraries need to have execute permission. Attempting to
self-host with this fragment throws an UnsatisfiedLinkError...Permission Denied
error. You must manually change the permissions to make these libraries
accessible (assume the workspace is at <code>/workspace</code>):</p>
<blockquote>
  <blockquote>
    <p><code>cd /workspace/org.eclipse.swt.motif/os/hpux/PA_RISC<br>
    chmod 555 *.sl</code></p>
  </blockquote>
</blockquote>
<p>(bug <a href="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=20305">20305</a>
describes a related problem)</p>
<h3>3.1.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.16). As for the 1.12.X
feature releases of CVS, the Eclipse CVS client has been tested with builds up
to 1.12.8. 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. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67627">67627</a>)</p>
<h4>Cached authorization information lost when workspace is upgraded</h4>
<p>The Platform's internal authorization database file location has changed for
3.0. Because of this, authorization information cached with a workspace created
with an earlier version of Eclipse will be unusable, and the user will need to
re-authenticate.</p>
<h4>Issues upgrading from 2.x to 3.0</h4>
<p>In 2.x, CVS used markers to identify outgoing additions and outgoing
deletions. In 3.0, these markers no longer exist because the Synchronize view
can be used to show the same information. If CVS markers exist in a workspace
that is upgraded to 3.0, they can be removed by performing a Project&gt;Clean.
(bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=40593">40593</a>)</p>
<h4>Issues upgrading from 1.0 to 3.0</h4>
<p>In 1.0, CVS used a .vcm_meta file to store project configuration information.
In 2.0, this file was replaced by the .project file but CVS still read the .vcm_meta
file for backwards compatibilty. In 3.0, the .vcm_meta file is no longer read by
CVS. Users who wish to upgrade from 1.0 to 3.0 must first upgrade to 2.x and
then upgrade to 3.0 if they wich to keep there project configuration information
(e.g. java project). (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=43296">43296</a>)</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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=9295">9295</a>)</p>
<h4>CVS meta-folders appear in some cases</h4>
<p>There are some cases where CVS folders are not hidden from the UI as the user
would expect. For instance, CVS folders will appear if a user imports a CVS
project into Eclipse before the CVS plug-in is loaded. To avoid this, open the
CVS Repositories view (thus loading the CVS plug-in) before importing CVS
projects into Eclipse. (bug <a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=21128">21128</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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=23575">23575</a>
and <a href="http://bugs.eclipse.org/bugs/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="http://bugs.eclipse.org/bugs/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="http://bugs.eclipse.org/bugs/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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=11633">11633</a>)</p>
<h4>No way to update folder excluding subfolders</h4>
<p>There is currently no way in Eclipse to run a non-recursive update on a
folder (i.e., there is nothing equivalent to the cvs -l option). (bug <a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=33210">33210</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/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. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=50965">50965</a>)</p>
<h3>3.1.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 the system property
osgi.checkConfiguration set to true. This property can be set in the
eclipse/configuration/config.ini file, or passed to the eclipse command line via
the -vmargs option. For example, restart with the following command: eclipse.exe
-vmargs -Dosgi.checkConfiguration=true. Then, open Help &gt; Software Updates
&gt; Manage Configuration dialog and toggle on the &quot;Show disabled
features&quot; button its toolbar. Select the newly &quot;installed&quot;
feature and press on the &quot;Enable feature&quot; action on the right pane (or
select the action from the feature's context menu). (bugs <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=52525">52525</a>,
<a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=66120">66120</a>, <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67461">67461</a>)</p>
<h4>Non-responsive sites may use all free threads</h4>
<p>Prior to Eclipse 2.1, if the connection to an update site did not respond
(the site did not exist or was down), the workbench became non-responsive until
the connection request timed out. Since 2.1, connections are made by a separate
thread so that the UI stays responsive. Typically, unresponsive connections
eventually time out and these threads terminate. In rare cases, servers accept
the connection but never send a response, thereby keeping the connection thread
live indefinitely. Update manager limits the number of active connection threads
and will refuse to create more once the limit is reached. To work around the
problem, exit and restart Eclipse. (bugs <a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=18598">18598</a>,
<a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=19775">19775</a>)</p>
<h4>URL validity checking on input</h4>
<p>URL syntax is currently not completely checked on input. Ensure that the
entered URL uses forward&nbsp; slash ('/') separators and does not contain
invalid characters. (bugs <a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=19685">19685</a>,
<a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=20247">20247</a>)
<h3>3.1.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.1.10 <a name="I-Platform-Compare">Platform - Compare</a></h3>
<p>None.</p>
<h3>3.2 <a name="I-JDT">Java Development Tools (JDT)</a></h3>
<h4>Missing deprecation warnings</h4>
<p>The library JARs that come with Java Runtime Environment distributions of
J2SE sometimes omit the information about which API elements are deprecated.
This information is found in the library JARs that come with SDK distributions
of J2SE. When Java code is compiled against JRE libraries lacking deprecation
information, the Java compiler cannot report uses of deprecated elements. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=40485">40485</a>)</p>
<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 bytecodes, leaving no trace of a field reference.&nbsp;(bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=12044">12044</a>)</p>
<h4>Developing programs with J2SE 1.5</h4>
<p>The Java tools do not yet fully support J2SE 1.5. You can run or debug
programs against a 1.5 JRE, and safely compile 1.4 programs against 1.5
libraries (the Eclipse compiler tolerates them with the exception of covariance
scenarios which are forbidden byJava Language Specification (JLS) 2nd edition).
However, the Eclipse Java compiler and IDE are unable to handle source files
containing uses of any of the new Java language features being added in 1.5
(generics, enhanced for loops, static imports, metadata annotations, varargs),
which will be codified in the forthcoming JLS 3rd edition. An early preview of
the full Eclipse support for J2SE 1.5 developed in parallel with 3.0, and is
available from the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/jdt-core-home/r3.0/main.html#updates">Cheetah</a>
page.&nbsp;(bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=36938">36938</a>)</p>
<h4>Missing secondary types in editor</h4>
<p>When referencing a secondary type defined in another compilation unit (i.e.,
a top level type whose name does not match its file name), the editor may
incorrectly report it to be missing. The Java compiler handles this case fine.
(bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=32505">32505</a>)</p>
<h4>Java indexing crash recovery</h4>
<p>The Java indexer analyzes modified Java files in the background. If the
indexer happens to crash (which it can under rare circumstances), it will
automatically recover and rebuild the affected indexes. If this happens, it adds
an informative entry to the .log file to. The rebuilt indexes are fine, and the
crash does not impact subsequent search operations. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=66836">66836</a>)</p>
<h4>Classpath entry denoting external class folder is now properly rejected</h4>
<p>Although external class folders (i.e., folder containing .class files and
located outside workspace) were never properly supported by the JDT, a problem
was never reported when constructing such a build path. JDT now properly
diagnoses a problem in this situation. In order to still benefit from external
.class files, a class folder must be mounted as a linked folder in Eclipse
workspace (in project properties, select Java Build Path &gt; Libraries &gt; Add
Class Folder &gt; Create New Folder... &gt; Advanced. Then a folder name can be
associated with an arbitrary file system location by checking &quot;Link to
folder on the file system). Once mounted, the linked class folder can normally
be referenced on a build path, and from there on programs can be compiled
against it. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67631">67631</a>)</p>
<h4>Package Explorer not asking for filter removal</h4>
<p>Show In &gt; Package Explorer normally asks for removal of filters when the
compilation unit to be shown in the Package Explorer is filtered out. However,
this currently is not happening if only a single filter is selected. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67814">67814</a>)</p>
<h4>Hierarchical layout and inclusion filters</h4>
<p>Packages explicitly included on the build path using inclusion filters will
not be visible in either the Package Explorer or Packages views when the views
are set to hierarchical layout mode. Use the flat layout mode when using
inclusion filters. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=65240">65240</a>)</p>
<h4>Problems after moving a compilation unit</h4>
<p>Moving a compilation unit can cause an editor open on that file to behave
strangely. Closing and re-opening the editor fixes the problem. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67046">67046</a>)</p>
<h4>Stale spell check errors</h4>
<p>Adding a new word to the spell checking dictionary does not correct the
corresponding spelling errors. The spelling errors do go away the next time you
change the file's content. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=68282">68282</a>)</p>
<h4>Javadoc hover in the Java editor</h4>
<p>The Javadoc hover help shown when hovering over identifiers in the Java
editor does not handle links inside of Javadoc comments properly. (bug <a href="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=20644">20644</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="http://bugs.eclipse.org/bugs/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>Appling 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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=35395">35395</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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=32215">32215</a>)</p>
<b>
<h4>Side effects of Step into Selection and Run to Line</h4>
</b>
<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/https://bugs.eclipse.org/bugs/show_bug.cgi?id=51507">51507</a>)</p>
<b>
<h4>Default locale initialization incorrect</h4>
</b>
<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/https://bugs.eclipse.org/bugs/show_bug.cgi?id=65945">65945</a>)</p>
<b>
<h4>Suspend on uncaught exception overrides exception breakpoint location
filters</h4>
</b>
<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/https://bugs.eclipse.org/bugs/show_bug.cgi?id=66770">66770</a>)</p>
<b>
<h4>Multiple references to the same object do not update in Variables view</h4>
</b>
<p>When more than one variable references the same object in the Variables view,
only one variable will update while stepping through source code. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=58768">58768</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="http://dev.eclipse.org/bugs/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="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=32206">32206</a>)</p>
<b>
<p>Cannot detect installed JRE with GB18030 characters in path name</p>
</b>
<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/https://bugs.eclipse.org/bugs/show_bug.cgi?id=33844">33844</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="http://dev.eclipse.org/bugs/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="http://dev.eclipse.org/bugs/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>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.
<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 effects 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="http://dev.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=1631">1631</a>)
<h3>3.3 <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/https://bugs.eclipse.org/bugs/show_bug.cgi?id=59502">59502</a>)</p>
<h4>Paste does not work in table viewers of the plug-in manifest editor</h4>
<p>When you copy an item in one of the table viewers on the Dependencies,
Extensions or Extension Points pages of the plug-in manifest editor, you will
not be able to paste it. For copy and paste operations, use the source page of
the editor. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=67582">67582</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.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.elipse.swt as binary with source attached. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=66314">66314</a>)</p>
<h4>Search for an extension point reference may include a false hit</h4>
<p>It is possible for an extension point search result to include a false hit in
the following specific scenario. If you open the plug-in manifest editor on a
plug-in that contains both a plugin.xml and manifest.mf, go to the Extension
Points page, select one of the extension points and click on 'Find references',
the result may include a false hit. The false hit would result only if another
plug-in in the product had declared an extension point by the same id.
Workaround in this case would be to perform the search through the Plug-in
search page. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=62177">62177</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="http://bugs.eclipse.org/bugs/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="http://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=18500">18500</a>)</p>
<h4>Missing classes from exported plug-ins</h4>
<p>On some platforms due to limitations of the length of filenames, the JARs
generated by the <b>File &gt; Export.. &gt; Deployable plug-ins and fragments</b>
command may be missing class files. This can happen if the workspace path,
package names, or class names are too long. (bug <a href="https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/show_bug.cgi?id=69620">69620</a>)</p>
<h2>4. <a name="Running Eclipse">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
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>
subdirectory of the install. If installed at <code>c:\eclipse-SDK-3.0-win32</code>,
the executable is <code>c:\eclipse-SDK-3.0-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 below.</p>
<p>Depending on the JRE that you are running, the number of plug-ins you are
using, and the number of files you will be working with, you may have to
increase the amount of memory that is available to the Java VM running Eclipse.
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.
To increase the available memory, you would typically use:</p>
<blockquote>
  <p><code>eclipse -vmargs -Xmx&lt;memory size&gt;</code></p>
</blockquote>
<p>The <code>&lt;memory size&gt;</code> value should typically be at least
&quot;128M&quot; (128 megabytes). Usually, &quot;256M&quot; (256 megabytes) is
ample. You should not set this value to be larger than the amount of physical
memory on your machine.</p>
<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 as a sibling of the executable (that is, at <code>c:\eclipse-SDK-3.0-win32\eclipse\workspace</code>).
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>
<p>Here is a typical Eclipse command line:&nbsp;</p>
<blockquote>
  <p><code>eclipse -vm c:\jdk1.4.2\jre\bin\javaw -vmargs -Xmx256M</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>Select the shortcut and edit its Properties. In the Target: field append
    the command line arguments.
</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>Mac OS X</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>Info.plist</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>Info.plist</code>
file in the <code>Contents</code> subfolder and open it with your favorite text
editor. Add to, remove from or edit the command line options listed at the end
of the file for the &quot;Eclipse&quot; key.</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. Due to a platform limitation you
cannot pass an arbitrary Java VM to the &quot;<code>-vm</code>&quot; option, but
must use the program &quot;<code>java_swt</code>&quot; found inside the
application bundle; for example:</p>
<pre>	cd <i>&lt;eclipse directory&gt;</i>
	./eclipse -vm Eclipse.app/Contents/MacOS/java_swt
</pre>
<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:
<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 subdirectory 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 subdirectory
    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:
<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>
<h2>6. <a name="Interoperability with Previous Releases">Interoperability with
Previous Releases</a></h2>
<h3>6.1 Interoperability of Release 3.0 and 2.1</h3>
<h4>Sharing projects between heterogeneous Eclipse 3.0 and 2.1</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.0
while others are working in Eclipse 2.1, there are no such guarantees. This
section provides advice for what to do and to not do. It addresses the specific
issues with the Eclipse SDK.</p>
<p>The typical failure mode is noticed by the 3.0 user. 3.0 metadata is lost
when a 2.1 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.0 creates or modifies a project in a way that
    results in changes to a shared metadata file that rely on 3.0-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 2.1 shares this project from the same
    repository. The 3.0-specific information in the shared metadata file is not
    understood by Eclipse 2.1, 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.0-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.0 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 a list of things to watch out for when the project is to be shared
between users of Eclipses 3.0 and 2.1:</p>
<ul>
  <li><b>External tool (Ant) builders</b><br>
    Information about external tool builder is recorded in the project's <code>.project</code>
    file. The format of the information changed between 2.1 and 3.0. Builders
    created or changed in 3.0 use the new format, which is not understood by a
    2.1 workspace. Builders created in 2.1 use the old format and continue to
    work in 2.1. Builders from a 2.1 workspace can be viewed in a 3.0 workspace
    in read-only mode. Recommendation: Always create or edit external tools
    builders from a 2.1 workspace.</li>
  <li><b>Optional inclusion patterns on Java source entries on the build class
    path</b><br>
    This support was added in 3.0. This information is recorded in the project's
    <code>.classpath</code> file. Recommendation: do not specify inclusion
    patterns.&nbsp; Better still, disable exclusion patterns via the<b> Java
    &gt; Compiler &gt; Build Path</b>&nbsp; preference page.</li>
</ul>
<h4>Using Eclipse 3.0 to develop plug-ins that work in Eclipse 2.1</h4>
<p>It is also possible (and reasonable) to use Eclipse 3.0 to develop a plug-in
intended to work in Eclipse 2.1. Use the <b>Plug-in Development &gt; Target
Platform </b>preference page to locate non-workspace plug-ins in an 2.1 Eclipse
install. This ensures that the code for your plug-in is being compiled and
tested against Eclipse 2.1 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.0.1 since 3.0.0</h3>
<p>Release 3.0.1 is a maintenance release to fix serious defects present in
release 3.0.0. These changes only affect some plug-ins and features. Modified
plug-ins have version id &quot;3.0.1&quot;; plug-ins unchanged since the 3.0
release still have version id &quot;3.0.0&quot;. Note, however, that all
features now have version id &quot;3.0.1&quot; (even if none of their plug-ins
changed).</p>
<p>Maintenance release 3.0.1 fixes the following defects present in release
3.0.0:</p>
<!-- 1.0@bugzilla.org -->
<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%">
  <tbody>
    <tr align="left">
      <th><a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=JDT&amp;product=PDE&amp;product=Platform&amp;target_milestone=3.0.1&amp;resolution=FIXED&amp;order=bugs.bug_id">ID</a></th>
      <th><a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=JDT&amp;product=PDE&amp;product=Platform&amp;target_milestone=3.0.1&amp;resolution=FIXED&amp;order=bugs.short_desc,bugs.bug_id">Summary</a></th>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=33640">33640</a></td>
      <td>Editor colors do not take effect on Apply</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38288">38288</a></td>
      <td>TVT21: English item in the Add Library panel</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39863">39863</a></td>
      <td>TableViewer / cellModifier / ComboBoxCellEditor: new valu...</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44613">44613</a></td>
      <td>[misc] some actions go to disk everytime they are selected</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46134">46134</a></td>
      <td>Migration of CVS repository location problem</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47549">47549</a></td>
      <td>GPF in XtSetValues on M5</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52916">52916</a></td>
      <td>Strange error message when using jre1.5.0 libraries</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55804">55804</a></td>
      <td>allow ordering in &quot;Run As &gt;&quot; context menu</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57408">57408</a></td>
      <td>DBCS: After pressing &quot;Tab&quot;, anything can not be inputed</td>
    </tr>
    <tr class="bz_normal bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59301">59301</a></td>
      <td>[GlobalActions] View gets uninitialized ViewSite in its i...</td>
    </tr>
    <tr class="bz_minor bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59674">59674</a></td>
      <td>Minor Typos</td>
    </tr>
    <tr class="bz_critical bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59899">59899</a></td>
      <td>Encoding changes need to notify clients</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61368">61368</a></td>
      <td>Perspective layouts should define a place holder for the ...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62862">62862</a></td>
      <td>[painting] Reusing Editors does not fully reset editor</td>
    </tr>
    <tr class="bz_normal bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63235">63235</a></td>
      <td>[KeyBindings] Cut/Copy/Paste/SelectAll don't work in Swin...</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63324">63324</a></td>
      <td>[ActionSets] Plugin not deactivated with Exception at sta...</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63546">63546</a></td>
      <td>[OLE] In-place editor fails with: Class ID not found in r...</td>
    </tr>
    <tr class="bz_enhancement bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63947">63947</a></td>
      <td>Enhance default search for numbers</td>
    </tr>
    <tr class="bz_major bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64956">64956</a></td>
      <td>[KeyBindings] TVT3.0: Error message on console during sta...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65938">65938</a></td>
      <td>cannot generate Javadoc with excluded source folder [java...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66405">66405</a></td>
      <td>Activities Dialog - empty categories should not be visible</td>
    </tr>
    <tr class="bz_enhancement bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66407">66407</a></td>
      <td>Need multi-provider Project Set import compatibility mech...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66433">66433</a></td>
      <td>Need keyboard support for Nested Tabfolder Traversal</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66512">66512</a></td>
      <td>Invalid classpath entry not rejected</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67046">67046</a></td>
      <td>Exception when dragging a method to another class using t...</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67061">67061</a></td>
      <td>[Browser] Blank page when opening page with Flash</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67070">67070</a></td>
      <td>SWTException from Forms code.</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67221">67221</a></td>
      <td>[Themes] Cannot customize values of colors/fonts when th...</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67293">67293</a></td>
      <td>[Themes] Setting inital theme to a bad theme id results i...</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67547">67547</a></td>
      <td>[3.0.1] Got user vetoed file modification although I neve...</td>
    </tr>
    <tr class="bz_major bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67590">67590</a></td>
      <td>[Presentations] The 'Save All' command has no effect</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67716">67716</a></td>
      <td>[ProblemsView] Trying to sort in Problems View removes al...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67789">67789</a></td>
      <td>Java element delta from refresh contains excluded package</td>
    </tr>
    <tr class="bz_enhancement bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67811">67811</a></td>
      <td>Need support for adding separators to the help menu</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67878">67878</a></td>
      <td>[3.0.1] Thread timed out while loading class ConsoleDocum...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67884">67884</a></td>
      <td>[content type] Content type change events not reported</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67912">67912</a></td>
      <td>ConfiguredSite is null after dynamically installing a fea...</td>
    </tr>
    <tr class="bz_major bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67913">67913</a></td>
      <td>[ActionSets] Actions associated with views not disposed</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68017">68017</a></td>
      <td>Javadoc processing does not detect missing argument to @r...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68023">68023</a></td>
      <td>Why does pde always append &quot;.jar&quot; on the runtime library ...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68025">68025</a></td>
      <td>Javadoc processing does not detect some wrong links</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68032">68032</a></td>
      <td>PDE imports plugins only from default location when star...</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68058">68058</a></td>
      <td>NPE in JUnit view [JUnit]</td>
    </tr>
    <tr class="bz_enhancement bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68087">68087</a></td>
      <td>[Javadoc] '-' character should be accepted in tag names</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68117">68117</a></td>
      <td>Error when changing class name in Configure Accessor Clas...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68146">68146</a></td>
      <td>Search should not populate Java model cache</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68158">68158</a></td>
      <td>Error Log view does not display stack trace</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68180">68180</a></td>
      <td>[ActivityMgmt] Capabilities Preference page tree expansion</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68250">68250</a></td>
      <td>Throwing Focus to the EditorPart</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68273">68273</a></td>
      <td>tabletree plus/minus not visible in High Contrast Mode</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68295">68295</a></td>
      <td>User Libraries dialog loses settings [build path]</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68343">68343</a></td>
      <td>IDOMType.setSuperInterfaces() with empty array has no imp...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68349">68349</a></td>
      <td>[osgi] NPE in FileManager.cleanup()</td>
    </tr>
    <tr class="bz_trivial bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68405">68405</a></td>
      <td>[3.0.1] CVS Resource History uses bad content description</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68413">68413</a></td>
      <td>NPE from InstructionPointerManager</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68421">68421</a></td>
      <td>boolean property editor is incorrect UI</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68487">68487</a></td>
      <td>&quot;SAXParseException: XML declaration may only begin entiti...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68497">68497</a></td>
      <td>Standby intro comes up empty</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68504">68504</a></td>
      <td>Refactor -&gt; Change Method Signature removes import [refac...</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68505">68505</a></td>
      <td>[Progress] Progress view shows waiting job which doesn't ...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68562">68562</a></td>
      <td>[projection] NPE in ProjectionViewer.setRangeIndication</td>
    </tr>
    <tr class="bz_trivial bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68563">68563</a></td>
      <td>[3.0.1] typo in 'Checkout from CVS' import wizard</td>
    </tr>
    <tr class="bz_minor bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68577">68577</a></td>
      <td>[formatting] javadoc formatter removes blank lines betwee...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68585">68585</a></td>
      <td>index is out of date after encoding change</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68626">68626</a></td>
      <td>[content type] LazyInputStream alters mark position on reset</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68653">68653</a></td>
      <td>Cannot install feature in new extension site, until restart</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68677">68677</a></td>
      <td>&lt;not responding&gt; label for restored bkp in source outside...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68683">68683</a></td>
      <td>Schema transformer places &lt;HTML&gt; tag after &lt;HEAD&gt;
        stanza,...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68688">68688</a></td>
      <td>Repeated string on Help welcome page</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68698">68698</a></td>
      <td>Bug in inner class emulation:compiler doesn't reject ille...</td>
    </tr>
    <tr class="bz_normal bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68712">68712</a></td>
      <td>Export of multiple plugins fails</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68721">68721</a></td>
      <td>[3.0.1] ResourceVariantStorage causes StackOverflowError</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68726">68726</a></td>
      <td>[Javadoc] Target attribute in @see link triggers warning</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68750">68750</a></td>
      <td>sync hover too long</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68772">68772</a></td>
      <td>IDOMMember.getComments() sometimes returns wrong results.</td>
    </tr>
    <tr class="bz_critical bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68774">68774</a></td>
      <td>[Perspectives] NPE in PerspectiveSwitcher.setCoolItemSize...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68785">68785</a></td>
      <td>Wrong default value chosen for attribute with a restriction</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68798">68798</a></td>
      <td>API not indexed</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68802">68802</a></td>
      <td>org.eclipse.ui.themes identifier incorrect</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68830">68830</a></td>
      <td>build-site function corrupts feature.xml</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68852">68852</a></td>
      <td>[SSH2] Bug in Socks5 authentication</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68855">68855</a></td>
      <td>org.eclipse.swt.tools.internal.SwtJniGen is not working p...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68863">68863</a></td>
      <td>Missing entry in local variable attribute</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68868">68868</a></td>
      <td>Sometime a search results in the error &quot;Memento problem&quot; ...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68886">68886</a></td>
      <td>Code completion in Ant editor not work with xmlbuddy</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68894">68894</a></td>
      <td>[content type] preferences not being loaded</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68921">68921</a></td>
      <td>o.e.core.resources/schema/refreshProviders.exsd -- missin...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68932">68932</a></td>
      <td>Exception when project is closed</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68939">68939</a></td>
      <td>[Workbench] Several org.eclipse.ui.*./schema/*.exsd files...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68941">68941</a></td>
      <td>[Colour/Font] Two org.eclipse.ui./schema/*.exsd files -- ...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68962">68962</a></td>
      <td>Eclipse don't show errors and warnings inside &quot;new reposi...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68963">68963</a></td>
      <td>[implementation] A bug of the IME composition string font.</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69028">69028</a></td>
      <td>Anonymous type in argument of super() is not in type hier...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69055">69055</a></td>
      <td>Topics in the infocenter not indexed by Google</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69151">69151</a></td>
      <td>JUnit Plug-in Tests not working if tests are a fragment.</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69152">69152</a></td>
      <td>[NPE] An internal error occurred during: &quot;Override indica...</td>
    </tr>
    <tr class="bz_trivial bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69159">69159</a></td>
      <td>Export feature &quot;Confirm Replace&quot; dialog missing a slash</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69190">69190</a></td>
      <td>NullPointerException @ org.eclipse.debug.core.sourcelooku...</td>
    </tr>
    <tr class="bz_minor bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69271">69271</a></td>
      <td>decimal integer literals should not consist of FULL WIDTH...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69272">69272</a></td>
      <td>[Javadoc] Invalid malformed reference (missing separator)</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69275">69275</a></td>
      <td>[Javadoc] Invalid warning on @see link</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69302">69302</a></td>
      <td>[Javadoc] Invalid reference warning inconsistent with jav...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69386">69386</a></td>
      <td>[prefs] PreferenceForwarder does not honour -data @none</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69398">69398</a></td>
      <td>Table.clearAll() does not force redraw</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69401">69401</a></td>
      <td>TVT3.0: What's New-&gt;Eclipse Community link causes bogus ...</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69410">69410</a></td>
      <td>TVT3.0: mnemonics doesn't work if focus is in a text widget</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69419">69419</a></td>
      <td>[implementation] ChainedPreferenceStore</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69422">69422</a></td>
      <td>TVT3.0: untranslated string in &quot;Checkout from CVS&quot; proje...</td>
    </tr>
    <tr class="bz_blocker bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69440">69440</a></td>
      <td>Inspect32 does not show name for CCombo</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69452">69452</a></td>
      <td>NPE initializing source lookup</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69470">69470</a></td>
      <td>TVT3.0: NL Truncation occurs in Run -&gt; External Tools -&gt; ...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69533">69533</a></td>
      <td>Activities in org.eclipse.team.examples.filesystem</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69535">69535</a></td>
      <td>TVT3.0: Multiple Mnemonics in CVS Repository Property</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69536">69536</a></td>
      <td>Infinite loop on rendering variables</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69541">69541</a></td>
      <td>[Dialogs] TVT3.0: Task List Description text entry widge...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69554">69554</a></td>
      <td>Eclipse Java compiler is not completely compliant to Javac</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69607">69607</a></td>
      <td>[Preferences] TVT3.0: nonexternalized string in Preferen...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69608">69608</a></td>
      <td>[About] TVT3.0: Non-externalized strings in About Eclips...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69612">69612</a></td>
      <td>[Font/Colour] TVT3.0: Duplicated mnemonics in Preference...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69618">69618</a></td>
      <td>TVT3.0: Truncation in External Tools -&gt; Ant -&gt; New Config...</td>
    </tr>
    <tr class="bz_blocker bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69620">69620</a></td>
      <td>Update site builder is ommitting some innerclasses from g...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69625">69625</a></td>
      <td>TVT3.0: Non-externalized strings in Software Updates -&gt; M...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69628">69628</a></td>
      <td>TVT3.0: English dates displayed in manage configuration.</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69637">69637</a></td>
      <td>[CheatSheets] TVT3.0: Problem executing CVS Tasks cheat s...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69665">69665</a></td>
      <td>Msg for missing .eclipseextension says .eclipseproduct</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69669">69669</a></td>
      <td>TVT3.0: Debug view has mnemonics in Debug, Run, and Exte...</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69710">69710</a></td>
      <td>[find/replace] Replace scope ignored</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69723">69723</a></td>
      <td>TVT3.0: Truncated text in memory view</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69724">69724</a></td>
      <td>[Fonts] TVT3.0: Description for colors &amp; fonts are switched</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69736">69736</a></td>
      <td>IWAV0138E Remote VM terminated too soon error - when acce...</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69768">69768</a></td>
      <td>TVT3.0: Preferences -&gt; Ant has text showing up in english</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69782">69782</a></td>
      <td>Eclipse doesn't automatically discover the inability to w...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69818">69818</a></td>
      <td>NPE when launching with Debugger</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69826">69826</a></td>
      <td>NPE while debugging</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69829">69829</a></td>
      <td>TVT3.0: Tips and Tricks text in tables is right aligned.</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69836">69836</a></td>
      <td>TVT3.0: In Korean locale &quot;View Installation History&quot; fails</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69840">69840</a></td>
      <td>TVT3.0: Preferences - Platform Dictionary is in english</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69843">69843</a></td>
      <td>TVT3.0: Unexternalized string in Preferences&gt;Java&gt;Task Tags</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69851">69851</a></td>
      <td>TVT3.0: Corrupted text displaying in View Installation Hi...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69855">69855</a></td>
      <td>Add dynamic/portlet capability to intro</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69884">69884</a></td>
      <td>TVT3.0: Truncation occurs in Add Library Panel</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69886">69886</a></td>
      <td>HTML fragments encoded in UTF-8 display some garbage char...</td>
    </tr>
    <tr class="bz_major bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69900">69900</a></td>
      <td>[EditorMgmt] Editor cannot be closed after it is activate...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69932">69932</a></td>
      <td>TVT3.0: Add Constructor from Superclass has incorrect mne...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69961">69961</a></td>
      <td>[other] NPE retrieving authorization info</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69971">69971</a></td>
      <td>Empty books shown in help working set dialog</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69975">69975</a></td>
      <td>TVT3.0: Preferences CVS has non-externalized strings</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69978">69978</a></td>
      <td>TVT3.0: Two shortcuts for one menuitem</td>
    </tr>
    <tr class="bz_critical bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70002">70002</a></td>
      <td>[implementation] NPE while opening the first java editor</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70011">70011</a></td>
      <td>Installed JREs missing libraries</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70030">70030</a></td>
      <td>[Wizards] Help Context - New Folder or File</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70051">70051</a></td>
      <td>MemoryViewTab does not calculate delta and selected addre...</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70077">70077</a></td>
      <td>[typing] Copy/paste doesn't work occasionally</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70080">70080</a></td>
      <td>[RCP] Reset Perspective does not work if no perspective t...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70111">70111</a></td>
      <td>TVT3.0: Java Project Properties has truncated text and bu...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70112">70112</a></td>
      <td>org.eclipse.help.webapp JSPs fail validation</td>
    </tr>
    <tr class="bz_minor bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70114">70114</a></td>
      <td>org.eclipse.help.webapp livehelp.js.jsp references unable...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70149">70149</a></td>
      <td>[New Plug-in Project] Help Context</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70158">70158</a></td>
      <td>Exception trying to add getter [code manipulation]</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70170">70170</a></td>
      <td>[Schemas] Generated class for view extension does not ext...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70193">70193</a></td>
      <td>DBCS - GB18030 characters cannot be correctly generated i...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70296">70296</a></td>
      <td>Changes not being saved when comparing with revision</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70299">70299</a></td>
      <td>Eclipse dead slow on one system, normal on other</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70354">70354</a></td>
      <td>JSP editor does not scroll to/highlight the current execu...</td>
    </tr>
    <tr class="bz_major bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70362">70362</a></td>
      <td>[EditorMgmt] Topmost editor not properly restored</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70364">70364</a></td>
      <td>Adapt test cases to JDT/Core fix 68017 in 3.0.1 branch</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70372">70372</a></td>
      <td>[prefs] project preference listeners and the workspace</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70373">70373</a></td>
      <td>Make &quot;Drop to Frame&quot; action available in the context menu...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70403">70403</a></td>
      <td>Hardcoded paths make copy of workspace unusable and event...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70412">70412</a></td>
      <td>[api] Formatting a large file makes Eclipse freeze (enabl...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70428">70428</a></td>
      <td>schema files -- missing &amp;lt;pre&amp;gt; and &amp;lt;/pre&amp;gt;
        tags...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70429">70429</a></td>
      <td>missing &amp;lt;pre&amp;gt; and &amp;lt;/pre&amp;gt; tags in Examples
        sec...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70436">70436</a></td>
      <td>[osgi] Infinite loop in basicStopBundles with IBM JRE 1.4...</td>
    </tr>
    <tr class="bz_major bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70503">70503</a></td>
      <td>[Commands] ctrl+c, ctrl+v, ctrl+x accelerators dont work ...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70598">70598</a></td>
      <td>[Encoding] ArrayIndexOutOfBoundsException while testing B...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70623">70623</a></td>
      <td>TVT3.0: No mnemonic on Run Last launched panel</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70644">70644</a></td>
      <td>User doc missing alt text</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70648">70648</a></td>
      <td>TVT3.0: Wrong string displayed in Ext Connect Method panel</td>
    </tr>
    <tr class="bz_blocker bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70650">70650</a></td>
      <td>Project builders do not execute in specified order.</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70672">70672</a></td>
      <td>Bogus url passed to shellexecute</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70700">70700</a></td>
      <td>[Progress] progress issues during build</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70708">70708</a></td>
      <td>no error message on missing product</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70734">70734</a></td>
      <td>TVT3.0: Duplicate mnemonics, ''Build Ant'' and ''Build A...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70744">70744</a></td>
      <td>Breakpoint location validation error.</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70762">70762</a></td>
      <td>Infocenter documentation set cannot be updated without re...</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70765">70765</a></td>
      <td>TVT3.0: Split words on welcome page</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70828">70828</a></td>
      <td>[ProblemsView] ConcurrentModificationException is thrown ...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70841">70841</a></td>
      <td>Move to Ant 1.6.2</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70882">70882</a></td>
      <td>EnablementDialog grows too big</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70904">70904</a></td>
      <td>TVT3.0: Help Show All Contents confirmation</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70936">70936</a></td>
      <td>Accessibility: &quot;Hot keys&quot; to jump between important frame...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70939">70939</a></td>
      <td>Wrong characters used as mnemonics in help HTML UI</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70946">70946</a></td>
      <td>TVT3.0: Truncation in new Plug-in Project screen</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=70993">70993</a></td>
      <td>incompatible thread state from drop to frame action</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71003">71003</a></td>
      <td>[osgi] Inconsistant behavior with bundle manifest files b...</td>
    </tr>
    <tr class="bz_trivial bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71019">71019</a></td>
      <td>Setting a ToolItem's control to a Button doesn't work in ...</td>
    </tr>
    <tr class="bz_major bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71053">71053</a></td>
      <td>[ActivityMgmt] IllegalArgException in Capability preferen...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71154">71154</a></td>
      <td>FormToolkit.createExpandableComposite(..., ExpandableComp...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71185">71185</a></td>
      <td>TVT3.0: Extra mnemonics for Debug, Run, and External tools</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71242">71242</a></td>
      <td>Manifest editor reports referenced resource not found pro...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71294">71294</a></td>
      <td>Capabilities Preference Deselection.</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71312">71312</a></td>
      <td>TVT3.0: Non-externalized string 'matches in ...' in Sear...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71318">71318</a></td>
      <td>TVT3.0: SWT Welcome panel 'Project name' not externalized</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71364">71364</a></td>
      <td>File Search fails if string contains single quote and a {</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71390">71390</a></td>
      <td>The -clean command line option needs to be documented.</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71441">71441</a></td>
      <td>DebugException: Unable to retrieve stack frame - thread n...</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71467">71467</a></td>
      <td>JavaConventions.ValidatePackageName() does not return ERROR</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71490">71490</a></td>
      <td>NPE in SchemaRegistry.getIncludedSchema</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71495">71495</a></td>
      <td>org.eclipse.jdt.ui.examples.projects has old icon</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71561">71561</a></td>
      <td>Inspect popup doesn't handle tabs in inspected expression</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71596">71596</a></td>
      <td>Some files missing from the distribution of the Ant plugin</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71683">71683</a></td>
      <td>Builders, cancellation, and last build state</td>
    </tr>
    <tr class="bz_critical bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71742">71742</a></td>
      <td>[IDE] use long-running operations to set encoding</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71767">71767</a></td>
      <td>Semantic highlighting does not update scanners on propert...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71806">71806</a></td>
      <td>Convert to Plugin Project does not generate 3.0 compliant...</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71823">71823</a></td>
      <td>empty manifest files included in update site downloads co...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71826">71826</a></td>
      <td>[registry] Extensions lost dependant on fragment/plug-in ...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71967">71967</a></td>
      <td>Error using Help: org_eclipse_jdt_ui_javaEditorTextHover....</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72024">72024</a></td>
      <td>UndoManager creates potential memory leak [refactoring]</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72040">72040</a></td>
      <td>ActiveX Accessibility</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72062">72062</a></td>
      <td>CLEAN constant missing from &quot;IncrementalBuild&quot; Ant task</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72111">72111</a></td>
      <td>Existing manifest files can confuse confuse PDE</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72114">72114</a></td>
      <td>[ViewMgmt] Views that implement ISaveablePart are not con...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72136">72136</a></td>
      <td>Swap Feature Task does not display text from property file</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72305">72305</a></td>
      <td>JDIModelPresentation uses resource name with IJavaStratum...</td>
    </tr>
    <tr class="bz_enhancement bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72340">72340</a></td>
      <td>[doc] Best practices documentation for Infocenter compati...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72350">72350</a></td>
      <td>NPE in BreakpointsView.dispose</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72366">72366</a></td>
      <td>NPE from LaunchView</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72383">72383</a></td>
      <td>[Perspectives] Placeholder folder error with multiple ins...</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72449">72449</a></td>
      <td>NPE in VariablesView.saveState</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72450">72450</a></td>
      <td>PDE Junit launch short cut is not specific enough</td>
    </tr>
    <tr class="bz_minor bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72468">72468</a></td>
      <td>&quot;hierarchy of ... type is inconsistent&quot; error message</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72483">72483</a></td>
      <td>NPE attempt to Inspect if never shown Variable view</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72512">72512</a></td>
      <td>Global Properties not set for editor parsing</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72514">72514</a></td>
      <td>[osgi] open up the framework for adding extensions</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72542">72542</a></td>
      <td>HCR when stopped on a Stratum Breakpoint</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72545">72545</a></td>
      <td>[encoding] adopt long-running version of IFile#setCharset</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72552">72552</a></td>
      <td>Help Search broken for nl characters in 3.0</td>
    </tr>
    <tr class="bz_major bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72585">72585</a></td>
      <td>[ViewMgmt] Empty variables view, inspect disabled</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72597">72597</a></td>
      <td>bad line ending in MANIFEST.MF keeps eclipse from booting.</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72653">72653</a></td>
      <td>[osgi] Application update through update site causes OSGI...</td>
    </tr>
    <tr class="bz_normal bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72669">72669</a></td>
      <td>Deleting a modified file doesn't update icon decoration i...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72680">72680</a></td>
      <td>Error Generating HTML Message in org.eclipse.ui.intro</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72689">72689</a></td>
      <td>adopt long-running version of IFile#setCharset</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72747">72747</a></td>
      <td>Unclosed jar file and stream in pluginConverter</td>
    </tr>
    <tr class="bz_minor bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72753">72753</a></td>
      <td>&quot;Show Properties&quot; task missing in Configuration Manager</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72789">72789</a></td>
      <td>&quot;Show in Browser&quot; broken for Copyright and License in fea...</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72978">72978</a></td>
      <td>[Actions] Get cancel status and new name from CopyProject...</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72979">72979</a></td>
      <td>PasteAction should notify results</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72986">72986</a></td>
      <td>ExpressionInformationControl leaks</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73053">73053</a></td>
      <td>[misc] Status editor always empty</td>
    </tr>
    <tr class="bz_normal bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73107">73107</a></td>
      <td>PinParticipantAction not removed as an IPropertyChangeLis...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73111">73111</a></td>
      <td>[osgi] Review the EclipseAdaptor#handleRuntimeException b...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73128">73128</a></td>
      <td>Error parsing plugin manifest file using 3.0.1 candidate</td>
    </tr>
    <tr class="bz_major bz_P2 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73130">73130</a></td>
      <td>[Preferences] 3.0.1 candidate: Workspace gets (fully?) bu...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73166">73166</a></td>
      <td>Exceptions when compatibility not installed</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73195">73195</a></td>
      <td>Incorrectly setting base folder for plugin import -&gt; stra...</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73213">73213</a></td>
      <td>Unicode - Search problem with &quot;Case sensitive&quot; unchecked</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73258">73258</a></td>
      <td>Subscriber leakage on open/close of Synchronize view</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73261">73261</a></td>
      <td>'Toggle Line Breakpoint' doesn't remove existing breakpoi...</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73302">73302</a></td>
      <td>Compiler errors after re-importing swt WITH links</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73304">73304</a></td>
      <td>Target Platform in runtime workbench references plugins i...</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73330">73330</a></td>
      <td>NullPointerException in search</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73451">73451</a></td>
      <td>Remove warnings from 20040908 build</td>
    </tr>
    <tr class="bz_normal bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73476">73476</a></td>
      <td>chkpii error in org_eclipse_ui_intro_config.html in M2004...</td>
    </tr>
    <tr class="bz_critical bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73693">73693</a></td>
      <td>[prefs] DefaultPreference initialize problems with no com...</td>
    </tr>
    <tr class="bz_critical bz_P1 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73715">73715</a></td>
      <td>[Workbench] (regression) Workbench menus disappeared afte...</td>
    </tr>
    <tr class="bz_major bz_P3 ">
      <td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73847">73847</a></td>
      <td>MAC OSX Safari1.0(V85.5)run on advanced mode ,so it behav...</td>
    </tr>
  </tbody>
</table>
268 bugs fixed.
<p>Note: the above table was generated with the Bugzilla query: <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=JDT&amp;product=PDE&amp;product=Platform&amp;target_milestone=3.0.1&amp;resolution=FIXED&amp;order=bugs.bug_id">http://bugs.eclipse.org/bugs/buglist.cgi?product=JDT&amp;product=PDE&amp;product=Platform&amp;target_milestone=3.0.1&amp;resolution=FIXED&amp;order=bugs.bug_id</a></p>
<hr>
<p>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc.
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, 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 2004</p>

</body>

</html>
