BlueJ Version History


See the License for the terms under which the source is distributed.

5.4.1 19 September 2024

Changes in this version:

  • Fixed a bug where errors would sometimes not show as red underlines in the editor. The side bar would indicate an error on the line but it was impossible to see the error message.
  • Fixed a bug where the Windows MSI installer would allow multiple per-machine installations of different versions (in the same directory). BlueJ 5.4.1 will correctly remove all prior per-machine installations of earlier BlueJ versions.
  • Fixed a missing message in the Stride editor.
  • Fixed a bug where the right-click menu for the Java editor side bar (which let you turn on line numbers) would not appear on Windows.
5.4.0 9 August 2024

Changes in this version:

  • Moved to Java 21, including support for the new language feature switch patterns (including records).
  • Changed Mac build to use the JDK for Apple silicon (M1, M2, etc); Intel build is still available.
  • Added ARM64 Linux build to support Raspberry Pi.
  • Fixed bug with scope highlighting sometimes being missing on some lines.
  • Fixed some issues with entering non-English characters (e.g. Chinese, Korean) in Java and Stride.
  • Removed the method name tooltip on hover in the terminal.
  • Allowed the terminal scope highlighting to be turned off via an option in the preferences.
  • Fixed terminal not re-rendering when font size is changed.
  • Stopped infinite compilation which could occur when you have an error in a child class with a sealed parent.
  • Fixed a bug where inheritance arrows for sealed classes could be double-headed.
  • Fixed a bug where \r would be printed oddly in the terminal.
  • Fixed a bug which could cause slowdown while a Stride editor was open.
5.3.0 20 March 2024

Changes in this version:

  • Mac: Fixed splash screen not showing up until quite late, sped up startup process, fixed application not getting focus after load
  • Stopped Terminal showing blank stderr pane when you run a JavaFX application
  • Added JavaFX doc link to help menu
  • Fixed issue with same-day commits sometimes being sorted wrong in Git history due to sorting by 12-hour clock time
  • Fixed Git history to only show files changed in that commit (rather than all files present in the repository then)
  • Some slight speed-ups to Java editor performance
  • Added code completion for local variable names (incl parameters, for-each loops and instanceof vars)
  • Added section boundaries in the terminals, to group together output from each method callm and added tooltip showing the method call that produced each section (even if you aren’t logging method calls)
  • Clear the stderr pane in Terminal on each method call
  • Updated the Git library we use
  • Changed backspace behaviour after if/else in Stride to only remove the else, not the whole if
  • Fixed a bug where Stride didn't save when you added/removed a default clause in a switch frame
  • Fixed a bug which could prevent compiler errors being shown when a stale class file was present
  • Fixed a bug where BlueJ would endlessly compile blank files
  • Changed debugger split pane to be 3-way
  • Stopped object highlight enlarging as you step through code
  • Added user-contributed Chinese translations
5.2.1 10 October 2023

A full list of bug fixes can be found on Github. Some highlights:

  • Fixed the Linux installer not working on older Ubuntu and Debian.
  • Fixed the generic JAR installer not working outside Linux.
  • Fixed the JavaFX warning not being suppressed in the terminal in non-English locales.
  • Fixed issue with permits clauses not being parsed correctly when after an extends or implements clause, and messing up dependency calculation.
5.2.0 20 June 2023

A full list of bug fixes can be found on Github. Some highlights:

  • Fixed an issue on Mac where double-clicking in Finder to open a project would load/focus BlueJ but not open the project.
  • Fixed a launch crash on Ubuntu.
  • Fixed a bug where errors on the last line of a Java file (often, reached end of file while parsing after a missing close curly bracket) would not show at all.
  • Removed annoying warning on stdout in the Terminal when running JavaFX programs.
  • You can now focus classes in the class diagram by typing their name (e.g. typing "Tic" will focus "TicketMachine").
  • Mac is now packaged differently, as a DMG.
5.1.0a 27 October 2022

This is a Mac-only release to fix the issue with crashing on load on macOS 13 (Ventura).

5.1.0 20 September 2022

In this release:

  • BlueJ now runs on (and requires) Java/JavaFX 17.
  • Support for all the Java 17 language features has been added to the Java editor.
5.0.3 28 March 2022

In this release:

  • Many different accessibility improvements, especially to the terminal, codepad, but also the general interface.
  • Compiler errors can now be seen in a list pane when accessibility mode is turned on.
  • Fixed a bug in saving the password for Git in the teamwork.
  • Various small editor bug fixes, including one where errors would sometimes not show in the editor.
  • Added System.in/out/err to the code completion dialog as a special case.
  • Stopped passing -source to the compiler by default (this now allows users to specify --release).
  • Cut/copy now do nothing if the selection is empty (previously it would blank the clipboard).
  • Added new method to the plugin API.
5.0.2a 2 December 2021

This is a Mac-only release to address a crash that was happened on MacOS 12 (Monterey). All other operating systems should continue to use 5.0.2.

5.0.2 6 August 2021

In this release:

  • Fixed a problem where BlueJ would crash when launching on some Windows machines.
  • Fixed a bug where on Windows JavaFX menus and dialogs would not work correctly in user programs.
  • Some minor bug fixes to the Java and Stride editors.
  • Fixed a bug where sometimes red error underlines would not show up in the Java editor.
  • Added new methods to the plugin API.

