<!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="Author" content="IBM">
   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
   <title>Java Debug Release Notes</title>
</head>
<body>
<h1> Eclipse 3.2 Java Debug Build Notes&nbsp;</h1>

<h2>3.2 RC3 - May 05, 2006</h2>
<h3>Problem Reports Fixed</h3>

<h2>3.2 RC2 - April 28, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128900">128900</a>: Debug view steals focus when breakpoint hit<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136670">136670</a>: StandardSourcePathProvider causes expensive JAR verification<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134865">134865</a>: VMDisconnectedException not caught by breakpoint<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124274">124274</a>: debug keybindings not active on first launch<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120596">120596</a>: Should warn when no exact match for execution environment on build path<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132619">132619</a>: Can't Add Installed JREs with Simplified Chinese folder name.<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136146">136146</a>: JRE container with EE is not backwards compatible with 3.1<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137372">137372</a>: warning for EE/JRE mismatch does not appear when JRE deleted<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137572">137572</a>: not present exception<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112774">112774</a>: Performance of JavaStackTraceHyperlink.getSourceElement()<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138227">138227</a>: Need new property tester to be used by JUnit 4<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120620">120620</a>: Static variables show up twice in Find Variables Dialog<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127025">127025</a>: system thread filter loses selection/collapses on first invocation<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127232">127232</a>: variables view loses contents<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133623">133623</a>: Show Source action does not trigger lookup<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136516">136516</a>: recognize J9 foundation JREs<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137513">137513</a>: Internal error when stepping quickly<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137513">137513</a>: Internal error when stepping quickly<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=118512">118512</a>: NPE evaluating detail formatter calling method without this.<br>

<h2>3.2 RC1 - April 13, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133914">133914</a>: Instance Filter Breakpoint Selection dialog is not resizable<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89474">89474</a>: [polish] Installed JRE pref page: Modify multiple attributes at once<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8644">8644</a>: Can add modification watchpoint to final field<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130916">130916</a>: can set method breakpoint on interface and watchpoint on interface field<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102446">102446</a>: Intalled JREs preference pages not in synch with help<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106871">106871</a>: Top stack frame null at method refresh in org.eclipse.jdt.internal.debug.ui.actions.ShowSystemThreadsAction<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134114">134114</a>: [Java 1.5] Test failure in StepIntoSelectionTests<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135270">135270</a>: Potential NPE in ToggleBreakpointAdapter<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107385">107385</a>: Detail formatter on interface cannot be editted or removed<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46315">46315</a>: Scrapbook actions wrongly disabled after inspect or execute<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89636">89636</a>: Undo/Redo does not work in Scrapbook editor<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109073">109073</a>: Classpath container missing from runtime classpath<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114604">114604</a>: Non-Line breakpoints do not update their selection ranges after refactorings which change the type or package name.<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123588">123588</a>: Losing key binding in scrapbook page<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132986">132986</a>: new variables view: show id in first column or a special column for the id<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133540">133540</a>: thread does not show suspended on class load breakpoint<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135658">135658</a>: Breakpoint properties dialog quickly shows an error message<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132543">132543</a>: Method breakpoint does not work on generic method with bounded type variable<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105767">105767</a>: Javadoc missing from IRuntimeClasspathEntry entries<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120627">120627</a>: Javadoc location reappears after I've cleared it<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134694">134694</a>: Installed JRE preference page should suggest name<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136383">136383</a>: [NPE] changing filters when type is selected in LCD<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136386">136386</a>: [LCD] run/debug button enabled when it shouldn't be<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136638">136638</a>: NPE in debug UI<br>

<h2>3.2 Milestone 6 - March 31, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133711">133711</a>: [Breakpoints] Breakpoint hit count busted<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132750">132750</a>: need to adopt ICU4J APIs<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133217">133217</a>: Suspend policy combo should be read only<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132863">132863</a>: Launching a simple java program in a plugin project needs ages<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133512">133512</a>: NPE when clicking on a stacktrace<br>

<h2>March 21, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77125">77125</a>: Preference for suspending VM on breakpoint<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74612">74612</a>: Step filtering pref page should allow you to enable step filters<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124045">124045</a>: Launching Java 5 VM in debug mode<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110837">110837</a>: javax.crypto.KeyAgreement.getInstance(String) throws exception in IDE<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131414">131414</a>: labels don't update when primitive options changed<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131557">131557</a>: Import JRE definition settings also for already existing locations<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27383">27383</a>: classpath entries get exported into other projects even though I said not to [build path]<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96248">96248</a>: Support for multiple src roots in archive<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132337">132337</a>: suspend on uncaught exceptions broken<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=118122">118122</a>: Removing External JARS within an Installed JRE definition<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120619">120619</a>: Add/Edit JRE dialog: remove should remove src attachment, not jar<br>

