JGraphT Changelog

What's new in JGraphT 1.0.0

Sep 27, 2016
  • Moved to JDK 1.8 (cleanup contributed by Joris Kinable)
  • Fixes for `MaskSubgraph`, contributed by Andrew Gainer-Dewar
  • Optimized edge lookups (contributed by Joris Kinable)
  • Use LinkedHashSet in `CycleDetector` (contributed by Benedikt Waldvogel)
  • Use unique OSGi bundle symbolic name for uber artifact (contributed by Christoph Zauner)
  • Replace experimental GraphReader with `DIMACSImporter` (contributed by Joris Kinable)
  • Implement various graph utility methods (contributed by Christoph Zauner)
  • Add getFirstHop and getLastHop to `FloydWarshallShortestPaths` (contributed by Joris Kinable)
  • Allow paths to be expressed in terms of vertices instead of edges; deprecate `GraphPathImpl` in favor of new `GraphWalk` (contributed by Joris Kinable)
  • Weighted graph support in `GmlExporter` (contributed by Dimitrios Michail)
  • Add `RandomWalkIterator` (contributed by Assaf Mizrachi)
  • Add `GreedyMultiplicativeSpanner` (contributed by Dimitrios Michail)
  • Support undirected graphs in max flow algorithms (contributed by Joris Kinable)
  • Fix for reading escaped quotes in `DOTImporter` (contributed by Victor Mikhaylov)
  • Add `BidirectionalDijkstraShortestPath` (contributed by Dimitrios Michail)
  • Add external path validator for `KShortestPaths` (contributed by Assaf Mizrachi)
  • Add `GmlImporter` (contributed by Dimitrios Michail)
  • Fixed bug in HopcroftKarpBipartiteMatching which caused the algorithm to occasionally throw a NullPointerException (contributed by Dimitrios Michail, bug reported by Nils Olberg)
  • Fixed `AStarShortestPath` to use Object.equals (contributed by Joris Kinable, bug reported by Zgce)
  • Enhance `DirectedAcyclicGraph` to extend Iterable (contributed by Joris Kinable, suggested by Andrew Pennebaker)
  • Enhance `MinSourceSinkCut` to make max-flow implementation configurable (contributed by Joris Kinable, suggested by Roman Pearah)
  • Add new vertex cover algorithms and package (contributed by Joris Kinable and Nils Olberg)
  • Improved GraphML support (contributed by Dimitrios Michail)
  • Add common `GraphExporter` and `GraphImporter` interfaces (contributed by Dimitrios Michail)
  • DOT importer id fix (contributed by Dimitrios Michail)
  • Add `CSVExporter` and `CSVImporter` (contributed by Dimitrios Michail)
  • Add `MinimumSTCutAlgorithm` (contributed by Joris Kinable)
  • Capture trivial paths in `AllDirectedPaths` (contributed by Andrew Gainer-Dewar)
  • Switch from Jalopy source code formatter to Eclipse, since Jalopy does not support java 8 (contributed by John Sichi)
  • Fixed a bug in `RandomGraphGenerator`, reported by (@ckapop), which could cause an overflow when calculating the maximum number of edges allowed in a graph (contributed by Dimitrios Michail)
  • Added generics to code in test package (contributed by Dimitrios Michail)
  • Fixed a bug in `PushRelabelMFImpl`, reported by Joris Kinable, which caused a NullPointerException whenever the network contained multiple components (contributed by Dimitrios Michail)
  • Fixed a bug in `MaximumFlowAlgorithmBase`: some vertices ended up with a null prototype vertex (contributed by Dimitrios Michail)
  • Use equals for compare to fix bug in `EdmondsBlossomShrinking` (contributed by Szabolcs Besenyei)
  • Reformat all file headers (contributed by Joris Kinable)
  • Refactor and enhance random graph generators (contributed by Dimitrios Michail)
  • Fix DirectedAcyclicGraph.removeAllVertices (contributed by Szabolcs Besenyei)
  • Use Travis to enforce Javadoc correctness (contributed by Joris Kinable)
  • Corrected all javadoc warnings (contributed by Dimitrios Michail)

