$ the-wire · showcase
Go's QUIC stack learns to tell on-path from off-path, and amd64 gets v2/v3/v4 CPU bits
By RepoJournal · Filed · About Go · Composed from the cited sources · methodology
The day's work concentrates in golang/net's QUIC congestion code and golang/sys, while golang/text fixes a quadratic blowup in bidi paragraph handling.
quic: off-path support in loss/congestion/rtt golang/net
golang/net now distinguishes on-path packets on the active path from off-path packets on any other path, so probes sent to validate a candidate path no longer feed the congestion controller, RTT estimates, or loss detection for the path in use. After address migration every packet sent on the previous path counts as off-path, which is the behavior a migrating client depends on to keep its RTT n...
unicode/bidi: avoid quadratic behavior in Paragraph.Order and Paragraph.Line golang/text
Paragraph.Order and Paragraph.Line no longer degrade quadratically. The unmatched-isolate benchmark reaches 100000 items at 12.8 ms per op with 454 allocs at the 1000-item size, after previous scaling would have grown with the square of the input. Code that lays out long, adversarial, or isolate-heavy bidi text gets the benefit without changes.
cpu: add amd64 v2/v3/v4 feature bits golang/sys
golang/sys adds the amd64 v2, v3, and v4 CPU feature bits, the underlying flags needed for consistent microarchitecture-level detection, though no explicit "level" helper ships yet. Code that branches on CPU features today still has to compose the check itself.
runtime: remove obsolete Windows Server 2012 test skips golang/go
Windows Server 2012 builder-specific skips are gone from the runtime exception tests, since Go 1.21 dropped that platform. Test runs on supported Windows are the same as before.
debug/gosym: use saferio for go12 funcs tables golang/go
debug/gosym now routes go12 funcs table reads through saferio, a hardening change with no test case because it only triggers on invalid input; the fuzzer is expected to supply the cases. The long tail is routine: cmd/compile's walk now caches staticValues and shapeConvSources on walkstate, the simd test is restricted to amd64, flaky net/http TestTimeoutHandlerSuperfluousLogs runs in a synctest ...