<h2>March 14, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80744">80744</a>: Ability to inspect exception object at exception beak point<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130717">130717</a>: Runtime JRE Combo on Main lauch configuration tab should show more items<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94212">94212</a>: Cannot set method breakpoint in generics<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104754">104754</a>: No command for Run &gt; Watch<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129524">129524</a>: Inconsistent terminology for derived types in pop-up menus<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130743">130743</a>: SWT 'setdata' event now contains item index<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=116336">116336</a>: Using Enums breaks Debbugger's &quot;Step into selection&quot; feature<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130369">130369</a>: Additional menu polishing<br>

<h2>March 7, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130145">130145</a>: Method entry breakpoint fails on method with Enum parameter<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126938">126938</a>: Cannot import Installed JREs from preference file<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128307">128307</a>: Incorrect thread label after stepping<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128909">128909</a>: Preferences (Installed JREs) overridden during startup<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130243">130243</a>: EventRequestManagerImpl holding onto event requests forever<br>

<h2>February 28, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125590">125590</a>: consider caching system properties for IVMInstall<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106789">106789</a>: Run menu: Folder selector shows files, too<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120135">120135</a>: catch up with new type rename refactoring support<br>

<h2>February 21, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108747">108747</a>: applet parameters in random order<br>

<h2>3.2 M5 - February 17, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126437">126437</a>: Incorrect error reporting in AbstractJavaLaunchConfigurationDelegate<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124565">124565</a>: Change Object Value dialog adds new Group each time &quot;Input literal text&quot; is selected<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125196">125196</a>: Installed JREs preference page layout problems<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127136">127136</a>: Incorrect logic in AppletMainTab.handleSearchButtonSelected<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120123">120123</a>: maintain config resource mapping during refactorings<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127150">127150</a>: Dialog missing help button<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127195">127195</a>: Problems after project rename<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123284">123284</a>: Environment UI tweaks<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127298">127298</a>: filtering label does not expand for font changes<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122746">122746</a>: JavaDebugHover.getHoverInfo(...) logs exceptions<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127100">127100</a>: ShowSystemThreadsAction is not using getAdapter to retrieve the associated IJavaThread object<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126515">126515</a>: NPE when retrieving a non-existent field on an IJavaObject<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127204">127204</a>: NPE in LaunchView$6.run<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127353">127353</a>: grammar in Refactoring messages<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127350">127350</a>: Review JDTDebugRefactoringUtil.getJavaTypeLaunchConfigurations(String)<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127156">127156</a>: package move launch config update problem<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126942">126942</a>: AIOB during launch<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127545">127545</a>: widget disposed in Expressions view<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127800">127800</a>: NPE from Java debug hover<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128052">128052</a>: Thread Groups always on in target workspace<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127815">127815</a>: First invocation of &quot;run to line&quot; does not work<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127924">127924</a>: Leak: JavaInspectExpression is not disposed<br>

<h2>February 7, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126183">126183</a>: behavior change in IJavaProject.findType(name)<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126244">126244</a>: Exception changing variable value<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125661">125661</a>: Javadoc is not generated for jdt.launching.environments<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124137">124137</a>: unable to retrieve system properties<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12018">12018</a>: show thread groups in the Debug view<br>

<h2>January 31, 2006</h2>
<h3>Enhancements</h3>
<ul>
  <li>Added new API class for subclassing when creating Java launch tabs - JavaLaunchTab.</li>
  <li>New extension point <code>org.eclipse.jdt.launching.vmInstalls</code> to 
    contribute read-only JRE configurations</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124828">124828</a>: A class with varargs in main method cannot run as Java Application<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109211">109211</a>: [api] Require public api to extend Java Launch Configuration UI<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101843">101843</a>: allow debugger to provide watch expression for var/register<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125332">125332</a>: Compile error in test suite (N20060126-0010)<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119922">119922</a>: mechanism to contribute VM install<br>

