= CHANGELOG == 1.1.0 : * Issue #61 : Combine graphviz instances * Issue #73 : Avoid constructing shell commands as strings * Bug correction with development dependencies on JRuby == 1.0.9 : * Add support for attributs * forcelabels * gradientangle * imagepath * layerlistsep * layerselect * Issue #52 : Extracted xDOTScript to DOTScript class (by markus1189) * Issue #54 : Fixes a couple of typos and spacing (by Mike Fiedler) * Issue #55 : Avoid autoload * Issue #57 : Add man pages for the commandline programs (by Praveen Arimbrathodiyil) * Issue #59 : Support label as Fixnum (by Gabe Kopley) * Issue #62 : Remove warnings (by Kenichi Kamiya) * Issue #63 : Fix typo (by Kenichi Kamiya) * Issue #65 : ruby-graphviz breaks autoloading of ActiveSupport::Concerns * Update graphviz attributs == 1.0.8 : * Cleanup format (by markus1189) * Issue #49 : (undefined local variable or method `file' ) (by markus1189) == 1.0.7 : * Issue #48 : add_graph fails when passed a GraphViz object * Issue #47 : Find executable (by markus1189) == 1.0.6 : * Issue #46 : Some tests fail because it cannot find 'dot' * Issue #45 : Fix for copy/paste error (by coding46) * Issue #44 : characters escaping (by Neven Has) * Issue #43 : Added lib/ruby-graphviz to match the gem name (by Postmodern) * Issue #42 : "escaped dot in label" aka "GVPR error in Dot2Ruby" * Issue #40 : GraphML importation doesn't work... * Bug correction (with Ruby 1.8) * Add (experimental) support of LibXML/LibXSLT == 1.0.5 : * Change deprecated methods in gem2gv, git2gv and ruby2gv * Issue #38 * Issue #39 == 1.0.4 : * GraphViz::Edge#each_attribut is deprecated, please use GraphViz::Edge#each_attribute * GraphViz::GraphML#attributs is deprecated, please, use GraphViz::GraphML#attributes * GraphViz::Node#each_attribut is deprecated, please use GraphViz::Node#each_attribute * Major bug correction in GraphViz::Attrs and GraphViz::parse * An empty string means "false" for boolean attributes == 1.0.3 : * The GraphViz::Theory#moore_dijkstra return a path which contains GraphViz::Node instead of GraphViz::Node#id * Add Breadth First Search algorithm (GraphViz::Theory#bfs) * Add Depth First Search algorithm (GraphViz::Theory#dfs) * Add GraphViz#add_edges (GraphViz#add_edge is deprecated) * Add GraphViz#add_nodes (GraphViz#add_node is deprecated) * Add GraphViz::generate * Remove definition of Array#all? == 1.0.2 : * Add PageRank algorithm * Major bug corrections * Fix utils/colors.rb's case syntax * Modify deprecated method: Hash#index to Hash#key == 1.0.1 : * Add GraphViz::DSL * Change project to use Bundler gem tools * Fix a few typos in the README * Change Config to RbConfig * Add possibility to get the x,y coordinates of each of the nodes == 1.0.0 : * \o/ * GraphViz::Node#name has been removed - use GraphViz::Node#id * The html attribute has been removed - use a label attribut (:label => '<>') * :output option has been removed - use : => : * :file option has been removed - use : => : * Add GraphViz#to_s * Add GraphViz#add (see sample59.rb) * GraphViz::XML.output is deprecated, use GraphViz::XML.graph.output * Issue #22 : Error when generating a graph with an ID containing a space. == 0.9.21 : * Add attributes "label_scheme" and "rotation" * Add missing options : * :scale => v : Scale input by 'v' (=72) * :inverty => [true|false] : Invert y coordinate in output * :no_layout => v : No layout mode 'v' (=1) -- neato only * :reduce => [true|false] : Reduce graph -- neato only * :Lg => [true|false] : Don't use grid -- fdp only * :LO => [true|false] : Use old attractive force -- fdp only * :Ln => i : Set number of iterations to i -- fdp only * :LU => i : Set unscaled factor to i -- fdp only * :LC => v : Set overlap expansion factor to v -- fdp only * :LT => [*]v : Set temperature (temperature factor) to v -- fdp only == 0.9.20 : * Add GraphViz#each_attribut, Node#each_attribut and Edge#each_attribut * Bugs corrections in tests (by oupo) * Major bug correction in GraphViz#output for subgraphs * Update GraphViz.escape == 0.9.19 : * Add strict digraph support (by Jonas Elfström) (see sample58.rb) g = GraphViz.new(:G, :type => "strict digraph") # or g = GraphViz.new(:G, :type => "digraph", :strict => true) # or g = GraphViz.digraph(:G, :strict => true) # or g = GraphViz.strict_digraph(:G) * Add GraphViz#root_graph, Node#root_graph, Edge#root_graph * The GraphML parser now accept a graphml file or string == 0.9.18 : * JRuby bug correction (by Nigel Thorne) * Fix autoload problem for Rubinius (by Rolf Timmermans) * Bugs corrections == 0.9.17 : * GraphViz::Edge#node_one and GraphViz::Edge#node_one now have un optional parameter to indicate if you want to (or not) get the port in the name (default: true) * GraphViz#each_node now returns the Hash of nodes if there is no block given. * GraphViz#each_edge now returns the list of edges if there is no block given. * GraphViz#each_graph now returns the Hash of graphs if there is no block given. * Add GraphViz::Node#index : return the node index * Add GraphViz::Edge#index : return the edge index * Add GraphViz#type : return the graph type (graph or digraph) * Add GraphViz#get_edge_at_index and GraphViz#get_node_at_index * Add GvDouble * Add GraphViz::Theory (see examples/theory/tests.rb) * Add GraphML[http://graphml.graphdrawing.org/] support (see sample57.rb) * fixed "edge attribut 'to_ary' invalid" on mri 1.9.2 (by Stefan Huber) == 0.9.16 : * Add xml2gv * Rename GraphViz.parser2 to GraphViz.parser * Remove treetop dependency * Ruby 1.9 (and MacRuby) compatibility -- Issue #12: see sample38.rb * Add GraphViz::Attrs#each and GraphViz::Attrs#to_h * Add GraphViz::Edge#node_one and GraphViz::Edge#node_two == 0.9.15 : * Add GraphViz.parser2. WARNING this method will replace GraphViz.parser. So please don't use it, or only for testing. * Bug correction in dot2ruby * Add --output-format option to dot2ruby * Add git2gv * Issue #16 : escape graph ID == 0.9.14 : * Add dot2ruby script * Remove NULL character in the DOT script * WARNING : FamilyTree is (still) broken in this version ! == 0.9.13 : * Add dot2ruby.g * Bug correction with HTML label * The html attribut is deprecated. You can use the label attribut, as dot do it : :label => '<>' * Issue #15 : Thin server * WARNING : FamilyTree is (still) broken in this version ! == 0.9.12 : * GraphViz::Node#name is deprecated, you must use GraphViz::Node#id (issue #14) * Add :nothugly option to GraphViz#output (see sample41.rb and http://www.hokstad.com/making-graphviz-output-pretty-with-xsl.html) * Issue #13 : you must now specify a port in GraphViz::Edge.new with a syntax like this : GraphViz::Edge.new( {nodeOne => :port}, {nodeTwo => :other} ) * Issue #12 : UTF8 support (see sample38.rb) * Move and rename examples + remove maketest.[sh|bat] * WARNING : FamilyTree is broken in this version ! == 0.9.11 : * Issue #11 : Cygwin PATH * Major bugs correction in output * Bug correction in find_executable * Add tests (by Chip Malice : http://github.com/hipe) == 0.9.10 : * Move ChangeLog in README * Add GraphViz::FamilyTree (alpha). See examples/sample33.rb * Major bugs corrections in GraphViz::Parser * Issue #10 : Anonymous graph (see Subgraphs and Clusters at http://www.graphviz.org/doc/info/lang.html). See examples/sample34.rb * GraphViz#add_graph can now take a block parameter. See example/sample34.rb * Add GraphViz.digraph and GraphViz.graph (same as GraphViz.new( ..., :type => "digraph" ) and GraphViz.new( ..., :type => "graph" )). See examples/sample35.rb * Add GraphViz#subgraph. See examples/sample35.rb * GraphViz::Parser support anonymous graph * Add lage node example. See examples/sample36.rb == 0.9.9 : * Add graph as an accessor to allow you to set global graph attributs (like edge and node) * Add each_node, each_edge, each_graph (thanks to @metellius) and graph_count * Issue #9 (partial) - Solution : by default, a node will have his label set with the node ID) == 0.9.8 : * Update graph and node posibility to set properties (see sample28.rb) * Issue #7: Path option is never being used to find the executable * Adding classes to check if the attributes are in the correct type * Issue #8: dots in href are escaped with backslash, which corrupts the URL (see sample29.rb) * Add posibility to use external libraries (see sample30.rb) * Add options -u and -s to ruby2gv * Add gem2gv == 0.9.7 : * Issue #2: Small bug correction in escape_path_containing_blanks (by Andreas Ronge) * Issue #4: New find_executable (by reactive) * Issue #3: Tempfiles created in current working directory only in Windows * Issue #6: Respect "none" format in output options hash and respect String output-filename when the "none" format is selected. See examples/sample27.rb (by Dave Burt) == 0.9.6 : * jRuby support (by obruening) * Issue #1 : STDOUT in binmode == 0.9.5 : * Remove 'mkmf' dependency * GraphViz::Edge#[] modification * Small correction to escape the dot ('.') character (by Miguel Cabrera) == 0.9.4 : * Escape nodes and edges attributs * GraphViz::escape corrections (by Dave Burt) * Add :errors option to set level of message suppression (default : suppress warning messages) == 0.9.3 : * Minor bug correction for Windows * Use Open3.popen3 if installed, else use IO.popen (by Dave Burt) * Add '-', '>' and '>>' has aliases of '<<' to create an edge. == 0.9.2 : * Escape nodes (by Dave Burt) * Handle errors from graphviz command (by Dave Burt) * Output as string (if String class is passed as file i.e. output(:pdf => String)) (by Dave Burt) == 0.9.1 : * Bugs corrections * Add the ability to create edge like that : node1 << node2 << node3 ... * Complete README * Add a DOT parser. This parser has a lot of limitations. So don't use it in a production context ! * :output and :file options are deprecated, please use : => : * You can now specify multiple outputs via : => : (see sample 22). == 0.9.0 : * Add fdp example (sample 15) * Add edge between cluster and node and cluster and cluster support * GraphViz.add_node now support array (sample 16) * Bug correction in GraphViz.output (sample 19) * Add GraphViz#default to set default options (:use, :path and :output) * Add possibility to set node or edge attribut via : node.= or node.( ) edge.= or edge.( ) * Add GraphViz::Edge.set and GraphViz::Node.set * Add sample 20 * Add GraphViz.node_count and GraphViz.edge_count by Daniel Cadenas Nión == 0.8.2 : * Update Node, Edge and Graph Attributes (see http://www.graphviz.org/doc/info/attrs.html) * Bugs corrections == 0.8.1 : * Documentation == 0.8.0 : * Add all the features of the current graphviz version == 0.7.0 : * Add option "path" to output == 0.6.0 : * Add undirected graph support == 0.5.0 : * Preserve the original order of creation of nodes and edges == 0.4.0 : * Add HTML-Labels == 0.3.0 : * Bugs corrections == 0.2.0 : * Pure ruby == 0.1.0 : * Initial version