Skip to content
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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 16, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/lucas-clemente/quic-go v0.25.0 -> v0.45.0 age adoption passing confidence

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)
  • qlog: DefaultTracer was renamed to DefaultConnectionTracer (#​4556)
  • The ConnectionTracingKey is now deprecated. Use Transport.ConnContext to set your own tracing key (#​4532)

Fixes

  • The server now correctly restores its QUIC transport parameters when resuming 0-RTT using a tls.Config that sets GetConfigForClient: (#​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

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

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

  • quicvarint: functions now return an int instead the internal protocol.ByteCount (#​4365)
  • http3: Server.SetQuicHeaders was renamed to SetQUICHeaders (#​4377)
  • http3: Server.QuicConfig was renamed to QUICConfig (#​4384)
  • http3: RoundTripper.QuicConfig was renamed to QUICConfig (#​4385)
  • http3: RoundTripOpt.CheckSettings was removed (#​4416). Use the newSingleDestinationRoundTripper API instead.
  • http3: the HTTPStreamer interface is now implemented by the http.ResponseWriter (and not the http.Request.Body) (#​4469)
  • include the maximum payload size in the DatagramTooLargeError (#​4470)

Other Notable Changes

  • GSO and ECN is disabled on kernel versions older than 5 (#​4456)
  • http3: logging can be controlled using an slog.Logger (#​4449)
  • http3: HEAD requests can now be sent in 0-RTT (#​4378)
  • http3: duplicate QPACK encoder and decoder streams are not rejected as required by the RFC (#​4388)
  • http3: Extended CONNECT are blocked until the server's SETTINGS are received, as required by the RFC (#​4450)
  • http3: HTTP/3 client connections aren't removed if RoundTrip errors due to a cancelled context (#​4448). Thanks to @​GeorgeMac!
  • http3: sniff Content-Type when flushing the ResponseWriter (#​4412). Thanks to @​WeidiDeng!
  • The Context exposed on the quic.Stream is now derived from the connection's context (#​4414)
  • The UDP send and receive buffer size was increased to 7 MiB (#​4455). Thanks to @​bt90!

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 after Close on a SendStream (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 if Close 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:

  • for the send direction of streams: #​4445
  • for the receive direction of a stream: #​4460

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

  • added a qlog tracer for events that happen before / outside of established connection: #​4305

Notable Changes

  • added a ClientHelloInfo.AddrVerified field: #​4360
  • move callback controlling address verification (VerifySourceAddress) to the Transport: #​4253 and #​4362
  • connections that are closed before being accepted are not removed from the server's accept queue: #​4245
  • http3: added a RoundTripOpt.CheckSettings callback to check the server's SETTINGS: #​4355
  • http3: send the HTTP/3 settings value for Extended CONNECT (RFC 9220): #​4341
  • http3: don't modify the user's quic.Config to enable QUIC datagram support: #​4340

Fixes

  • mitigate a memory exhaustion attack against QUIC's connection ID mechanism: #​4369
  • don't delay acknowledgments for packets during the handshake: #​4279
  • fix deadlock when closing both Listener and Transport: #​4332
  • fix handling of IPv4-mapped IPv6 addresses: #​4309
  • fix duplicate logging of the key_discarded event for Handshake packets: #​4274
  • send CONNECTION_REFUSED when refusing connections: #​4250
  • http3: tighten validation logic for the :protocol pseudo header: #​4261

What's Changed

New Contributors

Full Changelog: quic-go/quic-go@v0.41.0...v0.42.0

v0.41.0

Compare Source

New Features

  • When calling 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.
  • DATAGRAM frames that don't fit into a packet (at the current MTU) are now dropped: #​4221.
  • http3: The remote address (as a net.Addr) can now be obtained from the HTTP/3 request context using the http3.RemoteAddrContextKey: #​4208. Thanks to @​oncilla!
  • http3: When an http.Handler panics, the stream is now reset: #​4181. Thanks to @​WeidiDeng!
  • http3: The http3.Server now has a ConnContext function, working analogously to http.Server.ConnContext: #​4230. Thanks to @​rthellend!
  • logging: Information about the negotiated ALPN is logged using logging.ConnectionTracer.ChoseALPN: #​4216. Thanks to @​birneee!
  • qlog: The package now provides an implementation of the quic.Config.ConnectionTracer callback that reads the QLOGDIR environment variable, and writes qlogs to that directory. Thanks to @​birneee!

Breaking Changes

  • This release drops support for Go 1.20 (#​4195). We decided to support the old Go version a little bit earlier than usual (before the Go 1.22 release) this time, since this allowed us to completely remove our custom TLS fork that was necessary before crypto/tls gained QUIC support in Go 1.21. If you rely on Go 1.20, you can continue using the v0.40.1 release.
  • The DroppedPacket callback on the logging.ConnectionTracer now contains the packet number of the dropped packet, allowing for better logging of duplicate packets: #​4171

Other Changes

  • Only attempt 0-RTT resumption if the session-ticket allowed 0-RTT: #​4183
  • http3: The context cancelation error is now returned from RoundTrip: #​4203
  • http3: use the AdditionalSettings for on HTTP/3 requests: #​4156

Please 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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@trafico-bot trafico-bot bot added the 🔍 Ready for Review Pull Request is not reviewed yet label Dec 16, 2022
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch 3 times, most recently from ee22187 to d7e3dcc Compare December 17, 2022 13:28
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.31.1 Update module github.com/lucas-clemente/quic-go to v0.31.1 Dec 17, 2022
@renovate renovate bot changed the title Update module github.com/lucas-clemente/quic-go to v0.31.1 chore(deps): update module github.com/lucas-clemente/quic-go to v0.31.1 Dec 17, 2022
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from d7e3dcc to da12246 Compare December 18, 2022 08:31
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from da12246 to d0f3daf Compare December 25, 2022 19:46
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from d0f3daf to aaaefd0 Compare January 17, 2023 20:24
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from aaaefd0 to 4aa2d8f Compare January 25, 2023 18:01
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 4aa2d8f to 8cbfa79 Compare February 2, 2023 03:54
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.31.1 chore(deps): update module github.com/lucas-clemente/quic-go to v0.32.0 Feb 2, 2023
@renovate
Copy link
Contributor Author

renovate bot commented Feb 2, 2023

⚠ Artifact update problem

Renovate 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:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: old/config/go/go.sum
Command failed: go get -d -t ./...
go: github.com/lucas-clemente/quic-go@v0.24.0 (replaced by github.com/lucas-clemente/quic-go@v0.43.1): parsing go.mod:
	module declares its path as: github.com/quic-go/quic-go
	        but was required as: github.com/lucas-clemente/quic-go

@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 8cbfa79 to e591ec2 Compare February 22, 2023 09:21
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.32.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.33.0 Feb 22, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from e591ec2 to b09f470 Compare April 20, 2023 10:30
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.33.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.34.0 Apr 20, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from b09f470 to 877dd66 Compare May 30, 2023 08:01
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.34.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.35.0 May 30, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 877dd66 to 59a9afa Compare June 1, 2023 10:54
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.35.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.35.1 Jun 1, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 59a9afa to 8c41f8f Compare June 21, 2023 12:24
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.35.1 chore(deps): update module github.com/lucas-clemente/quic-go to v0.36.0 Jun 21, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 8c41f8f to ae573c2 Compare July 1, 2023 19:16
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.36.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.36.1 Jul 1, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from ae573c2 to f4c3ddd Compare July 12, 2023 19:00
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.36.1 chore(deps): update module github.com/lucas-clemente/quic-go to v0.36.2 Jul 12, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from f4c3ddd to 9548e41 Compare July 21, 2023 19:21
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.36.2 chore(deps): update module github.com/lucas-clemente/quic-go to v0.37.0 Jul 21, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 9548e41 to b89702a Compare August 1, 2023 07:53
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.37.6 chore(deps): update module github.com/lucas-clemente/quic-go to v0.38.0 Aug 21, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 7dfbde4 to 370e500 Compare August 25, 2023 02:48
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.38.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.38.1 Aug 25, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 370e500 to 5c8d216 Compare September 24, 2023 13:55
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.38.1 chore(deps): update module github.com/lucas-clemente/quic-go to v0.39.0 Sep 24, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 5c8d216 to 7c182e4 Compare October 17, 2023 10:25
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.39.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.39.1 Oct 17, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 7c182e4 to 957b921 Compare October 25, 2023 06:05
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.39.1 chore(deps): update module github.com/lucas-clemente/quic-go to v0.39.2 Oct 25, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 957b921 to 0fa5186 Compare October 27, 2023 07:41
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.39.2 chore(deps): update module github.com/lucas-clemente/quic-go to v0.39.3 Oct 27, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 0fa5186 to 6cab993 Compare October 31, 2023 06:17
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.39.3 chore(deps): update module github.com/lucas-clemente/quic-go to v0.40.0 Oct 31, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 6cab993 to aeeb3ee Compare December 13, 2023 06:05
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.40.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.40.1 Dec 13, 2023
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from aeeb3ee to ca10746 Compare January 17, 2024 07:29
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.40.1 chore(deps): update module github.com/lucas-clemente/quic-go to v0.41.0 Jan 17, 2024
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from ca10746 to 575c888 Compare March 18, 2024 01:35
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.41.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.42.0 Mar 18, 2024
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 575c888 to 57aab8d Compare April 27, 2024 15:53
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.42.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.43.0 Apr 27, 2024
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 57aab8d to 4fbc1f7 Compare May 4, 2024 23:07
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.43.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.43.1 May 4, 2024
@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from 4fbc1f7 to cc5660e Compare May 19, 2024 03:56
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.43.1 chore(deps): update module github.com/lucas-clemente/quic-go to v0.44.0 May 19, 2024
Copy link
Contributor Author

renovate bot commented May 19, 2024

⚠️ Artifact update problem

Renovate 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:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: old/config/go/go.sum
Command failed: go get -d -t ./...
go: github.com/lucas-clemente/quic-go@v0.24.0 (replaced by github.com/lucas-clemente/quic-go@v0.45.0): parsing go.mod:
	module declares its path as: github.com/quic-go/quic-go
	        but was required as: github.com/lucas-clemente/quic-go

@renovate renovate bot force-pushed the renovate/github.com-lucas-clemente-quic-go-0.x branch from cc5660e to f297d1f Compare June 6, 2024 13:28
@renovate renovate bot changed the title chore(deps): update module github.com/lucas-clemente/quic-go to v0.44.0 chore(deps): update module github.com/lucas-clemente/quic-go to v0.45.0 Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔍 Ready for Review Pull Request is not reviewed yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants