graphviz

Developer Tools

Graph Visualization Tools

Latest 15.1.1 · by graphvizWebsite

Release activity

Release activity — 14 releases across 14 days in the last year. Each cell is one day; darker means more releases that day. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026
MondayNo releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026
TuesdayNo releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026
WednesdayNo releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 20261 release on Aug 5, 2026No releases on Aug 12, 2026
ThursdayNo releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 20261 release on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026
FridayNo releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 20261 release on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026

14 releases in the last year

Changelog

15.1.1

See the CHANGELOG .

Changed 2
  • When using dl_iterate_phdr to discover the plugin directory, the default compiled-in plugin directory is only overridden if dl_iterate_phdr successfully discovers the plugin directory, instead of being set to empty string on search failure
  • HTML table cells are now emitted after the table border and rules to improve Z-ordering when post-styling tables with CSS
Changed
  • When using dl_iterate_phdr to discover the plugin directory, the default compiled-in plugin directory is only overridden if dl_iterate_phdr successfully discovers the plugin directory. Previously if the dl_iterate_phdr search failed, the plugin directory would be considered the empty string.
  • The cells of an HTML table are now emitted after the table border and rules. The main effect of this is, when post-styling a table with CSS, cell content remains visible. I.e. Z-ordering is more intuitive.
View originalPermalink
How 15.1.1 went

15.1.0

See the CHANGELOG .

Added 2
  • Support new command line option `-Lm…` for controlling the m-limit when using the fdp layout algorithm
  • Add new vt plugin option `-Tvt-8up2` for using Unicode octant characters to render 8-pixels-per-cell output
Fixed 2
  • Restore ability to build from source with `--disable-python` or `--disable-python3` flags
  • Prevent Gvedit from leaving temporary files on disk when previewing
Added
  • When using the fdp layout algorithm (dot -Kfdp … or fdp …), a new command line option -Lm… is supported for controlling the “m-limit”. See the man page for details about this option. #954
  • The vt plugin has a new option for using Unicode octant characters to render 8-pixels-per-cell output, -Tvt-8up2.
Fixed
  • When building from source from a Git checkout, builds with --disable-python/--disable-python3 once again work. This was a regression in Graphviz 14.1.3. #2839
  • Gvedit no longer leaves temporary files on disk when previewing.
View originalPermalink
How 15.1.0 went

15.0.0

See the CHANGELOG .

Changed 1
  • The MinGW packages no longer have libgd-dependent components enabled
Removed 1
  • The diffimg utility has been removed
Changed
  • The MinGW packages no longer have libgd-dependent components enabled.
  • Breaking: The diffimg utility has been removed.
View originalPermalink
How 15.0.0 went

14.1.5

See the CHANGELOG .

Fixed 8
  • The JSON renderer of the core plugin now understands a cluster to be indicated by the common rules, including the "cluster" prefix being case insensitive and the `cluster=true` attribute as an alternative
  • The description of what defines a cluster subgraph in the `gc` man page has been updated
  • When rendering multiple files at once, page numbering state from previous jobs no longer leaks into the current job
  • Logic to determine whether a rendered page is non-first has been corrected
  • gvpr modulo expressions with an out-of-range modulo operand are now detected and result in an error message
  • When gvpr dumps switch statements as text, they are now printed as switch statements instead of an if-else ladder
  • An out-of-bounds read access during gvpr type checking has been fixed
  • A null pointer dereference when freeing xdot objects has been fixed
Fixed
  • The JSON renderer of the core plugin now understands a cluster to be indicated by the common rules, including the “cluster” prefix being case insensitive and the cluster=true attribute as an alternative. #2187
  • The description of what defines a cluster subgraph in the gc man page has been updated. #2187
  • When rendering multiple files at once (e.g. dot -Tsvg -O file1.dot file2.dot), page numbering state from previous jobs no longer leaks into the current job. This was a regression in Graphviz 2.40.0. #2827
  • Logic to determine whether a rendered page is non-first has been corrected.
  • gvpr modulo expressions with an out-of-range modulo operand are now detected and result in an error message.
  • When gvpr dumps switch statements as text, they are now printed as switch statements instead of an if-else ladder. This avoids incorrect interpretation of break statements in error messages. #2822
  • An out-of-bounds read access during gvpr type checking has been fixed.
  • A null pointer dereference when freeing xdot objects has been fixed.
View originalPermalink
How 14.1.5 went

14.1.4

See the CHANGELOG .

Changed 1
  • Enable ascii plugin to be built using autotools
Fixed 1
  • Processing concentrate=true graphs no longer crashes Graphviz
Changed
  • Enable ascii plugin to be built using autotools. #2828
Fixed
  • Processing concentrate=true graphs no longer crashes Graphviz. Processing of concentrate=true graphs still often errors out. #2825
View originalPermalink
How 14.1.4 went

14.1.3

See the CHANGELOG .

Changed 3
  • Using long node names in combination with the fdp layout algorithm no longer results in truncated generated names
  • Vertical centering of text within HTML-like table cells has been improved
  • The existing ability to provide a numeric parameter to -v to specify verbosity level is newly documented in dot --help
Fixed 11
  • gvmap no longer dereferences a null pointer when reading position-less graphs
  • gvmap no longer crashes when adding coordinate data
  • mm2gv no longer accepts input matrices with non-real element type
  • The Tcldot_Init, Tcldot_builtin_Init, and Tcldot_SafeInit symbols in tcldot.dll are externally visible on Windows
  • The Tclpathplan_Init and Tclpathplan_SafeInit symbols in tclpathplan.dll are externally visible on Windows
  • The Autotools build system more consistently uses $PYTHON3 instead of python3 when invoking Python
Changed
  • Using long node names in combination with the fdp layout algorithm no longer results in truncated generated names.
  • Vertical centering of text within HTML-like table cells has been improved.
  • The existing ability to provide a numeric parameter to -v to specify verbosity level are newly documented in dot --help.
Fixed
  • gvmap no longer dereferences a null pointer when reading position-less graphs.
  • gvmap no longer crashes when adding coordinate data.
  • mm2gv no longer accepts input matrices with non-real element type. Previously these would be accepted but processed incorrectly leading to out-of-bounds memory reads and writes.
  • The Tcldot_Init, Tcldot_builtin_Init, and Tcldot_SafeInit symbols in tcldot.dll are externally visible on Windows. #2809
  • The Tclpathplan_Init and Tclpathplan_SafeInit symbols in tclpathplan.dll are externally visible on Windows. #2809
  • The Autotools build system more consistently uses $PYTHON3 instead of python3 when invoking Python. This ensures developers are more easily able to control the Python installation in use from the top level.
  • The Autotools build system explicitly links against libglu libraries when linking against libglut.
  • Corrected time formatting in verbose info/debug messages (enabled by -v). Previously, minutes was missing, showing HH:SS instead of HH:MM:SS.
  • Further parts of the network simplex algorithm have been rewritten in a non-recursive style. This allows processing larger graphs that previously caused stack overflows. #2782
  • Canonicalizing an empty string or a string entirely made up of characters needing escaping no longer triggers an out-of-bounds memory write. This was a regression in Graphviz 13.0.1. #2743
  • An off-by-one error in the network simplex algorithm has been corrected. This could have led to suboptimal layout in some edge cases. This was a regression in Graphviz 13.0.0.
View originalPermalink
How 14.1.3 went

14.1.2

See the CHANGELOG .

Changed 1
  • The configuration files exported by the CMake build system have an additional install interface of `include`, adding to the existing `include/graphviz`, allowing code to prefix include paths with `graphviz/` such as `#include <graphviz/gvc.h>`
