Skip to content

Releases: jamisonjiang/graph-support

Release 1.5.2

01 Sep 16:10

Choose a tag to compare

Release 1.5.2


�� New Features

DOTQ Layout Engine

  • New optimized layout algorithm specifically designed for large graphs
  • Improved performance and layout quality for hierarchical graph structures
  • More straighter long edges in large graph

Performance Improvements

Min-Crossing Algorithm Enhancements

  • Median heuristic implementation for crossing calculations
  • Crossing calculation caching for iterative improvements
  • ~10× faster iterations with significantly fewer final edge crossings
  • Optimized memory usage during layout computation

��️ Stability & Bug Fixes

Node-Cluster Overlap Resolution

  • Resolved boundary interaction issues between nodes and clusters
  • Enhanced overlap detection and resolution mechanisms

🏗️ Architecture & Refactoring

Core Graph Data Layer Rebuild

  • Complete reconstruction of the foundational graph data structure
  • General-purpose design for broader component reuse
  • Improved memory efficiency and data access patterns

�� Breaking Changes

⚠️ Note: This release maintains compatibility with 1.5.1. No breaking changes were introduced.


�� Migration from 1.5.1

Dependencies

Your existing Maven dependencies will continue to work:

<dependency>
    <groupId>org.graphper</groupId>
    <artifactId>graph-support-core</artifactId>
    <version>1.5.2</version>
</dependency>

API Compatibility

  • All public APIs remain unchanged
  • Existing code will work without modifications
  • Performance improvements are automatic

🧪 Testing & Validation

  • Comprehensive test suite covering new DOTQ layout engine
  • Performance benchmarks validating 10× speed improvement at mincross process
  • Edge case testing for node-cluster interactions
  • Regression testing ensuring 1.5.2 compatibility

�� Download

We recommend upgrading to 1.5.2 for the best performance and stability experience. 🎉

1.5.0

19 Feb 13:52

Choose a tag to compare

Release 1.5.0

New Features

  1. DOT Script Parsing
    • Added support for parsing DOT scripts directly.
  2. Command-Line Interface (CLI) Support
    • Introduced CLI support for executing Graphviz commands via the terminal.
  3. Enhanced HTML Tag Support
    • Added support for additional HTML tags

Breaking Changes

  1. Graphviz Scaling Adjustment

    • GraphvizBuilder#scale rate has been updated to align with Graphviz’s size attribute.
    • Impact: After upgrading to version ≥ 1.5.0, all scale values should be multiplied by 10 to maintain the same rendering size.
  2. Module Replacement for Version ≥ 1.5.0

    • The original module org.graphpergraph-support no longer exists in version 1.5.0.
    • It has been replaced with org.graphpergraph-support-core.
    • Action required: Update your Maven dependency as follows:
    <dependency>
        <groupId>org.graphper</groupId>
        <artifactId>graph-support-core</artifactId>
        <version>1.5.0</version>
    </dependency>

Notes

  • Ensure that any scaling values are adjusted accordingly to avoid unexpected graph size changes.
  • If you encounter issues with CLI execution, check the updated help documentation for supported commands.
  • Remember to update your Maven dependency to use graph-support-core instead of graph-support if upgrading to version ≥ 1.5.0.

Acknowledgments

Special thanks to @j0hannesz #7 or their invaluable contribution in developing the initial version of the DOT parser. Your efforts were crucial in getting this feature up and running!

Release 1.4.0

24 Nov 16:25

Choose a tag to compare

Release 1.4.0:

  1. Add Fdp series layout engine;
  2. Fix cluster overflow nodes issues;
  3. Fix label render issue in image output;
  4. Add invtriangle and invtrapezium node shapes;
  5. Add tooltip feature;
  6. Optimize CustomizeShapeRender usage and javadoc.

Release 1.3.0

05 Feb 17:04

Choose a tag to compare

  1. Add multi Cluster Shape;
  2. Add multi Styles for node/line/cluster;
  3. Optimize Cluster minimum cross algorithm and fix node overflow cluster issue.

Release 1.2.2

09 Dec 14:08

Choose a tag to compare

  1. Fixed the drawing problem where the endpoints of parallel edges are in different ports;
  2. Unify the global default font to avoid size problems caused by different fonts;
  3. Support file output in multiple formats and multiple platforms;

graph-support-1.0.2

09 Apr 04:08

Choose a tag to compare

Fix bug:

  1. Float label will show wrong rank
  2. Let the split segment number constantly in curve fix box logic

graph-support-1.0.1

05 Apr 07:07

Choose a tag to compare

Update README.md