CHANGELOG

2022-04-22
* Using 'range = xrange' in Py2.
* Warning! You can not iterate over edges and remove and add edges!
Dictionaries are different in Py3.

2021-07-10
* Outerplanar graphs added.

2021-06-01
* It is possible to use a tuple (source, target) in some graph methods:
del_edge(), has_edge(), weight().

2021-04-23
* 'import sys' moved to the top of files [recursion limit issues].
* is_connected() with BFS (no recursion).
* First tools for chordal graphs added.

2021-03-09
* Using iter() in Graph.iternodes() and Graph.iteradjacent().
* Graph comparison based on sets and dicts.
* Using list(xrange()) in factory.

2020-12-22
* Tournaments using functools.cmp_to_key (Py3.2+).

2020-11-30
* Drawing trees with matplotlib.
TreePlot is using float (numerical errors for large trees).
TreePlotRadiusAngle is using int and Fraction.

2020-04-27
* HalinGraphTreeDecomposition in doc.

2020-04-18
* Structures for a topological graph (graphs module):
edge_next, edge_prev, face2edge, edge2face.
Used in Graph.f(), Graph.iterfaces(), Graph.iterface(), Graph.copy().
* Graph.iteredges_connected() added.
Used in ConnectedSequentialEdgeColoring.

2020-03-10
* Using self.__class__ in Graph, Multigraph, Edge.

2020-01-20
* Edge with functools.total_ordering (Py2.7 and Py3.2+).

EOF
