Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bump github.com/quic-go/quic-go from 0.38.1 to 0.39.0 (#577)
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.38.1 to 0.39.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/quic-go/quic-go/releases">github.com/quic-go/quic-go's releases</a>.</em></p> <blockquote> <h2>v0.39.0</h2> <h2>New Features</h2> <ul> <li>quic-go now uses feeds ECN signals into its congestion controller (<a href="https://redirect.github.com/quic-go/quic-go/issues/4059">#4059</a>). ECN is used by routers to signal congestion before queues overflow (and packets are dropped). When using ECN, there are a number of failure modes, which necessitates some rather complex validation logic, see <a href="https://datatracker.ietf.org/doc/html/rfc9000#section-13.4">section 13.4 of RFC 9000</a> for details. ECN support can be disabled by setting the <code>QUIC_GO_DISABLE_ECN</code> environment variable to <code>true</code>.</li> <li>The HTTP/3 package introduced a <code>http3.Error</code>, making the errors returned by the http3 package more useful, and allowing easy assertions of the <a href="https://datatracker.ietf.org/doc/html/rfc9114#section-8.1">HTTP/3 error codes</a> defined in RFC 9114: <a href="https://redirect.github.com/quic-go/quic-go/issues/4039">#4039</a></li> </ul> <h2>Other Changes</h2> <ul> <li>The key used to encrypt resumption tokens can now be configured using using <code>Transport.TokenGeneratorKey</code>: <a href="https://redirect.github.com/quic-go/quic-go/issues/4066">#4066</a></li> <li>The RTT is now saved in session tickets, even when not using 0-RTT, allowing for faster session resumption: <a href="https://redirect.github.com/quic-go/quic-go/issues/4042">#4042</a></li> <li>The reason for dial cancelations is now returned, when the context is canceled using a <code>context.CancelCauseFunc</code>: <a href="https://redirect.github.com/quic-go/quic-go/issues/4078">#4078</a></li> </ul> <p>When using Go 1.21, make sure to build with (at least) Go 1.21.1, as this release fixes a remote-triggered panic in crypto/tls. See <a href="https://groups.google.com/g/golang-announce/c/Fm51GRLNRvM">the release announcement</a> for details.</p> <h2>Breaking Changes</h2> <ul> <li><code>Config.DisableVersionNegotiationPackets</code> was moved to the <code>Transport</code>: <a href="https://redirect.github.com/quic-go/quic-go/issues/4047">#4047</a></li> <li><code>Config.MaxTokenAge</code> was moved to the <code>Transport</code>: <a href="https://redirect.github.com/quic-go/quic-go/issues/4084">#4084</a></li> <li><code>Config.MaxRetryTokenAge</code> was removed. The age limit for Retry tokens is now set to twice the handshake timeout: <a href="https://redirect.github.com/quic-go/quic-go/issues/4064">#4064</a></li> <li>The handshake timeout is now set to twice the handshake idle timeout: <a href="https://redirect.github.com/quic-go/quic-go/issues/4063">#4063</a>. For clients, it is recommend to limit the duration of the handshake by using setting the context on the <code>Dial</code> call.</li> <li>The <code>logging.Tracer</code> and <code>logging.ConnectionTracer</code> are now structs (not interfaces): <a href="https://redirect.github.com/quic-go/quic-go/issues/4082">#4082</a></li> </ul> <h2>Please support quic-go!</h2> <p>Is your project / company relying on quic-go? Please consider <a href="https://github.com/sponsors/marten-seemann">funding the project</a>. Any support is highly appreciated!</p> <h2>Changelog</h2> <ul> <li>ci: fix integration test running with and without GSO by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4043">quic-go/quic-go#4043</a></li> <li>ci: fix syntax error in integration test workflow by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4048">quic-go/quic-go#4048</a></li> <li>fix flaky version negotiation connection unit test by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4052">quic-go/quic-go#4052</a></li> <li>switch from unmaintained golang/mock to go.uber.org/mock by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4050">quic-go/quic-go#4050</a></li> <li>move the DisableVersionNegotiationPackets flag to the Transport by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4047">quic-go/quic-go#4047</a></li> <li>move GSO control message handling to the oobConn by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4056">quic-go/quic-go#4056</a></li> <li>integration tests: fix connection timeout in 0-RTT test by <a href="https://github.com/tanghaowillow"><code>@tanghaowillow</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4060">quic-go/quic-go#4060</a></li> <li>ackhandler: rename variables to follow RFC 9002 terminology by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4062">quic-go/quic-go#4062</a></li> <li>ci: update GitHub checkout and setup-go actions to v4 by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4067">quic-go/quic-go#4067</a></li> <li>update qtls-go1-20 to v0.3.4 by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4068">quic-go/quic-go#4068</a></li> <li>remove TLS post-handshake message reassembly logic by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4073">quic-go/quic-go#4073</a></li> <li>ackhandler: use the receive time of the Retry packet for RTT estimation by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4070">quic-go/quic-go#4070</a></li> <li>set the handshake timeout to twice the handshake idle timeout by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4063">quic-go/quic-go#4063</a></li> <li>remove Config.MaxRetryTokenAge, set it to the handshake timeout by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4064">quic-go/quic-go#4064</a></li> <li>randomize the serialization order of control frames by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4069">quic-go/quic-go#4069</a></li> <li>add ECN support by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4059">quic-go/quic-go#4059</a></li> <li>save the RTT in non-0-RTT session tickets by <a href="https://github.com/tanghaowillow"><code>@tanghaowillow</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4042">quic-go/quic-go#4042</a></li> <li>remove duplicate mocks for the Tracer and the ConnectionTracer by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4076">quic-go/quic-go#4076</a></li> <li>ackhandler: detect ECN mangling by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4080">quic-go/quic-go#4080</a></li> <li>ci: clean up Codecov ignore list by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4081">quic-go/quic-go#4081</a></li> <li>expose GSO usage through ConnectionState by <a href="https://github.com/birneee"><code>@birneee</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4083">quic-go/quic-go#4083</a></li> <li>add a Transport config option for the key used to encrypt tokens by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4066">quic-go/quic-go#4066</a></li> <li>http09: increase the startup timeout in tests by <a href="https://github.com/marten-seemann"><code>@marten-seemann</code></a> in <a href="https://redirect.github.com/quic-go/quic-go/pull/4071">quic-go/quic-go#4071</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/quic-go/quic-go/commit/9a397abc177badb035e63b4d9321fc287430ee2d"><code>9a397ab</code></a> update gomock to v0.3.0 (<a href="https://redirect.github.com/quic-go/quic-go/issues/4087">#4087</a>)</li> <li><a href="https://github.com/quic-go/quic-go/commit/4bdff39ff0ce859f3f9a8f7bddc8a389add6c0f0"><code>4bdff39</code></a> README: add Hysteria (<a href="https://redirect.github.com/quic-go/quic-go/issues/4085">#4085</a>)</li> <li><a href="https://github.com/quic-go/quic-go/commit/4a046185b7d5275fd70504d2d630d10e731dbcc6"><code>4a04618</code></a> ackhandler: fix ECN mangling detection when packets are lost (<a href="https://redirect.github.com/quic-go/quic-go/issues/4089">#4089</a>)</li> <li><a href="https://github.com/quic-go/quic-go/commit/c12f42580329a9fa6a724f7f0f56c7abb2a7dde6"><code>c12f425</code></a> ackhandler: don't fail ECN validation if less than 10 testing packets are los...</li> <li><a href="https://github.com/quic-go/quic-go/commit/9010cfd2bbc9da8c16a839a4b9494bfe3b6b9d41"><code>9010cfd</code></a> remove unused unknownPacketHandler interface (<a href="https://redirect.github.com/quic-go/quic-go/issues/4093">#4093</a>)</li> <li><a href="https://github.com/quic-go/quic-go/commit/22fb59ee6f2962e9987a7dede7a91821fbffd0b0"><code>22fb59e</code></a> create FUNDING.yml</li> <li><a href="https://github.com/quic-go/quic-go/commit/55eebd49ff040846a90d818f5d513d48ee2d2c82"><code>55eebd4</code></a> return the cancellation cause for cancelled dials (<a href="https://redirect.github.com/quic-go/quic-go/issues/4078">#4078</a>)</li> <li><a href="https://github.com/quic-go/quic-go/commit/1affe38703fdb78ccaa3716d6f44fbec0063c7ce"><code>1affe38</code></a> move MaxTokenAge configuration option to the Transport (<a href="https://redirect.github.com/quic-go/quic-go/issues/4084">#4084</a>)</li> <li><a href="https://github.com/quic-go/quic-go/commit/9b8219657899fd188678f0ca6c5751aa701faa43"><code>9b82196</code></a> make the logging.Tracer and logging.ConnectionTracer a struct (<a href="https://redirect.github.com/quic-go/quic-go/issues/4082">#4082</a>)</li> <li><a href="https://github.com/quic-go/quic-go/commit/d8cc4cb3ef5bff86cdde8c8c5b0a24c8e9180e91"><code>d8cc4cb</code></a> http3: introduce an HTTP/3 error type (<a href="https://redirect.github.com/quic-go/quic-go/issues/4039">#4039</a>)</li> <li>Additional commits viewable in <a href="https://github.com/quic-go/quic-go/compare/v0.38.1...v0.39.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/quic-go/quic-go&package-manager=go_modules&previous-version=0.38.1&new-version=0.39.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Loading branch information