Home | Back
31-MAY-2005: JGraph-5.5.1-Picasso

- EdgeView only sets default label position if label exists
- Removes unused createFallbackAttributeMap in AbstractCellView
- Adds checkDefaultLabelPosition hook in EdgeView
- Clones defaultBounds in VertexView.update
- Fixes GraphContext.createMapping to only clone the source attributes
- Fixes possible NPE in BasicGraphUI.getEditorLocation
- Fixes possible NPE in EdgeRenderer
- Lazy creation of undo map in AttributeMap.applyMap
- Makes PortView.getLocation serializable in AttributeMap.clonePoints
- Replaces unnecessary use of createRect, createPoint in AbstractCellView
- Fixes MyPortView and GraphEdMv Examples
- Adds hooks to AbstractCellView for attribute creation and cloning
- Deprecates changeAttributes from GraphCell interface
- Moves default checks from DefaultEdge to EdgeView.update
- Stores fallback-bounds in VertexView.update
- Adds Adapter Example and Note to commercial version
- Adds Updating Guide to commercial version
- Adds getEditorLocation hook in BasicGraphUI
- Optimizes EdgeView memory footprint in case of no line ends
- Adds check for label in EdgeRenderer.getLabelBounds before calculating
- Optimizes memory usage for edges in GeneralPath constructor call
- Reduces initial size of edge points list to 4
- Tunes hit detection on edges

24-MAY-2005: JGraph-5.5-Picasso

- Isolates use of EdgeView.getEdgeRenderer to EdgeView (tracker 28/29)
- Adds typecheck in BasicGraphUI for EdgeView.getRenderer call
- Fixes negative location of in-place editor for edge labels
- Fixes labels not moveable for self-references (tracker 68)
- Fixes cropping of edgelabels in EdgeRenderer
- VertexView.getPerimeterPoint uses getRenderer method, makes cast
- Creates Rectangle2D in VertexView
- Adds valueForCellChanged to GraphModel interface

19-APR-2005: JGraph-5.4.7-Picasso

- Javadocs review
- Fixes label not moveable for self-references
- Fixes DefaultEdge.DefaultRouting for self-references
- Adds nearest point parameter to PortView.getLocation

12-APR-2005: JGraph-5.4.6-Picasso

- Review of javadocs, removing warnings and adding various details
- Fixes possible division by zero in EdgeRenderer.getLabelPosition
- Adds GraphLayoutCache.createNestedMap helper method
- AbstractCellView clones cell attributes in refresh

05-APR-2005: JGraph-5.4.5-Picasso

- Fixes selectable not taken into account if view local
- Adds helper to JGraph to return the attributes of a cell(view)
- Corrected event point coordinate scaling in EdgeHandle.mouseDragged
- Fixes missing refresh if source/target not accepted in EdgeHandle
- Fixes missing initial extra label-bounds in EdgeRenderer, EdgeView
- DefaultEdge.clone sets clone ports to original edge ports

28-MAR-2005: JGraph-5.4.4-Picasso

- Adds createGraph, graph accessors, static inner classes in GraphEd
- Changed GraphLayoutCache.setAllAttributeLocal to setAllAttributesLocal
- Adds GraphLayoutCache getEdges method that account for visibility
- Adds GraphLayoutCache.edit shortcut method with nested map parameter
- Replaced certain setViews calls in EdgeRenderer with assignment of view where
    setView is called directly afterwards for performance reasons
- Adds GraphLayoutCache.editCell method for single-cell changes
- Adds return value to BasicGraphUI.MouseHandler.handleEditTrigger to
  support invalid hit regions and select cells if editing did not start
  (Thanks to Timothy Wall from the Abbott project for this fix!)
- Fixes GraphEd.connect checks against model.acceptsSource and target
- Adds graph parameter to BasicMarqueeHandler.paint and overlay
- Adds new static method GraphConstants.merge to merge a nested change into a nested map
- Adds new method GraphLayoutCache.getNeighbours that returns the neighbours of a cell
    excluding a set of cells passed in. Has switches for visible cells and
    direction ( i.e. use outgoing edges only )

