# Eclipse 3.5 Java Debug Build Notes

## Summary of API changes in 3.5

### Configurable problem severity when a compatible JRE cannot be bound to specified execution environment

Description: In release 3.4 and earlier, when a project was bound to an execution environment (for example, J2SE-1.4), and the workspace did not have a strictly compatible JRE installed (for example, only a J2SE-1.5 JRE was available), a build path problem with a warning severity was issued. Since 3.5, API has been added to allow the severity of the problem to be ignored, a warning, or an error. See the newly added constants in JavaRuntime: `PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE`, `VALUE_IGNORE`, `VALUE_WARNING`, and `VALUE_ERROR`.

### OSGi Profile Properties for IExecutionEnvironment

What is affected: Clients contributing an execution environment can provide an associated OSGi system profile properties file.

Description: In release 3.4 and earlier, clients could contribute an execution environment, but when that environment was bound to a build path for a plug-in project, default compiler compliance settings were not set appropriately. Since 3.5, clients may specify an OSGi system profile properties file with an execution environment. The properties file provides information about system packages, default source and target compiler settings, etc. When provided, tooling will be able to leverage the information to create default access rules for system packages and properly set default compiler compliance settings for projects bound to the contributed environment. See the newly added method `IExecutionEnvironment.getProfileProperties()` and the new extension point attribute `profileProperties`.

Action required: Clients contributing an execution environment should provide an associated OSGi system profile properties file.

### API to read execution environment description files

Description: An API has been added to support reading of execution environment description files. The class `ExecutionEnvironmentDescription` has been added to the `org.eclipse.jdt.launching.environments` package. The new class provides access to the properties in description files as well as convenience methods to generate descriptions of the system libraries assocaited with a description.

### API to set/get stepping behavior with step filters

Description: An API has been added to set/get the stepping behavior associated with step filters. This allows clients to programmatically set what happens when a step lands in a filtered location. The target can be configured to step through to an unfiltered location or return the location where the step originated. The following methods has been added to `IJavaDebugTarget`: `setStepThruFilters(boolean)` and `isStepThruFilters()`.

## May 21, 2009

### Problem Reports Fixed

Bug 268241: [breakpoint][refactor] Saving file causes refactored breakpoint to be removed

## May 21, 2009

### Problem Reports Fixed

Bug 277187: [evaluation] duplicate named synthetic local variables cause expression evaluation error

## May 11, 2009

### Problem Reports Fixed

Bug 275486: NPE while debugging.
Bug 265037: Deadlock in the debugger
Bug 273633: JDIObjectValue / IJavaClassType classcast in inspect / display

## May 5, 2009

### Problem Reports Fixed

Bug 273858: Edit and Remove buttons incorrectly enabled
Bug 273656: Generated launch configuration has no name if anonymous class is instantiated in main
Bug 274727: [launching] Debug Configurations dialog is slow when network is down
Bug 274552: Can end up with empty target when thread groups are on
Bug 273845: quick fix for "no compatible JREs installed in the workspace"

## April 21, 2009

### Problem Reports Fixed

Bug 272494: Debug view shows stale threads
Bug 272508: Many com.sun.jdi.ObjectCollectedException recently
Bug 271785: Migrate compilation error/uncaught exception handling to breakpoint listener extension

## March 24, 2009

### Problem Reports Fixed

Bug 269273: updating "show in context" looks up source agressively

## March 17, 2009

### Problem Reports Fixed

Bug 268241: [breakpoint][refactor] Saving file causes refactored breakpoint to be removed
Bug 268393: Debugger not letting me change value on null String
Bug 268104: Launch config: JRE tab should show project's EE
Bug 268238: JDT doesn't know that it has stopped at a class load breakpoint

## March 10, 2009

### Problem Reports Fixed

Bug 258845: Launch configs fail with "Source attachment path '...' for IClasspathEntry must be absolute"
Bug 258119: [64] no JRE detected on x86_64
Bug 267060: Add API for IJavaValue.isNull()
Bug 260910: Ability to contribute actions to be run whenever a java breakpoint is hit
Bug 265871: IOException from VM not suppressed for conditional breakpoint
Bug 77737: No templates in code assist in debug pseudo editors

## February 17, 2009

### Problem Reports Fixed

Bug 265115: Make EE first in JRE container wizard page

## February 10, 2009

### Problem Reports Fixed

Bug 234425: Only use relevant compiler options for debug evaluations
Bug 214130: Provide API support for Step Thru Filters preference
Bug 234425: Only use relevant compiler options for debug evaluations

## 3.5 M5 - January 30, 2009

### Problem Reports Fixed

Bug 256566: Possibly broken code in JDIModelPresentation.isObjectValue(String)

## January 20, 2009

### Problem Reports Fixed

Bug 260834: [doc] breakpoint conditions are arbitrary expression evals

## January 13, 2009

### Problem Reports Fixed

Bug 260402: Conflits during JRE's import are not solved correctly.
Bug 260445: Deadlock in JavaRuntime.initializeVMs

## December 16, 2008

### Problem Reports Fixed

Bug 254994: Improve message regarding compatible JREs
Bug 256568: Possibly broken code in JDTDebugRefactoringUtil.createChangesForOuterTypeChange(ILaunchConfiguration, IType, String, String)

## Milestone 4 - December 9, 2008

### Problem Reports Fixed

Bug 236296: update the classpath settings feature sets wrong project compiler compliance level
Bug 212605: [launching] Mac OS X launcher should not hide the necessary -XstartOnFirstThread
Bug 257466: Hot Code Replace Fail dlg has two buttons with _D_
Bug 258560: API to retrieve properties from ee definition files

## November 18, 2008

### Problem Reports Fixed

Bug 255031: Missing EEs prevent project to build
Bug 255381: Inconsistent Default Filtered resources

## November 11, 2008

### Problem Reports Fixed

Bug 253022: Suppport for new OSGi/Minimum-1.2 Execution environment

## November 4, 2008

### Problem Reports Fixed

Bug 252521: VM Disconnection exception when program terminates with thread group turned on

## October 21, 2008

### Problem Reports Fixed

Bug 244395: [refactoring] [launch config refactoring] project rename cannot undo
Bug 249932: Clean + project build does not update 'strictly match JRE' problem
Bug 232710: [breakpoints] Java breakpoint markers description icon/text missing

## October 7, 2008

### Problem Reports Fixed

Bug 248466: Cannot launch if build path contains a ".." entry
Bug 244693: Default severity for missing JRE for Execution Environment should be Error
Bug 249490: JDI fails to unmarshal JDWP reply packet correctly

## August 26, 2008

### Problem Reports Fixed

Bug 189486: Unable to retrieve system properties for 1.1.8 VM
Bug 245153: Variable references empty selection: ${java_type_name}

## August 19, 2008

### Problem Reports Fixed

Bug 244285: An internal error occurred during: "Initializing Java Tooling".

## 3.5 M1 - August 8, 2008

### Problem Reports Fixed

Bug 238350: Starting Java application (like JBoss) in debug causes NPE. Run mode works ok

## July 8, 2008

### Problem Reports Fixed

Bug 239612: Use Ctrl+Click instead of Ctrl+Alt for 'Step Into Selection'

## August 12, 2008

### Problem Reports Fixed

Bug 217752: [logview] provide action to open entry stack trace in console