- FEATURE (Advanced Metrics):
AdvancedMetricsHeuristic.calculateAdvancedMetricsnow accepts an optionaltargetFilesparameter. 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-repositorygit log -pscan. Omitting the parameter keeps the existing whole-repository behavior. - FEATURE (Refactoring Detection):
RefactoringDetectionAlgorithm.executenow accepts an optionaltargetFilesparameter 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 (Rstatus) when the pathspec covers both endpoints; a rename whose other endpoint falls outsidetargetFilessurfaces as an add/delete and goes undetected. - PERFORMANCE (Bus Factor):
BusFactorAlgorithm.executeForFilesnow 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 thatlimitnow 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
currentFilepointing at the prior diff section when it hit a--- /dev/nullpre-image header; complexity attribution now keys on the post-image (+++ b/) path and resets at every file boundary.
Full Changelog: v1...v1.0.10