<h2>January 24, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124418">124418</a>: JavaDebugPreferencePage and incorrect preference stores<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124491">124491</a>: Deadlock in EnvironmentsManager<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124137">124137</a>: unable to retrieve system properties<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124419">124419</a>: J9 Preference page not setting the dialog font on the notice string<br>

<h2>January 17, 2006</h2>
<h3>Enhancements</h3>
<ul>
  <li>New, optional API for IVMInstall. VM installs may optionally implement IVMInstall3, 
    providing access to system properties. A default implementation has been provided 
    in AbstractVMInstall.</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=115150">115150</a>: Exception and Class load breakpoint should use new type selection dialog<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105573">105573</a>: suspend at uncaught exception shows compiler warning<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28792">28792</a>: New created Java Exception Breakpoint isn't selected<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71549">71549</a>: 'Add Java Exception Breakpoint' dialog should support multiselections<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=121341">121341</a>: dot dot dot<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117289">117289</a>: VMDefinitionsContainer#parseXMLIntoContainer() reads an XML file with wrong encoding.<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119918">119918</a>: API to get system properties from a vm install<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122338">122338</a>: Installed JRE UI message confusing<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123860">123860</a>: Java launch shortcuts don't assign resource to configs<br>

<h2>January 10, 2006</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122751">122751</a>: SnippetDocumentFactory is not needed.<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120943">120943</a>: Cannot select Default option in working directory block<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114867">114867</a>: Launching connector implementation of eclipse reports TimeoutException while Sun's implementation works<br>

<h2>3.2 M4</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119924">119924</a>: Build path not updated when default execution environment changed<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120385">120385</a>: transport error = -1<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117717">117717</a>: NPE in BreakpointRenameTypeParticipant when renaming type in cu without primary type<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=118076">118076</a>: ResourceException: Problems encountered while deleting resources<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120533">120533</a>: strange name for unresolved JRE<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120886">120886</a>: debug test not cleaning before next test runs<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114647">114647</a>: Run as menu slow in editor for applet<br>

<h2>December 12, 2005</h2>
<h3>Enhancements</h3>
<ol>
  <li>API has been added in support of execution environments. An execution environment 
    describes features of a runtime - for example, J2SE-1.4. A new API package 
    has been added - <code>org.eclipse.jdt.launching.environments</code>, as well 
    as a new preference page for managing environments. An extension point (<code>org.eclipse.jdt.launching.executionEnvironments</code>) 
    has beed added to allow for an extensible set of execution environments to 
    be contributed to the platform.</li>
</ol>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=115015">115015</a>: Installed JRE page needs a &quot;Duplicate&quot; feature.<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119572">119572</a>: Typo in IExecutionEnvironment javadoc<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119636">119636</a>: Catch up to changes in LazyJavaCompletionProposal<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119761">119761</a>: Typo on EE preference page<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117516">117516</a>: Make JDT .java agnostic<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119371">119371</a>: A missing EE optional attribute causes an SWT error<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119390">119390</a>: NPE from<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119462">119462</a>: EE checkbox table does not refresh correctly<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119581">119581</a>: EE preference page flags bogus errors and does not save.<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119814">119814</a>: Execution environment ID may contain forward slashes<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113909">113909</a>: Support for execution environments<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=118232">118232</a>: Error in MethodActionFilter.testAttribute(...)<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119926">119926</a>: Installed JREs page generates bad names<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119611">119611</a>: Java Stack Trace Console: source link does not work without space before type name<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119911">119911</a>: Graphic disposed error on Execution Environments preference page<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119916">119916</a>: Execution Environment preference page breaks Installed JREs Copy...<br>

<h2>December 6, 2005</h2>
<h3>Enhancements</h3>
<ul>
  <li>New API action for Java debugger - JavaBreakpointPropertiesRulerActionDelegate</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=116291">116291</a>: Cannot resume all threads<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112613">112613</a>: Debug's Breakpoint actions act on remote stuff<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=118635">118635</a>: Duplicate breakpoints created for file not on buildpath<br>

<h2>November 29, 2005</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108502">108502</a>: action filters for variables and expressions shold be combined<br>

<h2>November 22, 2005</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49115">49115</a>: Cleanup on VMDisconnectException<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114590">114590</a>: breakpoint checked state problems<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=115618">115618</a>: Mnemonics collision on Arguments tab of java launch config dialogs<br>

<h2>November 8, 2005</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114609">114609</a>: Java main tab/shortcut should use new type selection dialog<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114166">114166</a>: Refactoring of 'Main' tab for Java type launch configurations<br>

