version 1.3, Octobre 2nd, 2009 ------------------------------ o Oper.mirror: undirected graphs are not copied anymore o Oper.mirror: fixed bug (isolated vertices were lost) o Graphviz: new signature GraphWithDotAttrs o Improvements of Dgraph o Configure: better test for detecting lablgtk o OcamlGraph is now installed by default in `ocamlc -where`/ocamlgraph o Viewgraph is now packed in a single module Viewgraph (break compatibility with previous version) o Dgraph is now packed in a single module Dgraph (break compatibility with previous version) o Makefile: fixed bug when the installation directory of binaries does not exist o Makefile: fixed bug of ocamldep under Windows version 1.2, August 31, 2009 ---------------------------- o experimental: new GTK-based graph viewer called Dgraph (viewGraph is now deprecated) o added Delaunay.iter_triangles (not of use in Ocamlgraph, actually) version 1.1, June 23rd, 2009 ---------------------------- o added constraint "type E.label = unit" to unlabeled graph data structure o viewGraph: new module viewGraph_utils; fixed compilation (gtkInit was missing; patch by Mehdi Dogguy) o configure: fixed bug under Cygwin (patch by Julien Bernet) o configure: look for lablgnomecanvas.cmxa when compiling in native code o Makefile: fixed make install-findlib when lablgtk and/or lablgnomecanvas not installed (patch by Peter Hawkins) version 1.0, October 14th, 2008 ------------------------------- o license: LGPL updated to version 2.1 o ocamlgraph now requires ocaml 3.10 or higher o experimental: GTK-based graph viewer based on dot (contribution of Anne Pacalet) o Makefile: - fixed bug when lablgnomecanvas is not installed - fixed bug when ocamlfind is installed - patch to the build system for a DESTDIR (patch by Igor Galic) - "make -j" compliant o new function Blocks.after_unserialization in order to be able to safely serialize abstract vertices (see the FAQ) o Dot: - fixed bug in the parsing of attributes - fixed bug in the parsing of subgraphs (patch by Anne Pacalet) o Oper: fixed bug in intersect o Path: improved efficiency of Dijkstra o Topological: - fixed bug in Make.{iter,fold} - folding is now tail-recursive (patch by Michael Furr) version 0.99c, April 3rd, 2008 ------------------------------ o replicated a bug fix of Bitv (could not affect Matrix, though) o fixed DFS traversal in Traverse.Dfs.{prefix,prefix_component,iterator} version 0.99b, December 18th, 2007 ---------------------------------- o fixed link bug with ocaml 3.09 (see http://caml.inria.fr/mantis/view.php?id=4124) version 0.99a, November 21st, 2007 --------------------------------- o fixed bug in Makefile when lablgtk2 is not installed o Sig.I.create and Sig_pack.create are now of type ?size:int -> unit -> t (instead of unit -> t) to indicate an initial guess on the graph size version 0.99, June 27th, 2007 ----------------------------- o experimental: GTK-based graph editor based on hyperbolic geometry; to build it and test it, cd to editor/ and type make o [Components.Make] functor: function [scc] as a new profile and a more precise specification. New function [scc_array]. o fixed configure to set ocaml's standard library using "ocamlc -where" o new module Dot to parse files in Graphviz's DOT format o slight change in the license (no more clause 6 of the LGPL; see LICENSE) o new module Strat implementing simple game strategies o Graphviz: little refactoring and improved documentation version 0.98, Sep 27th, 2006 ---------------------------- o rename Sig.IA to Sig.IM o add subgraph support in Graphviz (breaks ascendent compatibility if you use Graphviz: by default add let get_subgraph _ = None in the argument of Graphviz.Dot and Graphviz.Neato) version 0.97, July 20th, 2006 ----------------------------- o fixed compilation under Windows/Cygwin (contributed by Denis Berthod) o fixed bug with escaped string in Graphviz version 0.96, May 2nd, 2006 --------------------------- o new demo program: sudoku.ml (solving the Sudoku using graph coloring) o new module Coloring for (rather brute force) graph coloring o new implementation Imperative.Digraph.ConcreteBidirectional that maintains the set of ingoing edges for each node, thus improving the efficiency of functions such as iter_pred, pred, in_degree, etc. (contributed by Ted Kremenek) version 0.95, November 2nd, 2005 -------------------------------- o compatibility with ocaml 3.09 o new module Path.Check to check for paths version 0.94, July 6th, 2005 ---------------------------- o new module Gml to parse and print graphs in GML file format (see http://www.infosun.fmi.uni-passau.de/Graphlet/GML) corresponding functions parse_gml_file and print_gml_file in Pack o added display_with_gv in Pack o improved implementation of Unionfind (patch by Marc Lasson) version 0.93, March 31st, 2005 ------------------------------ o fixed bug in Rand (integer overflow causing Invalid_argument "random"); improved code in Rand o bug fixed in the META file o add find_edge in Sig.G (and so in all graph implementations) version 0.92, January 18th, 2005 -------------------------------- o fixed escaped labels in Graphviz output (patch by Boris Yakobowski) o new Graphviz option OrderingOut (patch by Boris Yakobowski) o fixed sharing bugs in Oper (patch by Boris Yakobowski) o fixed bug in nb_edges for undirected graphs o improvement of iterators of undirected concrete graphs version 0.91, December 16th, 2004 --------------------------------- o more precise specifications of remove_edge and shortest_path. o bug fixed in mem_edge_e of labelled graphs o generation of random graphs improved o add Rand.Make and Rand.Planar.Make (generic functors) o add signatures Persistent.S and Imperative.S version 0.90, November 30th, 2004 --------------------------------- o graph.cma graph.cmxa o version.ml and META files are now writable o add interfaces Sig.VERTEX and Sig.EDGE o "sig.ml" and "sig_pack.ml" removed; ocamlgraph now requires ocaml 3.08.0 o improvement of Minsep o add Components.scc_list o Oper.Neighbourhood replaces Neighborhood o Gmap replaces Copy o add types Sig_pack.vertex and Sig_pack.edge o fixed bug in Ford-Fulkerson: G.V.equal instead of = in two asserts version 0.81, July 13th, 2004 ----------------------------- o compatibility with ocaml 3.08 o Oper.Choose.choose_edge: choose an edge in a graph o add types Sig.G.edge and Sig.G.vertex resp. equal to Sig.G.V.t and Sig.G.E.t o fixed typos in invalid_arg arguments (in Bitv) version 0.80, June 28th, 2004 ----------------------------- o major contribution by Matthieu Sozeau and Pierre-Loïc Garoche. New modules are: - Md: Minimum Degree algorithm - Cliquetree: the clique tree of a graph - Mcs_m: Maximal Cardinality Search (MCS-M) algorithm - Minsep: Minimal separators of a graph - Neighborhood: compute the neighborhood of a vertex/some vertices - Oper.Difference: subgraphs induced by the elimination of some vertices - Oper.Choose: choose a vertex in a graph - Copy: graphs copying - Util.DataV: create a vertex type with data attached to it o out_degree: raises Invalid_argument if v not in g (instead of Not_found) o Pack.Graph: golberg/ford_fulkerson fail ("not a directed graph") version 0.70, Feb 27th, 2004 ---------------------------- o Makefile.in: dependences ("make -j" works) o union and intersection (see Oper.S.union and Oper.S.intersection) o Golberg/Ford_fulkerson algorithms in a single module Flow o step-by-step iterators in Traverse.{Dfs,Bfs} o Ford_fulkerson: maxflow now returns a flow function over edges version 0.60, Feb 18th, 2004 ---------------------------- o fixed bug in Ford-Fulkerson o random planar graphs (see Rand.Planar) o Delaunay triangulation (see Delaunay) o implementations with adjacency matrices (see Imperative.Matrix) o operations on predecessors for undirected graphs optimized o Traverse.Dfs.{prefix,prefix_component} optimized (now tail recursive) version 0.50, Feb 4th, 2004 --------------------------- o first release Local Variables: mode: text End: