Back

Viz
Patches for Viz
macOS
3 patches available
Utility for extracting text from images, videos, QR codes and barcodes
Graphviz x64 Version 13.1.2
Release Date
8/9/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.1.2 – 2025-08-09$$$$$$Changed$$$$$$$$$DFLT_GVPRPATH; a $PATH-like variable that gvpr uses to locate$$$user-referenced files; is now computed at runtime instead of build time. This$$$removes a barrier to relocating a Graphviz installation from one directory to$$$another.$$$In the CMake build system; whether GDK-dependent components are built or not$$$can now be controlled by the -DWITH_GDK={AUTO|ON|OFF} option. #2714$$$$$$$$$$$$Fixed$$$$$$Gvedit and Smyrna on MinGW can now correctly locate their supporting runtime$$$data directories.$$$The gvpr options -v for printing verbose messages is documented. This has$$$been supported since Graphviz 2.30 but undocumented.$$$When using the CMake build system; DFLT_GVPRPATH is no longer incorrectly$$$missing a .: prefix.$$$On macOS; processing graphs involving URLs with the Quartz plugin is once$$$again possible. Previously this would crash. This was a regression in Graphviz$$$13.0.1. #2712 (closed)$$$$$$In gvpr; updating a map or deleting items from the map no longer triggers a$$$use-after-free. #2707 (closed)
Viz Version 2.2.1
Release Date
7/30/2025
Bug Fix?
No
Minor Release?
No
Patch Notes

Utility for extracting text from images; videos; QR codes and barcodes
Graphviz x64 Version 13.1.1
Release Date
7/20/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.1.1 – 2025-07-20$$$Changed$$$When built with PangoCairo; the Kitty plugin is now available in Graphviz static builds. Previously it was only available in shared library (on-demand plugin loading) builds.$$$The distributed Fedora and Rocky Linux packages now include the Kitty plugin.$$$On Windows; the GDI+ plugin is now available in Graphviz static builds.Previously it was only available in shared library (on-demand plugin loading) builds.$$$Processing a graph with GVPR no longer makes explicit the default $$$ label$$$for nodes. This undoes a change from Graphviz 13.0.1. $$$nop no longer preserves empty string labels. This undoes a change from Graphviz 13.0.1.$$$The order of programmatic calls to gvContext/gvContextPlugin and agmemread once again affects default node labels. This undoes a change from Graphviz 13.0.1.
Graphviz x86 Version 13.1.1
Release Date
7/20/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.1.1 – 2025-07-20$$$Changed$$$When built with PangoCairo; the Kitty plugin is now available in Graphviz static builds. Previously it was only available in shared library (on-demand plugin loading) builds.$$$The distributed Fedora and Rocky Linux packages now include the Kitty plugin.$$$On Windows; the GDI+ plugin is now available in Graphviz static builds.Previously it was only available in shared library (on-demand plugin loading) builds.$$$Processing a graph with GVPR no longer makes explicit the default $$$ label$$$for nodes. This undoes a change from Graphviz 13.0.1. $$$nop no longer preserves empty string labels. This undoes a change from Graphviz 13.0.1.$$$The order of programmatic calls to gvContext/gvContextPlugin and agmemread once again affects default node labels. This undoes a change from Graphviz 13.0.1.
Graphviz x64 Version 13.1.1
Release Date
7/20/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.1.1 – 2025-07-20$$$Changed$$$When built with PangoCairo; the Kitty plugin is now available in Graphviz static builds. Previously it was only available in shared library (on-demand plugin loading) builds.$$$The distributed Fedora and Rocky Linux packages now include the Kitty plugin.$$$On Windows; the GDI+ plugin is now available in Graphviz static builds.Previously it was only available in shared library (on-demand plugin loading) builds.$$$Processing a graph with GVPR no longer makes explicit the default $$$ label$$$for nodes. This undoes a change from Graphviz 13.0.1. $$$nop no longer preserves empty string labels. This undoes a change from Graphviz 13.0.1.$$$The order of programmatic calls to gvContext/gvContextPlugin and agmemread once again affects default node labels. This undoes a change from Graphviz 13.0.1.
Graphviz x86 Version 13.1.0
Release Date
7/1/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.1.0 – 2025-07-01$$$$$$Added$$$$$$A new command line option; -Afoo=bar; serves as a shorthand way of writing$$$-Gfoo=bar -Nfoo=bar -Efoo=bar. #2278 (closed)$$$$$$$$$$$$Fixed$$$$$$Inter-cluster edges are no longer spuriously duplicated. #162 (closed); #258 (closed); #2615 (closed)$$$$$$When using the CMake build system; configuration no longer fails with syntax$$$errors when PangoCairo is unavailable. This was a regression in Graphviz$$$13.0.0. #2697 (closed)
Graphviz x64 Version 13.1.0
Release Date
7/1/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.1.0 – 2025-07-01$$$$$$Added$$$$$$A new command line option; -Afoo=bar; serves as a shorthand way of writing$$$-Gfoo=bar -Nfoo=bar -Efoo=bar. #2278 (closed)$$$$$$$$$$$$Fixed$$$$$$Inter-cluster edges are no longer spuriously duplicated. #162 (closed); #258 (closed); #2615 (closed)$$$$$$When using the CMake build system; configuration no longer fails with syntax$$$errors when PangoCairo is unavailable. This was a regression in Graphviz$$$13.0.0. #2697 (closed)
Graphviz x86 Version 13.1.0
Release Date
7/1/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.1.0 – 2025-07-01$$$$$$Added$$$$$$A new command line option; -Afoo=bar; serves as a shorthand way of writing$$$-Gfoo=bar -Nfoo=bar -Efoo=bar. #2278 (closed)$$$$$$$$$$$$Fixed$$$$$$Inter-cluster edges are no longer spuriously duplicated. #162 (closed); #258 (closed); #2615 (closed)$$$$$$When using the CMake build system; configuration no longer fails with syntax$$$errors when PangoCairo is unavailable. This was a regression in Graphviz$$$13.0.0. #2697 (closed)
Graphviz x64 Version 13.1.0
Release Date
7/1/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.1.0 – 2025-07-01$$$$$$Added$$$$$$A new command line option; -Afoo=bar; serves as a shorthand way of writing$$$-Gfoo=bar -Nfoo=bar -Efoo=bar. #2278 (closed)$$$$$$$$$$$$Fixed$$$$$$Inter-cluster edges are no longer spuriously duplicated. #162 (closed); #258 (closed); #2615 (closed)$$$$$$When using the CMake build system; configuration no longer fails with syntax$$$errors when PangoCairo is unavailable. This was a regression in Graphviz$$$13.0.0. #2697 (closed)
Graphviz x86 Version 13.0.1
Release Date
6/15/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.0.1 – 2025-06-15$$$Changed$$$When using the CMake build system; the minimum required version of CMake has$$$been upgraded 3.14.1 ? 3.21.$$$Building Graphviz from source now requires a C compiler with ISO C17 support.$$$Processing a graph with GVPR now makes explicit the default $$$ label for$$$nodes.
Graphviz x64 Version 13.0.1
Release Date
6/15/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.0.1 – 2025-06-15$$$$$$Changed$$$$$$When using the CMake build system; the minimum required version of CMake has$$$been upgraded 3.14.1 ? 3.21.$$$Building Graphviz from source now requires a C compiler with ISO C17 support.$$$Processing a graph with GVPR now makes explicit the default $$$ label for$$$nodes.$$$$$$$$$Fixed$$$$$$Graphs with large weights no longer trigger double frees. #1494 (closed); #2331 (closed)$$$$$$$$$nop preserves empty string labels. #2436 (closed)$$$$$$The order of programmatic calls to gvContext/gvContextPlugin and$$$agmemread no longer affects default node labels. #2434 (closed)$$$$$$Adjacency matrices are sparse and expanded on demand; removing out-of-bounds$$$accesses when computing these for some graphs. #1472 (closed)
Graphviz x86 Version 13.0.1
Release Date
6/15/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.0.1 – 2025-06-15$$$Changed$$$When using the CMake build system; the minimum required version of CMake has$$$been upgraded 3.14.1 ? 3.21.$$$Building Graphviz from source now requires a C compiler with ISO C17 support.$$$Processing a graph with GVPR now makes explicit the default $$$ label for$$$nodes.
Graphviz x64 Version 13.0.1
Release Date
6/15/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.0.1 – 2025-06-15$$$$$$Changed$$$$$$When using the CMake build system; the minimum required version of CMake has$$$been upgraded 3.14.1 ? 3.21.$$$Building Graphviz from source now requires a C compiler with ISO C17 support.$$$Processing a graph with GVPR now makes explicit the default $$$ label for$$$nodes.$$$$$$$$$Fixed$$$$$$Graphs with large weights no longer trigger double frees. #1494 (closed); #2331 (closed)$$$$$$$$$nop preserves empty string labels. #2436 (closed)$$$$$$The order of programmatic calls to gvContext/gvContextPlugin and$$$agmemread no longer affects default node labels. #2434 (closed)$$$$$$Adjacency matrices are sparse and expanded on demand; removing out-of-bounds$$$accesses when computing these for some graphs. #1472 (closed)
Graphviz x86 Version 13.0.0
Release Date
6/8/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.0.0 – 2025-06-08$$$$$$Added$$$$$$Support for building the SWIG-generated Ruby language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_RUBY={AUTO|ON|OFF} option.$$$A new plugin for outputting ASCII art has been implemented; -Tascii. This$$$relies on AA-lib and is only$$$supported in the CMake build system. #2421 (closed)$$$$$$In gvpr; a new function rename() has been added for nodes. See man gvpr$$$for more information.$$$$$$$$$Changed$$$$$$If Quartz is enabled on macOS; the autotools build will include support for it$$$as a built-in plugin for static builds; for dependency free i.e. PDF support.$$$Improved agwrite so it is much faster (linear not quadratic) when there are$$$many small subgraphs. #2593 (closed)$$$$$$$$$Breaking: rank_t.cache_nc is now a int64_t.$$$$$$Breaking: The agreadline function has been removed. #2558$$$$$$$$$Breaking: gvRenderData takes its length parameter as a size_t *. The$$$GVJ_t fields output_data_allocated and output_data_position have type$$$size_t.$$$The GRAPHVIZ_CLI variable in the CMake build system now additionally$$$controls whether the utilities diffimg and prune are built.$$$$$$Breaking: The cgraph macros agnew and agnnew have been removed.$$$$$$Breaking: The cgraph functions agalloc; agrealloc; and agfree have$$$been removed.$$$$$$Breaking: The cdt queue types; DT_QUEUE; Dtqueue; _Dtqueue have been$$$removed.$$$$$$Breaking: The cdt aliases struct _dthold_s; struct _dtdata_s;$$$struct _dtmethod_s; struct _dtstat_s have been removed.$$$$$$Breaking: The cdt type _Dttree has been removed.$$$$$$Breaking: The cdt aliases struct _dtlink_s; struct _dtdisc_s; and$$$struct _dt_s have been renamed to struct dtlink_s_; struct dtdisc_s_;$$$and struct dt_s_ respectively.$$$$$$Breaking: The cdt macro DT_PRIME has been removed.$$$$$$Breaking: The cdt field Dt_t.data is now a Dtdata_t instead of$$$Dtdata_t *.$$$$$$Breaking: GVJ_t.imagedata is now an unsigned char *.$$$The sandboxer implemented in Graphviz 12.2.1; dot_sandbox; supports macOS.$$$The baseline version of Autoconf required to build Graphviz from source has$$$been upgraded 2.61 ? 2.69.$$$Building Graphviz from source now requires a C compiler with ISO C11 support.$$$GVPR programs are now able to print char and unsigned variables. #2587 (closed)$$$$$$CMake projects using Graphviz as a subproject (add_subdirectory) can now$$$link against and use cgraph; pathplan; and xdot.$$$CMake projects using Graphviz as an installed third-party dependency can now$$$discover its libraries with find_package(graphviz) and then use them as e.g.$$$target_link_libraries(myapp PRIVATE graphviz::cgraph). #2598 (closed)$$$$$$Verbose checkpath warnings about ports not lying in their expected boxes$$$have been removed.$$$In verbose mode (-v) the dot layout algorithm now notes when it is entering$$$each layout phase. #2540 (closed)$$$$$$$$$Breaking: The EXPANDBP macro has been removed.$$$$$$Breaking: The EXPANDBB macro has been removed.$$$$$$Breaking: Agclos_t.strdict is now an opaque pointer.$$$$$$Breaking: agstrfree takes an extra parameter indicating whether the$$$string being freed is an HTML-like string.$$$$$$Breaking: The agcanon function has been removed.$$$$$$Breaking: The Agiddisc_t.alloc member has been removed.$$$$$$Breaking: The cflag parameter to agidsubg has been removed.$$$The CMake build system now installs libgvpr.$$$The CMake build system now sets DFLT_GVPRPATH when compiling libgvpr.$$$The CMake build system now installs the included library of gvpr programs.$$$$$$Breaking: The all parameter to exclose has been removed.$$$MinGW on 32-bit x86 (“mingw32”) is no longer supported as a platform.$$$Installers and release archives for this platform are no longer provided.$$$#2649 (closed)$$$$$$$$$gvgen supports a new option; -u<seed>; for specifying the initial state of$$$the random number generator (RNG). The way in which the RNG is seeded has$$$slightly changed.$$$$$$Breaking: libcgraph’s SO name has been updated 6 ? 7.$$$The core plugin’s SVG output (-Tsvg; -Tsvg_inline) now sets$$$xml:space=preserve
Graphviz x64 Version 13.0.0
Release Date
5/8/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

