New DrJava Stable Release: drjava-stable-20090821-r5004

We have made a new stable version available: drjava-stable-20090821-r5004. You can download it from SourceForge or from the DrJava homepage.

Available for download at .

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 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 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 dependencies.
  • 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

About Mathias

Software development engineer. Principal developer of DrJava. Recent Ph.D. graduate from the Department of Computer Science at Rice University.
This entry was posted in DrJava. Bookmark the permalink.

Leave a Reply