Skip to content

v2.1.0

Choose a tag to compare

@Technologicat Technologicat released this 10 Mar 12:45
· 227 commits to master since this release

New features

  • Plain-text output format (--text / format="text") for both call-graph and module-level modes. Sorted adjacency list with [D]/[U] edge tags.
  • del statement protocol trackingdel obj.attr now generates a uses edge to __delattr__, and del obj[key] to __delitem__.
  • Iterator protocol trackingfor loops, async for loops, and comprehensions now generate uses edges to __iter__/__next__ (or __aiter__/__anext__ for async).
  • Local variable noise suppressionvisit_Name no longer creates wildcard UNKNOWN-flavored nodes for local variables with no resolved value.
  • Positional matching for starred tuple unpackinga, b, *c = x, y, z, w now binds a→x, b→y, *c→{z, w} instead of the previous Cartesian product.
  • --version CLI flag.

Bug fixes

  • Fix --defines being off by default due to an argparse quirk.

Documentation

  • Reorganized README with table of contents.
  • Python API example for call-graph mode.
  • Updated Features section with all v2.0+ additions.
  • Consolidated inline TODO items into TODO_DEFERRED.md.
  • New synthetic showcase graph (orbital mechanics theme) demonstrating uses edges, self-recursion, mutual recursion, HSL coloring, and namespace grouping.

Housekeeping

  • Bumped actions/checkout to v6, actions/setup-python to v6.

See CHANGELOG.md for full details.