Skip to content

v1.7.80

Choose a tag to compare

@github-actions github-actions released this 10 Jul 15:29

Lost-grant wedge fix + interop-gate robustness — #231, #229 (PR #244)

Flow-control wedge self-heal (#231)

BLOCKED frames are emitted once by the fresh-send path and never retransmitted on loss. A dropped window-GRANT datagram (MAX_STREAM_DATA / MAX_DATA) after the payload was already queued — with an idle app — left the pending-send drain silently skipping closed-window entries forever: a permanent transfer wedge (production-relevant: fully-queued reqresp response + app stops writing).

  • The drain (server + client) now re-signals STREAM_DATA_BLOCKED / DATA_BLOCKED from its flow-control skip branches, rate-limited to one per 250 ms per conn. The peer's grant arms already re-drain — a lost grant self-heals.
  • The previously-skipped raw-app recv delivery budget socket-loopback test is re-enabled (its Linux-CI stall was exactly this wedge) and a deterministic wedge-recovery test proves the re-signal path.
  • Closes out #231 (recv-side round-robin + credit-invariant test had landed in v1.7.65).

Flaky transfer auto-retry in the CI interop gate (#229)

  • Failed transfer cases are automatically re-run once per suite; base-failed + retry-passed is reported as FLAKY-PASSED (non-fatal). A real regression fails both attempts and still reds the gate. cross-zquic-quinn transfer stays KNOWN_FAILING (#184), no retry.

CI: both interop runs green; 301/301 unit tests (0 skips — first zero-skip suite), 5× repeat-stable.

Note: v1.7.79 (handshake deadline + reorder eviction, separate workstream) does NOT include this PR; v1.7.80 is the first tag with it.