<h2>November 2, 2005 - M3</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114484">114484</a>: Installed JDK preference page broken<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114589">114589</a>: NPE invoking content assist in var view<br>

<h2>October 31, 2005</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113697">113697</a>: Added libraies to JRE not persisted<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113857">113857</a>: NPE in org.eclipse.jdt.internal.corext.util.JavaModelUtil.getAllSuperTypes<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99810">99810</a>: ClassLoadBreakpoint not updated after refactoring<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99803">99803</a>: Line Breakpoint Label not updated after refactoring<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99807">99807</a>: Breakpoint removed after renaming a class<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112232">112232</a>: Changing home directory of installed JRE does not update system libraries<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113852">113852</a>: NPE in display view when code assist with no debugger context<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114081">114081</a>: Undo fails when renaming type with breakpoints<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96044">96044</a>: Breakpoint enable/disable state not preserved during refactoring<br>

<h2>October 25, 2005</h2>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113154">113154</a>: launchable main type not correctly detected<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110955">110955</a>: NPE in JavaElementPropertyTester<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112456">112456</a>: Would like a VM install change event for VM arguments property<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113488">113488</a>: exception in scrapbook page<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29565">29565</a>: Working Directory UI<br>

<h2>October 18, 2005</h2>
<h3>Enhancements</h3>
<ol>
  <li> <code>IVMInstallChangedListener</code> has been enhanced to provide change 
    notification for VM arguments via a property change event. A new property 
    identifier, <code>PROPERTY_VM_ARGUMENTS</code>, has been added to indicate 
    VM arguments have changed.</li>
  <li>Property tests have been added to the core Java debug plug-in (org.eclipse.jdt.debug), 
    to support launch short enablement expressions. By pushing common property 
    tests down to the core Java debug plug-in, more launch shortcut enablement 
    expressions will run even though their plug-in may noe be loaded (as the Java 
    debug plug-in is loaded earlier on), resulting in fewew choices in the run/debug 
    cascade menus. Property tests have been added for the following. 
    <ul>
      <li>hasMethod
        <ul>
          <li>requires two arguments: method name and method signature in JLS 
            format, for example &quot;<code>main, ([QString;)V</code>&quot; or 
            &quot;<code>main, ([Ljava/lang/String;)V</code>&quot;</li>
          <li>third argument is optional: method modifiers as an integer bit mask 
            based on <code>org.eclipse.jdt.core.util.IModifierConstants</code></li>
        </ul>
      </li>
      <li>hasSuperClass - expected value specifies fully qualified type name of 
        a super class (does not consider interfaces)</li>
      <li>hasImport - expected value specifies fully name of import to match in 
        JSL format, for example &quot;<code>java.io.File</code>&quot; or &quot;<code>java.io.*</code>&quot;. 
        Only works on compilation units.</li>
      <li>hasSwtOnBuildPath - whether the associated element's build path contains 
        a reference to &quot;swt.jar&quot; or the &quot;org.eclipse.swt&quot; 
        plug-in</li>
      <li>hasItemOnBuildPath - expected value specifies a substring to match. 
        Returns true when the associated element's build path contains an entry 
        containing the given substring.</li>
      <li>matchesJavaFileExtension - returns true if the associated element has 
        a resource adapter that has a .class or .java file extension.</li>
      <li>matchesContentType - expected value describes a content type as desribed 
        by the <code>IContentTypeManager</code></li>
      <li>hasProjectNature - expected value is a project nature</li>
      <li>implementsInterface - expected value is a fully qualified name of an 
        interface </li>
    </ul>
  </li>
</ol>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112455">112455</a>: Change JavaElementPropertyTester to not use JavaModelUtil.getAllSuperTypes<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104104">104104</a>: Make 'hasMainType' and 'isApplet' property tests part of launching plug-in<br>

<h2>October 11, 2005</h2>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109358">109358</a>: Default installed JRE has no Javadoc Location<br>

<h2>October 4, 2005</h2>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111136">111136</a>: JavaStackTraceHyperlink broken.<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111256">111256</a>: multiple hyperlinks on the same line not painted correctly<br>

<h2>September 27, 2005</h2>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110191">110191</a>: ArrayIndexOutOfBoundsException in ExpressionInformationControl<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110021">110021</a>: Java 5 inconsistency<br>

<h2>September 20, 2005</h2>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99416">99416</a>: Evaluation in context of superclass fails to resolve instvar in subclass<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103026">103026</a>: When detected a 1.5 JDK on a fresh workspace as a default the default compiler complaince should be switch to 5.0<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109392">109392</a>: JavaRuntime.detectDefaultVM changes my options<br>

<h2>September 13, 2005</h2>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108426">108426</a>: In debug mode, when hoovering over constants, their value should be showed<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106682">106682</a>: Java debug code assist inconsistent<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108498">108498</a>: Toggle watchpoint for field in external source<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108505">108505</a>: refactor debug 'open type' actions<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108640">108640</a>: jdi model presentation missing dispose method<br>

<h2>Aug 23, 2005</h2>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29565">29565</a>: Working Directory UI<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86066">86066</a>: testJavaVersion() failure on mac<br>

<h2>Aug 16, 2005</h2>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106748">106748</a>: details fail for interface defined in the default package<br>

<h2>Aug 10, 2005</h2>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106479">106479</a>: Exception Processing async thread queue<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106492">106492</a>: NPE on console during debug session<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106489">106489</a>: CCE from watch Expression<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106660">106660</a>: Array details for type in default package fails<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106665">106665</a>: array details fail for interface types<br>

<h2>Aug 8, 2005</h2>
<h3>API Changes</h3>
<ol>
  <li> 
    <h4>API contract changes to IJavaReferenceType</h4>
  </li>
  <blockquote> 
    <h4><strong>What is affected:</strong> Clients that call <code>IJavaReferenceType.getClassLoaderObject()</code>.</h4>
    <p><strong>Description:</strong> In Eclipse 3.1, the method <code>org.eclipse.jdt.debug.core.IJavaReferenceType.getClassLoaderObject()</code> 
      was added to <code>IJavaReferenceType</code>. The method was not specified 
      to return <code>null</code>, but could. In Eclipse 3.2, the specification 
      has been updated to indicate that <code>null</code> is a valid return value. 
      The behavior of the method has not changed, but callers should be aware 
      that <code>null</code> can be returned and should add appropriate checks.</p>
    <p><strong>Action required:</strong> Clients calling <code>IJavaReferenceType.getClassLoaderObject()</code> 
      should be modified to handle <code>null</code> as a return value.</p>
  </blockquote>
</ol>
<h3>Enhancements</h3>
<ol>
  <li>Evaluations in the Java debugger are now supported in the context of array 
    objects. The user may select a variable in the Variables View that references 
    an array and enter an expression in the details area using <code>this</code> 
    to refer to the array - for example, <code>&quot;this.length</code>&quot;. 
    Code assist also works for arrays. The API for evaluations has not changed 
    although the behavior has. In releases prior to 3.2, <code>IAstEvaluationEngine</code> 
    used to throw an exception when an evaluation was attempted for a receiver 
    object that was an array. In 3.2, the evaluation proceeds.</li>
  <li>The UI for editing a JREs libraries has been improved. In 3.1 and earlier, 
    users were required to uncheck the button labelled '<code>Use default libraries</code>' 
    in order modify library settings. This button has been removed and the function 
    has been replaced with a '<code>Restore Defaults</code>' button, which is 
    a more common style in the Eclipse UI.</li>
</ol>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105965">105965</a>: IJavaReferenceType.getClassLoaderObejct() can return null<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25362">25362</a>: Cannot evaluate in the context of an array<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106091">106091</a>: Code assist for eval in context of an array<br> 
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106243">106243</a>: clear detail formatter cache when 'max detail length' pref changes<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106361">106361</a>: NPE when adding a new JRE<br>

<h2>Aug 2, 2005</h2>
<h3>Enhancements</h3>
<ol>
  <li>Added NL support for images.</li>
</ol>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105255">105255</a>: [BIDI] need to add $nl$/ to icon paths for reversed icons<br>
<h2>July 26, 2005 </h2>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103700">103700</a>: ClassCastException when evaluating assigment of array of interfaces<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101075">101075</a>: Cannot assign array type to local variable of type Object.<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98141">98141</a>: Evaluation in context of interface fails<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103326">103326</a>: NPE executing step into command<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81045">81045</a>: ClassNotLoadedException when trying to change a value<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104654">104654</a>: Breakpoint on label is not honoured<br>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102427">102427</a>: Cannot inspect/display static import methods<br>

</body>
</html>