# Changelog

> **This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.**

## Score

- CAI 78 → 81 (+3.1)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 83 → 83 (+0.2)
- Architecture 99 → 92 (-6.7)
- Maturity 76 → 80 (+4.0)
- Readiness 85 → 83 (-2.7)
- Security 73 → 80 (+6.7)
- Performance 85 (new)

## Resolved (28)

- Change coupling: mod.rs ↔ filter.rs (crates/rustnet-core/src/network/dpi/mod.rs)
- ConnectionFilter::matches (cyclomatic 21) (src/filter.rs)
- Duplicated block (8 lines × 3) (src/ui/tabs/activity.rs)
- Duplicated block (9 lines × 2) (src/ui/tabs/activity.rs)
- FileTooLong: src/main.rs (src/main.rs)
- FunctionTooLong: rustnet_monitor::main (src/main.rs)
- FunctionTooLong: rustnet_monitor::run_ui_loop (src/main.rs)
- FunctionTooLong: rustnet_monitor::ui::tabs::overview::draw_interface_stats_with_graph (src/ui/tabs/overview.rs)
- High: security finding (details withheld)
- Hotspot: crates/rustnet-core/src/network/dpi/bittorrent.rs (crates/rustnet-core/src/network/dpi/bittorrent.rs)
- Hotspot: crates/rustnet-core/src/network/dpi/quic/packet.rs (crates/rustnet-core/src/network/dpi/quic/packet.rs)
- Hotspot: crates/rustnet-core/src/network/dpi/quic/tls.rs (crates/rustnet-core/src/network/dpi/quic/tls.rs)
- Hotspot: crates/rustnet-core/src/network/dpi/tls_common.rs (crates/rustnet-core/src/network/dpi/tls_common.rs)
- Hotspot: crates/rustnet-core/src/network/types/identity.rs (crates/rustnet-core/src/network/types/identity.rs)
- Hotspot: crates/rustnet-host/src/lib.rs (crates/rustnet-host/src/lib.rs)
- Hotspot: src/app/pcapng_export.rs (src/app/pcapng_export.rs)
- Hotspot: src/filter.rs (src/filter.rs)
- Hotspot: src/main.rs (src/main.rs)
- Hotspot: src/ui/state.rs (src/ui/state.rs)
- Hotspot: src/ui/theme/definitions.rs (src/ui/theme/definitions.rs)
- …and 8 more

## New (49)

- ActivityTab::handle_key (cognitive 26) (src/ui/tabs/activity.rs)
- ActivityTab::handle_key (cyclomatic 24) (src/ui/tabs/activity.rs)
- ClassTooLong: App (src/app/state.rs)
- ConnectionFilter::matches (cyclomatic 25) (crates/rustnet-core/src/network/filter.rs)
- DnsAnalyticsTracker::snapshot (cognitive 28) (crates/rustnet-core/src/network/dns_analytics.rs)
- DnsAnalyticsTracker::snapshot (cyclomatic 17) (crates/rustnet-core/src/network/dns_analytics.rs)
- DnsResolver::start_with_spawner (cognitive 36) (crates/rustnet-core/src/network/dns.rs)
- DnsResolver::start_with_spawner (cyclomatic 20) (crates/rustnet-core/src/network/dns.rs)
- DnsResolver::stop (cognitive 18) (crates/rustnet-core/src/network/dns.rs)
- FileTooLong: app/capture.rs (src/app/capture.rs)
- FileTooLong: app/state.rs (src/app/state.rs)
- FileTooLong: network/process_activity.rs (crates/rustnet-core/src/network/process_activity.rs)
- FunctionTooLong: rustnet_monitor::bootstrap::run (src/bootstrap.rs)
- FunctionTooLong: rustnet_monitor::tui::run (src/tui.rs)
- FunctionTooLong: rustnet_monitor::ui::tabs::activity::draw_process_details (src/ui/tabs/activity.rs)
- High: security finding (details withheld)
- Hotspot: crates/rustnet-core/src/network/filter.rs (crates/rustnet-core/src/network/filter.rs)
- Hotspot: src/tui.rs (src/tui.rs)
- Hotspot: src/ui/mod.rs (src/ui/mod.rs)
- Inconsistent builder pattern naming. `with_defaults` and `with_defaults_deferred` suggest a builder pattern, but `try_with_defaults` returns a `Result` and likely constructs the resolver directly. This mixes builder-style fluent methods with constructor-style methods. `with_defaults_deferred` is also a confusing name; it's unclear what 'deferred' means in this context (lazy initialization? async?).
- …and 29 more

## Changes since last survey

- 31 commits — 27 feature/other, 4 fixes

## By area

- (root) — 18 commits
- src/ui — 6 commits
- .github/workflows — 2 commits
- crates/rustnet-host — 2 commits
- crates/rustnet-core — 1 commit
- resources/packaging — 1 commit
- src/app — 1 commit

## Notable commits

- fix: fix(ebpf): align ConnInfo ABI on 32-bit targets (#612)
- fix: fix: navigate connections with the Details mouse wheel (#621)
- fix: fix: retain short Kubernetes flow attribution (#634)
- fix: fix: show DNS attribution in application displays (#638)
- change: Improve compact layouts and application activity (#617)
- change: Refresh terminal signal artwork (#626)
- change: chore(deps): bump clap_complete in the rust-dependencies group (#619)
- change: chore(deps): bump debian from `d7e1218` to `a99cfc5` in the docker group (#644)
- change: chore(deps): bump maxminddb in the rust-dependencies group (#613)
- change: chore(deps): bump rust from `bce1476` to `3999a7f` in the docker group (#614)
- change: chore(deps): bump the actions group with 2 updates (#615)
- change: chore(deps): bump the rust-dependencies group with 2 updates (#616)
- change: chore(deps): bump the rust-dependencies group with 3 updates (#610)
- change: ci: keep FreeBSD VM builds in rustnet-bsd (#623)
- change: design(ui): unify traffic colors and refresh Activity layout (#607)
- change: docs: add platform badges to READMEs (#625)
- change: docs: align guides with current behavior (#633)
- change: docs: clarify packet capture privileges (#632)
- change: docs: clarify unreleased features and release links (#622)
- change: docs: document Scoop installation (#628)
- …and 11 more
