Fixed Bugs and New Features
In the following we use "crash" to mean an uncaught exception which triggers a "crash report" dialog in jGRASP. This may or may not be a real problem - many uncaught exceptions do not cause any harm.
Bugs in Version 2.0.5_03 Fixed in Version 2.0.5_04
For JUnit and other tools, auto-compile of a file or project will be considered a failure if there are clickable lines in the output, even if these are warnings rather than errors.
Try-with-resources with externally declared resource (introduced in Java 9) is not supported for CSD, CPG, interactions.
Switch statement blocks with multiple case labels are executed multiple times in interactions.
For-each statements with primitive array initializers do not work in interactions. With object initializers of the wrong type they may fail with incorrect error messages.
Bugs in Version 2.0.5_01 Fixed in Version 2.0.5_02
jGRASP help does not work if Microsoft Edge is the default browser.
Native statup and wedge executables built on Linux may not be used.
Help and documentation links may go to top of page rather than anchor on some macOS and Linux systems.
C/C++ compile commands should have two flag locations (FLAGS and FLAGS2 in the compiler settings), as some compilers are picky about flag locations.
Selecting an element of the array elements viewer if it is in a subview will cause a crash.
Bugs in Version 2.0.5 Fixed in Version 2.0.5_01
Files saved through the "Save and Rename" dialog will not be saved on Mac if the renaming is only a change in case, though they will appear to have been saved.
jGRASP may not return to the previous browse directory when restarted on Windows.
Invoking a varargs method in interactions or the workbench will fail with class not loaded message if the type of the last parameter is not loaded.
Invoking a method in interactions or on the workbench may cause a crash if the method is varargs and a non-varargs method with the same name exists.
Bugs in Version 2.0.5 Beta 3 Fixed in Version 2.0.5 Beta 4
"Cancel" button on browse pane "New File" dialog does not cancel.
Bugs in Version 2.0.5 Alpha 7 Fixed in Version 2.0.5 Alpha 8
Text in error/option dialogs is not antialiased.
Creating a new instance of a class in interactions or in a viewer expression will leave the debugger in an incorrect state, which will prevent some viewers from working, stop threads that should not be stopped (they will still show up as running in the threads pane), and could lead to a debugger freeze.
Turning on incremental garbage collection in the jGRASP startup settings will prevent it from running under Java 9 or higher.
If jGRASP admin settings are used and the admin settings directory and user settings directory are the same, settings may be corrupted and the "already running" warning will appear at startup.
The icon used for dragging a viewer copy from a viewer does not work.
Bugs in Version 2.0.4 Fixed in Version 2.0.4_01
The mouse wheel "lines per click" setting is ignored, and wheel scrolling always moves one line per click.
For some combinations of fonts size, screen resolution, and screen refresh rate, scrolling by some methods may not stop until the end of the text is reached.
New Features in Version 2.0.4 Beta
Smooth scrolling in editing windows is supported.
Bugs in Version 2.0.3 Fixed in Version 2.0.3_02 Beta
Hitting "Enter" in interactions with text selected will usually cause corruption of the text or a crash.
New Features in Version 2.0.3_02 Beta
Double click, Ctrl-Left, and Ctrl-Right will now select and move based on token boundaries, except within a string or comment where selection and movement is based on whitespace and number-letter-underscore sequences.
Ctrl-Backspace and Ctrl-Delete will now cut text to the nearest left and right token boundary respectively, except within a string or comment where they will cut to the boundary of the enclosing whitespace or number-letter-underscore sequence, or one character if there is no such enclosing sequence.
Ctrl-Shift-Backspace and Ctrl-Shift-Delete will now cut text to the start and end of the line respectively.
New Features in Version 2.0.3
The desktop may now be split into multiple desktops in various ways.
Delete to the recycle bin on Mac is implemented.
Bugs in Version 2.0.3 Alpha 28 Fixed in Version 2.0.3 Alpha 29
Casting in interactions has the wrong (lowest possible) precedence.
Bugs in Version 2.0.2 Fixed in Version 2.0.2_01
User-added help items do not work. They will bring up the jGRASP help instead, or in rare cases cause a crash.
Hovering the mouse on a partially obscured element of the "Array Elements" viewer will cause a harmless crash, and the tool tip will not appear.
New Features in Version 2.0.2
Toolbar icons are now scalable. They resize relative to the font size, and different relative sizes can be selected.
Interactions now supports Java 8 syntax. Some Java 8 features are not available due to deficiencies in the Java Debugger Interface.
Bugs in Version 2.0.1_01 Fixed in Version 2.0.1_02
Syntax errors in annotations may cause a crash during CSD generation, JUnit testing, interactions, and any other operation that interally requires Java expression parsing.
Bugs in Version 2.0.1 Beta 4 Fixed in Version 2.0.1 Beta 5
JVM printing does not print CSD characters. Also, Ctrl-P on non-Windows systems does JVM printing instead of PostScript printing.
New Features in Version 2.0.1
CSD generation now supports Java 8 syntax.
Bugs in Version 2.0.0_15 Fixed in Version 2.0.0_16
Due to Java bug 8038976, documentation generated under Java 8 does not contain links to JDK documentation.
Path searching for executables (for compiling, etc.) always prefers Cygwin executables for some versions of jGRASP, and Windows executables for others, regardless of their order on the path. So if a Cygwin "python" link and Windows "python.exe" both exist and are both on the system path, using the default Python compiler environment it may only be possible to run one of them.
Cygwin-style links are not followed when locating compilers, debuggers, etc.
Bugs in Version 2.0.0_14 Fixed in Version 2.0.0_15
Cygwin compilers, debuggers, etc. may not be correctly located.