A full list of fixes and improvements is available here.

5.0.1 30 April 2021

In this release:

  • Many Java editor bug fixes, including scrolling while drag-selecting, tab key behaviour, bracket highlighting, smooth scrolling on Mac.
  • Added feature to automatically insert the closing '}' (configurable in the preferences).
  • Fixed ctrl-click in the class diagram on Mac.
  • Added a new mechanism to support opening text files in the project in the BlueJ text editor.
  • Switched to GDK 2 on Linux to help with some windowing issues.
  • Fixed issues with inspector sizing
  • Fixed some issues with opening editors in new windows.
  • Fixed a few bugs with breakpoint/step mark display in the Java editor.
  • Fixed some internal errors which could occur on compilation and cause errors not to be shown.

A full list of fixes and improvements is available here.

5.0.0 28 January 2021

In this release:

  • Rewrote the Java editor implementation to be faster and more robust.
  • Added some quick-fixes to the Java editor, suggesting things like adding missing imports.
  • Added support for JUnit 5 and switched to JUnit 5 by default (JUnit 4 is still supported as before).
  • Rewrote the extensions API to work with the new editor.
  • Removed the deprecated Subversion support.
  • Bundled the JDK on Ubuntu to avoid some JavaFX dependency issues.

A full list of fixes and improvements is available here.

4.2.2 4 October 2019

In this release:

  • Fixed an issue with an extra space appearing in the terminal before the first output.
  • Fixed not being able to alter the preferences for the Submitter extension.

A full list of fixes and improvements is available here.

Note: Subversion support is now deprecated and scheduled for removal. Users are encouraged to migrate to using Git instead.

Note: The extensions API is planned to change soon, so extension writers will need to make changes. Further details will be available in the coming months.

4.2.1 30 April 2019

In this release:

  • Fixed a startup freeze that could cause BlueJ to be forever stuck on the splash screen in Windows.
  • Fixed a window positioning issue that could cause BlueJ windows to appear off-screen (and thus seem to never appear), especially on Windows.
  • Stopped the "File changed on disk" dialog from popping up again when dismissed, and made it less likely to appear in cases which might be caused by slow network storage.
  • Fixed an issue with not recognising JavaFX installed via Ubuntu package.

A full list of fixes and improvements is available here.

Note: Subversion support is now deprecated. Users are encouraged to migrate to using Git instead.

4.2.0 7 Feburary 2019

In this release:

  • Moved to Java 11. This means that BlueJ now requires a 64-bit operating system.
  • Added support for the new var keyword in Java 10.
  • Fix JUnit BeforeClass/AfterClass functionality.
  • Fix various small editor bugs.

A full list of fixes and improvements is available here.

Note: Subversion support is now deprecated. Users are encouraged to migrate to using Git instead.

4.1.4 29 October 2018

In this release:

  • Fixed memory leak in Java editor.

A full list of fixes and improvements is available here.

Note: This is likely to be the last release with support for Subversion. Users are encouraged to migrate to using Git instead.

Note: See Version 4.0.0 notes for supported devices, minimum requirements and major changes since Version 3.1.7

4.1.3 7 September 2018

In this release:

  • Fixed various issues with Git support.
  • Many other minor fixes.

A full list of fixes and improvements is available here.

Note: See Version 4.0.0 notes for supported devices, minimum requirements and major changes since Version 3.1.7

4.1.2 9 November 2017

Major points:

  • Added: Interactive tutorial (under Help -> Interactive Tutorial).
  • Fixed: Many printing problems, especially for the Java editor.
  • Fixed: Stale bugs displayed in editor / compile command ignored.
  • Fixed: Git support issues, especially with sub-packages on Windows.

A full list of fixes and improvements is available here.

Note: See Version 4.0.0 notes for supported devices, minimum requirements and major changes since Version 3.1.7

4.1.1 18 September 2017

Major fixes:

  • Fixed: Occasional exceptions/bugs during Java file editing.
  • Fixed: Many printing problems.
  • Fixed: Class documentation view shows blank on first view.

A full list of fixes and improvements is available here.

Note: See Version 4.0.0 notes for supported devices, minimum requirements and major changes since Version 3.1.7

4.1.0 23 June 2017

Major fixes:

  • Fixed: Graphical display bug could cause the Java editor and other windows (e.g. Terminal) to turn white and not redraw correctly.
  • Fixed: Several teamwork issues and bugs (especially in Git).
  • Fixed: Several controls (such as buttons in editor) could appear tiny on high-DPI screens on Windows.

A full list of fixes and improvements is available here.

Note: See Version 4.0.0 notes for supported devices, minimum requirements and major changes since Version 3.1.7

4.0.1 28 March 2017

Major fixes:

  • Fixed: Closing code editor kills created objects and clears the the object bench
  • Fixed: After switching to another language, Preferences disappear from the Mac app menu and some keyboard shortcuts will not work
  • Fixed: Debugger is not stopping on some Breakpoints
  • Fixed: Backspace doesn't work in Terminal on Mac
  • Fixed: Add «stereotype» markers again («/») in class diagram
  • Fixed: Lack of scrolling with lots of methods either in unit test, Class popup or Object popup menus
  • Fixed (MacOS X): Projects can't be opened with double click on "package.bluej" when BlueJ is open

