Skip to content

v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Jul 20:24
fdcc7b2

Release Notes

Features

  • SARIF report + Problems panel — generate editor-native diagnostics
    (SARIF 2.1.0) and a collapsible Problems panel in the HTML report,
    surfacing coverage risks as inline warnings/errors.
  • Multi-language static analysis — new analyzers for C++, GDScript, and
    Go, adding cyclomatic complexity and statement-level tracking.
  • Statement & patch coverage — statement coverage derived from static
    analysis, plus patch (diff-based) statement coverage in the UI and
    aggregator.
  • Method risk metrics — new derived metrics (CRAP score, patch CRAP,
    exposed risk, defect probability) with automatic registration and ordering.
  • Configurable report metrics — choose which metrics appear in the HTML
    and text reports via settings.
  • Flexible HTML report UI — reworked, more adaptable report layout;
    VSCode-style git decoration badges (DiffStatusBadge).
  • Winget publishing — sync the winget-pkgs fork before publishing.

Refactoring

  • Adopted the Strategy pattern for HTML generation and for metric evaluation,
    with per-metric evaluators split into dedicated files and their name/scope
    colocated.
  • Centralized all metric calculation into a dedicated pipeline phase.
  • Split metrics configuration and simplified the aggregator and HTML
    reporters (removed oversized methods).
  • Introduced dependency injection and simplified/combined validator logic in
    the cache layer.

Fixes

  • Enabled HTML escaping during encoding to prevent script injection.
  • Corrected statement coverage counting for if statements and refined the
    statement-coverage query.
  • Fixed column headers being derived only from the first method's metrics.
  • Improved statement patch-coverage evaluation (with added tests).
  • Show the correct empty value when statement coverage cannot be calculated.
  • Increased the file-reader scanner buffer to 50 MB for large reports.

Performance

  • Optimized diff-parser line counting within hunks.

Documentation & Tooling

  • Documented how to add new metrics.
  • Added a tree-sitter playground for debugging tree-sitter queries.