v3.2.1
- BREAKING (MCP):
find_bugs_by_developeris removed and merged into
analyze_bug_hotspotsvia a new optionalauthorparameter (plus
positiveRegex/negativeRegex, previously only available on the removed
tool). Both tools ran the identical RA-SZZ pipeline (SzzAlgorithm) and
only differed in whether the resulting matches were aggregated or
filtered by author;analyze_bug_hotspotsnow does both in one call,
returning an additionaldeveloper_bug_analysissection whenauthoris
supplied. Clients callingfind_bugs_by_developermust switch to
analyze_bug_hotspotswith theauthorparameter.BugHotspotsHeuristic
is refactored into a pureaggregate(List<SzzMatch>)function (no longer
owns theSzzAlgorithmcall), so the shared SZZ pass now runs once per
analyze_bug_hotspotsinvocation instead of twice. - DOCS (Tools): Merged
doc/tools/history/find_bugs_by_developer.md
intodoc/tools/history/analyze_bug_hotspots.md, folding in the
developer-filtering phase and the Zimmermann et al. (2007) Cross-Project
Defect Prediction citation. Updated thefind_bugs_by_developer.md
cross-references indoc/tools/history/generate_changelog.mdto point at
analyze_bug_hotspots.md.README.mdno longer lists
find_bugs_by_developerand documents theauthorfilter under
analyze_bug_hotspots. -
- Fixed:
get_contributions_by_authornow actually implements the
git shortlog -sn --no-merges [--since=<date>] [--until=<date>]behavior
its documentation already described.ShortlogCommandpreviously ran a
baregit shortlog HEAD -sand silently ignored its ownextraArgs
parameter — sort-by-count (-n), merge-commit exclusion (--no-merges),
and date-range filtering were all doc-only. This was a doc/implementation
gap fix (not a new feature):since/untilare validated with the same
sharedisValidDateInputand forwarded throughRwGit.contributionsByAuthor
exactly like the report tools.
- Fixed:
- Added: The five report meta-tools (
generate_technical_report,
generate_pm_report,generate_code_review_report,
generate_security_report,generate_repository_audit) now accept
optionalsince/untilparameters for date-bounded analysis (e.g.
"report for 2024" viasince: "2024-01-01", until: "2025-01-01", or "the
previous 6 months" viasince: "6 months ago"). Values are validated
(sharedisValidDateInputinlib/src/mcp/utils/date_range_validation.dart)
and forwarded verbatim to git's own--since=/--until=date parsing — no
natural-language date math is implemented in Dart. The effective window is
echoed back in the report'smetadatawhen supplied. Every underlying
analyzer the report orchestrator composes (churn, bus factor, SZZ bug
hotspots, logical coupling, code volatility, refactoring detection,
architecture drift, secrets scanning, compliance scanning, mega/suspicious
commit detection) now accepts the samesince/untilparameters. - Changed (MCP offload contract): The offload
previewbuilt by
McpToolFileOffloadDecoratorno longer strips the per-findingrationale
field or caps thehintslist at 3 entries — both are now carried in
full, matching the uncapped full-report contract. The now-unused
previewStrippedFindingKeys/previewHintsLimitconstants are removed
fromlib/src/constants.dart.
What's Changed
- Updating documentation (correcting descriptions, making things clearer) by @gbrandtio in #10
Full Changelog: v3.2.0...v3.2.1