13.0.0 – 2025-06-08$$$$$$Added$$$$$$Support for building the SWIG-generated Ruby language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_RUBY={AUTO|ON|OFF} option.$$$A new plugin for outputting ASCII art has been implemented; -Tascii. This$$$relies on AA-lib and is only$$$supported in the CMake build system. #2421 (closed)$$$$$$In gvpr; a new function rename() has been added for nodes. See man gvpr$$$for more information.$$$$$$$$$Changed$$$$$$If Quartz is enabled on macOS; the autotools build will include support for it$$$as a built-in plugin for static builds; for dependency free i.e. PDF support.$$$Improved agwrite so it is much faster (linear not quadratic) when there are$$$many small subgraphs. #2593 (closed)$$$$$$$$$Breaking: rank_t.cache_nc is now a int64_t.$$$$$$Breaking: The agreadline function has been removed. #2558$$$$$$$$$Breaking: gvRenderData takes its length parameter as a size_t *. The$$$GVJ_t fields output_data_allocated and output_data_position have type$$$size_t.$$$The GRAPHVIZ_CLI variable in the CMake build system now additionally$$$controls whether the utilities diffimg and prune are built.$$$$$$Breaking: The cgraph macros agnew and agnnew have been removed.$$$$$$Breaking: The cgraph functions agalloc; agrealloc; and agfree have$$$been removed.$$$$$$Breaking: The cdt queue types; DT_QUEUE; Dtqueue; _Dtqueue have been$$$removed.$$$$$$Breaking: The cdt aliases struct _dthold_s; struct _dtdata_s;$$$struct _dtmethod_s; struct _dtstat_s have been removed.$$$$$$Breaking: The cdt type _Dttree has been removed.$$$$$$Breaking: The cdt aliases struct _dtlink_s; struct _dtdisc_s; and$$$struct _dt_s have been renamed to struct dtlink_s_; struct dtdisc_s_;$$$and struct dt_s_ respectively.$$$$$$Breaking: The cdt macro DT_PRIME has been removed.$$$$$$Breaking: The cdt field Dt_t.data is now a Dtdata_t instead of$$$Dtdata_t *.$$$$$$Breaking: GVJ_t.imagedata is now an unsigned char *.$$$The sandboxer implemented in Graphviz 12.2.1; dot_sandbox; supports macOS.$$$The baseline version of Autoconf required to build Graphviz from source has$$$been upgraded 2.61 ? 2.69.$$$Building Graphviz from source now requires a C compiler with ISO C11 support.$$$GVPR programs are now able to print char and unsigned variables. #2587 (closed)$$$$$$CMake projects using Graphviz as a subproject (add_subdirectory) can now$$$link against and use cgraph; pathplan; and xdot.$$$CMake projects using Graphviz as an installed third-party dependency can now$$$discover its libraries with find_package(graphviz) and then use them as e.g.$$$target_link_libraries(myapp PRIVATE graphviz::cgraph). #2598 (closed)$$$$$$Verbose checkpath warnings about ports not lying in their expected boxes$$$have been removed.$$$In verbose mode (-v) the dot layout algorithm now notes when it is entering$$$each layout phase. #2540 (closed)$$$$$$$$$Breaking: The EXPANDBP macro has been removed.$$$$$$Breaking: The EXPANDBB macro has been removed.$$$$$$Breaking: Agclos_t.strdict is now an opaque pointer.$$$$$$Breaking: agstrfree takes an extra parameter indicating whether the$$$string being freed is an HTML-like string.$$$$$$Breaking: The agcanon function has been removed.$$$$$$Breaking: The Agiddisc_t.alloc member has been removed.$$$$$$Breaking: The cflag parameter to agidsubg has been removed.$$$The CMake build system now installs libgvpr.$$$The CMake build system now sets DFLT_GVPRPATH when compiling libgvpr.$$$The CMake build system now installs the included library of gvpr programs.$$$$$$Breaking: The all parameter to exclose has been removed.$$$MinGW on 32-bit x86 (“mingw32”) is no longer supported as a platform.$$$Installers and release archives for this platform are no longer provided.$$$#2649 (closed)$$$$$$$$$gvgen supports a new option; -u<seed>; for specifying the initial state of$$$the random number generator (RNG). The way in which the RNG is seeded has$$$slightly changed.$$$$$$Breaking: libcgraph’s SO name has been updated 6 ? 7.$$$The core plugin’s SVG output (-Tsvg; -Tsvg_inline) now sets$$$xml:space=preserve
Viz Version 2.2
Release Date
4/9/2025
Bug Fix?
No
Minor Release?
No
Patch Notes

