DrJava Stable Release 20090821

Available for download at http://drjava.org .

DrJava is a lightweight programming environment
for Java designed to foster test-driven software
development. It includes an intelligent program editor,
an interactions pane for evaluating program text, a
source level debugger, and a unit testing tool.

In addition to bug fixes, this stable release includes
a number of new features introduced after the last
stable release:

These features include default imports for the
Interactions Pane, inner classes as main class for
projects, Javadocs and auto-completion
for JUnit, Javadocs and auto-completion for user-defined
libraries ("Additional Javadoc URLs").

An applet viewer is included, and classes that extend
Applet can be run using the "Run Document as Applet"
menu item (under "Tools") or using the "applet MyClass"
command in the Interactions Pane.

The debugger has been improved and now includes
an automatic trace feature to step through the code
at a user-determined interval, array element watches
in the debugger, and the ability to debug language level
files without seeing the Java code that they get
translated to. The debugger also retains the imports
that have been made before the last step was taken
or a breakpoint was hit.

DrJava can now also associate source, project and
add-on files with DrJava so that they can be opened
by double-clicking on them in the Windows Explorer
or MacOS Finder (.java, .drjava, and .djapp files).

The source browser was improved: Browse forward
and backward like in a web browser!

Since there still is an incompatibility between
Sun's Swing GUI library and the the Compiz window
manager on Linux, we now check for the presence
of Compiz and display a warning.

Notable is the ability to close the System.in stream in
the Interactions Pane and an automatic update feature
that downloads new versions of DrJava automatically.

The most important bug fixes include changes to the
language level converter, compatibility with network paths,
a debugger deadlock, and color preferences.

Note: The default project file extension now is
.drjava, not .xml anymore.

Note: Java 1.4 compatibility has been dropped with this
release. To use DrJava, you will need Java 5 or newer.

New features since the last stable release:
- Interactions pane options: Require variable types,
require semicolon, access control checks for private
and package private members.

- File associations in Windows and Mac OS.
- Improved source browser.
- Display and select from all installed JDKs.
- Reorganized Preferences dialog.
- Compiz warning.
- Interactions Pane parser allows annotations.
- Completed support for nested classes (static and
non-static) in Interactions Pane.

- The System.in stream can be closed by pressing Ctrl-D
when in the input box.
- Imported classes and packages can persist over
breakpoints and debugger steps. To enable or disable this,
change the setting in the Debugger tab of the Preferences.
- Default imports for the Interactions Pane
- Inner classes as main class for projects
- Javadocs and auto-completion for JUnit (3.8.2).
- Javadocs and auto-completion for user-defined libraries
("Additional Javadoc URLs")
- Automatic tracing in the debugger.
- Array element watches in the debugger.
- Automatic update feature ("Help/Check for New Version")
- Applet viewer
- Multiple key bindings per action
- Improved Jar creation dialog
- Find All/Replace All can be limited to a selected
section of code

Bug fixes since the last stable release:
- Bug fixes for Language Level facility.
- Updated JGoodies Plastic look-and-feel.
- Bug fixes for Interactions Pane: arrays, break
statement, switch, non-void main methods.
- NullPointerException After Closing File with Error
- Mac OS X Java VM selection for 64-bit

- Bug fix for Icelandic keyboard to allow
braces { } to be entered.
- Miscellaneous Interactions Pane parser bug fixes.
- Bug fixes in type checking in Interactions Pane.
- Implemented qualified super expressions in
Interactions Pane.
- Fixed name resolution issues involving circular

- When the "java MyClass" command is used to start a
program in the Interactions Pane, the command is not
translated to "new MyClass().main(...)" anymore, but
retained as "java MyClass".
- If DrJava is unable to restart itself, e.g. if the heap size
is too large for the machine, DrJava asks the user if it
should reset the configuration and try again.
- Javadoc 6 is now linked correctly in the "Open
Javadoc" feature.
- Several bug fixes related to unit testing and the debugger.
- "Open Java API Javadoc for Word Under Cursor..."
has been fixed.
- Better behavior for next/previous word and selection of
word by double-clicking in Definitions Pane.
- Fixed syntax highlighting and interpretation of long literals
and hexadecimal literals
- Fixed problems with modal dialog boxes when the user
switches to another application.
- Fixed a memory leak.
- Several language level fixes.
- Filtered ASCII text when pasting.
- Fixed network paths in projects.
- Colors can now be configured again.
- Documents that have been closed are not re-opened
again if they contained failing unit tests.
- Removed a deadlock when debugging unit tests.
- Debugging language level files does not open the
generated Java code anymore; line numbers in language
level files are correct.
- Closing a file does not remove all breakpoints and
bookmarks anymore.
- Fixed "No Test Cases" in Find/Replace panel
- Empty files are not considered "out of sync" anymore
during JUnit testing

Posted by Mathias Ricken 2009-08-21