-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update module github.com/lucas-clemente/quic-go to v0.45.0 #71
base: main
Are you sure you want to change the base?
Conversation
ee22187
to
d7e3dcc
Compare
d7e3dcc
to
da12246
Compare
da12246
to
d0f3daf
Compare
d0f3daf
to
aaaefd0
Compare
aaaefd0
to
4aa2d8f
Compare
4aa2d8f
to
8cbfa79
Compare
⚠ Artifact update problemRenovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below: File name: old/config/go/go.sum
|
8cbfa79
to
e591ec2
Compare
e591ec2
to
b09f470
Compare
b09f470
to
877dd66
Compare
877dd66
to
59a9afa
Compare
59a9afa
to
8c41f8f
Compare
8c41f8f
to
ae573c2
Compare
ae573c2
to
f4c3ddd
Compare
f4c3ddd
to
9548e41
Compare
9548e41
to
b89702a
Compare
7dfbde4
to
370e500
Compare
370e500
to
5c8d216
Compare
5c8d216
to
7c182e4
Compare
7c182e4
to
957b921
Compare
957b921
to
0fa5186
Compare
0fa5186
to
6cab993
Compare
6cab993
to
aeeb3ee
Compare
aeeb3ee
to
ca10746
Compare
ca10746
to
575c888
Compare
575c888
to
57aab8d
Compare
57aab8d
to
4fbc1f7
Compare
4fbc1f7
to
cc5660e
Compare
|
cc5660e
to
f297d1f
Compare
This PR contains the following updates:
v0.25.0
->v0.45.0
Release Notes
lucas-clemente/quic-go (github.com/lucas-clemente/quic-go)
v0.45.0
Compare Source
New Features
Prometheus
quic-go now exports a few Prometheus metrics, allowing users to get an aggregate picture of what's going on inside their QUIC stack. Currently, only a basic set of metrics is exposed, but we plan to track more metrics in the future (#4554). Head to the documentation to learn how to enable metrics collection.
Prometheus metrics can be used (among others) to build Grafana dashboards, and we provide a sample Grafana dashboard in metrics/dashboard.
Tracing Handshake Progression using a custom
context.Context
Users can now set and modify the context that's used on all callbacks called during the handshake, and returned from
Connection.Context
(#4507 and #4536). This allows identifying the connection as it progresses through the different handshake stages. The documentation has more details and code samples.Better Path MTU Discovery
Path MTU Discovery is used to automatically determine the available MTU of the path, which allows us to send full-size packets. This is especially relevant for high-bandwidth transfers.
Our old PMTUD algorithm was susceptible to packet loss, leading to suboptimal results if an MTU probe packet experienced packet loss in the network. The new algorithm (#4545) is now resilient to the consecutive loss of up to two probe packets.
Breaking Changes
Connection.NextConnection
now takes a context and correctly handles handshake failures (#4551)DefaultTracer
was renamed toDefaultConnectionTracer
(#4556)ConnectionTracingKey
is now deprecated. UseTransport.ConnContext
to set your own tracing key (#4532)Fixes
tls.Config
that setsGetConfigForClient
: (#4550)Changelog
Full Changelog: quic-go/quic-go@v0.44.0...v0.45.0
v0.44.0
Compare Source
v0.44 contains a lot of fixes related to HTTP Datagrams, new logic to determine (and configure) the QUIC packet size, as well as a significant speedup of the various parsers.
HTTP Datagram-related Fixes
The last release introduced support for HTTP Datagrams (RFC 9297). This release resolves a number of problems we discovered in the initial implementation:
QUIC Packet Size and Path MTU Discovery
quic.Config
. Most users should not use this config option, but instead rely on Path MTU discovery (https://github.com/quic-go/quic-go/pull/4503)max_udp_payload_size
transport parameter (https://github.com/quic-go/quic-go/pull/4514)mtu_updated
event (https://github.com/quic-go/quic-go/pull/4517)Speeding up Parsing the variable-length Integers
The QUIC varint parser was rewritten to act on byte slices instead of a
bytes.Reader
. This is significantly faster (https://github.com/quic-go/quic-go/pull/4475). The new parser is now used for parsing QUIC frames (https://github.com/quic-go/quic-go/pull/4484), the QUIC packet header (https://github.com/quic-go/quic-go/pull/4481), the QUIC transport parameters (https://github.com/quic-go/quic-go/pull/4483) and HTTP datagrams (https://github.com/quic-go/quic-go/pull/4478).Other Notable Changes
ParseCapsule
now returns anio.EOF
(and not anio.UnexpectedEOF
) if the underlying reader returns anio.EOF
on the first byte (https://github.com/quic-go/quic-go/pull/4476)ListenAndServe
was renamed toListenAndServeTLS
(https://github.com/quic-go/quic-go/pull/4522). Thanks to @ETZhangSX!Connection
to theConnContext
callback (https://github.com/quic-go/quic-go/pull/4480). Thanks to @rthellend!quic-go needs your support!
Is your project / company relying on quic-go?
Please consider funding the project. Any support is highly appreciated!
What's Changed
New Contributors
Full Changelog: quic-go/quic-go@v0.43.0...v0.44.0
v0.43.1
Compare Source
This is a patch release that fixes a regression when calling
http3.Server.ConnContext
introduced in v0.43.0.Changelog
Full Changelog: quic-go/quic-go@v0.43.0...v0.43.1
v0.43.0
Compare Source
quic-go.net: Launching a new Documentation Site
With this release, we're launching a new documentation site for the quic-go projects (quic-go itself, HTTP/3, webtransport-go, and soon, masque-go): quic-go.net.
The documentation site aims to explain QUIC concepts and how they are made accessible using quic-go's API. This site replaces the wiki, and the ever-growing README files.
A lot of work has gone into the documentation already, but we're by no means done yet. The entire source is public in https://github.com/quic-go/docs/, and we're happy about community contributions.
HTTP Datagrams (RFC 9297)
This release adds support for HTTP Datagrams (RFC 9297), both on the client and on the server side (#4452). HTTP Datagrams are used in WebTransport in CONNECT-UDP (RFC 9298), among others.
The new API for HTTP Datagrams is described on the new documentation page: HTTP Datagrams. The integration of HTTP Datagram support necessitated a comprehensive refactor of the HTTP/3 package, resulting in several breaking API changes listed below.
Breaking Changes
int
instead the internalprotocol.ByteCount
(#4365)Server.SetQuicHeaders
was renamed toSetQUICHeaders
(#4377)Server.QuicConfig
was renamed toQUICConfig
(#4384)RoundTripper.QuicConfig
was renamed toQUICConfig
(#4385)RoundTripOpt.CheckSettings
was removed (#4416). Use the newSingleDestinationRoundTripper
API instead.HTTPStreamer
interface is now implemented by thehttp.ResponseWriter
(and not thehttp.Request.Body
) (#4469)DatagramTooLargeError
(#4470)Other Notable Changes
slog.Logger
(#4449)RoundTrip
errors due to a cancelled context (#4448). Thanks to @GeorgeMac!Context
exposed on thequic.Stream
is now derived from the connection's context (#4414)Clarifications on the QUIC Stream State Machine
Calling CancelWrite after Close
After a long and fruitful discussion (#4404), we decided to clarify that calling
CancelWrite
afterClose
on aSendStream
(or a bidirectional stream) should cause a state transition from the "Data Sent" to the "Reset Sent" state, as described in section 3.1 of RFC 9000. This matches the current behavior of quic-go, however, it didn't match the API documentation (fixed in #4419).This means that stream data will not be delivered reliably if
CancelWrite
is called, and that this applies even ifClose
was called before.Garbage Collection of Streams
This release also changes the way streams are garbage-collected (and the peer is granted additional limit to open a new stream), once they're not needed anymore, in a subtle way:
Thanks to @sukunrt for extremely thorough and helpful reviews on both these PRs!
quic-go needs your support!
Is your project / company relying on quic-go?
Please consider funding the project. Any support is highly appreciated!
Changelog
New Contributors
Full Changelog: quic-go/quic-go@v0.42.0...v0.43.0
v0.42.0
Compare Source
New Features
Notable Changes
ClientHelloInfo.AddrVerified
field: #4360VerifySourceAddress
) to theTransport
: #4253 and #4362RoundTripOpt.CheckSettings
callback to check the server's SETTINGS: #4355quic.Config
to enable QUIC datagram support: #4340Fixes
Listener
andTransport
: #4332key_discarded
event for Handshake packets: #4274What's Changed
New Contributors
Full Changelog: quic-go/quic-go@v0.41.0...v0.42.0
v0.41.0
Compare Source
New Features
quic.Connection.SendDatagram
, we now queue up to 32 DATAGRAMs before blocking this method: #4222. This should lead to significant performance improvements for applications that send a lot of datagrams.net.Addr
) can now be obtained from the HTTP/3 request context using thehttp3.RemoteAddrContextKey
: #4208. Thanks to @oncilla!http.Handler
panics, the stream is now reset: #4181. Thanks to @WeidiDeng!http3.Server
now has aConnContext
function, working analogously tohttp.Server.ConnContext
: #4230. Thanks to @rthellend!logging.ConnectionTracer.ChoseALPN
: #4216. Thanks to @birneee!quic.Config.ConnectionTracer
callback that reads the QLOGDIR environment variable, and writes qlogs to that directory. Thanks to @birneee!Breaking Changes
DroppedPacket
callback on thelogging.ConnectionTracer
now contains the packet number of the dropped packet, allowing for better logging of duplicate packets: #4171Other Changes
RoundTrip
: #4203AdditionalSettings
for on HTTP/3 requests: #4156Please support quic-go!
Is your project / company relying on quic-go?
Please consider funding the project. Any support is highly appreciated!
Changelog
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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 Mend Renovate. View repository job log here.