Utility for extracting text from images; videos; QR codes and barcodes
Viz Version 1.9
Release Date
2/17/2025
Bug Fix?
No
Minor Release?
No
Patch Notes

Utility for extracting text from images; videos; QR codes and barcodes
Graphviz x86 Version 12.2.1
Release Date
12/7/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

12.2.1 – 2024-12-07$$$Added$$$$$$Support for building the SWIG-generated R language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_R={AUTO|ON|OFF} option.$$$A sandboxing wrapper; dot_sandbox; is now included with Graphviz. Users$$$should prefer their platform’s native security solutions; but if nothing$$$better is available this wrapper offers safe processing of untrusted inputs in$$$some scenarios.$$$$$$$$$Changed$$$$$$JPEG images without an APP0 leading segment are supported for use in src$$$fields and friends. Previously Graphviz was overly strict with the types of$$$JPEGs it would recognize. #2619$$$$$$The CMake build system now discovers and uses pango_fc_font_lock_face if$$$possible; for the Pango plugin to provide more information about used fonts.$$$$$$$$$Fixed$$$$$$The GVPR library program depath no longer acts on previously deleted nodes;$$$causing unpredictable results. #1702$$$$$$Void-typed function parameters (int foo(void bar)) and variables void baz;$$$in GVPR are gracefully rejected. #2585$$$$$$Input that induce a set node height but no set node width no longer crash with$$$the failure “Assertion failed: (r->boundary[i] <= r->boundary[NUMDIMS + i]);$$$function RTreeInsert”. It is typically not obvious to users when their input$$$falls into this situation; hence why the assertion message is quoted here.$$$This was a regression in Graphviz 12.0.0. #2613$$$$$$Strings containing double quote characters preceded by escape sequences (e.g.$$$$$$) are once again correctly escaped in dot or canonical output. This was a$$$regression in Graphviz 9.0.0. #2614$$$$$$$$$dot_builtins no longer lists duplicate format options in its error messages.$$$#2604$$$$$$A precision error that resulted in truncated edge lines has been corrected.$$$This was a regression in Graphviz 12.0.0. #2620$$$$$$The xlib plugin (-Tx11) resets its initialization state during finalization.$$$This fixes a rare scenario where multiple input graphs are supplied and$$$initialization for one of the not-first graphs fails. In this scenario;$$$finalization would be unaware of this failure and act on invalid state.
Graphviz x64 Version 12.2.1
Release Date
12/7/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

12.2.1 – 2024-12-07$$$$$$Added$$$$$$Support for building the SWIG-generated R language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_R={AUTO|ON|OFF} option.$$$A sandboxing wrapper; dot_sandbox; is now included with Graphviz. Users$$$should prefer their platform’s native security solutions; but if nothing$$$better is available this wrapper offers safe processing of untrusted inputs in$$$some scenarios.$$$$$$$$$Changed$$$$$$JPEG images without an APP0 leading segment are supported for use in src$$$fields and friends. Previously Graphviz was overly strict with the types of$$$JPEGs it would recognize. #2619$$$$$$The CMake build system now discovers and uses pango_fc_font_lock_face if$$$possible; for the Pango plugin to provide more information about used fonts.$$$$$$$$$Fixed$$$$$$The GVPR library program depath no longer acts on previously deleted nodes;$$$causing unpredictable results. #1702$$$$$$Void-typed function parameters (int foo(void bar)) and variables void baz;$$$in GVPR are gracefully rejected. #2585$$$$$$Input that induce a set node height but no set node width no longer crash with$$$the failure “Assertion failed: (r->boundary[i] <= r->boundary[NUMDIMS + i]);$$$function RTreeInsert”. It is typically not obvious to users when their input$$$falls into this situation; hence why the assertion message is quoted here.$$$This was a regression in Graphviz 12.0.0. #2613$$$$$$Strings containing double quote characters preceded by escape sequences (e.g.$$$$$$) are once again correctly escaped in dot or canonical output. This was a$$$regression in Graphviz 9.0.0. #2614$$$$$$$$$dot_builtins no longer lists duplicate format options in its error messages.$$$#2604$$$$$$A precision error that resulted in truncated edge lines has been corrected.$$$This was a regression in Graphviz 12.0.0. #2620$$$$$$The xlib plugin (-Tx11) resets its initialization state during finalization.$$$This fixes a rare scenario where multiple input graphs are supplied and$$$initialization for one of the not-first graphs fails. In this scenario;$$$finalization would be unaware of this failure and act on invalid state.
Graphviz x86 Version 12.2.0
Release Date
11/4/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