New in JGraphT 0.9.1 (Apr 6, 2015)

  • Auto-generation of bundle manifest, contributed by Nicolas Fortin
  • Travis CI configuration, contributed by Peter Goldstein
  • TarjanLCA bugfix, contributed by Leo Crawford
  • Add `SimpleGraphPath`, contributed by Rodrigo Lopez Dato
  • Add `NaiveLcaFinder`, contributed by Leo Crawford
  • Make getEdgeWeight throw NPE on null edge, suggested by Joris Kinable
  • Clarify that shortest path length is weighted, per gjafachini
  • Add DAG constructor that takes an edge factory, and make TarjanLCA constructor public, contributed by Anders Wallgren
  • Fixed rounding error in graph generation, contributed by Siarhei
  • Fixed Javadoc for `DirectedWeightedMultigraph`, noticed by Martin Lowinski
  • Use annotations to simplify test suites, contributed by Jan Altenbernd
  • Add missing Override/Deprecated annotations, contributed by Jan Altenbernd
  • Update maven-compiler-plugin version, contributed by Andrew Chen
  • Add builder package, contributed by Andrew Chen
  • Add CliqueMinimalSeparatorDecomposition, contributed by Florian Buenzli, Thomas Tschager, Tomas Hruz, and Philipp Hoppen
  • Include vertex #toString value in excn message, contributed by Chris Wensel
  • Open up Specifics to allow for custom backing containers, contributed by Chris Wensel
  • Make abstract graph constructors protected, contributed by John Sichi
  • Moved to JDK 1.7

New in JGraphT 0.8.3 (Feb 11, 2013)

  • fix regression in DOTExporter inadvertently introduced by 0.8.2 changes.
  • Add GridGraphGenerator, contributed by Assaf Mizrachi.
  • Return coloring from ChromaticNumber, contributed by Harshal Vora.
  • Fix bugs in KSP, contributed by Guillaume Boulmier; note that these bugfixes worsen the running time.
  • Fix an object identity bug in CycleDetector, contributed by Matt Sarjent. -Add StoerWagnerMinimumCut, contributed by Robby McKilliam.
  • Fix MANIFEST.MF, spotted by Olly.
  • Make FloydWarshallShortestPaths.getShortestPaths unidirectional, contributed by Yuriy Nakonechnyy.

New in JGraphT 0.8.1 (Jul 4, 2009)

  • Enhanced GmlExporter with customized labels and ID's, contributed by Trevor Harmon. Added new algorithms HamiltonianCycle, ChromaticNumber and EulerianCircuit, plus new generators HyperCubeGraphGenerator, StarGraphGenerator, and CompleteBipartiteGraphGenerator, all contributed by Andrew Newell.
  • Fix bug with vertices which are equals but not identity-same in graphs allowing loops, spotted by Michael Michaud.
  • Fix bug in EquivalenceIsomorphismInspector, reported by Tim Engler.
  • Add toString for shortest paths wrapper, spotted by Achim Beutel.
  • Add FloydWarshallShortestPaths, contributed by Tom Larkworthy.
  • Enhance DijskstraShortestPath to support GraphPath interface.

New in JGraphT 0.8.0 (May 5, 2009)

  • Moved to JDK 1.6. Fixed problem with RandomGraphGenerator reported by Mario Rossi. Added CompleteGraphGenerator, contributed by Tim Shearouse. Fixed FibonacciHeap performance problem reported by Jason Lenderman. Made DotExporter reject illegal vertex ID's, contributed by Holger Brandl. Fixed bogus assertion for topological sort over empty graph, spotted by Harris Lin. Added scale-free graph generator and EdmondsKarpMaximumFlow, contributed by Ilya Razenshteyn. Added DirectedAcyclicGraph, contributed by Peter Giles. Added protected getWeight accessor to DefaultWeightedEdge, likewise getSource and getTarget on DefaultEdge. Optimized iterators to skip calling event firing routines when there are no listeners, and used ArrayDeque in a number of places, per suggestion from Ross Judson.

New in JGraphT 0.7.3 (Sep 24, 2008)

  • Patch to JGraphModelAdapter.removeVertex provided by Hookahey.
  • Added ParanoidGraph.
  • Removed obsolete ArrayUtil (spotted by Boente).
  • Added GraphPath, and used it to fix mistake in 0.7.2 (k-shortest-paths was returning a private data structure, as discovered by numerous users).
  • Fixed EdgeReversedGraph.getAllEdges.
  • Fixed incorrect assertion in TopologicalOrderIterator constructor.
  • Enabled assertions in JUnit tests.
  • Fixed NPE in BellmanFordShortestPath.getCost.