What's Changed
- fix(tcp): resume partial regular writes and zero-copy sends from correct offset by @lance0 in #113
- fix(server): clean up active test entry and metrics on abort/cancel/error by @lance0 in #114
- fix(server,stats,diff): aggregate final TCP info, round RTT averages, flag zero-baseline regressions by @lance0 in #115
- fix(output,ci,install): harden output and release paths by @lance0 in #116
- fix(auth,serve,cli): LAN-158 + LAN-171 security hardening by @lance0 in #117
- fix(protocol,probe,net): LAN-167 + LAN-168 protocol/probe validation by @lance0 in #118
- fix(tui,config,main): LAN-163 + LAN-173 TUI/preset polish by @lance0 in #119
- fix(misc): LAN-172 low-risk cleanups batch by @lance0 in #120
- fix(protocol,tcp): harden version and receive teardown by @lance0 in #121
- chore(tests): clean stale rate-limit timeout comment by @lance0 in #122
- Bump actions/checkout from 6 to 7 by @dependabot[bot] in #109
- Bump actions/cache from 5 to 6 by @dependabot[bot] in #111
- Bump the rust-dependencies group across 1 directory with 6 updates by @dependabot[bot] in #112
- fix: address post-release review regressions by @lance0 in #123
- fix: LAN-161 pause channel closure busy-loop and unawaited QUIC tasks by @lance0 in #124
- feat: PSK sessions require AEAD-protected control channels (LAN-159) by @lance0 in #126
- fix: cancel/pause latency and UDP burst after resume (LAN-160 v2) by @lance0 in #129
- fix: dual-stack V6ONLY inconsistency and DSCP dual-stack (LAN-169) by @lance0 in #130
- ci: make MPTCP skip explicit and visible on standard runners (LAN-174) by @lance0 in #134
- fix: control-stream desync via dedicated reader task (LAN-229) by @lance0 in #132
- fix: pause-aware duration clock in senders and server stats (LAN-230) by @lance0 in #133
- fix: cancel-sender-drop busy-loops and MPTCP validation (LAN-170) by @lance0 in #131
Full Changelog: v0.9.20...v0.9.21