Move to quic 2.0.0, h2 0.12.3 and webtransport 0.4.7 - #946
Merged
Merged
Conversation
quic 2.0.0 reports a peer resetting a request stream, which earlier releases dropped, so a caller reading a response with body/1 or stream_body/1 waited out its own timeout when the server reset the stream. Those callers are answered now, and a test covers it. It also always sends a reason with its HTTP/3 close event, which hackney already handles, and fixes a handshake that could stall when resuming from a cached session ticket, so the HTTP/3 tests no longer need to turn session resumption off. webtransport 0.4.7 comes with it: 0.4.6 requires quic ~> 1.10, so the two cannot resolve together.
0.12.3 sends the DATA already buffered on a stream when a SETTINGS frame raises the initial window, so a request body queued against a zero window no longer stalls until an unrelated WINDOW_UPDATE arrives.
The lock pins what a build of hackney itself resolves: quic 2.0.0, h2 0.12.3 and webtransport 0.4.7. It was ignored, so a checkout resolved afresh each time and CI could pick up a dependency release that no commit had been tested against. A project depending on hackney still resolves its own versions; a lock only binds its own project.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reverts the quic 1.10.0 bump from #942 and goes to quic 2.0.0 instead, now that it is on Hex. webtransport 0.4.7 comes with it, since 0.4.6 requires
quic ~> 1.10and the two cannot resolve together.quic 2.0.0 reports a peer resetting a request stream, which earlier releases dropped. A caller reading a response with
body/1orstream_body/1used to wait out its own timeout when the server reset the stream; those callers are answered now, with a test covering it. 2.0.0 also fixes a handshake that could stall when resuming from a cached session ticket, so the HTTP/3 tests no longer turn session resumption off and exercise it again.h2 0.12.3 sends the DATA already buffered on a stream when a SETTINGS frame raises the initial window, so a request body queued against a zero window no longer stalls until an unrelated WINDOW_UPDATE arrives.
Verified against the released packages: 1114 tests pass with xref and dialyzer clean, and the HTTP/3 modules pass 6 of 6 runs under
ERL_FLAGS="+S 1:1"with resumption on, which is the case that used to stall.