0.9.0

Details

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

New Features and Enhancements

  • #962, #914: Added an experimental Depth-First and Breadth-First model order layerer.
  • #867, #902: Added a model order layering by node promotion.
  • #956, #942, #927, #926, #921, #893, #892, #886: Added libavoid for standalone edge routing.
  • #945, #941: Added option for initial rotation of radial layout.
  • #947, #951, #940, #936, #932, #843: Added topdown layout and top-down rectangle packing algorithm.
  • #939, #930: Added port model order.
  • #922: KVectors now have a rotation utility method.
  • #406, #884: MrTree edge routing options + interactivity and model order.
  • #889: Added experimental bendpoints to force layout.
  • #877: Added new model order strategy.
  • #834, #833, #855, #843: Support for fixed graphs for mrtree, force, stress, radial, and rectpacking.

Changes

  • #973, #702, #794, #900, #807: Moved from Java 8 to Java 11 while testing compliance with Java 17.
  • #876: Renamed and reworked FORCE_MODEL_ORDER component ordering strategy to MODEL_ORDER and GROUP_MODEL_ORDER component ordering strategy.
  • #651, #885: Report invalid hierarchical cross min configuration instead of fixing it.
  • #865, #835: Restructure and improve rectpacking. This includes a lot of renaming. optimizationGoal is renamed to widthApproximation.optimizationGoal, lastPlaceShift is renamed to widthApproximation.lastPlaceShift, onlyFirstIteration is deleted, rowCompaction is now the default packing.strategy COMPACTION, packing.compaction.rowHeightReevaluation and packing.compaction.iterations are added to further improve the packing compaction, expandNodes and expandToAspectRatio have been reworked into whiteSpaceElimination.strategys EQUAL_BETWEEN_STRUCTURES and TO_ASPECT_RATIO, targetWidth is now set via widthApproximation.targetWidthand is enabled by setting the widthApproximation.strategy, the inNewRow option can constrain the packing, and the tryBox option may be set to try whether the rectangles are stackable and in the case they are not use the simpler box layout algorithm.

Bugfixes

  • #957: Corrected node node spacing usage for radial layout. The node node spacing is now halved and used as a padding around the nodes.
  • #946, #944: Fix hyper edge segment splitter to actually save the best area after finding it.
  • #850, #938: Port labels no longer overlap with self loops.
  • #918, #933: Fix port model order comparator.
  • #923: Wrapping strategies do now correctly work together with model order.
  • #906, #905, #913: Fix tail edge labels.
  • #869, #911, #868: Model order bug fixes.
  • #870: Fixed NoSuchElementException in network simplex node placer.
  • #890: Correctly check whether the layered algorithm is set.
  • #852, #841: Inline edge labels are now correctly centered (hopefully).
  • #887: Miscellaneous bug fixes.

Cleanup

  • #924: Corrected pom license for maven central.