A full list of fixes and improvements is available here.

Note: See Version 4.0.0 notes for supported devices, minimum requirements and major changes since Version 3.1.7

4.0.0 8 March 2017

This is a major new release of BlueJ. For Java programming, it adds tabbed editors, automatic error-checking, adds display of multiple errors and has most of the BlueJ interface rewritten into JavaFX (solving many HiDPI issues on Windows) while also providing some support for writing JavaFX applications and including JavaFX CSS files in a project.

BlueJ 4 also adds support for Stride, our frame-based programming language. Projects can be pure-Java (as in BlueJ 3 and earlier), pure Stride or a mix of Java and Stride. Support is providing for converting between Java and Stride.

BlueJ 4 adds support for the Git version control system (and retains support for Subversion).

Note: BlueJ 4 requires Java 8 (minimum 8u60) and JavaFX, and thus is currently unsupported on older Macs and on Raspberry Pi. Support for CVS, JavaME projects, and applet development has been removed. Some extensions may no longer work in BlueJ 4.

3.1.7 23 February 2016

This is a bug-fix release for users who still need to use Java 6. In the absence of any major issues, it will be the last version of BlueJ which will work with Java 6.

List of fixes and improvements:

  • Fixed problems in handling SVN projects.
  • Fixed minor issues with the debugger.

Note that from this version, to work around bugs in the SVNKit library that BlueJ uses for Subversion support, BlueJ projects which are shared to or checked out from a repository will use the (old) version 1.6 working copy format. This may mean that some external tools (including recent versions of the subversion command line client) may not be able usable with BlueJ projects. Projects checked out or shared using BlueJ version 3.1.6 used the version 1.7 working copy format and will not work properly (in any version of BlueJ) due to SVNKit bugs; BlueJ version 3.1.7 will issue a warning when opening such a project.

3.1.6 22 October 2015

Minor bug fixes since last release. This will be the last version of BlueJ which will work with Java 6.

List of fixes and improvements:

  • Fixed windows launcher in bundled build sometimes asking for JDK selection or reporting that no suitable JDK could be found
  • Fix command-+ and command-= keys changing font size in terminal on Mac
  • Terminal, code pad and editor font sizes are now always synchronised
  • Subversion support now works with new Subversion servers and repositories
  • Fixed missing semicolon in method recording in the terminal
  • Fixed rare editor hang when entering '}' bracket
  • Fixed drawing of dependency arrows in class diagram so they avoid crossing
3.1.5 29 March 2015

Support for Raspberry Pi 2, plus various bug fixes and usability improvements.

Bug fixes and improvements:

  • Fixed: Scope highlighting for various cases
  • Improved detection of sudo permissions
  • Added Raspberry Pi configuration tab
  • Fixed: deleting text when a breakpoint is set causes an exception
3.1.4 26 September 2014

Support for Java 8 language features, plus various bug fixes and usability improvements.

Bug fixes and improvements:

  • Allow "get" to put package-private members on the object bench
  • Uses system language by default (if a translation is available)
  • Fixed: Missing class name in project documentation (under "inherited methods")
  • Fixed: Mac OS X, projects with certain characters in their path were unusable
  • Fixed: Subversion: Can't see projects available for checkout
  • Fixed (version 3.1.4a on debian/raspbian only): Finding java JDK in latest Raspbian.
3.1.1 27 January 2014

Various bug fixes and usability improvements, especially for screen readers.

Bug fixes:

  • Fixed: class type parameters not shown in class diagram
  • Fixed: issues with highlighting, pasting and deleting text in codepad
  • Added: message displayed when no project open, for clarification
  • Fixed: Inspectors could not be moved by dragging them on Mac OS X
  • Fixed: Debian package now recognises oracle-java7-jdk package
3.1.0 10 June 2013

Fixes for a few Mac bugs and the Portuguese language. Improved support for screen readers. Added data collection research project.

Bug fixes:

  • Fixed: Portuguese language selection not working
  • Fixed: Mac OS X asks to install Java when using JDK 7
  • Fixed: JFileChooser hangs on Mac OS X
  • Fixed: Linux does not recognise new Java install locations
3.0.9 22 February 2013

Interface language is now selectable from preferences dialog. Improvements to the display of values and exceptions in the codepad. New Mac OS X release which bundles JDK 7.

