Changelog for graphviz-2999.7.0.0

Changes in 2999.7.0.0 ===================== * Updated and extended functions to interact with the Graphviz tools. This now includes: - a better listing of available output types; - distinguishing file outputs from canvas outputs; - ability to automatically add the correct file extension to file outputs - Return any errors if calling Graphviz failed rather than just printing them to stderr * Improved Color support: - fixed ColorScheme values - explicitly named X11 colors - conversion to/from values from the colour library * Removed OrientationGraph; problems with distinguishing it when parsing from node-based Orientation values; its functionality is duplicated by Rotate. * By default, the generated Dot code is now no longer indented; you can now use the prettyPrint functions in Data.GraphViz to produce readable Dot code. * Added a testsuite; this is buildable by building with --flags=test. Numerous printing and parsing bugs were picked up with this. Changes in 2999.6.0.0 ===================== * Remove some Shape aliases and change capitalisation of others. * Properly parse and print IDs of clusters. * Allow NodeCluster values have node types different from the LNode they come from. Changes in 2999.5.1.1 ===================== * When used as labels, etc., the Dot keywords node, edge, graph, digraph, subgraph, and strict need to be quoted. Spotted by Kathleen Fisher. Changes in 2999.5.1.0 ===================== * Potentially fixed the graphvizWithHandle bug; correct approach spotted by Nikolas Mayr. * Fixed up Parsing of various Attribute sub-values, especially Point and Spline (and hence Pos, which uses them). * Pre-process out comments and join together multi-line strings before parsing. * Properly parse Doubles like ".2". Changes in 2999.5.0.0 ===================== A major re-write occured; these are the highlights: * Re-write parsing and printing of Dot code using the new ParseDot and PrintDot classes. This should finally fix all quoting issues, as well as leaving Show as the code representation for hacking purposes. As part of this, the Data.GraphViz.ParserCombinators module has been moved to Data.GraphViz.Types.Parsing. * Re-write the various Dot* datatypes in Data.GraphViz.Types. Sub-graphs/clusters are now their own entity rather than being part of DotNode and the Node ID type is now a type parameter rather than being just Int. Sub-graphs/clusters can now also be parsed. * The various conversion functions in Data.GraphViz now come in two flavours: the unprimed versions take in a Bool indicating if the graph is directed or not; the primed versions attempt to automatically detect this. Also add cluster support for the graph -> dot -> graph conversion-style functions, as requested by Nikolas Mayr. * Allow custom arrow types as supported by GraphViz; as requested by Han Joosten. * Fixed a bug in HSV-style Color values where Int was used instead of Double; spotted by Michael deLorimier. * Properly resolved the situation initially spotted by Neil Brown: Matthew Sackman was following Dot terminology for an edge `a -> b' when using "head" for `b' and "tail" for `a' (this is presumably because the head/tail of the arrow are at those nodes). DotEdge now uses "from" and "to" avoid ambiguity; the various Attribute values still follow upstream usage. Changes in 2999.1.0.2 ===================== * Fix a bug spotted by Srihari Ramanathan where Color values were double-quoted. Changes in 2999.1.0.1 ===================== * The Color Attribute should take [Color], not just a single Color. Changes in 2999.1.0.0 ===================== * Stop using Either for composite Attributes and use a custom type: this avoids problems with the Show instance. Changes in 2999.0.0.0 ===================== * Fixed a bug where the Show instance and read function for DotEdge had the from/to nodes the wrong way round. This was not immediately noticed since the Graph -> DotGraph functions created them the wrong way round, so for those users who only used these this was not apparent. Spotted by Neil Brown. * Greatly improved Attribute usage: almost all attributes are now covered with allowed values. * Extend DotGraph to include whether a graph is strict or not and if it has an ID. Also move the directedGraph field. * Make "Dot" refer to the actual dot command and DotArrow refer to the ArrowType (rather than DotCmd and Dot as before). * Make the Data.GraphViz.ParserCombinators module available to end users again, but not re-exported by Data.GraphViz; it has a warning message up the top not to be used. It is there purely for documentative purposes. * Use extensible-exceptions so that base < 4 is once again supported. * Follow the PVP rather than using dates for versions: http://www.haskell.org/haskellwiki/Package_versioning_policy Changes in 2009.5.1 =================== * Support polyparse >= 1.1 (as opposed to < 1.3) * Require base == 4.* (i.e. GHC 6.10.*) due to new exception handling. * Include functions from Graphalyze-0.5 for running GraphViz commands, etc. * Module re-organisation. * The Data.GraphViz.ParserCombinators module is no longer available to end users. * Improved Haddock documentation. Changes in 2008.9.20 ==================== * Differentiate between undirected and directed graphs (previously only directed graphs were supported). * Clustering support was added.