Fixed 6
  • On MinGW, Smyrna consistently uses `/` as a path separator
  • In the CMake build system, building a statically linked `dot` with the Quartz plugin enabled has been repaired
  • The `colorscheme` attribute when applied to edge labels works once again
  • The `dpi` and `resolution` graph attributes are now constrained to a minimum value of `0.0`
  • Compilation from source no longer fails on Solaris with symbol conflicts due to `lock_t` usage
  • When compiling Graphviz from source, `_FILE_OFFSET_BITS` is set consistently in all compilation jobs
Removed 1
  • Support for HP-UX has been removed
Changed
  • Support for HP-UX has been removed.
Fixed
  • On MinGW, Smyrna consistently uses / as a path separator.
  • In the CMake build system, building a statically linked dot with the Quartz plugin enabled has been repaired.
  • The configuration files exported by the CMake build system have an additional install interface of include, adding to the existing include/graphviz. The effect of this is that code using these files to access Graphviz headers can now prefix their include paths, e.g. #include <graphviz/gvc.h> instead of #include <gvc.h>. #2798
  • The colorscheme attribute when applied to edge labels works once again. This was a regression in Graphviz 11.0.0. #2801
  • The dpi and resolution graph attributes are now constrained to a minimum value of 0.0. This was already stated in the documentation but not enforced by the code.
  • Compilation from source no longer fails on Solaris with symbol conflicts due to lock_t usage. #2802
  • When compiling Graphviz from source, _FILE_OFFSET_BITS is set consistently in all compilation jobs. #2803
View originalPermalink
How 14.1.2 went

14.1.1

See the CHANGELOG .

Changed 1
  • When seeding random number generators with time(NULL), the result of getpid() is no longer also mixed in on non-Windows platforms
Fixed 2
  • In the CMake build system, when WITH_SMYRNA is AUTO or unset, Smyrna enabling depends on the presence of Pangocairo
  • In the CMake build system, versions of dot with plugins built in are only linked against enabled plugins
Changed
  • When seeding random number generators with time(NULL), the result of getpid() is no longer also mixed in. Previously this was the case on non-Windows platforms, impeding reproducibility and portability.
Fixed
  • In the CMake build system, when WITH_SMYRNA is AUTO or unset, Smyrna enabling depends on the presence of Pangocairo.
  • In the CMake build system, versions of dot with plugins built in are only linked against enabled plugins. #2795
View originalPermalink
How 14.1.1 went

14.1.0

See the CHANGELOG .

Added 2
  • Add option neato -n3 for fit ends of edges to nodes' borders when edge trajectory is set
  • Orthogonal edges now support rounded corners via the radius edge attribute, rendering corners as smooth arcs instead of sharp angles when splines=ortho is set and radius > 0
Fixed 2
  • Remove some Undefined Behavior in sparse matrix calculations
  • In the Autotools build system, disable PHP bindings build when PHP interpreter is available but php-config is not
Added
  • Added option neato -n3 for fit ends of edges to nodes' borders when edge trajectory is set. #2736
  • Orthogonal edges now support rounded corners via the radius edge attribute. When splines=ortho is set and an edge has radius > 0, corners are rendered as smooth arcs instead of sharp angles. The radius value controls the size of the corner arc. Default is 0 (square corners).
Fixed
  • Some Undefined Behavior in sparse matrix calculations has been removed.
  • In the Autotools build system, when the PHP interpreter (php) is available but php-config is not, building the PHP bindings is no longer enabled. This was a regression in Graphviz 2.42.0. #2788
View originalPermalink
How 14.1.0 went

14.0.5

See the CHANGELOG .

Fixed 2
  • Smyrna no longer accesses out of bounds memory or misses results when filtering attribute lists
  • osage now handles clusters that become empty when nodes are incorrectly assigned to sibling clusters
Fixed
  • When filtering attribute lists, Smyrna no longer accesses out of bounds memory or misses results.
  • osage should now handle clusters that become empty when nodes are incorrectly assigned to sibling clusters. #2721
View originalPermalink
How 14.0.5 went
View all

Discussion