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 - some uncaught exceptions do not cause any harm.
Maximized windows on virtual desktop don't resize correctly on many systems.
Startup script will fail on unknown systems (anything other than Windows, Mac OS X, Intel Linux, and SPARC Solaris), and may fail on other systems.
Pasted test from some rtf sources, such as MS Word 2007, will include some rtf commands.
Java debugger may not work when jGRASP is started from the bin/jgrasp script on Ubuntu, and possibly other Linux and UNIX systems.
Maximized windows on the virtual desktop are too tall on some versions of OS X for some versions of Java.
"New Folder" dialog does not work because folder name field is not visible.
jGRASP may fail to start on 64 bit Windows Vista and XP systems.
jGRASP will not start on Intel OS X 10.5 (Leopard) systems.
Selecting the active editing window using the windowbar buttons or browse pane will cause it to lose focus.
If the L&F is changed to the system default L&F and if that default is not Metal, that setting will be lost the second time that jGRASP is restarted after the change.
Toolbar groups selection popup menu does not update its L&F when the L&F is changed.
Rtf paste into a CSD window ignores tab, line feed, and newline character escapes. Most rtf writers use control words for these, but it seems that many Mac applications do not.
If a method that returns a primitive value is invoked on the Java workbench and that method throws an exception, the exception viewer will fail and report an error.
Many of the viewers will fail and become usuable if multiple threads are suspended or the thread for the selected stack frame was suspended by the user (not by a breakpoint, step, or watchpoint). In the new version the viewers will report the problem while in that state and recover afterward.
Viewers can fail randomly and become unusable if a thread dies at certain crucial times. This was extremely unlikely with the previous viewers, but somewhat likely with some of the newer ones.
Java UML diagram generation does not correctly handle synthetic methods and classes in code compiled under Java 1.5 and later, and does not correctly handle synthetic methods that return void in code compiled under any version of Java. Synthetic classes in code compiled under Java 1.5 and later may cause project classes in the UML diagram to appear as external classes.
On Mac OS X, popping up files from Finder, etc. does not work.
On Mac OS X, starting jGRASP or popping up files using the command line "jgrasp" link or the "bin/jgrasp" script does not work for the pkg.tar.gz installation (it does work for an unmodified zip installation).
Leaving a Java workbench "Create Array" dialog up while changing a value, invoking a method, or when the debugger finishes, will cause a crash.
jGRASP will now run under Java 1.7 on Windows.
Added ability to change the effective declared type in basic viewer and "invoke method" dialogs for the Java debugger/workbench.
Added sort feature to Java debugger/workbench basic viewer and "invoke method" dialogs.
Added accessibility context feature to Java debugger/workbench basic viewer and "invoke method" dialogs. Accessibility context in workbench mode is now the type of the object being viewed when not at a breakpoint.
If "Run to Cursor" is used in the Java debugger and the cursor is on a source line that maps to multiple byte code locations, the debugger will only stop at the last (highest byte code index) location.
When using the Java debugger or workbench, fields in the basic viewer and methods in the invoke dialogs will show accessibility incorrectly for protected fields and methods that are declared in a different package than the current context.
Java debugger may be very slow at times under Java 1.6.0. This is due to Sun Java bug 6459874 (as described in 6515686). Work-arounds were added to jGRASP that eliminate the problem most of the time, but it may still be seen for sleeping threads in some situations. Looks like Sun will not fix this in 1.6, so users who have a problem with it should use Java 1.5 (1.7 when available).
Stopping at a breakpoint while invoking a method in the Java debugger or invoking a method while invoking a method in the Java workbench may cause some viewers to fail.
jGRASP may complain of a missing msvcr71.dll at startup on some Windows systems.
Text in the CSD windows is now rendered using subpixel antialiasing where available (Java 1.6 or higher on systems with subpixel antialiasing turned on).
Creating a jar file that contains project documentation will fail.
Changing a non-empty viewer configuration expression to empty will cause a viewer exception.
The binary tree viewer may fail and report a NullPointerException in some situations.
Opening files with "upper" Unicode characters in their names on Windows will fail if certain characters are present (approximately 1 in 20 characters cause the problem).
On some versions of UNIX/Linux, the PATH may be reduced to the first path component when compiling, which may cause some compile commands to fail.
In a CSD window, the flashing cursor should stop flashing while typing, moving the cursor, etc.
When invoking a method from the Java debugger, if the declared type of the target object is an interface, the methods of java.lang.Object are not treated as if they are visible from that type.
Breakpoint display looks rough under Java 1.6 Beta 2.
Text may not recolor correctly for a character typed over a selection or typed in overstrike mode in a CSD window, if the deletion changed the color of subsequent lines and the typed character changed the color of previous characters on the same line. For example, typing over the '*' in "/* comment" with a '/'.
For compile or run error message matches for which the regular expression may match a filename at more than one position, if the filename is not matched at the second position, the file path will not be hidden in the output when not in verbose mode.
jGRASP may fail to start on some Window 95/98/ME systems.
Compiling and running programs may fail on some versions of Linux and possibly some other UNIX and UNIX-like systems due to a bug in the jGRASP wedge.
Expression evaluation in the Java debugger may fail when there are multiple string concatenations using '+'.
Expression evaluation in the Java debugger will not autobox primitives when the target type is an interface (like Comparable).
System viewer paths can not be turned off in the settings (they turn themselves back on).
Java CSD generation: added support for hex floating point literals.
Java CSD generation: added support for variable modifiers (final, annotations) in enhanced for loop.
Java CSD Generation: anonymous inner classes are now indented three spaces instead of six.
For some operations that cause scrolling, such as using cursor keys, line numbers are not visually scrolled (are not repainted after being scrolled).
"Replace All in Selection" where search string ends with a newline will replace all from the start of the selection to the end of the text or beyond the end of the selection.
"Replace All in Selection" in block cut-and-paste mode causes a crash if the replace string is empty.
Pasting over selected text in block cut-and-paste mode will paste to the wrong location if the cursor was at the bottom of the selection. Attempting to undo the operation will corrupt the text and possibly lead to a crash.
Template menus are all blank.
Viewers will not be available for first time jGRASP users and on many systems, users who have never modified any workspace settings.
Various operations may cause the left edge of a CSD window to leave behind visual artifacts.
Comment and uncomment fuctions are diabled for Objective-C, even when the compiler environment has "Allow C++ Comments" enabled.
Workspace level PATH and CLASSPATH settings in jGRASP take precedence over the project level settings, instead of the other way around.
64 bit intel architectures are not recognized by jGRASP (the 32 bit intel startup shell and wedge works fine, and should be used).
For unrecognized architectures, the default jgrasp startup script (for UNIX-like systems) only works from the jGRASP installation directory.
Safe mode, which allows multiple versions of jGRASP to run simultaneously, is not safe if workspaces are used.
The CSD10 TrueType font may lock up printers or PostScript viewers when printed using an HP LJ 4000 series driver. This seems to be caused by a driver bug, which we have worked around in CSD11.
Pasting from an application that puts non-unicode rtf on the clipboard may result in incorrect pasted characters. The new version handles most character sets.
Java debugger evaluation of null array elements results in a boolean true value instead of null.
Multi-line tab may leave leave some visual artifacts behind when the selection begins in a block of CSD characters.
Line numbers sometimes don't repaint properly when lines are added or cut.
Frozen line numbers new line symbol "--" is too wide for line number column if there are less than 10 lines. This has been replaced with "-".
Delete from file browser now puts files in recycle bin on Windows.
New options have been added for selection and debug line colors.
Many improvements for Mac OS X: startup settings (JVM properties and JVM selection) added, redesigned control shell, dock icon added.
J2ME settings WTK directory setting takes effect before settings dialog is "OK"ed. After changing the directory and "OK"ing, J2ME projects will not compile or run until jGRASP is restarted.
jGRASP may fail to start on Windows if user's home directory, jGRASP extension path, or CLASSPATH end with a backslash.
JAR operation uses absolute instead of relative paths for files in the jar.
UML diagram does not correctly show the classes that are out-of-date with respect to their dependencies.
Browse window context menu "Add To Project" function does not work when multiple projects are open.
Tab key causes focus change instead of tab action in CSD windows when running under Java 1.6.
CSD and message window displays may become corrupted after being moved or unobscured when running under Java 1.6.
Debugger is very slow under Java 1.6 ea. This is due to Java bugs. To work around this, display of thread breakpoint status and thread monitors is now disabled when running under Java 1.6 ea. The workbench may still be slow at times.
JAR operation may fail when project contains a large number of files.
Editing files that have two-byte characters in their names may cause settings to be corrupted, and discarded.
Changing projects when one of the projects is folded up in the project window may cause a crash.
Minor display problems in editor window when unmapped characters (displayed as hex) are present.
User interface and CSD window fonts are now scaled based on the screen resolution. This will change the relative size of the CSD and interface fonts on most systems, and the size of the interface fonts on Mac OS X (except for Mac Look&Feel), and Windows systems that are not 96 dpi (except for Windows Look&Feel). Use "Settings" / "Font" to adjust the CSD window font size and global font scale.
A "Clean" function has been added to the file menu for Java projects.
GNU-style Objective-C exceptions (using @try, @catch, @finally, @throw) and synchronization (using @synchronized) are now recognized for CSD generation of Objective-C. This can be turned off by using the one of the new "no exceptions" compiler envrionments.
For CSD generation of VHDL, "' attribute_designator" is not allowed following a name ending in "all" or "range" (I'm not sure if it makes any sense if the name ends in "range", but the raw grammar allows it).
CSD generate and remove can now be undone and redone.
Debug values for debug trees that have been expanded and collapsed may not update immediately when the trees are expanded again. New values (new locals for example) may be displayed as blanks upon expansion.
Double clicking a file from outside jGRASP in Windows will fail to open the file if it is on a network share.
J2ME settings choices for devices, MIDP version, and CLDC version do not get updated if the WTK directory is chosen using the "Browse" button.
J2ME environments may use the wrong CLDC and MIDP jars if a WTK directory was selected in the J2ME settings and the settings dialog was cancelled (fixes itself on restart).
The old concept of "active project" has been eliminated. If multiple projects are open, project menus will have a submenu item for each project.
Changing some settings causes a (mostly) harmless crash.
Due to bugs in the screen menubar on Mac OS X, the screen menubar has been disabled.
Cygwin programs will run with incorrect working directory for recent versions of Cygwin.
Run arguments in UML window are ignored.
When files are added or removed from a project other than the active project, the menus of any open CSD windows for those files are not updated to reflect the change.
Can not navigate to Windows shortcut directories using file browser under Java 1.5.0.
Cut-and-paste using RTF may use wrong color for CSD.
Folding or unfolding code when a CPG has been generated and the code has been edited may cause a crash.
The interface has been redesigned, for more of an MDI feel (single menu, toolbar, messagebar). This can be changed using "View" / "Toolbars", etc.
Run and debug functions may not work for Java applications and applets that are in the default package.
Under some Java versions, jGRASP may freeze up when starting.
Ctrl key modifier is ignored for mouse clicks on Mac OS X for some Java versions.
Setting a main project file in Java when the main class is in a package may cause run and debug commands to fail.
Debugging with line numbers frozen when one or more class files are out of date with respect to the source may cause a crash.
Context menu added to CSD window toolbar allows hiding groups of tools.
Square brackets are printed in the wrong font on Windows (using "Windows" print), and may sometimes disappear entirely. RTF copy uses the wrong color for square brackets.
Java CLASSPATH "extensions" directories are ignored.
UML print preview with an empty UML diagram may cause a crash.
Added ability to link to Java library and user documentation from UML info window and workbench/debugger invoke dialog.
Java CSD generator does not allow multiple 'u's in unicode escapes.
Java CSD generator does not allow a comma at the end of the enum constants in an enum declaration.
The Java integrated debugger will not usually recognize valid breakpoint lines in doubly nested classes, making it impossible to set breakpoints there. Sometimes this will work, depending on the class structure.
Due to a Java library bug, jGRASP will crash when viewing many Java documentation files. Our fix may result in some badly-sized fonts, but the crash is averted.
CSD generator now handles annotations.
Java debugger and workbench now display generic types. Workbench allows specifying generic type parameters whenever possible.
Enum constant values are shown in the Java debugger for elements of enum type.
The Java debugger shows masked fields based on the actual type of objects rather than the declared type.
Added an "All Source Files" filter to file browser and file choosers.
Enum classes are shown in the UML diagrams as classes having a "main" method.
File browser jumps from Windows "special" folders, like "Desktop", to the "real" folder equivalents when focus leaves the drive selection combo box. This makes it difficult to navigate to the "imaginary" contents of these folders, such as "My Documents" in "Desktop". The same problem can also cause a crash if a drive is added or removed (as by inserting or removing a memory stick drive).
Values for primitive wrapper classes (java.lang.Integer, java.lang.Boolean, etc.) are shown in the debugger and workbench.
Switching from a workspace with multiple projects to one with no projects causes a harmless crash.
Help and documentation windows do not remember scroll location after the page is changed.
"Add to Project" function on context menu for "external" classes and interfaces in the Java UML diagram does not work for classes and interfaces that are in a package.
Arrow keys, Home, End, Page Up, and Page Down do not work in message windows.
A new installer for Windows.
Control shell and wedges appear in the status area instead of the taskbar in Windows.
Windowbar can be moved to top of virtual desktop using context menu.
Obscured or partially obscured items in browse window, project window, debug value trees, and debug thread tree are now shown as tool tips.
For paragraph up and paragraph down (Ctrl-Up_Arrow and Ctrl-Down_Arrow) in a CSD window, a paragraph is now considered to be a line that is empty or all CSD characters followed by a line that is not so. In message windows it is a line that is empty or all CSD blanks followed by a line that is not so.
A bug that was causing an occasional crash at start-up was fixed.
CLASSPATH is passed to appletviewer commands (Run Applet and Debug Applet for Java).
Detailed messages are now given when a compiler or program fails to run on UNIX/Linux.
Paste of plain text was broken in Beta 3 (rtf still worked though).
For the Java debugger, watch markers on inaccessible fields are the same color as the field marker instead of black, which can make them hard to see.
Printing may crash when part of the text is folded.
Closing the UML window while compiling from the UML window causes a crash.
"Auto-Step" feature that allows automatic repeated stepping or resuming has been added to the Java debugger.
Long lines in PostScript printouts may contain added spaces.
UML print preview fails (display is incorrect) when the size of the previewed pages is smaller than a certain size.
Text can be dragged and dropped into compile messages window and jGRASP messages window, which can result in mangled output.
Debug "eval" gives incorrect results for == and != when applied to Objects.
The default project has been eliminated, and users can now use jGRASP "projectless".
Expression evaluation in the Java debugger now supports varargs and autoboxing/unboxing.
Values in the Java debugger can now be dragged to anywhere and released to pop up a "view by name" viewer.
Shortcut operators -- && || ?: -- can now be used in eval expressions, method arguments, etc. in the integrated Java debugger.
Multiple projects can be open simultaneously.
Workspaces can be saved and loaded.
Project level run and debug commands are available on the UML window.
Methods can be invoked while debugging from within the workbench.
Numerous other small features were added, menus reorganized, etc.