Skip to content

dartograph 0.7.0

Latest

Choose a tag to compare

@ictechgy ictechgy released this 10 Sep 14:30
· 8 commits to main since this release
e1b3202

A minor release introducing privacy-preserving graph export, dead-code redundant public reporting, architectural zone classifications in metrics, and cycle node highlighting in DOT output.

New Features & CLI surfaces

  • graph --format anon (dependency-cruiser parity): exports privacy-preserving anonymized dependency graphs. File paths and identifiers are replaced with deterministic injective tokens (s0, s1, ...) while preserving graph topology, file extensions, and idiomatic Dart vocabulary. Limitation strings are sanitized in a single alternation pass.
  • dead --report-redundant-public (Periphery parity): reports live public declarations that are never referenced outside their defining library as informational (info) diagnostics (exit code 0). Compatible with --since and machine-readable output formats (usage 64 when combined with --explain, --baseline, or --report-test-only).
  • metrics architectural zones (cartograph parity): JSON output now includes a zone field (main-sequence, zone-of-pain, zone-of-uselessness, or isolated) for each metric item, aligned with --strict threshold calculations.
  • graph --format dot circular dependency highlighting (madge parity): vertices participating in dependency cycles (detected via Tarjan's SCC) are rendered in red (#d9383a). Acyclic graph outputs remain byte-identical.

Analysis & Diagnostics

  • GraphNode explicit isLibrary: HTML export and graph projections now use an explicit flag rather than .dart:: string heuristics, properly classifying libraries with :: in their filenames. Analysis cache serialization schema version bumped to v3 (automatic re-analysis of prior caches; cache identity unchanged).
  • bridges limitations grammar: fixed plural noun formatting for unscanned-* limitations (N ≥ 2) and singular verb agreement for dynamic channel/method names (N = 1).

Full details: CHANGELOG.md (English) / CHANGELOG.ko.md (Korean).

Install: dart pub global activate dartograph — pure Dart CLI, Dart SDK 3.11+, no Flutter SDK required. MIT licensed, permanently free (commercial use included).