12.2.0 – 2024-11-04$$$$$$Removed$$$$$$Visual Studio build files have been removed. CMake is now the only supported$$$build system on Windows.$$$$$$$$$Added$$$$$$Support for building the SWIG-generated PHP language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_PHP={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated Python language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_PYTHON={AUTO|ON|OFF} option.$$$$$$$$$Changed$$$$$$An algorithm closer to that described in RFC 1942 and/or the CSS 2.1$$$specification is now used for sizing table cells within HTML-like labels. This$$$is less scalable than the network simplex algorithm it replaces; but in$$$general produces more intuitive results. #2159$$$$$$Tooltips on table elements within HTML-like labels are now propagated to SVGs$$$produced by the core plugin (-Tsvg) even when the elements do not have$$$href attributes. #1425$$$$$$In the Autotools build system; pkg-config is the only supported way for$$$discovering Guile. Previous use of guile-config* has been removed. #2606$$$$$$The Autotools release artifacts for macOS (Darwin_*_graphviz-*.tar.gz) now$$$use relative paths in links to dependent libraries and plugins. This should$$$make the tree relocatable instead of having to live at /Users/gitlab/builds.$$$#2501$$$$$$$$$gml2gv no longer maps GML label attributes to Graphviz name attributes.$$$These are now mapped to Graphviz label attributes. #2586$$$$$$$$$$$$Fixed$$$$$$In the Autotools build system; the core plugin links against libm; fixing some$$$unresolvable symbols. This was a regression in Graphviz 4.0.0. Though it would$$$primarily have affected non-Graphviz applications attempting to load this$$$plugin on Linux.$$$The osage layout engine 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$$$$$$$$$acyclic once again produces its output on stdout. This was a regression in$$$Graphviz 10.0.1. #2600$$$$$$When using the Tclpathplan module; created vgpanes can once again be named and$$$addressed. This was a regression in Graphviz 12.1.2.$$$Omitting a polygon identifier when running triangulation using the Tclpathplan$$$module (e.g. vgpane0 triangulate instead of vgpane0 triangulate 42) no$$$longer goes unnoticed and reads invalid memory. This bug seems to have existed$$$since the first revision of Graphviz.$$$When using the Tclpathplan module; defining a malformed <3-point polygon$$$and then attempting to triangulate this polygon no longer reads invalid$$$memory. This case is now rejected with an error during triangulation. Like the$$$previous entry; this bug seems to have existed since the first revision of$$$Graphviz.$$$When using the Tclpathplan module; binding a pane’s triangulation callback to$$$a string ending in a trailing % (e.g. vgpane0 bind triangle %) no longer$$$causes later out-of-bounds reads during triangulation. Like the previous$$$entries; this bug seems to have existed since the first revision of Graphviz.$$$#2596$$$$$$Mouse right-clicks in Smyrna are no longer sticky. In some contexts;$$$right-clicking the mouse would register a mouse down event but no mouse up$$$event; leading Smyrna to believe the user was dragging with the right button$$$held down.$$$Arrowhead missing from tail-end of edge #2437$$$$$$The Ruby bindings package (libgv-ruby) is once again installable on Ubuntu.$$$This became uninstallable when Ruby 1.8 was no longer available on Ubuntu; as$$$it had a hard coded dependency of Ruby 1.8. This has now been relaxed to$$$depend on any Ruby version = 1.8. #2607$$$$$$Generated GIFs and JPEGs display the graphed image instead of a single solid$$$color. This was a regression in Graphviz 12.1.1. #2609$$$$$$The CMake build system includes some supporting pieces of the SWIG-generated$$$language bindings that were previously missing. It also links further$$$dependencies that were previously missing.$$$In the
Graphviz x64 Version 12.2.0
Release Date
11/4/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

12.2.0 – 2024-11-04$$$$$$Removed$$$$$$Visual Studio build files have been removed. CMake is now the only supported$$$build system on Windows.$$$$$$$$$Added$$$$$$Support for building the SWIG-generated PHP language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_PHP={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated Python language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_PYTHON={AUTO|ON|OFF} option.$$$$$$$$$Changed$$$$$$An algorithm closer to that described in RFC 1942 and/or the CSS 2.1$$$specification is now used for sizing table cells within HTML-like labels. This$$$is less scalable than the network simplex algorithm it replaces; but in$$$general produces more intuitive results. #2159$$$$$$Tooltips on table elements within HTML-like labels are now propagated to SVGs$$$produced by the core plugin (-Tsvg) even when the elements do not have$$$href attributes. #1425$$$$$$In the Autotools build system; pkg-config is the only supported way for$$$discovering Guile. Previous use of guile-config* has been removed. #2606$$$$$$The Autotools release artifacts for macOS (Darwin_*_graphviz-*.tar.gz) now$$$use relative paths in links to dependent libraries and plugins. This should$$$make the tree relocatable instead of having to live at /Users/gitlab/builds.$$$#2501$$$$$$$$$gml2gv no longer maps GML label attributes to Graphviz name attributes.$$$These are now mapped to Graphviz label attributes. #2586$$$$$$$$$$$$Fixed$$$$$$In the Autotools build system; the core plugin links against libm; fixing some$$$unresolvable symbols. This was a regression in Graphviz 4.0.0. Though it would$$$primarily have affected non-Graphviz applications attempting to load this$$$plugin on Linux.$$$The osage layout engine 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$$$$$$$$$acyclic once again produces its output on stdout. This was a regression in$$$Graphviz 10.0.1. #2600$$$$$$When using the Tclpathplan module; created vgpanes can once again be named and$$$addressed. This was a regression in Graphviz 12.1.2.$$$Omitting a polygon identifier when running triangulation using the Tclpathplan$$$module (e.g. vgpane0 triangulate instead of vgpane0 triangulate 42) no$$$longer goes unnoticed and reads invalid memory. This bug seems to have existed$$$since the first revision of Graphviz.$$$When using the Tclpathplan module; defining a malformed <3-point polygon$$$and then attempting to triangulate this polygon no longer reads invalid$$$memory. This case is now rejected with an error during triangulation. Like the$$$previous entry; this bug seems to have existed since the first revision of$$$Graphviz.$$$When using the Tclpathplan module; binding a pane’s triangulation callback to$$$a string ending in a trailing % (e.g. vgpane0 bind triangle %) no longer$$$causes later out-of-bounds reads during triangulation. Like the previous$$$entries; this bug seems to have existed since the first revision of Graphviz.$$$#2596$$$$$$Mouse right-clicks in Smyrna are no longer sticky. In some contexts;$$$right-clicking the mouse would register a mouse down event but no mouse up$$$event; leading Smyrna to believe the user was dragging with the right button$$$held down.$$$Arrowhead missing from tail-end of edge #2437$$$$$$The Ruby bindings package (libgv-ruby) is once again installable on Ubuntu.$$$This became uninstallable when Ruby 1.8 was no longer available on Ubuntu; as$$$it had a hard coded dependency of Ruby 1.8. This has now been relaxed to$$$depend on any Ruby version = 1.8. #2607$$$$$$Generated GIFs and JPEGs display the graphed image instead of a single solid$$$color. This was a regression in Graphviz 12.1.1. #2609$$$$$$The CMake build system includes some supporting pieces of the SWIG-generated$$$language bindings that were previously missing. It also links further$$$dependencies that were previously missing.$$$In the
Graphviz x86 Version 12.1.2
Release Date
9/28/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

12.1.2 – 2024-09-28$$$$$$Changed$$$$$$In the Autotools build system; the rsvg plugin is no longer built when$$$pangocairo is missing. Previously; when librsvg was found but pangocairo was$$$not; this plugin would be enabled and built but offer no functionality.$$$The RSVG plugin now requires librsvg = 2.42.7.$$$The RSVG plugin uses newer librsvg APIs where available. #2206$$$$$$$$$$$$Fixed$$$$$$In the Autotools build system; fallback discovery of libANN when pkg-config$$$support is unavailable has been corrected to properly enable use of libANN.$$$This primarily affects mingle users on Debian-based operating systems or$$$macOS.$$$The RSVG plugin no longer dereferences a null pointer when failing to create$$$new RSVG handles.$$$The Pango plugin no longer assumes a little endian environment when loading PS$$$images.$$$Deleting a “vgpane” when using the Tclpathplan module no longer frees an$$$invalid pointer. This bug appears to have existed since the first revision of$$$Graphviz. That is; deleting a “vgpane” has always crashed the TCL interpreter$$$or silently corrupted the heap prior to this release.
Graphviz x64 Version 12.1.2
Release Date
9/28/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

12.1.2 – 2024-09-28$$$$$$Changed$$$$$$In the Autotools build system; the rsvg plugin is no longer built when$$$pangocairo is missing. Previously; when librsvg was found but pangocairo was$$$not; this plugin would be enabled and built but offer no functionality.$$$The RSVG plugin now requires librsvg = 2.42.7.$$$The RSVG plugin uses newer librsvg APIs where available. #2206$$$$$$$$$$$$Fixed$$$$$$In the Autotools build system; fallback discovery of libANN when pkg-config$$$support is unavailable has been corrected to properly enable use of libANN.$$$This primarily affects mingle users on Debian-based operating systems or$$$macOS.$$$The RSVG plugin no longer dereferences a null pointer when failing to create$$$new RSVG handles.$$$The Pango plugin no longer assumes a little endian environment when loading PS$$$images.$$$Deleting a “vgpane” when using the Tclpathplan module no longer frees an$$$invalid pointer. This bug appears to have existed since the first revision of$$$Graphviz. That is; deleting a “vgpane” has always crashed the TCL interpreter$$$or silently corrupted the heap prior to this release.
Graphviz x86 Version 12.1.1
Release Date
9/9/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

12.1.1 – 2024-09-09$$$$$$Added$$$$$$Support for building the SWIG-generated Guile language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_GUILE={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated Java language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_JAVA={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated Lua language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_LUA={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated Perl language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_PERL={AUTO|ON|OFF} option.$$$$$$$$$Changed$$$$$$Comparison against a plugin’s knowncolors array is now case-insensitive;$$$rather than requiring all entries of the array to be lower-cased. The$$$requirement that the knowncolors array is lexically ordered remains.$$$The Smyrna “Color Theme”; “Edge Attr. For Color”; and “Node Alpha” settings$$$have been removed. The values of these settings had no effect.$$$Graphviz libraries set close-on-exec on job output files being written and$$$user shape files being read. This should only affect applications using$$$Graphviz libraries that rely on a fork-and-exec-ed child subprocess being able$$$to access these open files. Applications with this requirement can regain the$$$old behavior by unsetting the close-on-exec flag immediately after creating$$$these objects. Graphviz libraries themselves are not affected by whether or$$$not this flag is set.$$$The Autotools build system no longer detects or uses the -perl option to$$$SWIG to build Perl language bindings. Only -perl5 is used.$$$$$$$$$Fixed$$$$$$A reference to the non-existent colxlate function in an error message has$$$been corrected to colorxlate.$$$$$$gvgen no longer crashes sometimes when running random graph generation. This$$$was a regression in Graphviz 12.0.0. #2588$$$$$$Dashed and dotted pen styles in VRML images loaded by the GD plugin have been$$$corrected.$$$$$$mm2gv no longer crashes when reading various types of malformed Matrix$$$Market files.$$$The edgepaint --color_scheme command-line option is once again functional.$$$This was a regression in Graphviz 2.49.0. #2591$$$$$$An incorrect deallocation call during OpenGL texture construction failure has$$$been corrected. This could previously have caused crashes or heap corruption.$$$This was a regression in Graphviz 2.26.0.$$$The CMake build on Windows no longer fails if TCL is detected. This was$$$technically a regression in 12.0.0 since building the Graphviz TCL bindings$$$was integrated into the CMake build system in that release. #2581$$$$$$When its output file cannot be opened; edgepaint no longer dereferences a$$$null pointer when printing its error message.
Graphviz x64 Version 12.1.1
Release Date
9/9/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Unreleased (12.1.2)$$$$$$$$$12.1.1 – 2024-09-09$$$$$$Added$$$$$$Support for building the SWIG-generated Guile language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_GUILE={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated Java language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_JAVA={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated Lua language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_LUA={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated Perl language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-DENABLE_PERL={AUTO|ON|OFF} option.$$$$$$$$$Changed$$$$$$Comparison against a plugin’s knowncolors array is now case-insensitive;$$$rather than requiring all entries of the array to be lower-cased. The$$$requirement that the knowncolors array is lexically ordered remains.$$$The Smyrna “Color Theme”; “Edge Attr. For Color”; and “Node Alpha” settings$$$have been removed. The values of these settings had no effect.$$$Graphviz libraries set close-on-exec on job output files being written and$$$user shape files being read. This should only affect applications using$$$Graphviz libraries that rely on a fork-and-exec-ed child subprocess being able$$$to access these open files. Applications with this requirement can regain the$$$old behavior by unsetting the close-on-exec flag immediately after creating$$$these objects. Graphviz libraries themselves are not affected by whether or$$$not this flag is set.$$$The Autotools build system no longer detects or uses the -perl option to$$$SWIG to build Perl language bindings. Only -perl5 is used.$$$$$$$$$Fixed$$$$$$A reference to the non-existent colxlate function in an error message has$$$been corrected to colorxlate.$$$$$$gvgen no longer crashes sometimes when running random graph generation. This$$$was a regression in Graphviz 12.0.0. #2588$$$$$$Dashed and dotted pen styles in VRML images loaded by the GD plugin have been$$$corrected.$$$$$$mm2gv no longer crashes when reading various types of malformed Matrix$$$Market files.$$$The edgepaint --color_scheme command-line option is once again functional.$$$This was a regression in Graphviz 2.49.0. #2591$$$$$$An incorrect deallocation call during OpenGL texture construction failure has$$$been corrected. This could previously have caused crashes or heap corruption.$$$This was a regression in Graphviz 2.26.0.$$$The CMake build on Windows no longer fails if TCL is detected. This was$$$technically a regression in 12.0.0 since building the Graphviz TCL bindings$$$was integrated into the CMake build system in that release. #2581$$$$$$When its output file cannot be opened; edgepaint no longer dereferences a$$$null pointer when printing its error message.
Graphviz x86 Version 12.0.0
Release Date
7/4/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

12.0.0 – 2024-07-04$$$Added$$$Support for building the Graphviz TCL bindings has been integrated into the$$$CMake build system. This is controllable by the -Denable_tcl={AUTO|ON|OFF}$$$option.$$$Support for building the SWIG-generated TCL language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-Denable_swig={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated C# language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-Denable_sharp={AUTO|ON|OFF} option.$$$$$$$$$Changed$$$$$$The Catch2-based test suite in the CMake build system has been ported from$$$Catch2 v2 to Catch2 v3. Support for Catch2 v2 has been removed. #2465$$$$$$The Windows release artifacts are now built on Windows 2022 and Visual Studio$$$2022 17 and toolset v143.$$$The macOS release artifacts are now built on macOS 13 (Ventura).$$$The CMake build system no longer links dot_builtins against libsocket.$$$The CMake build system now only compiles dot_builtins if building shared$$$libraries (-DBUILD_SHARED_LIBS=ON).$$$$$$Breaking: the polygon_t.style member is now a struct.$$$$$$Breaking: the LEN and MAXDOUBLE constants have been removed.$$$Accuracy in processing compass points has been improved.$$$$$$Breaking: the CMYK_BYTE member of the color_type_t enum and the$$$corresponding gvolor_t.u.cmyk field have been removed. The color format this$$$mapped to was neither documented nor implemented correctly.$$$The Windows releases available for download on graphviz.org now only include$$$CMake-produced packages; not MS Build-produced packages. The MS Build packages$$$are available in the$$$Gitlab package registry if$$$needed.$$$The CMake build system more pervasively sets rpaths of compiled binaries;$$$libraries; and plugins; which should result in them more reliably finding$$$their supporting components.$$$without $LD_LIBRARY_PATH/$DYLD_LIBRARY_PATH tricks.$$$$$$Breaking: the Agraph_t.n_id field is now an opaque pointer.$$$$$$Breaking: the libpack functions putGraphs; putRects; and shiftGraphs$$$now operate on floating-point points (pointf) instead of integer points$$$(point).$$$$$$Breaking: the BF2B macro has been removed.$$$$$$Breaking: the undocumented -Tmp output format has been removed.$$$$$$Breaking: the arith.h header defines neither _GNU_SOURCE nor sincos$$$any more. None of the build systems attempt to discover sincos any more.$$$The FIG output format (-Tfig) supports up to 512 custom colors. The previous$$$limit was 256; after which it would crash (see note in the “Fixed” section).$$$$$$Breaking: The TCL binding’s tcldot_layout function no longer tries to$$$fallback to the dot layout engine if the requested engine is unavailable but$$$instead fails with an error message.$$$The TCL binding’s graph render command no longer ignores layout errors.$$$The TCL binding’s graph write command now does layout unconditionally;$$$regardless of what output renderer is selected.$$$The CMake build system builds cgraph++ and gvc++ as either shared or static$$$libraries; respecting the BUILD_SHARED_LIBS setting.$$$Discovery of the fcntl.h header has been removed from all build systems. This$$$header is now unconditionally assumed to exist.$$$$$$Breaking: obj_state_t.gradient_frac is now a double.$$$$$$Breaking: path.nbox is now a size_t.$$$The change described as “Some routesplines miscalculations that led to lost$$$edges and fatal errors have been avoided” in 11.0.0 has been reverted. The fix$$$for this caused other problems.$$$$$$Breaking: the d and disc parameters have been removed from$$$Dtcompar_f.$$$CentOS packages are no longer provided.$$$In the CMake build system; the minimum required CMake version has been$$$increased to 3.14.1.$$$$$$Breaking: the disc parameter has been removed from Dtfree_f.$$$Gvedit no longer depends on the getopt library.
Graphviz x64 Version 12.0.0
Release Date
7/4/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

12.0.0 – 2024-07-04$$$Added$$$Support for building the Graphviz TCL bindings has been integrated into the$$$CMake build system. This is controllable by the -Denable_tcl={AUTO|ON|OFF}$$$option.$$$Support for building the SWIG-generated TCL language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-Denable_swig={AUTO|ON|OFF} option.$$$Support for building the SWIG-generated C# language bindings has been$$$integrated into the CMake build system. This is controllable by the$$$-Denable_sharp={AUTO|ON|OFF} option.$$$Changed$$$The Catch2-based test suite in the CMake build system has been ported from$$$Catch2 v2 to Catch2 v3. Support for Catch2 v2 has been removed. #2465$$$$$$The Windows release artifacts are now built on Windows 2022 and Visual Studio$$$2022 17 and toolset v143.$$$The macOS release artifacts are now built on macOS 13 (Ventura).$$$The CMake build system no longer links dot_builtins against libsocket.$$$The CMake build system now only compiles dot_builtins if building shared$$$libraries (-DBUILD_SHARED_LIBS=ON).$$$$$$Breaking: the polygon_t.style member is now a struct.$$$$$$Breaking: the LEN and MAXDOUBLE constants have been removed.$$$Accuracy in processing compass points has been improved.$$$Breaking: the CMYK_BYTE member of the color_type_t enum and the$$$corresponding gvolor_t.u.cmyk field have been removed. The color format this$$$mapped to was neither documented nor implemented correctly.$$$The Windows releases available for download on graphviz.org now only include$$$CMake-produced packages; not MS Build-produced packages. The MS Build packages$$$are available in the$$$Gitlab package registry if$$$needed.$$$The CMake build system more pervasively sets rpaths of compiled binaries;$$$libraries; and plugins; which should result in them more reliably finding$$$their supporting components.$$$without $LD_LIBRARY_PATH/$DYLD_LIBRARY_PATH tricks.$$$$$$Breaking: the Agraph_t.n_id field is now an opaque pointer.$$$$$$Breaking: the libpack functions putGraphs; putRects; and shiftGraphs$$$now operate on floating-point points (pointf) instead of integer points$$$(point).$$$$$$Breaking: the BF2B macro has been removed.$$$$$$Breaking: the undocumented -Tmp output format has been removed.$$$$$$Breaking: the arith.h header defines neither _GNU_SOURCE nor sincos$$$any more. None of the build systems attempt to discover sincos any more.$$$The FIG output format (-Tfig) supports up to 512 custom colors. The previous$$$limit was 256; after which it would crash (see note in the “Fixed” section).$$$$$$Breaking: The TCL binding’s tcldot_layout function no longer tries to$$$fallback to the dot layout engine if the requested engine is unavailable but$$$instead fails with an error message.$$$The TCL binding’s graph render command no longer ignores layout errors.$$$The TCL binding’s graph write command now does layout unconditionally;$$$regardless of what output renderer is selected.$$$The CMake build system builds cgraph++ and gvc++ as either shared or static$$$libraries; respecting the BUILD_SHARED_LIBS setting.$$$Discovery of the fcntl.h header has been removed from all build systems. This$$$header is now unconditionally assumed to exist.$$$$$$Breaking: obj_state_t.gradient_frac is now a double.$$$$$$Breaking: path.nbox is now a size_t.$$$The change described as “Some routesplines miscalculations that led to lost$$$edges and fatal errors have been avoided” in 11.0.0 has been reverted. The fix$$$for this caused other problems.$$$$$$Breaking: the d and disc parameters have been removed from$$$Dtcompar_f.$$$CentOS packages are no longer provided.$$$In the CMake build system; the minimum required CMake version has been$$$increased to 3.14.1.$$$$$$Breaking: the disc parameter has been removed from Dtfree_f.$$$Gvedit no longer depends on the getopt library.$$$$$$$$$Fixed$$$$$$The CMake build system now uses absolute paths to PangoCairo libraries during$$$linking; resolving build problems on macOS.$$$The CMake build system’s path for third-party headers for the DevIL plugin has$$$been co
Graphviz x86 Version 11.0.0
Release Date
4/28/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

11.0.0 – 2024-04-28$$$$$$Added$$$$$$$$$gv2gml gained a -y option to output the yWorks.com variant of GML instead$$$of the default.$$$A new command line option; --filepath=… has been added to perform the$$$function previously served by the $GV_FILE_PATH environment variable; use of$$$which was removed in Graphviz 6.0.1. Unlike the old $GV_FILE_PATH mechanism;$$$--filepath=… takes effect regardless of the setting of the $SERVER_NAME$$$environment variable. #2396$$$$$$$$$$$$Changed$$$$$$$$$gvpack; in addition to recognizing a “cluster” name prefix as a mark of a$$$cluster; now recognizes this case insensitively as well as recognizing the$$$cluster attribute. This is more consistent with how the Graphviz libraries$$$work.$$$$$$Breaking: pkg-config (.pc) files shipped with Graphviz now include$$$${prefix}/include in the include path in addition to$$$${prefix}/include/graphviz. Previously this missing path meant building$$$Graphviz demo examples against an installation of Graphviz in a non-system$$$path would not work. #2474$$$$$$The core PostScript output format (-Tps) warns if using an$$$out-of-specification font name. To avoid this; use a more sophisticated output$$$format like Cairo (-Tps:cairo) that does font name lookup and translation.$$$#218$$$$$$$$$Breaking: The libpack functions putRects; packRects; putGraphs;$$$packGraphs; packSubgraphs; pack_graph; shiftGraphs; ccomps;$$$cccomps; and pccomps now take the number of items they are operating on$$$(ng) as a size_t.$$$$$$Breaking: The bsearch_cmpf and qsort_cmpf typedefs have been removed.$$$$$$dot -c -v; when constructing the config6 file; includes comments explaining$$$any attempted actions that failed during plugin loading. #2456$$$$$$$$$Breaking: The Ndim global is now a unsigned short.$$$fdpgen no longer truncates graph names when inferring new names for connected$$$component subgraphs.$$$$$$Breaking: The nodequeue type has been removed.$$$$$$Breaking: The field Agraphinfo_t.n_nodes has been removed. The function$$$agnnodes is a more robust way of retrieving the number of nodes.$$$The -q command line option will now suppress “no hard-coded metrics…”$$$and other font lookup warnings. #2379$$$$$$$$$Breaking: The CMP and SGN macros have been removed.$$$The CMake build system no longer early-binds all enabled plugins into$$$dot/dot. This early binding was a change introduced in 10.0.1; but was$$$not noted in this changelog. Traditionally; of the three Graphviz build$$$systems (Autotools; CMake; MS Build); only changes to the Autotools build$$$system were noted in this changelog under the assumption that packaging$$$ecosystems making use of the other two build systems would need finer grained$$$details and would be monitoring the Git commit history instead. This seems to$$$not be the case; so in future side-effecting changes to any of the three build$$$systems will be included here. #2527; #2528$$$$$$The precision of sep- and esep-based calculations has been improved.$$$$$$Breaking: Defines AGRAPH; AGNODE; AGOUTEDGE; AGINEDGE; and AGEDGE are$$$replaced with enum.$$$$$$Breaking: The obj_state_t.url_bsplinemap_poly_n field is now a size_t$$$and the obj_state_t.url_bsplinemap_n field is now a size_t *.$$$$$$Breaking: The Ppoly_t.pn (Ppolyline_t.pn) field is now a size_t.$$$$$$Breaking: The Proutespline function takes its n_barriers parameter as$$$a size_t.$$$$$$Breaking: The gvattr_t type and the GVJ_t.selected_obj_attributes and$$$GVJ_t.selected_obj_type_name fields have been removed.$$$$$$Breaking: The gv_argvlist_t type and functions that operate on it have$$$been removed.$$$Control characters in some error messages are escaped; preventing certain$$$types of text injection that could cause user confusion.$$$$$$Breaking: GVJ_t.numkeys is a size_t.$$$$$$$$$Fixed$$$$$$Indexing within gvNextInputGraph no longer incorrectly retains the index$$$from prior use of the GVC context. When using Graphviz libraries$$$programmatically; this could previously cause crashes or misbehavior. #2484$$$$$$Color schemes; typically controlled through the colorscheme attribute are$$$now pushed
Graphviz x64 Version 11.0.0
Release Date
4/28/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

11.0.0 – 2024-04-28$$$$$$Added$$$$$$$$$gv2gml gained a -y option to output the yWorks.com variant of GML instead$$$of the default.$$$A new command line option; --filepath=… has been added to perform the$$$function previously served by the $GV_FILE_PATH environment variable; use of$$$which was removed in Graphviz 6.0.1. Unlike the old $GV_FILE_PATH mechanism;$$$--filepath=… takes effect regardless of the setting of the $SERVER_NAME$$$environment variable. #2396$$$$$$$$$$$$Changed$$$$$$$$$gvpack; in addition to recognizing a “cluster” name prefix as a mark of a$$$cluster; now recognizes this case insensitively as well as recognizing the$$$cluster attribute. This is more consistent with how the Graphviz libraries$$$work.$$$$$$Breaking: pkg-config (.pc) files shipped with Graphviz now include$$$${prefix}/include in the include path in addition to$$$${prefix}/include/graphviz. Previously this missing path meant building$$$Graphviz demo examples against an installation of Graphviz in a non-system$$$path would not work. #2474$$$$$$The core PostScript output format (-Tps) warns if using an$$$out-of-specification font name. To avoid this; use a more sophisticated output$$$format like Cairo (-Tps:cairo) that does font name lookup and translation.$$$#218$$$$$$$$$Breaking: The libpack functions putRects; packRects; putGraphs;$$$packGraphs; packSubgraphs; pack_graph; shiftGraphs; ccomps;$$$cccomps; and pccomps now take the number of items they are operating on$$$(ng) as a size_t.$$$$$$Breaking: The bsearch_cmpf and qsort_cmpf typedefs have been removed.$$$$$$dot -c -v; when constructing the config6 file; includes comments explaining$$$any attempted actions that failed during plugin loading. #2456$$$$$$$$$Breaking: The Ndim global is now a unsigned short.$$$fdpgen no longer truncates graph names when inferring new names for connected$$$component subgraphs.$$$$$$Breaking: The nodequeue type has been removed.$$$$$$Breaking: The field Agraphinfo_t.n_nodes has been removed. The function$$$agnnodes is a more robust way of retrieving the number of nodes.$$$The -q command line option will now suppress “no hard-coded metrics…”$$$and other font lookup warnings. #2379$$$$$$$$$Breaking: The CMP and SGN macros have been removed.$$$The CMake build system no longer early-binds all enabled plugins into$$$dot/dot. This early binding was a change introduced in 10.0.1; but was$$$not noted in this changelog. Traditionally; of the three Graphviz build$$$systems (Autotools; CMake; MS Build); only changes to the Autotools build$$$system were noted in this changelog under the assumption that packaging$$$ecosystems making use of the other two build systems would need finer grained$$$details and would be monitoring the Git commit history instead. This seems to$$$not be the case; so in future side-effecting changes to any of the three build$$$systems will be included here. #2527; #2528$$$$$$The precision of sep- and esep-based calculations has been improved.$$$$$$Breaking: Defines AGRAPH; AGNODE; AGOUTEDGE; AGINEDGE; and AGEDGE are$$$replaced with enum.$$$$$$Breaking: The obj_state_t.url_bsplinemap_poly_n field is now a size_t$$$and the obj_state_t.url_bsplinemap_n field is now a size_t *.$$$$$$Breaking: The Ppoly_t.pn (Ppolyline_t.pn) field is now a size_t.$$$$$$Breaking: The Proutespline function takes its n_barriers parameter as$$$a size_t.$$$$$$Breaking: The gvattr_t type and the GVJ_t.selected_obj_attributes and$$$GVJ_t.selected_obj_type_name fields have been removed.$$$$$$Breaking: The gv_argvlist_t type and functions that operate on it have$$$been removed.$$$Control characters in some error messages are escaped; preventing certain$$$types of text injection that could cause user confusion.$$$$$$Breaking: GVJ_t.numkeys is a size_t.$$$$$$$$$Fixed$$$$$$Indexing within gvNextInputGraph no longer incorrectly retains the index$$$from prior use of the GVC context. When using Graphviz libraries$$$programmatically; this could previously cause crashes or misbehavior. #2484$$$$$$Color schemes; typically controlled through the colorscheme attribute are$$$now pushed
Graphviz x64 Version 10.0.1
Release Date
2/11/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

10.0.1 – 2024-02-11$$$$$$Added$$$$$$Releases now include packages for Rocky Linux 8 and$$$9.$$$A new output format; -Tsvg_inline; has been added to generate a header-less$$$SVG suitable for inlining into HTML. #2285$$$$$$The functionality of the acyclic; tred and unflatten command line tools$$$are now exposed via the graphviz_acyclic; graphviz_tred and$$$graphviz_unflatten API functions in libcgraph. #2194$$$$$$$$$graphviz_node_induce is available as a new API function in cgraph.h.$$$$$$tred gained a -o command line option to redirect its output to a file.$$$$$$$$$Changed$$$$$$The Criterion unit tests have been removed and migrated to Pytest. This is$$$primarily relevant to downstream packagers of Graphviz. #2443$$$$$$$$$Breaking: Dtdisc_t.memoryf and its associated macros has been removed.$$$$$$Breaking: The Dt_t.type field has been removed.$$$$$$Breaking: The dtfound; DT_FOUND; dtleast; and dtmost macros have$$$been removed.$$$The nrtmain.c test program has been removed from the portable tarball.$$$The TCL Graphviz packages for inter-release versions/snapshots report$$$themselves as <next release>b<internal number> instead of$$$<next release>~dev.<internal number>. This fixes a problem wherein TCL would$$$see ~dev as being invalid characters to appear in a version. #2370$$$$$$Support for discovering Lua via lua-config* has been removed from the$$$Autotools build system.$$$Lua discovery in the Autotools build system should now respect the location of$$$your Lua installation and not unconditionally attempt installation into$$$/usr. #2152$$$$$$The GTK plugin is no longer built or distributed. This plugin relies on GTK 2$$$and X11. If you use this plugin; please contact the maintainers to let$$$them know it is worthwhile re-enabling this and forward porting it to GTK 3/4$$$and Wayland. #1848$$$$$$In the Autotools build system; LIBPOSTFIX= can now be used to suppress 64$$$being appended to the library installation path.$$$The -m command line option; whose functionality was disabled in Graphviz$$$3.0.0; has been removed.$$$Man page typography has been slightly improved.$$$macOS release artifacts no longer include vimdot. This may be restored in$$$future. #2423$$$$$$macOS release artifacts no longer include smyrna. This may be restored in$$$future. #2422$$$$$$The PDF output format; -Tpdf; respects the environment variable$$$$SOURCE_DATE_EPOCH for overriding CreationDate when built against Cairo$$$= 1.16.0. #2473$$$$$$The legacy C# viewer app is no longer distributed in the portable source$$$tarball.$$$Graphviz headers no longer define the FALSE and TRUE constants.$$$The Autotools build system no longer supports Darwin 9 (Mac OSX Leopard).$$$$$$Breaking: Agraph_t.link has been split into Agraph_t.id_link and$$$Agraph_t.seq_link. Agraph_t.g_dict has been split into Agraph_t.g_id$$$and Agraph_t.g_seq.$$$$$$Breaking: gvpropts.n_outgraphs is now a size_t.$$$The OCaml bindings have been removed. If you use these bindings; please contact$$$the maintainers to notify them of the existence of users.$$$$$$Breaking: polygon_t.sides and polygon_t.peripheries are now size_ts.$$$$$$Breaking: liblab_gamut is no longer included in a Graphviz installation.$$$This library had no accompanying header; so using it was not easy. If you are$$$using this library; please contact the maintainers to notify them of the$$$existence of users. #2489$$$$$$$$$Breaking: bezier.size and splines.size are now size_ts.$$$$$$Breaking: the gv.i and gv.cpp SWIG inputs are no longer included in a$$$Graphviz installation. #2491$$$$$$$$$Breaking: the gvrender_engine_t.beziercurve;$$$gvrender_engine_t.library_shape; gvrender_engine_t.polygon; and$$$gvrender_engine_t.polyline callbacks now take the number of points; n; as$$$a size_t.$$$$$$Breaking: the AVG macro has been removed.$$$$$$Breaking: the inside_t.s union member gained members lastn; radius;$$$last_poly; last; outp; scalex; scaley; box_URx; and box_URy.$$$Zero initialize these when you construct instances of this type. #2498$$$$$$$$$$$$Fixed$$$$$$The paper size for Doxygen docs generation in the Autotools build system
Graphviz x64 Version 10.0.1
Release Date
2/11/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

10.0.1 – 2024-02-11$$$$$$Added$$$$$$Releases now include packages for Rocky Linux 8 and$$$9.$$$A new output format; -Tsvg_inline; has been added to generate a header-less$$$SVG suitable for inlining into HTML. #2285$$$$$$The functionality of the acyclic; tred and unflatten command line tools$$$are now exposed via the graphviz_acyclic; graphviz_tred and$$$graphviz_unflatten API functions in libcgraph. #2194$$$$$$$$$graphviz_node_induce is available as a new API function in cgraph.h.$$$$$$tred gained a -o command line option to redirect its output to a file.$$$$$$$$$Changed$$$$$$The Criterion unit tests have been removed and migrated to Pytest. This is$$$primarily relevant to downstream packagers of Graphviz. #2443$$$$$$$$$Breaking: Dtdisc_t.memoryf and its associated macros has been removed.$$$$$$Breaking: The Dt_t.type field has been removed.$$$$$$Breaking: The dtfound; DT_FOUND; dtleast; and dtmost macros have$$$been removed.$$$The nrtmain.c test program has been removed from the portable tarball.$$$The TCL Graphviz packages for inter-release versions/snapshots report$$$themselves as <next release>b<internal number> instead of$$$<next release>~dev.<internal number>. This fixes a problem wherein TCL would$$$see ~dev as being invalid characters to appear in a version. #2370$$$$$$Support for discovering Lua via lua-config* has been removed from the$$$Autotools build system.$$$Lua discovery in the Autotools build system should now respect the location of$$$your Lua installation and not unconditionally attempt installation into$$$/usr. #2152$$$$$$The GTK plugin is no longer built or distributed. This plugin relies on GTK 2$$$and X11. If you use this plugin; please contact the maintainers to let$$$them know it is worthwhile re-enabling this and forward porting it to GTK 3/4$$$and Wayland. #1848$$$$$$In the Autotools build system; LIBPOSTFIX= can now be used to suppress 64$$$being appended to the library installation path.$$$The -m command line option; whose functionality was disabled in Graphviz$$$3.0.0; has been removed.$$$Man page typography has been slightly improved.$$$macOS release artifacts no longer include vimdot. This may be restored in$$$future. #2423$$$$$$macOS release artifacts no longer include smyrna. This may be restored in$$$future. #2422$$$$$$The PDF output format; -Tpdf; respects the environment variable$$$$SOURCE_DATE_EPOCH for overriding CreationDate when built against Cairo$$$= 1.16.0. #2473$$$$$$The legacy C# viewer app is no longer distributed in the portable source$$$tarball.$$$Graphviz headers no longer define the FALSE and TRUE constants.$$$The Autotools build system no longer supports Darwin 9 (Mac OSX Leopard).$$$$$$Breaking: Agraph_t.link has been split into Agraph_t.id_link and$$$Agraph_t.seq_link. Agraph_t.g_dict has been split into Agraph_t.g_id$$$and Agraph_t.g_seq.$$$$$$Breaking: gvpropts.n_outgraphs is now a size_t.$$$The OCaml bindings have been removed. If you use these bindings; please contact$$$the maintainers to notify them of the existence of users.$$$$$$Breaking: polygon_t.sides and polygon_t.peripheries are now size_ts.$$$$$$Breaking: liblab_gamut is no longer included in a Graphviz installation.$$$This library had no accompanying header; so using it was not easy. If you are$$$using this library; please contact the maintainers to notify them of the$$$existence of users. #2489$$$$$$$$$Breaking: bezier.size and splines.size are now size_ts.$$$$$$Breaking: the gv.i and gv.cpp SWIG inputs are no longer included in a$$$Graphviz installation. #2491$$$$$$$$$Breaking: the gvrender_engine_t.beziercurve;$$$gvrender_engine_t.library_shape; gvrender_engine_t.polygon; and$$$gvrender_engine_t.polyline callbacks now take the number of points; n; as$$$a size_t.$$$$$$Breaking: the AVG macro has been removed.$$$$$$Breaking: the inside_t.s union member gained members lastn; radius;$$$last_poly; last; outp; scalex; scaley; box_URx; and box_URy.$$$Zero initialize these when you construct instances of this type. #2498$$$$$$$$$$$$Fixed$$$$$$The paper size for Doxygen docs generation in the Autotools build system
Graphviz x64 Version 9.0.0
Release Date
9/12/2023
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

9.0.0 - 2023-09-11$$$$$$Added$$$$$$On non-Windows platforms; new -Tkitty and -Tkittyz output formats are$$$available that render to the Kitty terminal emulator’s graphvics protocol.$$$HTML/CSS-style 3 letter hex colors are supported. Each R/G/B letter is$$$duplicated to form a 6 letter hex color. E.g. #09c is equivalent to$$$#0099cc. #2377$$$$$$$$$$$$Changed$$$$$$$$$Breaking: The definition of adjmatrix_t is no longer exposed in public$$$headers.$$$$$$Breaking: The upper limit for minimum edge length (Agedgeinfo_t.minlen)$$$has been expanded from USHRT_MAX to INT_MAX. #2413$$$$$$$$$Breaking: The libcdt macros DTTREEMATCH; DTTREESEARCH; dtvnext;$$$dtvcount; dtvhere; and dtcharhash have been removed.$$$$$$Breaking: The libcgraph macros AGHEADPOINTER; AGRIGHTPOINTER;$$$AGLEFTPOINTER; FIRSTNREF; NEXTNREF; PREVNREF; LASTNREF; NODEOF;$$$FIRSTOUTREF; LASTOUTREF; FIRSTINREF; NEXTEREF; and PREVEREF have$$$been removed.$$$$$$Breaking: The libcgraph types Agnoderef_t and Agedgeref_t have been$$$removed.$$$$$$Breaking: The libcgraph function agflatten has been removed.$$$$$$Breaking: The Agdesc_s.flatlock field has been removed.$$$$$$Breaking: The str parameter from gvPluginList has been removed.$$$$$$Breaking: The definition of the elist_append and alloc_elist macros$$$have been changed to use newer allocation functions. Users were/are not$$$expected to call these macros.$$$The functions ageqedge; agtail; aghead; agopp; agmkout; and agmkin$$$have been reintroduced. These were previously removed in Graphviz 3.0.0. #2433$$$$$$$$$Breaking: The first parameter dt to the makef and freef callbacks$$$defined in cdt.h has been removed.$$$Gvedit now identifies itself with organization name “Graphviz” and application$$$name “gvedit” when reading and writing Qt-based settings. It would previously$$$use organization name “Trolltech” and application name “MDI Example”. If you$$$have existing settings under the old identification; Gvedit will attempt to$$$migrate them to the new identification the first time it reads then writes$$$settings. #2383$$$$$$$$$Breaking: gvprintf is now tagged with$$$__attribute__((format(printf; …))) when compiling with Clang or GCC. This$$$enables the compiler to spot more misuses of this function. #2373$$$$$$$$$Breaking: The hashf and eventf members of Dtdisc_t have been$$$removed. Correspondingly; the hshf and evf parameters to the DTDISC$$$macro have been removed. Also the _DTHSH macro has been removed.$$$$$$Breaking: The Dtdata_t.minp field has been removed.$$$The print functionality of the macOS Graphviz app scales the graph to fit the$$$output page size.$$$$$$Breaking: The libcdt containers Dtbag; Dthash; Dtlist; Dtorder;$$$Dtdeque; and Dtstack have been removed.$$$$$$Breaking: The libcdt dtappend and dtattach macros have been removed.$$$Support for Lua 5.0 has been removed. Building the Graphviz Lua bindings now$$$requires Lua = 5.1.$$$$$$Breaking: The Dt_t* parameter to the callback for dtwalk has been$$$removed.$$$$$$Breaking: The POINTS_PER_PC macro has been removed.$$$$$$Breaking: The INITIAL_XDOT_CAPACITY macro has been removed.$$$$$$Breaking: The type parameter to dtdisc has been removed.$$$$$$Breaking: The h parameter to dtstrhash has been removed.$$$In addition to Guile 2.0 and Guile 2.2; Guile 3.0 is now supported by the$$$Graphviz Guile bindings.$$$$$$Breaking: The concept of “memory allocator discipline” has been removed;$$$along with the type Agmemdisc_t and fields Agdisc_t.mem and$$$Agdstate_t.mem.$$$$$$Breaking: The agcallbacks function and Agclos_t.callbacks_enabled have$$$been removed.$$$$$$Breaking: pack_info.doSplines is now a C99 bool. Correspondingly; the$$$doSplines parameter to shiftGraphs is now a C99 bool.$$$$$$$$$Fixed$$$$$$Processing large graphs that induce ranks containing more than 46340$$$(floor(vINT_MAX)) nodes no longer results in an integer overflow during$$$crossing matrix allocation. Ranks of up to floor(vSIZE_MAX) nodes are now$$$supported.$$$Double arrow head types like invdot and onormalonormal once again display$$$correctly. This was a regression in Graphviz 8.0.1. #2406$$$$$$The lv
Graphviz x64 Version 9.0.0
Release Date
9/12/2023
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

9.0.0 - 2023-09-11$$$$$$Added$$$$$$On non-Windows platforms; new -Tkitty and -Tkittyz output formats are$$$available that render to the Kitty terminal emulator’s graphvics protocol.$$$HTML/CSS-style 3 letter hex colors are supported. Each R/G/B letter is$$$duplicated to form a 6 letter hex color. E.g. #09c is equivalent to$$$#0099cc. #2377$$$$$$$$$$$$Changed$$$$$$$$$Breaking: The definition of adjmatrix_t is no longer exposed in public$$$headers.$$$$$$Breaking: The upper limit for minimum edge length (Agedgeinfo_t.minlen)$$$has been expanded from USHRT_MAX to INT_MAX. #2413$$$$$$$$$Breaking: The libcdt macros DTTREEMATCH; DTTREESEARCH; dtvnext;$$$dtvcount; dtvhere; and dtcharhash have been removed.$$$$$$Breaking: The libcgraph macros AGHEADPOINTER; AGRIGHTPOINTER;$$$AGLEFTPOINTER; FIRSTNREF; NEXTNREF; PREVNREF; LASTNREF; NODEOF;$$$FIRSTOUTREF; LASTOUTREF; FIRSTINREF; NEXTEREF; and PREVEREF have$$$been removed.$$$$$$Breaking: The libcgraph types Agnoderef_t and Agedgeref_t have been$$$removed.$$$$$$Breaking: The libcgraph function agflatten has been removed.$$$$$$Breaking: The Agdesc_s.flatlock field has been removed.$$$$$$Breaking: The str parameter from gvPluginList has been removed.$$$$$$Breaking: The definition of the elist_append and alloc_elist macros$$$have been changed to use newer allocation functions. Users were/are not$$$expected to call these macros.$$$The functions ageqedge; agtail; aghead; agopp; agmkout; and agmkin$$$have been reintroduced. These were previously removed in Graphviz 3.0.0. #2433$$$$$$$$$Breaking: The first parameter dt to the makef and freef callbacks$$$defined in cdt.h has been removed.$$$Gvedit now identifies itself with organization name “Graphviz” and application$$$name “gvedit” when reading and writing Qt-based settings. It would previously$$$use organization name “Trolltech” and application name “MDI Example”. If you$$$have existing settings under the old identification; Gvedit will attempt to$$$migrate them to the new identification the first time it reads then writes$$$settings. #2383$$$$$$$$$Breaking: gvprintf is now tagged with$$$__attribute__((format(printf; …))) when compiling with Clang or GCC. This$$$enables the compiler to spot more misuses of this function. #2373$$$$$$$$$Breaking: The hashf and eventf members of Dtdisc_t have been$$$removed. Correspondingly; the hshf and evf parameters to the DTDISC$$$macro have been removed. Also the _DTHSH macro has been removed.$$$$$$Breaking: The Dtdata_t.minp field has been removed.$$$The print functionality of the macOS Graphviz app scales the graph to fit the$$$output page size.$$$$$$Breaking: The libcdt containers Dtbag; Dthash; Dtlist; Dtorder;$$$Dtdeque; and Dtstack have been removed.$$$$$$Breaking: The libcdt dtappend and dtattach macros have been removed.$$$Support for Lua 5.0 has been removed. Building the Graphviz Lua bindings now$$$requires Lua = 5.1.$$$$$$Breaking: The Dt_t* parameter to the callback for dtwalk has been$$$removed.$$$$$$Breaking: The POINTS_PER_PC macro has been removed.$$$$$$Breaking: The INITIAL_XDOT_CAPACITY macro has been removed.$$$$$$Breaking: The type parameter to dtdisc has been removed.$$$$$$Breaking: The h parameter to dtstrhash has been removed.$$$In addition to Guile 2.0 and Guile 2.2; Guile 3.0 is now supported by the$$$Graphviz Guile bindings.$$$$$$Breaking: The concept of “memory allocator discipline” has been removed;$$$along with the type Agmemdisc_t and fields Agdisc_t.mem and$$$Agdstate_t.mem.$$$$$$Breaking: The agcallbacks function and Agclos_t.callbacks_enabled have$$$been removed.$$$$$$Breaking: pack_info.doSplines is now a C99 bool. Correspondingly; the$$$doSplines parameter to shiftGraphs is now a C99 bool.$$$$$$$$$Fixed$$$$$$Processing large graphs that induce ranks containing more than 46340$$$(floor(vINT_MAX)) nodes no longer results in an integer overflow during$$$crossing matrix allocation. Ranks of up to floor(vSIZE_MAX) nodes are now$$$supported.$$$Double arrow head types like invdot and onormalonormal once again display$$$correctly. This was a regression in Graphviz 8.0.1. #2406$$$$$$The lv
Interested in automating patching for Viz?