nanovision is a Open Source Windows program in the Developer Tools category, developed by IgorBayerl. The current version is 0.2.0; you can download it safely from its official source with the download button above.
โจ Features
code-qualitycoverage-reportgogocovergolangreport-generatorreportingtest-automationtestcoverage
๐ Release notes (0.2.0)
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.
SHA-256: B9586B67ED7F5464204E34AA242B5F08DFB6FC0C3B1A0A36630E911A2ED5E829