What's Changed
- docs: refresh README demo for NetWatch 0.38.0 by @matthart1983 in #130
- fix(dense): fill process and connection sparklines across their width by @matthart1983 in #131
- fix(whois): contact RDAP only when the user presses W by @matthart1983 in #125
- fix: review follow-ups for Packets keys, detail graphs and window labels by @matthart1983 in #132
- refactor(unsafe): use safe APIs and validate platform buffer boundaries by @matthart1983 in #124
- fix(sandbox): close root and ProcBroker capability leaks by @matthart1983 in #121
- fix(tui): restore terminal on panic and shutdown signals by @matthart1983 in #126
- fix(security): redact remote URLs and bound hostile file reads by @matthart1983 in #123
- fix(capture): preserve totals across counter wrap and bound tracking maps by @matthart1983 in #122
- test(diagnose): run the loaded-sample test on a clock it controls by @matthart1983 in #133
- fix(geo): bound the GeoIP and WHOIS caches and look up global addresses only by @matthart1983 in #134
- fix(capture): byte-budget the packet ring and charge streams at true cost by @matthart1983 in #135
- fix(incident): byte and row budgets for the flight recorder by @matthart1983 in #136
- test: synthetic connection tables and timed scale tests (2k/10k/50k) by @matthart1983 in #137
- test(tty): allocate one pty at a time so FreeBSD tests read their own by @matthart1983 in #139
- test(soak): flood_soak driver, AF_PACKET flood generator and netns harness by @matthart1983 in #141
- docs(security): publish threat model and verify policy inventories by @matthart1983 in #127
- feat(sandbox): deny TCP and Unix sockets on parser threads by role by @matthart1983 in #138
- fix(sandbox): drop CAP_NET_RAW where capture never reopens, drop CAP_NET_ADMIN, audit every thread by @matthart1983 in #144
- perf: 10k-row collector poll, closed-history timeline, snapshot generation by @matthart1983 in #142
- feat(metrics): capture received/dropped/decoded counters by @matthart1983 in #143
- fix(ui): measure and cut text by the cells ratatui draws by @matthart1983 in #140
- fix(diagnose): reject an overflowing --budget instead of panicking by @matthart1983 in #145
- fix(remote): let retry backoff grow to its cap by @matthart1983 in #149
- fix(config): refuse a config.toml that does not load instead of using defaults by @matthart1983 in #146
- docs(unsafe): state the invariant at every unsafe site by @matthart1983 in #148
- fix(capture): bound packet decoding by header lengths and fragment offset by @matthart1983 in #147
- ci: run the flood soak weekly, by hand and as a pull request smoke by @matthart1983 in #150
- feat(sandbox): seccomp no-socket filter, Landlock reporting in doctor, capability lab by @matthart1983 in #151
- feat(geoip): add netwatch geoip update and remove the online lookup by @matthart1983 in #152
- feat(privacy): third_party_probes switch, Insights cleartext warning, setcap recipe by @matthart1983 in #153
- perf: build the Connections view once per snapshot, and find IPv6 socket verdicts by @matthart1983 in #154
- hardening(unsafe): enforce SAFETY comments and unsafe extern with lints on every OS by @matthart1983 in #155
- ci: load GeoIP in a full soak, and run geoip update live on every OS by @matthart1983 in #156
- docs: publish the 0.39 performance numbers and the review plan's outcome by @matthart1983 in #157
Full Changelog: v0.38.0...v0.39.0