14-MAR-2005: JGraph-5.4.3-Picasso

- Changes initial capacity of AttributeMaps to 8 when using empty constructor
- Changes default array list size to 0 in AbstractGraphCell.childViews
- Fixes graphChanged and GraphLayoutCacheEdit call reloadRoots after execution
- Fixes default value for label position in DefaultEdge.checkDefaults
- Uses new label positioning and moving in EdgeRenderer, EdgeView.EdgeHandle
- Checks for graph != in EdgeRenderer.getExtraLabelSize, getExtraLabelBounds
- GraphEd new cells have unique labels

07-MAR-2005: JGraph-5.4.2-Picasso

- GraphEd extends JApplet, uses getContentPane
- JGraph.updateAutoSize snaps to grid
- VertexRenderer.paintSelectionBorder restores previous graphics stroke
- LabelAlongEdge attribute ignores number of control points in EdgeRenderer
- Ignores ports when removing children cells from view roots
- Changes previousAttributes default value to null in DefaultGraphModel.GraphModelEdit
- Changes List to Set in getEdges for performance.

27-FEB-2005: JGraph-5.4.1-Picasso

- Adds HugeGraphTest to examples for performance testing large graphs
- Changes askLocalAttributes to allAttributeLocal in GraphLayoutCache
- Removes unnecessary contains calls in model.handleConnection, cache.insertViews, graphChanged
- GraphEd consumes event after connect to avoid selection of source vertex
- Moves location of toBack/toFront buttons in GraphEd toolbar
- GraphEd uses GraphLayoutCache.ungroup method
- Adds createEdgeAttributes, createGroupCell, createDefaultGraphEdge hooks in GraphEd
- Fixes GraphLayoutCache.insert no longer overwrites nested attributes
- Adds port in GraphEd.createDefaultGraphCell, makes createAttribute public
- BasicGraphUI.getPreferredSize takes inset into account
- Removes final modifier from defaultdecorationsize in GraphConstants
- Adds defaultinset static value to GraphConstants
- Removes orphan port in GraphLayoutCache.ungroup
- Fixes refresh of collapsed group connections
- Adds JGraph.snap(Rectangle2D) utility method
- Adds hiddenCellViews accessor, constructor argument
- Adds getters for various GraphLayoutCache members
- Silently ignores exceptions in initOffscreen
- Adds DefaultGraphModel.cloneCells
- Fix possible orphan ports
- Fixes wrong constant-name in GraphConstants.setSelectable (44)
- Removes default bounds from attribute map

07-FEB-2005: JGraph-5.4-Picasso

