A new DrJava beta release is 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 in anticipation of the next stable release,
this beta release includes a number of new features introduced after
the last stable release:
These features include JUnit 4 support, ConcJUnit support, and the
ability to use the built-in Eclipse compiler, the OpenJDK and JavaMint
compilers.
Note: Java 1.4 compatibility has been dropped. To use DrJava, you will
need Java 5 or newer.
New features since the last stable release:
- The Eclipse Java Compiler is now integrated into DrJava. DrJava
therefore does not require the JDK anymore to compile
programs. Note that the JDK is still required to use the debugger
or to create Javadoc.
- DrJava supports the OpenJDK and JavaMint (multi-stage programming
in Java; see http://www.javamint.org/ ) compilers.
- JUnit 4.7 support.
- ConcJUnit support (for concurrent unit tests; see
http://www.concutest.org/ ).
- Access control for private and package private members now enabled
by default.
- DynamicJava (Interpreter) error messages are much better,
especially those involving method and constructor invocation.
- Added support in DynamicJava for explicit type arguments in local
function invocations (x = foo(23)).
- The Breakpoint, Bookmarks, and Find Results tabbed panes now have
Previous/Next buttons and associated keyboard shortcuts for simpler
browsing.
- The Interactions Pane working directory can now be specified even
when not using projects.
- If DrJava cannot start, for example because of bad memory settings
in the Preferences, DrJava will suggest that you let it reset the
Preferences.
- The preferred compiler can now be set, and this setting will be
restored when DrJava starts the next time.
- Zoom for Print Preview.
- New Class wizard.
- Save Copy ability for Definitions documents, Interactions Pane and
Console Pane contents.
Bug fixes since the last stable release:
- Fixed some indentation bugs.
- Fixed some GUI initialization problems that prevented DrJava from
starting on some systems.
- Fixed a bug that prevented DrJava from opening on MacOS 10.5 or
10.6.
- Fixed compiler error when closing curly brace missing.
- Fixed NullPointerException in Jar Project dialog.
- Fixed a bug that prevented users from editing External Processes.
- Fixed a bug in un-commenting source code.
- Fixed a bug in displaying the Auto-Import dialog in the
Interactions Pane.
- Improved suggestion to increase interactions JVM heap.
- Improved responsiveness when selecting a compiler.
- Fixed a bug that prevented users from generating Javadoc of
Language Level files.
- DynamicJava (Interpreter) bug fix allows the declaration of
interfaces.
- Miscellaneous small DynamicJava bug fixes make it much more robust
and correct, including better handling of member lookup, inner
classes, enums, interfaces, raw types, static imports, switch
statements, casts, and final variables.
- Bugfix for comparing 0.0 == -0.0 and NaNs.
- Bugfix in DynamicJava: Supports annotation declarations
- Bugfix in DynamicJava: Fixes parser bug for enums
- Bugfix in DynamicJava: Fixes implicit accessibility of interface
members
- Bugfix in DynamicJava: Fixes checking of assignments from character
literals
- Bugfix in DynamicJava: Improves checking of casts
- Bugfix in DynamicJava: getClass() is a special method with type
Class for all classes
- Bugfix in DynamicJava: Improves error messages for inner class
references
- Bugfix in DynamicJava: Preserves location in wildcards
- Bugfix in DynamicJava: Catches errors that occur during static
initialization of a class
- Bugfix in DynamicJava: Short-circuiting during type checking
- Bugfix in DynamicJava: += for strings
- Bugfix in DynamicJava: Array initializer is assigned to a non-array
type
- Misc improvements to DynamicJava SoureChecker
- Bugfix that prevented users from watching local variables in the
Debugger.
- Smaller Java Language Level fixes.