**************************************************************************

                                Fixes.txt

This file describes fixed bugs in the latest versions of the AGD-Library.

**************************************************************************


Version 1.2:
--------------

* Fixed error in CompactionPair. MIN_COST_FLOW() of LEDA has problems
  with loops that have an associated lower bound. This causes
  crashes and infinite loops when drawing trees/forests with an
  algorithm that uses FlowCompaction .


Version 1.1.2:
--------------

* SPQRTree, PlanarSPQRTree: memory leak in Cstr. fixed

* planar_biconnected_graph() deletes now the list of faces, if planarMap
    is false. This avoids a crash that can occur, when making a copy
    of the created graph (e.g., "graph G_copy = G;").

* PlanarizationLayout: postcondition for planarizer option was wrong
    ("initial module not possible!" error)

* StPlanarGridLayout: call functions did not set all grid-node sizes
    (internally) to zero. Could lead to error message "get_bends:
    nodes are overlapping".

* StPlanarLayout, StPlanarGridLayout: call_plane interfaces assumed that
    the edges in the adjacency lists were in clockwise order, whereas
    all other planr layout algorithms and TopologyModule assume counter-
    clockwise order. Now, each algorithms assumes counter-clockwise order.

* SPQRTree::SPQRTree(const leda_graph &G, leda_edge e, bool is_map = false) :
    did not allocate enough node data slots.


Version 1.1.1:
--------------

* Replaced agd_node/edge map's by LEDA's node/edge_map's, because former
    bug in LEDA's node/edge_map's was fixed.

* PlanAug::clone(): did not copied parameter size_strategy

* OptPlanAug::clone() was missing: Calling clone() for an instance
    of OptPlanAug returned a PlanAug module.

* Some concept classes for layout algorithm did not support all
    call interfaces for LayoutModule's and GridLayoutModule's,
	respectively. The reason was, that this is in many case not
	senseful, e.g., calling an algorithm for acyclic directed
	graphs with a planar map (which contains for each edge also
	their reversal) cannot work. Therefore, we made the following
	change: Layout algorithm are not required to support all call
	interfaces (except for the basic interfaces for const graph's).
	They declare now in their general postcondition (postcondition(0)),
	which additional interfaces they support (see also Changes.txt).

* pr_item AGDModule::add_post_rule(..., int i):
    did not allow to add post rules with index i = 0.


Version 1.0.1:
--------------

* Output of PSInterface corrected.

* Bug in OrthogonalLayout and QuasiOrthogonalLayout that appeared,
    when graphs without edges have been drawn.

* Bug in OrthogonalRepresentation::dissect (edge crossings could occur
    after compaction).

* Added precondition 'connected' in PureOrthogonalLayout in order
    to avoid crashes when drawing disconnected graphs.

* Bug in MixedModelLayout (special treatment of degree-1 nodes).

* Crashes in OrthogonalRepresentation and PlaneGraphCopy under Windows
    95/98/NT. Occured when calling OrthogonalLayout or QuasiOrthogonal-
	Layout (also used in PlanarizationLayout and PlanarizationGridLayout).
	Fixed by using new agd_node/edge_map's instead of LEDA's.
