Skip to content

v0.43.0

Latest

Choose a tag to compare

@Halleck45 Halleck45 released this 28 Aug 11:56
0592b46

v0.43.0

Natural groups

Read your codebase as the communities it actually forms: who depends on whom, which groups are locked in a cycle, how heavy the shared kernel is, and where to start cutting. The page names the verdict in plain words and the map draws it.

Natural groups

Three project rules come with it, so the boundaries you just drew stay drawn: no_community_cycles, max_community_cross_share and no_cross_community_dependencies.

Architecture

Modules are now named the way an import names them (Go path, Python dotted path, Rust crate path, TypeScript path), so the map no longer collapses into a single node. Dependencies are read from the syntax tree for PHP, Java and C# too.

  • Keep the architecture map from collapsing into one node by @Halleck45 in #188

AI architecture classification is now opt-in

Breaking change. The AI-based architecture classification no longer runs by default. Pass --architecture to enable it.

Per-source configuration

Each project of a monorepository can hold its own .ast-metrics.yaml. The closest configuration wins whole, configurations never merge, and a project file reads the same whether the project is analyzed alone or inside the monorepository.

  • feat: per-source configuration, so each project of a monorepository has its own rules by @Halleck45 in #187

Fixes

  • fix(python): count a triple-quoted string as a comment only when it is a bare statement by @Halleck45 in #189
  • fix(tui): nil-safety in class table and stable language menu ordering by @acornforth in #194

Build & distribution

  • ci(distribute): pin and tag the Python bridge on every release by @Halleck45 in #190
  • fix(ci): read workflow_run inputs through env vars in distribute by @Halleck45 in #192

New contributors