- Moves addVisibleDependencies call to setVisibleImpl in GraphLayoutCache
- Adds static setSource/TargetPort helper methods in DefaultGraphModel
- Fixes duplicate reference to user object by removing from AttributeMap
- Moves user object cloning from cell to GraphModel.cloneUserObject
- Fixes cache.addVisibleDependencies may return null in array
- JGraph.convertValueOf uses String.valueOf
- AbstractCellView adds toString, getValue to use cell or local value
- Adds DefaultGraphModel.getUserObject convenience method
- Changes SizeHandler.invalidate modifier from private to protected (41)
- Fixes platform-specific selection modification in BasicGraphUI.isToggleEvent (SF #1110335)
- Fixes bug in BasicGraphUI.MouseHandler for single-click editing (SF #1110340)
- Fixes bug in DefaultGraphCellEditor.inHitRegion method (SF #1110340)
- Adds valueForCellChanged to default model, removes value from storageMap
- Fixes DefaultGraphModel.getEdges removes descendant edges of passed-in cells from output
- Fixes possible NPE when removing source/target in non-disconnectable mode (SF #1111989)
- Uses renderer component to determine tooltip in JGraph.getToolTipText (Thread 894)
- Clones properties of hidden cells when cloning collapsed groups
- Adds Abbott-based tests (Thanks to Thimothy Wall!)
- Renames GraphLayoutCache.hiddenSet to hiddenMapping
- Adds event listener for GraphLayoutCache, cleans up event model
- Adds missing methods to GraphModelChange (40)
- Adds workaround for possible NPE in EdgeRenderer.getPaintBounds (39)
- Optimizes implementation of selectAll action in BasicGraphUI
- Fixes edges connected to group cells not updated in partial views
- Renames groupBorder attribute to inset, default is 0
- Adds selectable, childrenSelectable, constrained (sizing) attributes
- Fixes EdgeHandle calls cache.edit if label clicked but not moved
- Fixes possible NPE in EdgeHandle.mouseDragged (SF #1099828)
- Resets source and target in EdgeHandle.mouseReleased (SF #1099828)
- Fixes child positions when dropped with null bounds in GraphTransferHandler
- Fixes wrong accessor name in GraphLayoutCache.setSelectsLocalInsertedCells

10-JAN-2005: JGraph-5.3.1-Tiger

- Showing connections and parents in GraphLayoutCache.edit
- Weakens guard condition in GraphLayoutCache.edit
- Accepts null argument in GraphLayoutCache.insert
- Adds comments to AttributeMap.applyValue and reorders method
- Fixes auto-inserted edgeviews have inconsistent state after refresh
- Adds better default bounds in GraphTransferHandler
- Refactors updateAutoSize in JGraph
- VertexView only returns handle if sizeable and not auosized
- Fixes autosizing for view-local bounds attribute, resize must be view-local, too
- Updates drop target listener in GraphUI on transferHandler changes
- Fixes insertEdge, adds insert(Object[]), insertGroup(Object, Object[])
- DefaultGraphModel.connect ignores old port (connects anyway)
- Ignores NPE in BasicGraphUI.createHandle
- Changes insert method signature in GraphLayoutCache
- Sets VALUE_STROKE_PURE rendering hint in EdgeRenderer.paint

03-JAN-2005: JGraph-5.3-Tiger

- Removes updating of portviews in EdgeView.update
- PortView.getNextPoint uses point list, not source-/targetgetter
- Fixes Spline edge-style has wrong arrow size.
- Fixes Spline edge finishes short of correct end point
- Refreshes context in GraphLayoutCache.GraphViewChange.execute
- Adds DefaultGraphModel.cellsChanged for listener notification
- HelloWorld example uses latest methods from GraphLayoutCache
- SelectAll selects topmost visible children of invisible groups
- Fixes missing update on auto-shown connections in layout cache
- Adds cloning for point list in EdgeView.update
- Fixes invocation order in GraphLayoutCache.GraphViewEdit.execute
- Adds a new static class for the GraphTransferHandler
- Does not user clone for new values in AttributeMap.applyValue
- Does not clone AttributeMap in AbstractCellView.updateAllAttributes
- Adds code examples to Javadocs in GraphLayoutCache
- Adds getEdgesBetween, getIncoming-, getOutgoingEdges etc. to DefaultGraphModel
- Adds insertVertex, -edge, -group, ungroup, collapse, expand to GraphLayoutCache
- Adds GraphLayoutCache.insertEdge and insertVertex
- Adds getter for ROUTING_SIMPLE in GraphConstants
- Adds context for visible cells in GraphViewEdit.execute
- Adds ConnectionSet.getPort to find port for edge
- Adds check for null and default attribute map in setAttributes
- Checks for valid bounds in DefaultGraphCell.setAttributes
- Changes constructors in default graph cells
- Added static DefaultGraphModel.cloneCell for deep cloning
- Adds setters to SerializablePoint2D and -Rectangle2D

20-Dec-2004: JGraph-5.2.1-Bridgewater

- Adds switch for scaled port drawing to JGraph
- Fixed BasicGraphUI auto-selection ignores enabled state
- Fixed possible NPE in DefaultGraphModel.getRoots
- Adds cell bounds in BasicGraphUI.TransferHandler.importData
- Adds default value for AbstractCellView.allAttributes
- Fixes selection of dropped cell hierarchies in BasicGraphUI
- Fixes missing repaint after GraphLayoutCache.setVisible
- Renames partial cache connection controlling switches
- Fixes missing visible dependencies in GraphLayoutCache.edit
- Fixes NPE in RootHandler if used with invisible cells
- Adds GraphLayoutCache.getVisibleCells for filtering
- VertexRenderer ignores focused state in paintSelectionBorder
- Fixes NPE when cells with connected edges are removed
- Adds GraphLayoutCache.setInserted for event notification
- GraphViewEdit calls Observers with inserted cells
- Adds Object[] to GraphLayoutCache.createLocalEdit
- Adds select local / all inserted cells in GraphLayoutCache
- Fixes error in autosizing (in-place autosizing)
- Fixes grouping hides cells in partial layout caches
- Fixes missing GraphConstants.DEFAULTFONT (uses Label.font)
- Adds flag to BasciMarqueeHandler.overlay for clearing
- Adds BasicMarqueeHandler processMouseDraggedEvent
- Adds AbstractCellView.setCell, setAttributes
- Renames AbstractCellView.setAttributes to changeAttributes
- TransferHandler ignores attributes based on bounds
- Adds static DefaultGraphModel.getAll(GraphModel)
- Fixes partial reloading in GraphLayoutCache.setModel
- Adds constructor for cell view arrays to GraphLayoutCache
- Makes cell views and GraphLayoutCache fields transient
- Check and replace model reference in JGraph.setLayoutCache
- Reuse mapped cellviews in GraphLayoutCache.getModel
- Adds GraphLayoutCache.editCells, getCellViews, insertClones
- Adds constructor for layout cache to JGraph
- Adds empty constructors to cell views

29-Nov-2004: JGraph-5.2-Revelation

- Renamed graph view listener in basic graph ui
- Fixed unscaled handle size in basic graph ui
- Extra labels rendered with graph.convertValueToString
- GraphConstants.setExtraLabels takes Object[], not String[]
- Made getInitialLocation more stable in BasicGraphUI
- Removed unused constructor from layout cache
- Moved setAutoSizeOnValueChanged switch to layout cache
- Remove from visibleSet, mapping in cache when removed from model
- Added changed property to layout cache to return modified views
- Fixed main condition statement in includeInGroupBounds
- Moved cell view factory into its own default class
- Added new constructor to default graph model
- Removed dependency between layout cache and cell views and JGraph
- Replaced select new cells with select cloned cells
- AttributeMap clone uses super.clone

12-Oct-2004: JGraph-5.1-Independence

- Added order method to JGraph
- Removed view-dependent layering
- Removed unused array inversion loops
- Add group border attribute with default constant
- Graph layout cache isOrdered is deprecated (cannot order invisible cells)
- Fixed graph layout cache's order method
- EdgeHandle hides handles for edge groups
- Moved new cell selection to layout cache
- Added inversion flag to layout cache's order method
- Clone passed-in cells only in cloneCells (adds no childs)
- GraphTransferHandler honors disabled property
- DefaultEdge allows children (edge grouping)
- Fixed strong typing in ConnectionSet c'tor
- Fixed constrained edge point editing
- Added getDefaultPortForCell hook for subclassers
- GetNextViewAt filters for leaf views (vertices)
- Added additional edge labels (no in-place edit)
- Fixed preview flickering in graphed
- Added jump to floating port switch
- Updated graphed example and added hooks
- Added getLeafViewAt, getNextSelectableViewAt
- GetPortViewAt, GetNextViewAt scales arguments

28-SEP-2004: JGraph-5.0.4-Revolution

- Sync attributes with user object in DefaultGraphCell
- Fixed flickering in edge connection mode
- Fixed class cast exception in myportview example
- Default group border changed to 20 pixels

19-SEP-2004: JGraph-5.0.3-Revolution

- VerteView uses opaque, adds group border
- Group opaque attribute is used in renderer
- Group intersection respects opaque mode
- Using attribute map to handle in-place edits
- Using attribute map for user object cloning
- Fixed some bugs in dirty region preview
- Fixed default port appearance

14-SEP-2004: JGraph-5.0.2-Revolution

- Added supercall to edge renderer paint
- VertexRenderer respects Opaque mode
- EdgeRenderer supports gradient paint
- No gradient vertex rendering in preview mode
- Provide port magic hook in PortView
- Minor fixes

12-SEP-2004: JGraph-5.0.1-Revolution

- Removed putMapping and refresh from factory methods
- Fixed unaccepted mousepoints when over invalid ports
- Added switch to accept invalid null-ports during previews
- Added dash offset to GraphConstant to allow moving edge patterns
- Added gradient background to vertex renderer, graph constants
- Separated storage attribute maps from transport maps
- Remove GraphModel.createAttributes, use custom cells instead
- Added hook to modify (augment) change context in layout cache
- Added switch to autosize on value changes (in-place edits)
- Added isMarqueeTrigger, handleMarquee hooks in BasicMarqueeHandler
- Made GraphLayoutCache.valueForCellChanged more usable
- Added switch to disable cell selection
- GraphConstants allows per-axis relative/absolute ports
- "Port Magic" only if edge is orthogonal (not bezier or spline)
- Calls getCellEditorValue only if needed in completeEditing

10-JUL-2004: JGraph-5.0-Revolution

- Fixed scrollCellToVisible in-place scaling bug
- Fixed clear selection on model update bug

24-MAY-2004: JGraph-4.0-Revelation

- Replaced ValueChangeHandler with GraphLayoutCache.valueForCellChanged
- Moved createPoint, createRect to AttributeMap
- Added AttributeMap, factory method in GraphModel
- Fixed GraphEd add/remove point with shift
- Replaced Map with AttributeMap (major API change)

11-MAY-2004: JGraph-3.4.1-Paris

- Removed GraphConstants.availableKeys
- Fixed NPE in EdgeHandler.mousePressed (773550)
- Fixed screen/model coordinates bug in GraphEd (862449)
- Fixed typo in examples/GraphEd (862455)
- Fixed accidental cloning in RootHandler (837362)
- Spline, Bezier linestyles for n points (Thanks to Martin Krueger!)
- Shift ports only if edge is not routed
- Include changed parents in selection event
- Cut, Copy, Paste is disabled on default
- Cloneable is disabled on default

03-MAY-2004: JGraph-3.4-Paris

- Can handle overlapping edges with a control point (Thanks to Martin Svoboda!)
- Removed e.consume and check from BasicMarqueeHandler
- Changed SizeHandle, EdgeHandle to static
- Moved event hooks from views to handles

26-APR-2004: JGraph-3.3-Zurich

- Added examples to source distribution
- Added support for view-local attributes
- Added support for sizeable in-place editors
- Changed Appearance of non-floating Ports
- Changed CellViewFactory interface
- AbstractCellView.getRenderer is now public
- Added Attribute moveableAxis, sizeableAxis to GraphConstants (2)
- Fixed possible NPE in JGraph.getCellBounds(Object[])

21-MAR-2004: JGraph-3.2-Lucerne

- In-place editing no longer calls convertValueToString twice
- DefaultGraphCell.changeAttributes no longer directly sets the user object
- Added set/isLabelAlongEdge to GraphConstants/EdgeRenderer (845673)
- DefaultGraphModel.getAttributes(null) returns the model's attributes (737213)
- Switched to double coordinates (use GraphConstans.createXY)
- GraphTransferHandler.canImport does not always return true
- Added moveBelowZero control property to JGraph (890057)

12-JAN-2004: JGraph-3.1-Lucerne

- Moved to Ant build environment
- Fixed GraphSelectionEvent contains wrong items (834450)
- Fixed broken Contract in JGraph.getSelectionCount (848439)
- Fixed error in Edge selection (835950)
- Renamed PERCENT to PERMILLE in GraphConstants (799536)
- Replaced direct renderer access in EdgeHandle (788180)
- Enabled live preview for dragEnabled mode (691135)
- Added GraphConstants.NEGATIVE_ALLOWED switch (786895)
- renamed BasicTransferable to BasicGraphTransferable
- code cleanup

01-SEP-2003: JGraph-3.0-Lucerne

- New package name org.jgraph.* for all classes
- Cleaned up directory structure (ready for Ant)

-----------------------------------------------------------------------------------------------

04-AUG-2003: JGraph-2.2.2-Lucerne

- New EdgeRenderer.translateGraphics hook for subclassers
- Fixes for ordered layoutcaches
- Include ports in cache-dependent order
- Removed cloned children parent dependency
- Fixed wrong order in exportData for DnD and clipboard

25-JUL-2003: JGraph-2.2.1-Lucerne

- Fixed cut-paste bug by adding ParentMap to GraphTransferable
  - Note: Children are removed from their parents upon removal from the model.
- EdgeView: Cached values are now public

13-JUL-2003: JGraph-2.2-Geneva

- Selection Change: Improved repaint performance (700788)
- Edge: Improved performance. Thanks to Denis O. Mikhalkin!
- GraphConstants: Changed IconAttributes type to Icon
- ParentMap: GraphModel dependency removed -> Model is in charge of computing the changed cells
- Edgelabel-position now depends on edge direction
- EdgeView: Don't allow label moves if cell/graph not moveable
- BasicGraphUI: Using ParentMap when cloning cells
- VertexRenderer(boolean hideGroups) constructor added
- ParentMap.clone method added
- GraphConstants.*_FILLED arrow styles removed
- EdgeView.beginShape, endShape, lineShape and sharedPath are now public
- Added getPreviousConnectionset/getPreviousParentMap to GraphModelChange
- Added JGraph/DefaultGraphModel.getDescendantList in favor of getDescendants
- DefaultEdge.defaultPoints is now public
- GraphConstants: Added FONT to availableKeys
- DefaultGraphCellEditor: Removed clickcount test in isCellEditable
- BasicGraphUI: Added MouseEvent method to MouseHandler.handleEditTrigger and pass to startEditing method
- Removed unused FontXY constants from GraphConstants

12-MAY-2003: JGraph-2.1.1-Geneva

- Added bean method to ConnectionSet for XMLEncoder
- Added Null-Check to isCellEditable
- Fixed shared points bug in DefaultEdge (see https://sourceforge.net/tracker/?func=detail&atid=435210&aid=710799&group_id=43118)
- Block autosizing in JGraph when the graph is being edited

17-MAR-2003: JGraph-2.1-Geneva

- Added new rel/version file that reflects the current working version (used by all *.sh and *.bat scripts)
- Added automated source code checking in build script using PMD (http://pmd.sf.net), target name = checksrc
- ParentMap does not use TreeNode interface anymore, uses GraphModel instead
- Fixed possible NPE in paintCell (see http://sourceforge.net/forum/message.php?msg_id=1919609)
- Fixed NPE in BasicGraphUI.MouseHandler.mouseDragged and mouseReleased
- Replaced fontStyle, fontName and fontSize by single font bean property (http://sourceforge.net/tracker/?func=detail&atid=537692&aid=694387&group_id=43118)
- Added null test to JGraph.getCellBounds (see http://sourceforge.net/forum/forum.php?thread_id=823687&forum_id=140880)
- Changed API to allow Vertex/Port combined cells (see http://sourceforge.net/forum/forum.php?thread_id=821998&forum_id=140879)
- Changed XORMode color in EdgeHandle, SizeHandle and RootHandle (see http://sourceforge.net/tracker/index.php?func=detail&aid=677743&group_id=43118&atid=435210)
- handleParentMap at DefaultGraphModel updated for user defined Cells
- Added getParentMap and getConnectionSet to DefaultGraphModel.GraphModelEdit (see http://sourceforge.net/tracker/?func=detail&aid=675521&group_id=43118&atid=435210)
- DefaultGraphModel.contains does not use DefaultMutableTreeNode. Use getParent method instead
- Fixed BasicGraphUI.paintGrid, min. grid size is 2 pixels (see http://sourceforge.net/tracker/index.php?func=detail&aid=677748&group_id=43118&atid=435210)
- Fixed BasicGraphUI.MouseHandler.mousePressed (see http://sourceforge.net/tracker/index.php?func=detail&aid=680124&group_id=43118&atid=435210)
- Test marquee != null in BasicGraphUI.paint
- DNDPreview problem is solved in J2SDK1.4.1_01 (no preview for double buffering, but no freezing either)
- Limit number of visible relations to MAXCELLS for live preview
- Check for nullpointer in BasicGraphUI.isConstrainedMoveEvent
- Fit up to Java 1.4 (Marked relevant lines with //JAVA13 and moved TransferHandler.java to /rel directory, updated Makefiles)
- PortRenderer.getRendererComponent now absorbs the focus argument (see http://sourceforge.net/tracker/?func=detail&aid=683388&group_id=43118&atid=435210)
- Added reference to GraphModel in ParentMap (Thanks to Michael Lawley!)
- Added GraphModel.isPort, GraphModel.isEdge (Thanks to Michael Lawley!)
- Moved JGraph.cloneCells implementation to GraphModel (Thanks to Michael Lawley!)
- Added NULL-check on oldBounds in AbstractCellView.setBounds
- Added explicit setBounds(map, bounds) in GraphConstants.translate(map, int, int)
- Handle Java-Bug in large zoom levels in VertexRenderer.paint (Bug: Zero length string passed to TextLayout constructor)
- Use GraphModel interface in BasicGraphUI.MouseHandler.mouseReleased (see http://sourceforge.net/tracker/?func=detail&atid=435210&aid=671137&group_id=43118)
- Added JGraph.setGridStyle and improved grid/zoom integration (Thanks to Claudio Rosati!)
- GraphConstants.translate: Do not go into negative coordinates (see http://sourceforge.net/forum/message.php?msg_id=1842610)
- EdgeHandle/SizeHandle: Do not go into negative coordinates (dito)

01-FEB-2003: JGraph-2.0-Geneva

- Rounding erros on large zoom levels removed
- GraphConstants.createPropertyMap removed
- GraphModel.isOrdered removed
- GraphModel.isAttributeStore removed
- GraphConstants.is/setVisible removed
- CellRenderer.supportsAttribute removed
- AbstractCellView.isControlAttribute removed
- VertexRenderer.is/setHideGroups added
- BasicGraphUI.is/setSnapSelectedView added
- Edge.Routing added
- GraphConstants.ROUTING_SIMPLE added
- DefaultEdge.DefaultRouting class added
- GraphConstants.get/setRouting added
- GraphConstants.createAttributes added
- GraphLayoutCache.reset, is/setVisible, partial, ordered added
- DefaultGraphModel.getSource/TargetVertex added
- GraphLayoutCache.hiddenSet added
- JGraph.VERSION (use JGraph -version) added
- VertexRenderer.paintSelectionBorder added
- Provide a handleEditTrigger Hook in BasicGraphUI.MouseHandler added
- GraphView renamed to GraphLayoutCache
- GraphLayoutCache.toBack/toFront take cells as arguments
- JGraph.get/setView renamed to JGraph.get/setGraphLayoutCache
- JGraph.SnapSize renamed to Tolerance (including getter, setter etc.)
- JGraph.convertValueToString support view-local values
- DefaultGraphCell.setAttributes renamed to changeAttributes
- Port.add/remove renamed to Port.addEdge/removeEdge (see http://sourceforge.net/forum/forum.php?thread_id=773281&forum_id=140880)
- GraphConstants.ARROW prefix added to arrow styles
- GraphConstants.STYLE prefix added to line styles
- getPerimterPoint method was moved to the renderer
- GraphViewChange.getAttributeMap renamed to getAttributes
- GraphModelChange.getStoredAttributeMap renamed to getPreviousAttributes
- DefaultGraphModel.handlePropertyMap renamed to handleAttributes
- importData may return false to signal sender to not remove cells
- DefaultGraphSelectionModel.isChildrenSelectable now supports a cell argument
- Rounding erros on large zoom levels removed (Thanks to Jenya!)
- The maximum number of edges to paint in live-preview is now MAXCELLS
- EdgeHandle does now support the SHIFT-key for constrained moving
- Added some accessor methods to BasicMarqueeHandler for subclassers
- BasicGraphUI.PropertyChangeListener calls repaint after GraphLayoutCache change
- JGraph.setGraphLayoutCache checks and updates the cache's model if necessary
- Vertices are not removed when their last port is removed dynamically
- EdgeRenderer now cached the created Shape in the corresponding EdgeView
- BasicGraphUI.isDescendant uses GraphModel interface to return its data
- Live preview during real DND (only for JDK < 1.4.0, see BasicGraphUI line 28)
- DefaultEdge.constructor offers user object und boolean (allows children)
- JGraph.disconnectOnMove must check the CONNECTABLE/DISCONNECTABLE attributes
- Vertex, Port and Edge may carry the CONNECTABLE/DISCONNECTABLE attributes
- NPE on edge change when new the port was not visible in other view removed
- Groups may contain ports (Concurrency side-effects in EdgeRenderer.createShape)
- Cache the bounds property of groups and recompute on change of children only
- GetBounds-Infinite-Loop solved by exluding childedges between childs to group
- Propagate CellView.update to parent instead of child (bubble up)
- TransferHandler now supports move and DnD across multiple views, models and JVMS
- Clone edges when reconnected and the Control key is pressed
- ExecutableGraphChange interface added to execute all changes in model (Delegation)
- In-place editing from empty to non-empty content is incorrectly undone
- Removed in-place manipulation of BOUNDS-attribute in SizeHandle and RootHandle
- Changed execution order of compound edits: first model then args in-order
- Use GraphModel interface in DefaultGraphModel.getRoots only (no typecast)
- GraphLayoutCache.getMapping may return null (if cell is not visible)
- GraphUndoManager.redo throws CannotRedoException instead of CannotUndoException
- Handles.initOffscreen is protected instead of package private

06-JAN-2003: JGraph-1.0.7-Valencia

- DefaultGraphSelectionModel.CellPlaceHolder is now a protected inner class with public accessors (see http://sourceforge.net/forum/forum.php?thread_id=780577&forum_id=140880)
- DefaultGraphCell.getChildren never returns null (see http://sourceforge.net/forum/forum.php?thread_id=780591&forum_id=140880)
- SizeHandle/RootHandle double buffer members are now protected (see http://sourceforge.net/forum/message.php?msg_id=1773109)
- dependency between isMoveable, isAutosize and isSizeable was removed. (see http://sourceforge.net/forum/forum.php?thread_id=770111&forum_id=140880)
- focus argument and childrenSelected are handled separately by renderer (see http://sourceforge.net/forum/forum.php?thread_id=773281&forum_id=140880)
- focused cell's highlight color is different from other selected cells (see http://sourceforge.net/forum/forum.php?thread_id=773281&forum_id=140880)

18-NOV-2002: JGraph-1.0.6-Madrid

- Updated CVS Repository and Distribution directory structure
- New Distribution Files (Readme, News, ChangeLog, ...)
- Ant-compatible Build Scripts
- Script-based Automatic Core Migration to Java 1.4
- Reformated source code
- Reorganized Java imports

13-JUN-2002: JGraph-1.0.5-Malaga

- Scaled importData
- InvokesStopCellEditing
- Remove update from AbstractCellView.constructor
- Move AbstractCellView.update call to subconstructor
- Font Style/Size for default font
- Typetest in DefaultGraphModel.getChild
- Group Resize overrides Size protection
- Group Resize overrides Position protection
- GraphConstants.applyMap: undoMap removed
- AbstractCellView uses createMap
- DefaultGraphCell uses createMap

06-JUN-2002: JGraph-1.0.4-Xinzo

- GraphModelEdit.getStoredAttributeMap
- Paints released Clone-Mode during Move
- GraphModelEdit.handleEmptyGroups
- DefaultGraphModel.createLayerEdit
- public GraphViewLayerEdit.execute

28-MAY-2002: JGraph-1.0.3-Zaragoza

Initial Release