Releases: martido/homebrew-graph
Release list
2.6.2
2.6.1
Fixed issue in delegated brew deps command: Error: invalid option: --all. This version updates the old --all option to the current --eval-all. Contributed by @davidrupp.
2.6
Added the following improvements and features:
- Add a
--reduceoption to apply transitive reduction to the dependency graph. See the README for more details. Contributed by Victor Maslov. - Use the full name for formulae and their dependencies to ensure that the graph is consistent. Contributed by Masud Rahman.
2.5.1
2.5
Previously, brew-graph only created shallow dependency graphs for formulae arguments, i.e. it considered all dependencies as first-level dependencies. For example, the graph for openssh looked like this:
digraph G {
"openssh";
"gdbm";
"ldns";
"libcbor";
"libfido2";
"mpdecimal";
"openssl@1.1";
"python@3.9";
"readline";
"sqlite";
"xz";
"openssh" -> "gdbm";
"openssh" -> "ldns";
"openssh" -> "libcbor";
"openssh" -> "libfido2";
"openssh" -> "mpdecimal";
"openssh" -> "openssl@1.1";
"openssh" -> "python@3.9";
"openssh" -> "readline";
"openssh" -> "sqlite";
"openssh" -> "xz";
}
Now, this becomes:
digraph G {
"openssh";
"ldns";
"openssl@1.1";
"python@3.9";
"gdbm";
"mpdecimal";
"readline";
"sqlite";
"xz";
"libfido2";
"libcbor";
"openssh" -> "ldns";
"openssh" -> "libfido2";
"openssh" -> "openssl@1.1";
"ldns" -> "openssl@1.1";
"ldns" -> "python@3.9";
"python@3.9" -> "gdbm";
"python@3.9" -> "mpdecimal";
"python@3.9" -> "openssl@1.1";
"python@3.9" -> "readline";
"python@3.9" -> "sqlite";
"python@3.9" -> "xz";
"sqlite" -> "readline";
"libfido2" -> "libcbor";
"libfido2" -> "openssl@1.1";
}
This is achieved by starting with the first-level dependencies and then recursing down to the leaves. Note: While this creates a correct dependency graph, it is considerably slower for formulae with a lot of dependencies.
2.4
brew-graph now includes a new command line switch, --include-casks, to include casks in the dependency graph. By default, casks are not included.
Contributed by Guilherme Araújo.
2.3
- brew-graph is now a proper External Command with styled help output when
brew graph --helpis invoked. Check out the README for installation instructions. - Support multiple formula arguments (#9): You can now do something like
brew graph graphviz pythonto create a dependency graph of bothgraphvizandpython. Usesbrew deps --for-eachinternally. Note that transitive dependencies are currently visualized as direct dependencies. For example,pythonis shown as a direct dependency ofgraphvizeven though it is actually a dependency ofglibwhich is a dependency ofgtswhich is a dependency ofgraphviz.
2.2.1
Fix GraphML output when a formula argument is given. GraphML requires that all nodes in the graph, including leaf nodes, are defined by a tag. The brew deps --installed or brew deps --all commands already return a separate line for each leaf formula. However, brew deps <formula> only returns a list of dependencies, in which case we need to add an additional line for each leaf node ourselves.
This is the last release distributed with the old tap repository martido/homebrew-brew-graph.
2.2
brew-graph now includes a new command line switch, --highlight-outdated, that highlights all outdated nodes in the dependency graph. This works for both Dot and GraphML outputs. Note that highlighting outdated nodes takes precedence over highlighting leaf nodes. By default, outdated nodes are not highlighted.
Thanks to Keenan Brock.
2.1
Homebrew allows you to list all formulae that are not dependencies of another formula (brew leaves). brew-graph now includes a new command line switch, --highlight-leaves, that highlights all leaf nodes (in the Homebrew sense) in the dependency graph. This works for both Dot and GraphML outputs. By default, leaf nodes are not highlighted.
Thanks to Jonathan Palardy for suggesting this feature and providing the implementation for Dot.