JGraph is a free, mature, and robust Java Graphing framework that fully complies with Swing design principles. It contains all the graph visualization and interaction functionality you might expect in a graph library, including multiple views, layering, zoom, drag and drop, undo, automatic expanding and collapsing, routing, and layouts. You can create stunning workflow editors, call graphs, CAD tools, network diagrams, database visualization tools, and more. It can also be deployed on the server-side with a large range of image exporting functionality. It is fully documented and commercially supported.

This release makes a number of major improvements to the performance of the painting and selection model core functionality. Garbage collection has been optimised significantly in the double buffering code. Many fixes specific to the Mac platform have been made. Artifacts on marquee scrolling have been fixed, and label positions on edges with multiple line segments are greatly improved.

- Fixes marquee selection artifacts on autoscrolling
- Uses absolute offsets for better combined edge label positions
- Adds EdgeHandle.getRelativeLabelPosition for relative label positioning
- Adds EdgeRenderer.getRelativeLabelPosition for better label positions
- Added GraphLayoutCache parameter to refresh, update and route methods
- Adds getPortSize() and setPortSize() so custom ports may override static value
- Adds check for edge visibility in getNeighbours
- Ungrouping now only removes ports of removed cells
see bug #36 - phpBugTracker - View Bug
- Added groupsEditable flag to JGraph
- Fixed scale centering for zoom less than 1
- DefaultRouter does no longer add control points that overlap source or target
- Fixes ordering issues in model
- Adds removeEmptyGroups switch in DefaultGraphModel
- Adds moveBeyondGraphBounds to JGraph to constrain dragging to graph bounds
- Adds constrainDrag() in rootHandle for controlling where dragging is allowed
- build.xml references examples main in com rather than org package
- isVertex now returns false for null vertex parameter
see bug #28 - phpBugTracker - View Bug
- Removed setting of initialLocation in RootHandle.mouseReleased to null
see bug #27 - phpBugTracker - View Bug
- Fixes edge label repaint on Macs
- Fixes marquee color and repaint on Macs
- Selection on insertion defaults to false
- Adds link attribute to GraphConstants