DrJava Changelog

What's new in DrJava 20140826 R5761

Aug 27, 2014
  • This release of DrJava should successfully load the Java 8 compiler when DrJava is run using a Java 8 JDK.

New in DrJava 20100913 Beta (Sep 14, 2010)

  • The "Smart Run" feature properly runs a main method in a class first, and it does not attempt to call a zero-parameter constructor of a class if it does not exist.
  • The Apple Java 6 Developer Preview 6 (javase6release1dp6.dmg) is excluded as Java 6 JDK, as it does not contain a Java 6-compatible compiler. This caused NullPointerExceptions in rare cases.
  • On Linux systems with Java 5 or older, Metal is the default look-and-feel again. The system look-and-feel turned out to be awful.

New in DrJava 20100507 Beta (May 27, 2010)

  • New features since the last beta release:
  • The Java Language Level facility has been simplified. There now is only one language level called "Functional Java", using the file extension .dj. It is comparable to the Intermediate level and can still compile .dj0 and .dj1 files. .dj2 files are compiled using the Full Java compiler. DrJava will suggest that you rename .dj0 and .dj1 files to .dj files, and .dj2 files to .java files.
  • DrJava can generate a custom .jar file of itself that includes additional files. There is a Tools/Advanced/Generate Custom drjava.jar menu item that takes the current DrJava executable file and a number of user-specified files to generate a new jar file.
  • The libraries included in the new jar file will then automatically be included in the classpath and be usable without adding them to a classpath somewhere.
  • There is no functionality to remove the libraries again from the modified jar file.
  • Generating a custom DrJava jar file disables the check for updated versions. Otherwise a user may download an updated version that doesnt have required libraries anymore.
  • When DrJava encounters missing files during a "Find All" search, it will ask the user whether to continue or abort the search.
  • Improved "New Java Class" dialog with some auto-completion.
  • Better feedback when Java API data is loaded, which may involve some delay if it is retrieved from the internet.
  • 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.

New in DrJava 20080904 (Sep 6, 2008)

  • Fixed a synchronization-related bug in the running of unit tests.