Skip to content

v0.9.32

Latest

Choose a tag to compare

@safishamsi safishamsi released this 01 Aug 14:44

Correctness release: a tier-aware merge that stops incremental/rebuild from dropping a file's other layer, plus a batch of language-resolution and CLI fixes.

  • Fix: incremental extraction and _rebuild_code no longer drop a file's other tier (#2333, #2334, #2336). Merge is now tier-aware (an AST re-extract replaces only AST nodes and keeps the semantic layer, and vice versa), the _origin provenance marker is backfilled on load so old graphs self-heal, and the full-rebuild drop is scoped to sources actually regenerated.
  • Fix: graphify update preserves the graph's directed flag instead of rebuilding it undirected (#2342, thanks @Rishet11).
  • Fix: a numeric or otherwise non-string node id from an LLM fragment no longer aborts the build with a TypeError (#2326, thanks @Rishet11).
  • Fix: graphify query renders every edge between visited nodes, not just the traversal-tree edges (#2323, thanks @Rishet11).
  • Fix: graphify update writes manifest.json to the target's graphify-out instead of the current working directory (#2316, thanks @Rishet11).
  • Fix: a real Python package named coverage/ is no longer silently dropped; the prune is gated on coverage-report artefacts (#2339, thanks @MANOJ21K).
  • Fix: a custom GRAPHIFY_OUT name no longer prunes every same-named directory in the tree (#2273, thanks @oleksii-tumanov).
  • Fix: C# member calls resolve for receivers declared inline via out var, is, case, and switch-arm patterns (#2346, thanks @JensD-git), and members of a partial class split across files now attach to one merged class node (#2332).
  • Fix: members of a Kotlin anonymous object (object : Foo { ... }) are now extracted, with their implements and calls edges (#2347).
  • Fix: Ruby mixins declared with compact/nested syntax now resolve, and a qualified external mixin can no longer fabricate a phantom hub (#2302, thanks @FolatheDuckofDuckingburg). module Foo::Bar and module Foo; module Bar canonicalize to the same label; extend ActiveSupport::Concern no longer binds to a local module named Concern; a genuine in-corpus include Foo::Concern still resolves.
  • Perf: dedup drops an O(nodes x components) scan in remap construction (#2328, thanks @stupidprogrammer4), with identical results.