0.8.0

Details

This is mainly a bugfix release. See GitHub for the full list of resolved issues.

New Features and Enhancements

  • #672, #674, #675, #677: Build systems is simplified.
  • #690, #691: Improved documentation of position and layer choice constrains.
  • #695, #698: Support node micro layout with further layout algorithms.
  • #688, #711: Better documentation for content alignment.
  • #722: Migrated to new build server.
  • #717: Model order: Property to weight model order node or port violations against edge crossings during crossing minimization. This also renames considerModelOrder to considerModelOrder.strategy.
  • #759: Model order: Added cycle breaker that enforces model order (but not against layerConstraints).
  • #815: Model order: Added option to enforce node order that existed before crossing minimization. This is to be used together with considerModelOrder.strategy :NODES_AND_EDGES
  • #816: Model order: Added property for nodes to signal that these should not get a model order and should be handled as dummy nodes.
  • #676, #789: ServiceLoader can now be used with different class loaders.
  • #795: Added a crossing minimizer that does nothing instead of crossing minimization. This is to be used together to enforce the model order.
  • #804: Added fixed graph size support for the layered algorithm.
  • #780, #802: Added option to generate position and layer ids.
  • #335, #803: Added spacing documentation overview page to the website.
  • #819, #822, #823: Added option to order components with external ports not by their port connections but truly by model order.

Changes

  • #717: Renamed considerModelOrder to considerModelOrder.strategy.
  • #697: Changed default node label stacking direction for UNDEFINED direction from horizontal to vertical.
  • #757, #761, #720, #730: Bump guava version and remove upper bound.
  • #774: Update Eclipse download URL from http://build.eclipse.org/modeling/elk/updates to https://download.eclipse.org/elk/updates.
  • #651, #790: Report invalid hierarchical crossing minimization instead of fixing it.
  • #791, #714: Hierarchical edge orientation now uses the same in/out degree mechanism as the non-hierarchical layered algorithm.
  • #766, #801, Hierarchical port dummies are considered to take no size, same as other port dummies.
  • #788: Individual spacings for vertical and horizontal label port spacing. spacing.portLabel is split into spacing.labelPortHorizontal and spacing.labelPortVertical.
  • #817, #818: Separate connected components are no longer implicitly ordered my minimal model order of the component if a model order strategy is set but require a separate option.

Removal

  • #526, #760: Removed layoutProvider extension point.

Bugfixes

  • #679: Prevent repeated registration of layout options during PlainJavaInitialization.
  • #706: Workaround for broken eclipse.urischeme dependency. Should be removed in next release once Eclipse dependencies are updated.
  • #718, #721, #727, #728: Various fixes for the website.
  • #684, #729: Adjusted melk file to show that a padding has to be applied to nodes.
  • #756: Model order is also set for hierarchical graphs.
  • #781, #782: Clone mutable values instead of potentially sharing the same instance over multiple elements.
  • #784: Backward edges are correctly handled for considerModelOrder.
  • #775, #776: Improved edge containment for JSON graphs.
  • #744, #793: Radial layout now correctly calculates the radii im one radius is changed since nodes should not overlap.
  • #754, #792: Dummy ports in hierarchical layered graphs get a default position of 0,0 to prevent an NPE.
  • #796: Graphviz no longer calls eclipse.ui if no platform is running.

Cleanup

Known Bugs

  • If forceNodeModelOrder is enabled once, it is still applied after it was disabled