fix(deps): update module github.com/quic-go/quic-go to v0.35.1 #196
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
Priority: High
Priority: Low
Priority: Medium
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: sam/awl#196
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/github.com-quic-go-quic-go-0.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
v0.34.0
->v0.35.1
Release Notes
quic-go/quic-go
v0.35.1
Compare Source
This patch release fixes a regression in the HTTP/3 roundtripper introduced in the v0.35.0 release.
Thanks to @kgersen for reporting and to @Glonee for contributing the fixes!
What's Changed
Full Changelog: https://github.com/quic-go/quic-go/compare/v0.35.0...v0.35.1
v0.35.0
Compare Source
Modernizing the quic-go connection API
In this release, we've completely revamped our connection establishment API, following an engaging discussion with the quic-go community (#3727).
Key modifications are as follows:
DialContext
, have been removed. In their place,Dial
now incorporates a context. This development stems from our drive to modernize the API, given thatcontext.Context
wasn't in existence when quic-go was launched eight years ago.quic.Listener
andquic.EarlyListener
have transitioned from interfaces to structs.quic.Transport
. More about that below.Introducing the
Transport
The QUIC protocols demultiplexes connections based on the QUIC Connection IDs. This has interesting implications, first and foremost that multiple QUIC connections can run on the same UDP socket (and even connect to the same remote QUIC server). Interestingly, it's feasible to run a QUIC server on the same socket as outgoing QUIC connections. In fact, that's a really useful thing to do when using QUIC for holepunching through NATs.
Previously, it was possible to utilize this feature, but the API lacked clarity. When the same
net.PacketConn
was passed to sequentialListen
andDial
calls, quic-go would identify this and multiplex several QUIC connections on thatnet.PacketConn
. This behavior was not obvious and, additionally, it demanded that certain values of theConfig
[matched](https://github.com/quic-go/quic-go/blob/v0.34.0/multiplexer.go#L82-L90).We've now made multiplexing explicit with the
Transport
introduction. ATransport
manages a singlenet.PacketConn
. The usage is as follows:This modification enables us to shift several configuration options logically tied to the UDP sockets from the
Config
. Specifically,ConnectionIDLength
/ConnectionIDGenerator
andStatelessResetKey
are now configured on theTransport
.Migration Guide
To update to the new version, applications might need to:
DialContext
with calls toDial
.Listener
with*Listener
(and similarly forEarlyListener
).Other Notable Changes
http.ResponseController
introduced in the Go 1.20 release (#3790). Thanks @dunglas!http3.RoundTripper
now implementsCloseIdleConnections
method, allowing the use ofhttp.Client.CloseIdleConnections
. Thanks @Glonee!SO_RCVBUFFORCE
syscall to attempt to increase the UDP receive buffer. Increasing the receive buffer is absolutely crucial for QUIC performance, and quic-go will print a log message if increasing the buffer size fails. Unfortunately, due to small default buffer sizes in most Linux distributions, this happened quite frequently and required [manual configuration](https://github.com/quic-go/quic-go/wiki/UDP-Receive-Buffer-Size). UsingSO_RCVBUFFORCE
call will only succeed when the process hasCAP_NET_ADMIN
permissions, but in these cases no manual configuration will be necessary any more. Thanks to @MarcoPolo!Full Changelog
New Contributors
Full Changelog: https://github.com/quic-go/quic-go/compare/v0.34.0...v0.35.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
3016098802
to384f943b37
fix(deps): update module github.com/quic-go/quic-go to v0.35.0to fix(deps): update module github.com/quic-go/quic-go to v0.35.1Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.