DrJava Automatic Update Feature

I just made a new DrJava development release. You can download
drjava-20090402-r4864 from SourceForge.

The latest feature I’ve added is automatic update, which enhances the “Help/Check for New Version” dialog we’ve had for a while. If DrJava detects that there is a newer version available on SourceForge, then it gives the user the choice of an automatic update or a manual download.

For the automatic update, DrJava determines from where on the user’s computer it was started from and what kind of file it was (*.jar, *.exe or a Mac DrJava.app). It then downloads the corresponding file from the newest release. To actually replace the existing file, DrJava now starts a helper process in the temporary directory and shuts down. The helper copies the downloaded file onto the old file (if possible) and then starts the new version, which deletes the helper files in the temp directory.

By default, this is done once a week, but only beta and stable releases are suggested. The user can change the frequency, though, and also change the dialog to consider development releases.

Of course I would like you all to try this feature out on your computers. However, because the new version will not detect itself as a new version and you probably don’t want to wait until we make the next release, I have made a simulator available that always detects a new version.

Please download and execute that simulator, go to the “Help” menu and select “Check for New Version”. Make sure that the combo box says “Check for: all versions” so you download the latest developer version, not the latest stable version. Then click on “Automatic Update”. DrJava should then display a progress dialog as it downloads, potentially ask you if you want to quit, and then restart, as if nothing had happened. But now
you have the latest version!

Please let me know how this is working on your systems. I am looking forward to your comments and questions.

Other new features:

  • 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

Bug fixes in this release:

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

I have to thank my great team members in my COMP 402 class for getting so much done!


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 Uncategorized. Bookmark the permalink.

Leave a Reply