Skip to content

Choose a tag to compare

@gbrandtio gbrandtio released this 16 Jul 07:12
· 10 commits to main since this release
  • FEATURE (Advanced Metrics): AdvancedMetricsHeuristic.calculateAdvancedMetrics now accepts an optional targetFiles parameter. The history walk is limited to commits touching those paths (git pathspec) and all reported metrics (complexity, co-change matrix, architecture distribution) are restricted to exactly those files, so callers scoping analysis to e.g. a PR's modified files no longer pay for a full-repository git log -p scan. Omitting the parameter keeps the existing whole-repository behavior.
  • FEATURE (Refactoring Detection): RefactoringDetectionAlgorithm.execute now accepts an optional targetFiles parameter that limits the history walk via pathspec and restricts reported renames to pairs whose old or new path is in the target set. Caveat: git can only pair a rename (R status) when the pathspec covers both endpoints; a rename whose other endpoint falls outside targetFiles surfaces as an add/delete and goes undetected.
  • PERFORMANCE (Bus Factor): BusFactorAlgorithm.executeForFiles now walks the history once (git log --name-only -- <targetFiles>) and splits author counts per file, instead of spawning one git process plus one isolate per target file. Per-file results are unchanged; note that limit now bounds the single shared walk rather than each file's history individually.
  • FIX (Advanced Metrics): Added lines of a newly added file are no longer attributed to the previous file in the commit's diff. The parser previously kept currentFile pointing at the prior diff section when it hit a --- /dev/null pre-image header; complexity attribution now keys on the post-image (+++ b/) path and resets at every file boundary.

Full Changelog: v1...v1.0.10