yFiles for Java 2.x Release Notes

yFiles for Java version 2.13 is the newest major release available in the yFiles for Java 2.x technology line. It contains many exciting new features compared to older versions and is almost completely API compatible with the 2.12 series.
(See also the entire yFiles for Java change log.)

Technical Requirements

  • Oracle J2SDK 1.4 or higher is needed for software development with yFiles.
  • Oracle J2RE 1.4 or higher is needed to execute programs using yFiles.
  • A browser to view the HTML documentation.

yFiles 2.13 - Changes Since 2.12.0.1

New support in the Hierarchic layout algorithm
for collapse/expand interactions
New edge bundling support in Circular layout
New edge bundling support in the Tree layout algorithms

Major Features Added

Layout

  • IncrementalHierarchicLayouter supports recursively routed edges. Edges that pass the border of group nodes will always leave at the bottom side and enter at the top side of the group node. This routing style is specified using setRecursiveEdgeStyle.
  • IncrementalHierarchicLayouter: Improved from-sketch behavior for groups with changed bounds (e.g. after folding or expanding a group node), see IncrementalHierarchicFoldExpandDemo.
  • Added edge bundling feature. Bundling together multiple edges means that their common parts are to some degree merged into a bundled part. Edge bundling is useful to increase the readability of graph drawings with a high number of edges that connect a comparably small number of nodes. The following layout algorithms support edge bundling:

Minor Features Added

Layout

Algorithms

  • Groups: Added k-means clustering algorithm that partitions a given graph in k-clusters.
  • Groups: Added hierarchical clustering algorithm that partitions a given graph based on agglomerative (i.e., bottom-up) strategy and some linkage function (single-, complete- and average-linkage).

Improvements

Layout

Viewer

I/O

Demos

Bugfixes

Layout

Viewer

  • TableEditorFactory: Method resetEditor now properly removes the editor from its previous option handler and properly adds the editor to the new option handler. As a result resetEditor now also triggers the appropriate editorAdded and editorRemoved events.
  • Fixed incorrect sloppy edge painting when using VALUE_SLOPPY_POLYLINE_PAINTING_OFF. The incorrect sloppy edge painting is noticeable when animating edge path changes.
  • Fixed NullPointerException in TableOrderEditor and TableSizeEditor that may occur if label editing is started while changing the order or size of table columns or rows.

I/O

  • GML and XGML: Improved serialization of obfuscated user data and style property types for GenericNodeRealizer and GenericEdgeRealizer as well as obfuscated user data types of YLabel.
  • GraphML: Fixed NullPointerException that occurred if a YModule instance without an associated OptionHandler instance was used as post-processor.
  • GraphML: Fixed GraphML serialization for YLabel properties horizontalTextPosition, verticalTextPosition, and iconTextGap.
  • GroupNodeRealizerSerializer: GroupNodeRealizer's autoResize property is now stored as part of <GroupNode>'s <State> child.

Demos

  • FamilyTreeDemo: Fixed problem that may cause displacement of graph elements when clicking on a node.

Incompatible Changes

API Changes

Behavior Changes