Bug fixes:

  • Fixed: Error when first creating class documentation on a project on a network share
  • Fixed: Incremental parsing bug (scope highlighting while editing)
  • Fixed: Debugger: If halted while reading from System.in, call stack is truncated
  • Fixed: Debugger: thread controls not enabled correctly for main thread
  • Fixed: Mishandling of ArrayList in codepad/object bench
  • Fixed: JUnit 4 support treats failures as errors
  • Fixed: JUnit 4 tests do not have their stack trace filtered correctly
  • Fixed: Dialog hangs with generic array parameter
  • Fixed: Disabling auto-indent glitches the closing bracket '}'
  • Fixed: Auto-indent doesn't fire after entering '{' at line beginning
  • Fixed: Interactive invocation: Javadoc not shown for methods with parameters of a nested parameterized type
3.0.8 19 July 2012

Additions to the extensions API, allowing extensions to handling drawing the package graph. Stack traces from exceptions (shown in the terminal window) are now coloured and clickable. Resolves more firewall startup issues. More flexibility in bluej.userHome setting (possible to specify multiple locations).

Bug fixes:

  • Fixed: Parsing bug with parenthesized identifiers
  • Fixed: Parsing bug with multiple initializers in 'for' loop
  • Fixed: Encoding issues with output to System.err
  • Fixed: Problems with compilation of some files
  • Fixed: "Maybe you meant ..." misfires when there is more than one method call on a line
  • Fixed: Update JDK search path (Ubuntu/Debian)
3.0.7 7 February 2012

Resolves firewall/network-adapter startup issues, especially on Max OS X 10.7 (Lion). Fixes a problem with inspecting arrays of two dimensions or more (and a similar problem with local multidimensional arrays in the debugger). Fixes problem with non-ASCII characters in interactive method calls. Also fixes several other bugs.

Bug fixes:

  • Fixed: Class icons overlap when project is checked out without project files
  • Fixed: Parser problems (bad highlighting and/or editor lockup) caused by annotations
  • Fixed: Varargs parameters not treated as arrays by code completion/error message enhancer
  • Fixed: Search highlights wrong if file modified in external editor
3.0.6 11 November 2011

Resolves issue with display of class documentation in the editor when running BlueJ with Java 7. Introduces an .msi package for installation on Windows. Also fixes several bugs.

Bug fixes:

  • Fixed: Strange "CUI" icons in editor window (Mac OS)
  • Fixed: Missing space in error message
  • Fixed: Windows launcher crashes if project path longer than 50 characters
  • Fixed: Codepad rejects some syntactically valid expressions that have non-void types
  • Fixed: Codepad rejects constant integer division by 0
  • Fixed: Auto-complete does not always properly refresh
  • Fixed: Comment attached to method drops first character when shown in call dialog
  • Fixed: Interactively calling instance method with null result fails to show result dialog
  • Fixed: Codepad not casting some values correctly
  • Fixed: Interactively calling varargs method with reference type parameter hangs
3.0.5 1 August 2011

Includes support for Java 7 language features. JUnit 4 replaces JUnit 3 for test support (with thanks to Patrick Doran-Wu at the University of Western Australia). Default character set for new projects changed to UTF-8 (better support for non-English characters). Improved method call recording in the terminal.

Bug fixes:

  • Fixed: Compile error could cause compiler to hang
  • Fixed: One line comments should not affect scope colour
  • Fixed: Various small scope highlighting issues
  • Fixed: Various minor problems in the code pad
  • And many more minor bug fixes.
3.0.4 25 November 2010

This version is the last version of BlueJ which will work with Java 5.

Bug fixes:

  • Fixed: Inspectors not updated after codepad statement execution
  • Fixed: Resizing result inspector doesn't resize result field display
  • Fixed: Rare incremental parsing problem
  • Fixed: Can't construct object with type parameters
  • Fixed: Compile and code completion problems with code that extends Swing classes
  • Fixed: Scope highlighting broken when inserting inner classes
  • Fixed: Auto-layout sometimes inserts odd line breaks
3.0.3 19 October 2010

Includes a Slovak translation, and enables assertions by default. Adds an editor function to add a javadoc comment to the current method.

Bug fixes:

  • Fixed: Inheritance arrow not drawn between classes that aren't in the default package
  • Fixed: Some expressions generate "not a statement" error in the codepad
  • Fixed: Extensions preferences do not show the preferences for the last extension
  • Fixed: Superclass changes during editing are not reflected in code completion
  • Fixed: Code completion on arrays does not show clone() method
  • Fixed: Protected methods of other classes can show up in code completion even if they can't be called
  • Fixed: Code completion shows "access$000" method when used immediately after compilation
  • Fixed: Code completion fails on arrays of primitive types
  • Fixed: Protected methods from grandparent do not shown in code completion
  • Fixed: NullPointerException when adding/removing dependency arrows, when editor is in documentation view
  • Fixed: "Rebuild package" can crash with ConcurrentModificationException if class name changed
  • Fixed: It should not be allowed to draw inheritance arrows to/from Enums
  • Fixed: Code completion throws UnsupportedOperationException in some cases
  • Fixed: Array variables declared in codepad don't work if array declarators follow variable name
  • Fixed: Expressions involving primitive-type field access can cause compiler error in codepad
  • Fixed: Printed source code line numbers are offset by 1
  • Fixed: Code completion on List<?> expression fails
  • Fixed: Static method call dialog sometimes displays "null" instead of class name
  • Fixed: Windows: Using enter key to close method call dialog causes result inspector to close immediately
3.0.2 25 August 2010

Bug fixes:

  • Fixed: Incorrect/unhelpful compiler error messages in the codepad
  • Fixed: Using .length on arrays fails in the codepad
  • Fixed: Teamwork/Subversion: Sharing a project containing packages fails with an error message
  • Fixed: Last character of bluej.vm.args setting is ignored
  • Fixed: Compiler hangs when calling non-existing method from some classes
  • Fixed: Parser failure on Enum constants with bodies
  • Fixed: Inspect doesn't work with array references
3.0.1 8 July 2010

Bug fixes:

  • Fixed: Class templates for some languages (eg. Czech) were corrupted in Windows installation
  • Fixed: Drawing "implements" arrows between interfaces does not work properly
  • Fixed: Debian package puts libraries in /usr/bin/bluejlib instead of /usr/share/bluej
  • Fixed: Cannot re-create removed class
  • Fixed: Calling non-existant method from an inner class hangs compiler
  • Fixed: Java ME midlet execution fails when BlueJ uses Java 6
  • Fixed: Scope doesn't repaint if you de-indent a method which has a class variable before it
  • Fixed: No comments shown in call dialog when using certain parameters
  • Fixed: HTML should have been generated in UTF-8
  • Fixed: Some expressions in the code pad are broken
  • Fixed: Inspecting an object with a non-null "Class<?>" field doesn't work
  • Fixed: Crash when "\u" sequence entered in editor
  • Fixed: BlueJ doesn't highlight all Java keywords
  • Fixed: Autolayout doesn't respect tab size setting
  • Fixed: Code completion within inner classes not working
3.0.0 30 May 2010

Summary of most important changes:

  • Editor: Introduced code completion editor
  • Editor: Added editor navigation view
  • Editor: Added editor auto-indent function
  • Editor: Introduced scope highlighting
  • Editor: Improved find/replace functionality
  • Look and feel changes
  • Editor: Improved matching bracket highlight
  • Double-click on project.bluej file launches BlueJ and opens project
  • Added context menu (right-click) in editor
  • Javadoc shown for calls to methods with inner classes as parameters
  • 'Print' option added in terminal
  • 'Paste' function added in terminal
  • Printing options saved across sessions
  • Source code printing can now include line numbers and syntax colouring
  • OK/Cancel button ordering now follows OS custom on Mac OS
  • Editor: word selection improved
  • Menu item added for "Reset Java Virtual Machine"
  • Many bugs fixes and small improvements.
3.0.0 preview 2 11 May 2010
Bug fixes and speed improvements.
3.0.0 preview 8 March 2010
First feature additions for version 3.0.0
2.5.3 8 October 2009

Summary of most important changes:

  • Fixed: Java ME Deply button somtimes active for non-ME projects
  • Fixed: Codepad and method invocation fail for Java ME with "cannot find symbol - class Map"
  • Subversion support now allows access to repositories via the "https:" protocol
  • Fixed: Can't close preferences dialog when toggling "show testing tools" in an empty package frame
  • Fixed: BlueJ fails to start with Java 5 64bit on Mac OS
  • Fixed: "Rebuild package" when unsaved class with changed name exists causes ConcurrentModificationException
  • Fixed: On Windows, installation in a location with a non-ascii character in the path causes launch failure
  • Fixed: Subversion merge conflicts cause "update" dialog to spin forever (NullPointerException)
  • Fixed: Applet viewer hangs on printlns when run from BlueJ
  • Fixed: "Save as" dialog gives bad default name
  • Fixed: Teamwork status window stays open after project is closed
2.5.2 21 August 2009

Summary of most important changes:

  • Improved the installer so that BlueJ can be installed without adminstrator access rights on Windows.
  • Double-click on a bluej project file will launch it in BlueJ (on every OS but Mac OS you have to manually associate the file type with BlueJ).
  • Added keyboard shortcuts to increase and decrease font size in the editor (and terminal).
  • Fixed: Debugger window could hang the system.
  • Fixed: Editing actions throw exceptions when in interface view.
  • Fixed: Typing "5;" int to the codepad hangs the codepad.
  • Fixed: Dependency in binary-not argument not detected.
2.5.1 30 April 2009

Apart from the changes listed below, this version includes functionality to send some anonymous information (BlueJ version, Java version, Operating System, interface language etc) to the BlueJ maintainers, to help with development planning. This can be disabled by adding a "bluej.uid=private" setting to your bluej.properties file.

  • Added some control over the date formatting by the Submitter extension
  • Includes newer version of Svnkit library, should resolve some subversion issues
  • Fixed: "New Project", then selecting an existing project gave a bad error message
  • Improved cursor behaviour in editor slightly
  • Fixed: BlueJ launcher (Windows) sometimes gave a "MSVCR71.dll not found" error
  • Fixed: BlueJ launcher (Windows) fails when bluej.windows.vm.args changed
  • Fixed: Java ME projects fail to open on non-Windows OSes
  • Fixed: Couldn't open jar file via "Open non-BlueJ"
2.5.0 7 October 2008

Summary of most important changes:

  • Added support for developing J2ME applications.
  • Team work functionality now works with Subversion (SVN), as well as CVS.
  • JUnit test recording significantly improved (records more interactions).
  • Improved window handling.
  • Installer improvements.
  • Numerous bug fixes.

BlueJ now requires Java 5 or newer. Older Java versions are no longer supported.

2.2.1 17 December 2007

Summary of most important changes:

  • Leaving breakpoints over compile, where possible.
  • Added test class creation for applets.
  • Adaptations for MacOS 10.5 (Leopard).
  • User preference directory location is now configurable.
  • Fix bug with teamwork tools and packages.
  • Make code pad font user-definable.
  • Some other minor bug fixes.
2.2.0 6 July 2007

Summary of most important changes:

  • Added explicit group work support (CVS based).
  • Check for (and prevent) recursive save (save of project in own project dir)
  • Changed default browser on Linux/Unix systems to Firefox
  • Improvements of submitter extension: added https protocol and secure SSL/TLS mail transfer
  • Print problems fixed
  • Compiler bugs (compiler not terminating in certain situations) fixed
  • Constructor with type parameter now works correctly
  • Possible freeze problem fixed
  • Comments in code pad fixed
  • File handling in uni tests improved
  • Freeze fixed related to self-referential object on bench
  • Javadoc location can be changed with bluej.defs setting
  • Class called 'Object' no longer confuses BlueJ
  • Compile dependency chacking improved
  • varargs in interactive constructor call now work
  • Improved handling of objects of private inner classes
  • 'userlib' and 'extensions' directory can be specified in bluej.defs
  • Printing '\u000C' clears terminal
2.1.3 26 April 2006

Summary of most important changes: Minor bug fixes, including

  • Shared memory transport fixed (Windows, as a failover for aggressive firewalls)
  • Terminal encoding fixed (defaults to system encoding now)
  • Terminal encoding can now be set with the bluej.terminal.encoding property in bluej.defs
  • Fixed: Mnemonics and accelerators don't work with escaped unicode sequences
  • Fixed: README.TXT not saved on quit
  • Fixed: Debugger doesn't detect when user steps past end of called method
  • Fixed: Run Applet dialog does not resize gracefully
  • Fixed: BlueJ becomes unresponsive when program produces a lot of terminal output
  • Fixed: Leaving type argument blank for constructor calls doesn't work
2.1.2 10 February 2006

Summary of most important changes: Minor bug fixes, including

  • Fixed bug with display of parameter names and method comments.
  • Fixed bug in specification of VM location in bluej.defs.
  • Bug fix in extension API: compiler warnings are now propagated to listeners.
2.1.1 3 January 2006

Summary of most important changes:

  • Minor bug fixes, most notably a bug that caused BlueJ to hang if source files ended in a comment without a terminating newline character.
2.1.0 25 November 2005

Summary of most important changes:

  • The codepad now has support for declaring local variables which retain their value between invocations.
  • improvements for generics handling in codepad
  • lots of bug fixes!
2.0.5 17 May 2005

Summary of most important changes:

  • BlueJ now runs on Max OS X 10.4 (Tiger)
  • improvements for generics handling in codepad
  • clean up inspectors on VM reset
  • various small codepad fixes
  • unaccessible methods from other packages were shown in menu - fixed
  • supplied fix for projects on UNC paths
  • can now open jar files and zip files
  • fix for browser opening on Windows ME
2.0.4 17 January 2005

Summary of most important changes:

  • fixed bug that led to problems when installed in locations with space in path name
2.0.3 20 December 2004

Summary of most important changes:

  • #733 - hash in project path causes problems ("Main method does not appear in context menu").
  • #781 - keyword "new" highlighting
  • #791 - inspection of generic field containing object of non-immediately-derived type
  • #793/#795 - java 1.5.0 compile-time errors not verbose enough
  • #800 - exception thrown in code pad causes internal BlueJ error
  • #838 - Japanese dialogs in wrong encoding
  • #847 - auto project open at startup is not robust
  • #848 - BlueJ main window now received focus at startup (MacOS)
  • #786 - Terminal bug clearing error output
2.0.2 22 October 2004

Summary of most important changes:

  • display of stack traces when throwing exceptions restored
  • stack trace display for unit test failures fixed
  • systemLibrary property in bluej.defs fixed again
  • use of alt/option key on MacOS fixed
  • addition of memory based VM communication protocol (VM startup without tcp/ip) and corresponding bluej.defs property
2.0.1 4 October 2004

Summary of most important changes:

  • invoking 'main' could hang virtual machine - fixed
  • debugger highlighting not updated correctly - fixed
  • main method sometimes executes twice - fixed
  • VM sometimes does not shot down correctly after reset - fixed
2.0.0 16 September 2004

Summary of most important changes:

  • added support for J2SE 5.0 (generics, enums, etc)
  • new diagram look
  • new diagram handling functions: multi-selection, dragging/resizing of multiple classes
  • context menus for all diagram entities (including arrows)
  • keyboard navigation of class diagram and object bench
  • menu mnemonics
  • improved extension API
  • improved Java text evaluation via code pad
  • improved editor indentation
  • execution speed improvements (using VM optimisation by default)
  • Undo button affects inactive window.
  • applets don't get classpath
  • jar bundle does not contain user lib jars
  • Class inheritance arrows disappear when saving a project
  • 'Get' public variable does not work in class inspector
  • Object bench is not painted correctly
  • Object bench scrolls inconsistently when removing objects
  • Add support for compile options in bluej.defs
  • Classes not initialized before inspection
  • BlueJ cant start with testing tools enabled
  • Splitpane is not appropriately split
  • remember preferred editor window position
  • Remove command
  • Unable to create virtual machine
  • result inspector return types are wrong
  • Result inspector should be redesigned (show method call)
  • key support for graph editing
  • inspectors not properly updated
  • Change the look of classes being moved.
  • Change display of <null> to null
  • remote vm process does not quit when project closed too q...
  • Mnemonics
  • default applet template does not compile
  • Compile errors not shown properly
  • Implementation arrows not selectable
  • test result display should let you jump the line where an...
  • Close terminal window with its project
  • clear input buffer at execution start
  • Multiple dialogs when deleting package
  • BlueJ opens file twice
  • click in selectino in editor does not unselect
  • Javadoc for the Java API doesn't work
  • Unicode character not supported in java source code
  • BlueJ fails to launch browser
  • ESC should close dialogs
  • extra javascript in javadoc interface view
  • Main thread never terminates if another thread tries to j...
  • The auto-indent should work in both directions
  • There should be an opposite to TAB key indention
1.3.5 11 December 2003

Summary of most important changes:

  • execution speed improvements (using VM optimisation by default)
  • JUnit testing: auto-generated code improved
  • auto-open of last used projects on startup
  • System.exit now restarts VM
  • improvements to extension API
  • standard preference handling on MacOS
  • number of 'recent projects' user definable
  • startup without additional DOS window on MS Windows
  • class diagram supports multiple selection
  • changed inspector look
  • better error messages
  • easier addition of user libraries through use of 'userlib' directory
  • colours for different class types user definable
  • added missing label in some foreign languages
  • 'VM optimize' now available in preferences
  • new menu shortcuts for 'page setup', 'generate documentation'
  • text input wirh multiple projects now works (one terminal per project)
  • editor maintains last display state (interface/implementation) between sessions
  • each package now has separate README note
  • JApplet class now used by default when creating applets instead of Applet
1.3.0 7 August 2003

Summary of most important changes:

  • more robust debugger/execution archtitecture
  • extension API added
  • submission extension added
  • unit test support added
  • improved diagram printing
  • user definable scaling of diagram printout
  • now using jdk 1.4.1 on MacOS if installed
  • Aqua interface improvements on MacOS
  • web browser start problem on Win98/ME resloved
  • EXIT_ON_CLOSE option bug fixed
  • some documentation generation bugs fixed
  • new interface languages available: Portuguese
  • source print font size user definable
  • printing form feed character (unicode 0x000C) now clears terminal
  • terminal gets automatically cleared on recompile
  • inspection of static fields now in class menu
  • compiler warning display improved
1.2.2 16 October 2002

Summary of most important changes:

  • freeze bug with jdk1.4.1 and debugger fixed
  • 'open recent' option added to Project menu
  • support for 'stand-out' comments
  • System.err output in terminal improved
  • project documentation with spaces in path works now
  • evaluation of expressions added
  • user interface in italian added
1.2.1 1 August 2002

Summary of most important changes:

  • bug with frequent access of floppy drive fixed
  • bracket matching in editor implemented
  • bluej.exe accepts parameters
  • System.err output now directed to BlueJ terminal
  • 'auto-clear' option in bluej terminal
  • new interface languages: Chinese, Czech, Afrikaans
1.2.0 4 April 2002

Summary of most important changes:

  • 326, 335 - support of jdk 1.4 added
  • 285 - return key now activated OK button in parameter dialogs
  • 330 - project documentation fixed with jdk 1.4
  • 343 - improved auto-indentation in editor
  • 347 - last used project directory saved across sessions
  • 000 - added windows installer
1.1.6 16 January 2002

Summary of most important changes:

  • 166 - debugger now displays static variables in a separate list
  • 166 - debugger displays variables when stopped in static method
  • 225 - projects can include project-specific libraries
  • 261 - Frames/JFrames automatically removed when objects are removed
  • 235 - help menu items can be added by users
  • 267 - terminal font size user definable
  • 276 - javadoc can be configured to include private methods
  • 295 - automatic creation of crash recovery files; optional creation of backup files (thanks to David R. Musicant (dmusican@mathcs.carleton.edu) for implementing these features)
  • 241 - proper find/replace implemented in editor
  • 250 - optional line number display in editor
  • 300 - added block indent function to editor
  • 303 - method template for "insert-method" template user definable
  • 310 - japanese localisation added (interface , etc. in japanese); thanks to Runrun
  • 275 - use Command key instead of CTRL as menu shortcut on MacOS
  • 277 - bug fix on MacOS: Show Terminal/Debugger could crash system
  • 298 - extended latin characters (umlaut, accented characters, etc) handled correctly by parser
1.1.5 24 September 2001

Summary of most important changes:

  • 240 - documentation needs update (1.3 req)
  • 12 - font size in editor not user definable
  • 234 - Screen maximize
  • 247 - cannot create jar file in project directory
  • 248 - Some applet classes are not recognised when project is loaded
  • 252 - Exported jar files containing packages unusable under Windows
  • 255 - jikes error messages aren't shown
  • 191 - Unexpected characters in input cause exception
1.1.4 14 June 2001
  • requires JDK 1.3 or newer
  • uses new (JDK1.3) compiler implementation
  • can get arrays and array element to the object bench
  • local variables of static methods now shown (bug fix)
  • new class templates can be added
  • class templates can be located in arbitrary directory
  • "user home" can be specified
  • display of exceptions in library classes improved
  • bug fixes with editor key definitions
  • new editor functions for cutting/copying/moving lines and words
  • optional soft TABs (tabbing with spaces) in the editor
  • various bug fixes
1.1.3 29 March 2001
  • can now create objects of library types (eg. String) and call static methods
  • breakpoints in main did not work - fixed
  • editor tab size definable in bluej.defs file
  • syntax colours user definable
  • bug with interface views and multiple drives on Win32 fixed
  • can now re-display project documentation without re-generating
  • debugger "terminate" fixed
  • object inspection from debugger fixed
  • export for packages with sub-packages fixed
1.1.2 9 February 2001
  • added support for installation on MacOS X
  • interface view of classes changed to display javadoc format in BlueJ editor
  • inspection of elements of large arrays fixed
  • System.exit now terminates all threads
  • bugs with parsing explicit positive ints fixed
  • more compiler error message help texts added
  • "describe" function (CTRL-D) in editor fixed (had bug on Windows)
  • static data now gets reinitialised with each call to "main(String[])"
1.1.1 1 September 2000
  • applets are now properly recognised even if not directly inheriting from "Applet"
  • editor key bindings are now properly saved between sessions (JDK 1.3 only)
  • "spinning barber pole problem" (infinitelyspinning barber pole) on Linux fixed
  • classes in the project are now recognised when source is not there (only .class file). This may be used to supply use-only classes to students without source
  • bug with incorrect project closing fixed
  • class positioning when adding class from file corrected
  • long error messages in editor now wrap over two lines. Pressing the "?" button shows the complete message (together with an explanation)
  • default argument for "public static void main(String[])" changed from null to { } to ensure compatibility with DOS
  • editors have icons when minimised
1.1 4 August 2000
  • UML-style notation for the class diagram
  • support for named and nested packages
  • improved import of non-BlueJ packages
  • terminal text can be saved or copied
  • editor key bindings can be changed  (jdk 1.3 only)
  • editor font can be changed
  • "export" function to create standard Java packages and executable jar files
  • projects have project comments (README note)
  • javadoc support added for single classes and whole projects
  • cascading menus for large menus
  • the debugger can now be used with swing applications
  • classes can be renamed in the class source
1.0.3 23 May 2000
  • static methods on abstract can be called now
  • bug with calling methods after using "Get" has been fixed
  • bug with printing TABs has been fixed
  • printing the class diagram has been improved
  • class names can now be changed by changing the name in the source
1.0.2 8 March 2000
  • printing class sources has been fixed/improved
  • editor views have been improved
  • bug fixed: end of long lines was not displyed properly
  • bug fix: System.exit() did not work correctly
  • new editor functions: "indent", "break-and-indent", "comment", "uncomment"
  • editor key bindings can be changed (but are not yet saved - they are lost on exit)
  • a default source directory can be defined in the "bluej.defs" file. This serves as a starting point for the file chooser
  • install support for jdk 1.3 added
1.0.1 17 January 2000
  • installation support for Linux jdk 1.2.2 added
  • added preferences dialogue
  • editor font size can be changed
  • non-BlueJ packages can now be opened in BlueJ (with automatic dependency analysis). So far, only packages without nested packages are supported
  • "package..." line automatically fixed when importing classes
  • System.exit() now works for graphical applications
  • bug fixed in inspection of large arrays
  • default parameter "null" added for static void main calls
  • support for internationalisation (so far, German is the only language file supplied besides English)
1.0 23 August 1999
  • dependencies (eg inheritance relationships) are automatically entered into the source code if entered graphically
  • several bugs in the debugger have been fixed
0.9.7 11 August 1999
  • text terminal reimplemented; fixed many problems
  • terminal comes to front on output
  • inspect for local variables in debugger implemented
  • dependency display improved: changes in code immediately reflected in diagram
0.9.5 7 July 1999
  • Implementation changed to run on Java 2 platform
  • Debugger implemented. Includes breakpoints, single stepping, variable inspection
  • Execution implementation changed to use JDI - promises significant improvements in stability and reliability
  • Applets supported (development and viewing in applet viewer and browser)
  • Dependency analysis fixed - works correctly now
  • Many editor improvements
  • Help button for compiler error messages and exceptions
  • Array inspection implemented
  • Exception handling (reporting) improved
0.9.2a 12 May 1999
  • One bug fix: bluej could not be started on Unix systems without a command line argument.
0.9.2 5 May 1999
  • internal implementation improvements
  • some editor improvements (key shortcut, tabs, ...)
  • editor function "key bindings" implemented - lists all user functions and their bindings
  • many bug fixes
0.9.1 28 April 1999
  • printing of source files implemented
  • cleaned up object popup menus
  • classes can no longer be moved out of the screen
  • removed bug in removing arrows
  • backup package file now named "bluej.pkh" instead of "bluej.pkg~" to avoid Windows copying bug
0.9.0 15 March 1999
  • handling of exceptions: exceptions in user programs are caught and displayed properly
  • System.exit() can now be used normally
  • bug fix: empty string as method result now returned properly
  • bug fix: user defined object as method result now shown correctly
  • bug fixes: names of objects on bench: now ensures that names are unique and valid
  • bug fix: layout of object bench after "get" and "remove" fixed
  • bug fix: objects could not be used properly after put on the object bench through the "Get" operation in the inspect window. This works now.
0.8.9 2 March 1999
  • Removing of classes has been implemented
  • In the installer, a path to the java executable can be specified and will be used
  • In multi-user system, where the BlueJ home directory is not writable to users, the system should now work much better.
  • The Save As function has been implemented.
  • Many other bug fixes...