# 0.8.0

- Release log
- Documentation
- Update site
- Zipped update site (for offline use)
- Maven central (for building pure Java projects that use ELK)

## 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.
- #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

- #694, #704: Cleanup.

### Known Bugs

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

- Releases
- 0.8.0
- 0.7.1
- 0.7.0
- 0.6.1
- 0.6.0
- 0.5.0
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.1
- 0.1.0