v0.2.0
Highlights
This release resolves the zeam devnet fork end-to-end. Live-validated: a 3-node devnet (with a deliberately delayed sync node) converges on a single head with all nodes finalizing; zero KnownInvalidBlock, zero ACK-starvation teardowns.
Fixes (since v0.1.98)
- zquic v1.7.41 (#247) — splits oversized stream writes into per-packet pending entries. Previously any QUIC stream write larger than one 1-RTT packet that queued under congestion/flow control was silently dropped (no retransmit). libp2p reqresp
blocks_by_rangebodies (~250 KB beam blocks) were lost, wedging a delayed node's initial sync into a permanent fork; theKnownInvalidBlocksymptom was the same bug surfacing as truncated-block verify failures. - non-blocking QUIC dials (#245, v0.1.98) —
handleDialno longer blocks the single drive thread (which deadlocked simultaneous mutual dials in the Initial handshake).
Tests
- #248 — large (~300 KB) reqresp regression test over QuicRuntime loopback (guards the oversized-frame fix).
- Mutual-dial regression test.
Full diff: v0.1.99...v0.2.0