DrJava and DrScala Releases for the Rice Community


This page contains links to recent builds of DrJava and DrScala that are posted here prior to appearing (perhaps in updated form) as official releases. Here you may find more recent builds of DrJava than the last official release. In some situations, we do internal builds for internal testing by the Rice community before officially releasing these builds. Recent builds are not compatible with Java 5; Java 6 is required for DrScala (Scala 2.9 is incompatile with Java 7) and Java 6 or 7 for DrJava.

DrJava has been partially funded by the National Science Foundation, the Texas Advanced Technology Program, and Sun Microsystems, Inc. DrScala has been partially funded by the National Science Foundation.

DrJava

Most Recent Build:

  • February 22, 2014 (updated by Corky Cartwright) This version of DrJava is almost identical to the current stable release (September 1, 2013) but it omits the Java 7 specific feature check in the tools.jar file for the Java JDK that is being used to run DrJava.

    Previous Builds:

  • September 1, 2013 (updated by Corky Cartwright) This release is a minor update of the prior stable release of DrJava shown below. In contrast to the prior stable release, this release is compatible with Java 8. In addition, it fixes a bug that prevented the preceding stable release from finding and correctly labeling the compiler in the Oracle Java 7 JDK for Mac OS X. To obtain DrJava apps for Windows and Mac OS X corresponding to this jar file, see www.drjava.org. [Update: this version in fact is not compatible with Java 8. It still checks for a feature in the tools.jar file that is present in Java 7 but not in Java 7.]
  • August 18, 2012 (updated by Corky Cartwright) This release is a minor update of the prior beta release of DrJava. In contrast to the prior stable release, this release is compatible with Java 7 on Windows and Linux.
  • August 22, 2011 (updated by Corky Cartwright) This release fixes some bugs in the implementation of the Java functional language level. It also support Java 7 on Linux.
  • July 22, 2009 (Updated by Mathias Ricken) This revision contains a warning when DrJava is run with Compiz enabled. Instructions for disabling Compiz can be found at http://drjava.org/compiz.
  • July 20, 2009 (Updated by Mathias Ricken) This revision contains a better JDK version detection, particularly for Ubuntu. There is an option in the Preferences under "Resource Locations" that allows you to display all JDKs that were found in the Compiler tab, not just the newest JDK of each major version.
  • June 30, 2009 (Updated by Mathias Ricken) This revision includes a bugfix for Icelandic (and probably other foreign) keyboards.
  • April 7, 2009 (Updated by Mathias Ricken) This revision allows the Extra Classpath entries in the project properties dialog to be designated as absolute or relative to the project file. Also improves error reporting before JUnit testing if files need to be compiled. Allows automatic update from weekly builds.
  • April 1, 2009 (Updated by Mathias Ricken) This revision fixes a number of bugs, namely a deadlock when unit tests were executed with the debugger enabled, and a bug that re-opened closed source files on compile if the JUnit error panel contained errors in them. The revision also adds array element watches to the debugger (e.g. a[0] or b[1][2] where a and b are arrays). Also includes an automatic update feature (which works with the releases on SourceForge, though, not with those here on the drjavarice website).
  • March 25, 2009 (Updated by Mathias Ricken) This fixes a bug that prevented any changes to the configured colors from taking effect -- all colors had to be default colors. Also increases the separation between line numbers and source code and makes the color for the line numbers configurable.
  • March 24, 2009 (Updated by Mathias Ricken) This revision deletes class files in directories with language level files automatically. There is an "always/ask me/never" setting to control this in the "Notification" panel of the "Preferences" dialog. Also adds an "Automatic Trace" feature for the debugger, warnings when a language level file and the *.java file generated from it are both open, and several other bug fixes.
  • March 15, 2009 (Updated by Corky Cartwright) This revision fixes some serious bugs in the augmentation of language levels files.
  • March 9, 2009 (Updated by Mathias Ricken) This revision adds "Open Java API Javadoc" for JUnit 3.8.2 and user-specified URLs (Example: add http://drjava.org/javadoc/drjava to the list in the "Javadoc" preference pane). It also improves how DrJava handles unprintable characters (characters below 32 ASCII, excluding newline).
  • March 7, 2009 (Updated by Corky Cartwright) This revision ensures that test files are placed at the end of the list files that are processed using "language levels" when such files are compiled. This revision appears to correct most of the remaining problems with spurious error messages from the "language levels" translator.
  • March 3, 2009 (Updated by Mathias Ricken) When you are using the latest version of DrJava with language levels, DrJava will now delete the *.java files that the language level conversion would generate from the *.dj? files. Additionally, DrJava deletes the class files that would be generated. We can actually delete all class files since the language level converter parses the source files and thus knows what top level classes exist. This may take care of some of the problems we have seen in the last couple of weeks (e.g. "class already defined").
  • February 20, 2009 (Updated by Mathias Ricken) This development release contains some new features and several bug fixes that improve performance and stability. Most notable is the ability to close the System.in stream in the Interactions Pane by pressing Ctrl-D in the input box. Note: Java 1.4 compatibility has been dropped with this release. To use DrJava, you will need Java 5 or newer.
  • October 15, 2008 (Updated by Mathias Ricken) This commit adds better error handling if DrJava is unable to start itself with the current configuration (.drjava file, e.g. because the heap size is too large). It asks if the user wants the configuration reset, and then tries again.
  • August 23, 2008 (Updated by Corky Cartwright) This commit includes an improved algorithm for updating the labels in "Find All" results panels which can change as the corresponding document is edited.
  • July 15, 2008 (Updated by Mathias Ricken) This commit includes numerous bug fixes and a new simpler synchronization scheme that we hope will facilitate the further development of DrJava. It also fixes the bug that prevented unit testing when enums were used.
  • July 1, 2008 (Updated by Mathias Ricken) This version introduces a voluntary, anonymous user survey.
  • May 21, 2008 (Updated by Mathias Ricken) This commit allows the user to double-click on a word in the "Execute External Process" pane, and if it happens to be a file name, perhaps followed by a colon and a line number, then the definitions pane will display that file and jump to the specified line number. This helps with compilng files using an external compiler, such as javac, NextGen or xajavac, and then correcting the errors reported by the compilers.
    A change was made to the way file names are saved in project files: Even though we created a file name that was relative to the project root, because we used the File class, this file name was turned into an absolute path in the project file. Now file names are treated as strings and are now finally relative to the project root, and not absolute.
    Added catch statements to deal with a StringIndexOutOfBoundsException in the bug report [ 1967750 ] Some error with something....?.
    Also fixes the bug that "Find All" highlights were never removed: [ drjava-Bugs-1967938 ] Find All Highlights Never Removed. It is now easier to remove breakpoints and bookmarks again (see [ 1968728 ] Difficulty Removing Breakpoints and Bookmarks). "Find All" and bookmarking operations were also made faster by delaying some GUI updates until the entire list has been compiled.
  • May 10, 2008 (Updated by Mathias Ricken) This revision contains some changes to the interpreter in the Interactions Pane, a little more "Project Auto-Refresh" support, and support for Java 6 Javadocs. Additionally, the "Open Java API Javadoc" feature can now use the Javadoc version of the currently used compiler; to make use of this, please go to the "Javadoc" pane in the "Preferences" dialog and set the "Java Version for Open Java API Javadoc" to "use compiler version". It also includes several additional properties for use in external processes, and a bug during debugging and using "Step Into" was fixed.
  • May 2, 2008 (Updated by Mathias Ricken) This revision introduces a dialog for overwriting read-only files, changes to the browser history, auto-refresh for projects, import/export and drag-and-drop of external processes, descriptions for variables used in external process command lines, a reduction of the memory use of "Go to File", and hopefully a fix for the flickering modal dialogs, especially on OS X "Leopard".
  • April 14, 2008 (Updated by Mathias Ricken) Includes a dialog to automatically check for a new version (on SourceForge only; not on this page) and some bugfixes to make sure dialogs appear in front of the main window.
  • April 4, 2008 (Updated by Corky Cartwright) The processing of document regions within "find all" panes has been streamlined.
  • April 2, 2008 (Updated by Mathias Ricken) The project file format has been changed to XML. DrJava will continue to read old project files, but it will always write using the new XML format. Added "No Test Cases" option to Find/Replace panel. Ignores matches in files that end in "Test.java". Other bugfixes in Find/Replace. More highlighter colors, highlighter is now a box around the matching text. Bottom pane automatically resizes. Also see revision comments.
  • March 14, 2008 (Updated by Mathias Ricken) This interim release contains many bug fixes to the new interpreter; the beginnings of a "Execute External Process" facility that can be used to run Ant, a different version of javac, or any other program; auto-completion of classes in the Java API as well as auto-completion with the fully qualified path (e.g. java.lang.Integer instead of just Integer); rudimentary JUnit 4 support; improved handling of out-of-memory situations; and changes to the indenter and "Find/Replace". "Test Project" problem fixed by Dan the Man.
  • January 24, 2008 (Updated by Mathias Ricken) This development release includes a new interpreter, some fixes related to RMI, and a bugfix that displays the Interactions Pane again when the Run button is pressed (alternative download site).
  • January 6, 2008 (Updated by Mathias Ricken) This stable release is based on the beta release from December 20, but incorporates three small bugfixes (alternative download site).
  • December 20, 2007 (Updated by Mathias Ricken) This release contains two enhancements: The most important improvement is a new interpreter for the Interactions Pane that can correctly process generics. The second is an enhancement of the Auto Import feature from November 16, 2007, which now also allows auto import to work for user-written classes in the Defininions Pane (also see revision comments).
  • November 28, 2007 (Updated by Mathias Ricken) This release contains two bugfixes: A user cannot open files in another user's DrJava running on the same machine anymore (remote control feature; introduced October 10, 2007). The way listeners are removed has been changed to be more robust (also see revision comments)
  • November 16, 2007 (Updated by Mathias Ricken) New feature: Auto Import in Interactions Pane. If an undefined class is encountered in the Interactions Pane, a dialog will be displayed to select the class to import. Then the erroneous line will be re-executed (also see revision comments).
  • October 10, 2007 (Updated by Mathias Ricken) Contains two new features: Opening files by drag-and-drop and opening files in an already running instance of DrJava (see revision comments).
  • July 28, 2007 (Updated by Corky Cartwright) Fixes several bugs including a bug that prevented the Java 6 compiler from working with Windows in many installations.
  • April 27, 2007 (Updated by Mathias Ricken) Small fix for bug [ 1708719 ].
  • April 26, 2007 (Updated by Mathias Ricken) Small fix in FileOps.
  • April 3, 2007 (Updated by Corky Cartwright) The build contains some minor bug fixes to syntax highlighting and cursor updating in the interactions pane.
  • March 3, 2007 (Updated by Corky Cartwright) The build contains many small bug fixes and some major performance improvements (e.g., running "Find All" on a project with hundreds of files like the DrJava code base).
  • February 8, 2007 (Updated by Corky Cartwright) Fixes a timing bug in the processing of console input entered in the interactions pane and cleans up the start protocol so that restarting is avoided unless JVM arguments stored in the drjava profile (which must be passed on startup).
  • February 2, 2007 (Updated by Dan Smith) Fixes a bug in project file parsing and generation: project files were being generated with date text localized to the current platform, making them unreadable in any other localization. Now all files use the US locale (the fix is also backwards-compatible with localized project files).
  • January 29, 2007 (Updated by Corky Cartwright) This is a sneak peak at a forthcoming stable update that fixes some small (but very annoying) synchronization bugs in the interactions pane. It also turns on "unchecked" warning messages in the Java compiler when run from DrJava; they were inadvertently turned off when the code base was refactored to support Java 6.0.
  • November 28, 2006 (Updated by Corky Cartwright) This build fixes a synchronization bug in the interactions pane and eliminates some of the overhead in document switching when editing large projects.
  • October 13, 2006 (Updated by Corky Cartwright) This build fixes some synchronization bugs in the DrJava test harness and streamlines the synchronization involved in shutting down DrJava in an attempt to work around a problem with DrJava hanging on quit() on Windows tablet PCs. October 3, 2006 (Updated by Corky Cartwright) This build includes a patch to fix bugs #1558917 and #1565731, which involved the position of the cursor in the "reduced model".
  • September 1, 2006 (Updated by Mathias Ricken) This build introduces a "Forcefully Quit DrJava" checkbox in Preferences/Misc. Users that experience problems quitting DrJava (e.g. on tablet PCs) should enable this option.
  • August 28, 2006 (Updated by Mathias Ricken) This build is a bit newer than the latest stable build. This version fixes a bug with incorrectly changing bookmarks and detecting valid Java 1.4 tools.jar files. The error messages have been improved too.
  • July 30, 2006 (Updated by Corky Cartwright) This build is an updated preview of a forthcoming stable release. It includes more bug fixes and only works on Java 5.0/6.0; it is not Java 1.4 compatible.
  • June 26, 2006 (Updated by Corky Cartwright) This build is a preview of a forthcoming stable release. It includes lots of bug fixes and some new UI features. This jar only works on Java 5.0/6.0; it is not Java 1.4 compatible.
  • May 9, 2006 (Updated by Corky Cartwright) This build is a new version of DrJava suitable for use on multiprocessors. It fixes several synchronization glitches that rarely if ever manifest themselves on single processor systems.
  • Apr 29, 2006 (Updated by Mathias Ricken) This build contains an attempt to fix bug "[1478796] DrJava Does Not Shut Down With Project Open" that occurs on Compaq tc1100 tablet PCs. It resets the interactions pane even when quitting.
  • Apr 28, 2006 (Updated by Corky Cartwright) This build introduces (i) "Compile Project" and "Test Project" commands with different behavior than the "Compile (All)" and "Test (All)" commands that were originally developed for flat file mode. When DrJava is in project mode, these two new commands apply only to the project source file tree; auxiliary and external files are ignored. The "Compile (All)" and "Test (All)" have been revised simply to compile all documents and test all documents regardless of what mode DrJava is in. When DrJava enters project mode (by loading a project), the "Compile" and "Test" buttons below the title bar are rebound to "Compile Project" and "Test Project". When DrJava leaves project model, these buttons are rebound to "Compile (All)" and "Test (All)" and the "Compile Project", "Test Project", and "Run Project" commands are disabled.
  • Apr 24, 2006 (Updated by Mathias Ricken) This build introduces (i) bookmarks that get stored with the project file (Ctrl-M or Tools/Toggle Bookmark to set/remove, Ctrl-Shift-M or Tools/Bookmarks for the Bookmarks Panel); if text is selected, that entire section will get underlined, so this feature can also be used as a highlighter tool. (ii) better tools.jar search, (iii) progress bar when clearing build directory, (iv) a more descriptive Run/Run Project button, and (v) numerous bug fixes.
  • Apr 16, 2006 (Updated by Corky Cartwright) This build introduces (i) a new DrJava internal error monitor that should be most robust and less intrusive when DrJava detect an internal error; (ii) a new implementation of FindReplace that fixes a serious performance bug in global searching; and (iii) numerous bug fixes.
  • Apr 10, 2006 (Updated by Corky Cartwright) This build introduces several important new features including a goto file function (available as a command on the edit menu and bound to the key "cntl shift G"). It also restores fast loading for large projects, makes breakpoint persistent in the context of resetting the interactions pane, and fixes a recurring defintions pane inconsistency bug that crept back into the code base (GUI behavior is very difficult to unit test).
  • Feb 27, 2006 (Updated by Corky Cartwright) This build introduces a distinction between the working directory for the master JVM (editor and GUI interface) and the working directory for the slave JVM (the interactions pane). It also fixes a few lingering bugs.
  • Feb 20, 2006 (Updated by Corky Cartwright) This build streamlines the code that resets the active document which may help fix some intermittent timing bugs on Tablet PCs. It also fixes makes DrJava less sensitive to illegal file names stored in DrJava config and project profiles.
  • Feb 19, 2006 (Updated by Corky Cartwright) This build streamlines the code that resets the active document which may help fix some intermittent timing bugs on Tablet PCs. It also fixes makes DrJava less sensitive to illegal file names stored in DrJava config and project profiles.
  • Feb 17, 2006 (Updated by Corky Cartwright) This build makes the policy of enforcing project test class names to end in "Test" a configuration OPTION. For large projects, following this policy significantly speeds up unit testing, but it unnecessary for most projects.
  • Feb 16, 2006 (Updated by Corky Cartwright) This build fixes a bug in the startup of DrJava when it cannot find tools.jar on the classpath or in the usual position in the JDK installation. The startup protocol now looks in the location for tools.jar stored in user preferences before complaining.
  • Feb 14, 2006 (Updated by Corky Cartwright) This build features improved support for file I/O in the interactions pane and fixes a bug in the mapping of compile errors back to source file locations.
  • Oct 30, 2005 (Updated by Corky Cartwright) This build adds an "Abort" button to the pop-up window for System.in so that a computation can be aborted when it is waiting for input from System.in. It also echoes input typed in the System.in pop-up winoow in the Console pane.
  • Oct 7, 2005 (Updated by Corky Cartwright) The "compile-all" command on a big project could leave the definitions pane in an inconsistent state. This build fixes that bug.
  • Oct 4, 2005 (Updated by Corky Cartwright) This build is a Java 1.4 compatible version of the previous release.
  • Aug 23, 2005 (Updated by Corky Cartwright) This build is a minor update on the new stable release that fixes an annoying bug when an "all documents" search of an unmodified document in a large project fails to find a match.
  • August 03, 2005 (Updated by Corky Cartwright) This build supports a better synchronization protocol for accessing the interactions pane and a more flexible compilation protocol for projects (new external documents do not have to be saved before the project is compiled).
  • July 19, 2005 (Updated by Corky Cartwright) This build fixes more bugs in langugage levels type checking and improves the handling of "file not found" errors by DrJava.
  • June 30, 2005 (Updated by Corky Cartwright) This build fixes more bugs in langugage levels type checking and improves the handling of "file not found" errors by DrJava.
  • June 28, 2005 (Updated by Corky Cartwright) This build fixes some bugs in langugage levels type checking.
  • June 22, 2005 (Updated by Corky Cartwright) This build is a minor update of the recent beta stable release that fixes the bug in multiline find & replace commands on the Windows platform. I anticipate that this build or a minor update of it will be released as the new stable release.
  • June 9, 2005 (Updated by Corky Cartwright) This build includes an improved find/replace command interface and a new implementation of the document cache, which should eliminate some intermittent unit test failures.
  • May 27, 2005 (Updated by Corky Cartwright) This build rolls eliminates vestigal references to a special SecurityManager that prevents System.exit(...) from being executed, which should fix a bug in exiting DrJava on the Mac. It also fixes a bug in the undo command with regard to the modification state of the current document.
  • May 21, 2005 (Updated by Corky Cartwright) This build rolls reinstates one of "improvements" in the implementation of document switching because its rollback appeared to cause intermittent unit testing failures on Linux. It also removes an unneeded explicit call on repaint in the JList document navigator and adds the full path name for the selected file on the title bar.
  • May 19, 2005 (Updated by Corky Cartwright) This build rolls back two "improvements" in the implementation of document switching that may be causing some intermittent bugs.
  • May 17, 2005 (Updated by Corky Cartwright) This build fixes a bug in the state of the DefinitionsPane immediately after a compilation with errors.
  • May 10, 2005 (Updated by Corky Cartwright) This build uses a new synchronization scheme for the interactions pane and console pane documents.
  • May 8, 2005 (Updated by Corky Cartwright) This build fixes some synchronization bugs introduced in the last build, revises indenting to leave wing comments unchanged, and fixed a bug in find/replace.
  • April 25, 2005 (Updated by Corky Cartwright) This build fixes bug in junit testing that caused a deadlock when the debugger was used to set breakpoints in unit tests. The interactions pane now supports Java 1.5 extensions including generics in thwhen running on a Java 1.4 JVM. This build also fixes several minor bugs including the failure to mark files as modified in the navigator pane by appending an asterisk to the file name.
  • April 12, 2005 (Updated by Corky Cartwright) This build fixes a bug in the quit command on the Tablet PC platform. It also simplifies the behavior of the ccmmands that close groups of files. If there ia an error (e.g., a file has moved) in determining the status of any file in the group, none is closed.
  • April 8, 2005 (Updated by Corky Cartwright) This build fixes a bug in JUnit testing support.
  • April 7, 2005 (Updated by Corky Cartwright) This build fixes some bugs in language levels support and the synchronization of unit testing.
  • February 28, 2005 (Updated by Corky Cartwright) This build fixes numerous bugs in DrJava and uses a new synchronization scheme that closely follows Swing guidelines.
  • February 26, 2005 (Updated by Corky Cartwright and Elspeth Simpson) This build fixes a null pointer exception that can occurr in the Language Levels code. It also includes a fix to make Language Levels testable in 1.4 (except for the JExpParser tests).
  • Februrary 25, 2005 (Updated by Jonathan Lugo) This build fixes bugs with compilation. If the java files and the dj0 files are both open, they do not clash. Also, only open files are sent to the compiler rather than all files in the directory.
  • February 23, 2005 (Updated by Jonathan Lugo) This build fixes some bugs with JUnit and Javadoc when running in Java 1.4 with JSR14.
  • February 11, 2005 (Updated by Elspeth Simpson and Michael Jensen) This build includes the Quick Start Guide.
  • February 7, 2005 (Updated by Elspeth Simpson and Michael Jensen) This build includes the Language Levels fix for autoboxing, but does not include the QuickStart Guide.
  • DrScala

    DrScala is still an early pre-alpha program that has some bugs and lacks robustness. It is designed only to work with Scala 2.9, which is bundled in the DrScala jar file. Over 20MB of the DrScala jar file consists of jar files from the Scala 2.9.1.final distribution. The latest "solid" build of DrScala is September 29, 2012. This build plausibly indents most Scala programs (while adhering to the constraint that it never splits or inserts lines) and it no longer persists in highlighting single quote marks as in DrJava (where single quotes always bracket characters or character escape sequences). Nevertheless, it is still incomplete. For example, it does not accommodate triple-quote marks.

    Prior Builds of DrScala

  • September 12, 2012
  • September 9, 2012
  • September 4, 2012
  • August 29, 2012
  • August 24, 2012
  • August 22, 2012
  • August 20, 2012