# 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 55 → 58 (+2.8)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

## Lenses

- Code Health 94 → 80 (-13.5)
- Architecture 99 → 98 (-1.1)
- Maturity 45 → 48 (+3.5)
- Readiness 52 → 52 (+0.3)
- Security 56 → 72 (+16.0)
- Domain Modelling 100 → 100 (+0.0)

## Resolved (11)

- Change coupling: PieChart.swift ↔ Tachometer.swift (Kit/Widgets/PieChart.swift)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- Off-boarding risk: anonymized user #1
- Test reliability not included
- complexity unreadable for .py, .swift — churn × complexity hotspots could not be measured

## New (413)

- ActivityReader.read (cognitive 56) (Modules/Disk/readers.swift)
- ActivityReader.read (cyclomatic 19) (Modules/Disk/readers.swift)
- AppDelegate.parseArguments (cognitive 27) (Stats/AppDelegate.swift)
- AppDelegate.parseArguments (cyclomatic 17) (Stats/AppDelegate.swift)
- BarChart.draw (cognitive 44) (Kit/Widgets/BarChart.swift)
- BarChart.draw (cyclomatic 27) (Kit/Widgets/BarChart.swift)
- BarChart.init (cognitive 28) (Kit/Widgets/BarChart.swift)
- BatteryView.draw (cognitive 16) (Modules/Battery/popup.swift)
- BatteryWidget.draw (cognitive 44) (Kit/Widgets/Battery.swift)
- BatteryWidget.draw (cyclomatic 30) (Kit/Widgets/Battery.swift)
- Boundary-crossing change coupling: main.swift ↔ main.swift (Modules/CPU/main.swift)
- Boundary-crossing change coupling: main.swift ↔ main.swift (Modules/CPU/main.swift)
- CPU.loadCallback (cognitive 46) (Modules/CPU/main.swift)
- CPU.loadCallback (cyclomatic 23) (Modules/CPU/main.swift)
- CalendarView.generateDays (cognitive 19) (Modules/Clock/popup.swift)
- CalendarView.generateDays (cyclomatic 17) (Modules/Clock/popup.swift)
- CapacityReader.diskSpaceInBytes (cognitive 18) (Modules/Disk/readers.swift)
- CapacityReader.read (cognitive 98) (Modules/Disk/readers.swift)
- CapacityReader.read (cyclomatic 26) (Modules/Disk/readers.swift)
- ClassTooLong: FanView (Modules/Sensors/popup.swift)
- …and 393 more

## Changes since last survey

- 50 commits — 29 feature/other, 21 fixes

## By area

- Stats.xcodeproj/project.pbxproj — 7 commits
- Stats/Supporting Files — 5 commits
- Kit/helpers.swift — 4 commits
- Modules/Battery — 4 commits
- Modules/Disk — 4 commits
- Stats/Views — 4 commits
- Kit/plugins — 3 commits
- Modules/Net — 3 commits
- Modules/Sensors — 3 commits
- Kit/Widgets — 2 commits
- Kit/extensions.swift — 2 commits
- Modules/Bluetooth — 2 commits
- Modules/GPU — 2 commits
- Modules/Remote — 2 commits
- (root) — 1 commit
- Kit/module — 1 commit
- Modules/CPU — 1 commit

## Notable commits

- fix: fix: added DCP0 group to the GPU FPS reader (#3551)
- fix: fix: fixed Bluetooth reader starting CoreBluetooth scans while the module is disabled (#3572)
- fix: fix: fixed ICMP connectivity reader leaking sockets on repeated prepare
- fix: fix: fixed NVMe SMART temperature overflow for drives reporting below 273 K
- fix: fix: fixed Total System Consumption spike after wake from sleep (#3543)
- fix: fix: fixed battery health value exceeding 100% (#3445)
- fix: fix: fixed blurry inactive widget previews in the settings window in some cases
- fix: fix: fixed hidden "Sensor to show" option in the Sensors settings on startup (#3584)
- fix: fix: fixed incorrect battery power on Intel Macs while charging (#3577)
- fix: fix: fixed invisible text in the Help window on light appearance (#3523)
- fix: fix: fixed mach port leaks in the CPU/RAM readers and the Sensors HID reader
- fix: fix: fixed malformed data handling in the GPU reader, Network reader and small thread-safety in Logger
- fix: fix: fixed nvme_smart_log struct layout in the NVMe SMART reader (#3547)
- fix: fix: fixed per-core CPU load calculation after tick counter overflow (#3529)
- fix: fix: fixed potential chart crashes on invalid history count or non-finite values
- fix: fix: fixed potential race during SMC helper update (#3592)
- fix: fix: fixed separator color in the combined modules (#3534)
- fix: fix: fixed the Battery reader overwriting the battery values with a connected UPS (#3616)
- fix: fix: fixed the Network reader polling airportd when the module is disabled (#3629)
- fix: fix: fixed the Remote popup height calculation
- …and 30 more
