Skip to content

Releases: martido/homebrew-graph

2.6.2

Choose a tag to compare

@martido martido released this 07 Jun 20:56
8d79270

Fix compatibility with frozen ARGV in recent Homebrew releases: Pass a duplicate of ARGV to BrewGraph so that OptionParser can safely mutate the argument array without affecting the original. Contributed by @AndyBogle1.

2.6.1

Choose a tag to compare

@martido martido released this 05 Jul 21:49
06e6a21

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

2.6

Choose a tag to compare

@martido martido released this 07 Nov 16:50

Added the following improvements and features:

  • Add a --reduce option 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

Choose a tag to compare

@martido martido released this 04 Apr 08:36

Removed some left-over debug output from the script.

2.5

2.5

Choose a tag to compare

@martido martido released this 03 Apr 18:15

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

2.4

Choose a tag to compare

@martido martido released this 03 Apr 15:09
55f3763

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

2.3

Choose a tag to compare

@martido martido released this 11 Oct 15:39
  • brew-graph is now a proper External Command with styled help output when brew graph --help is invoked. Check out the README for installation instructions.
  • Support multiple formula arguments (#9): You can now do something like brew graph graphviz python to create a dependency graph of both graphviz and python. Uses brew deps --for-each internally. Note that transitive dependencies are currently visualized as direct dependencies. For example, python is shown as a direct dependency of graphviz even though it is actually a dependency of glib which is a dependency of gts which is a dependency of graphviz.

2.2.1

Choose a tag to compare

@martido martido released this 10 Oct 20:18

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

2.2

Choose a tag to compare

@martido martido released this 26 Nov 13:16

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

2.1

Choose a tag to compare

@martido martido released this 03 Jan 09:08

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.