quic-go/quic-go (github.com/quic-go/quic-go)
### [`v0.45.0`](https://togithub.com/quic-go/quic-go/releases/tag/v0.45.0)
[Compare Source](https://togithub.com/quic-go/quic-go/compare/v0.44.0...v0.45.0)
#### 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](https://togithub.com/quic-go/quic-go/issues/4554)). Head to the [documentation](https://quic-go.net/docs/quic/metrics/) 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](https://togithub.com/quic-go/quic-go/tree/master/metrics/dashboards).
##### 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](https://togithub.com/quic-go/quic-go/issues/4507) and [#4536](https://togithub.com/quic-go/quic-go/issues/4536)). This allows identifying the connection as it progresses through the different handshake stages. The [documentation](https://quic-go.net/docs/quic/connection/#conn-context) 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](https://togithub.com/quic-go/quic-go/issues/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](https://togithub.com/quic-go/quic-go/issues/4551))
- qlog: `DefaultTracer` was renamed to `DefaultConnectionTracer` ([#4556](https://togithub.com/quic-go/quic-go/issues/4556))
- The `ConnectionTracingKey` is now deprecated. Use `Transport.ConnContext` to set your own tracing key ([#4532](https://togithub.com/quic-go/quic-go/issues/4532))
#### Fixes
- The server now correctly restores its QUIC transport parameters when resuming 0-RTT using a `tls.Config` that sets `GetConfigForClient`: ([#4550](https://togithub.com/quic-go/quic-go/issues/4550))
#### Changelog
- introduce Transport.ConnContext, use client's context on the connection by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4507](https://togithub.com/quic-go/quic-go/pull/4507)
- deprecate the ConnectionTracingKey by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4532](https://togithub.com/quic-go/quic-go/pull/4532)
- http3: fix flaky Extended CONNECT unit test by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4537](https://togithub.com/quic-go/quic-go/pull/4537)
- remove unneeded stream context cancellation on shutdown by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4535](https://togithub.com/quic-go/quic-go/pull/4535)
- ci: set timeout for jobs by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4538](https://togithub.com/quic-go/quic-go/pull/4538)
- http3: fix another flaky Extended CONNECT test by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4539](https://togithub.com/quic-go/quic-go/pull/4539)
- remove unused SetMax method of the mtuDiscoverer by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4543](https://togithub.com/quic-go/quic-go/pull/4543)
- http3: use the connection, not the stream context, on the server side by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4510](https://togithub.com/quic-go/quic-go/pull/4510)
- use a chan instead of a context to track handshake completion by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4547](https://togithub.com/quic-go/quic-go/pull/4547)
- remove unused function parameter from qtls.SetupConfigForServer by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4549](https://togithub.com/quic-go/quic-go/pull/4549)
- fix the server's 0-RTT rejection logic when using GetConfigForClient by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4550](https://togithub.com/quic-go/quic-go/pull/4550)
- add some Prometheus metrics by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4534](https://togithub.com/quic-go/quic-go/pull/4534)
- make Path MTU Discovery resilient to random packet loss by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4545](https://togithub.com/quic-go/quic-go/pull/4545)
- add context to EarlyConnection.NextConnection, handle handshake failures by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4551](https://togithub.com/quic-go/quic-go/pull/4551)
- pass a context to Transport.ConnContext by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4536](https://togithub.com/quic-go/quic-go/pull/4536)
- metrics: simplify constructor for the default connection tracer by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4555](https://togithub.com/quic-go/quic-go/pull/4555)
- qlog: rename DefaultTracer to DefaultConnectionTracer by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4556](https://togithub.com/quic-go/quic-go/pull/4556)
- fix incorrect documentation for Config.DisablePathMTUDiscovery by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4558](https://togithub.com/quic-go/quic-go/pull/4558)
- metrics: add an example Grafana dashboard by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4559](https://togithub.com/quic-go/quic-go/pull/4559)
**Full Changelog**: https://github.com/quic-go/quic-go/compare/v0.44.0...v0.45.0
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.
This PR contains the following updates:
v0.44.0
->v0.45.0
Release Notes
quic-go/quic-go (github.com/quic-go/quic-go)
### [`v0.45.0`](https://togithub.com/quic-go/quic-go/releases/tag/v0.45.0) [Compare Source](https://togithub.com/quic-go/quic-go/compare/v0.44.0...v0.45.0) #### 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](https://togithub.com/quic-go/quic-go/issues/4554)). Head to the [documentation](https://quic-go.net/docs/quic/metrics/) 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](https://togithub.com/quic-go/quic-go/tree/master/metrics/dashboards). ##### 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](https://togithub.com/quic-go/quic-go/issues/4507) and [#4536](https://togithub.com/quic-go/quic-go/issues/4536)). This allows identifying the connection as it progresses through the different handshake stages. The [documentation](https://quic-go.net/docs/quic/connection/#conn-context) 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](https://togithub.com/quic-go/quic-go/issues/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](https://togithub.com/quic-go/quic-go/issues/4551)) - qlog: `DefaultTracer` was renamed to `DefaultConnectionTracer` ([#4556](https://togithub.com/quic-go/quic-go/issues/4556)) - The `ConnectionTracingKey` is now deprecated. Use `Transport.ConnContext` to set your own tracing key ([#4532](https://togithub.com/quic-go/quic-go/issues/4532)) #### Fixes - The server now correctly restores its QUIC transport parameters when resuming 0-RTT using a `tls.Config` that sets `GetConfigForClient`: ([#4550](https://togithub.com/quic-go/quic-go/issues/4550)) #### Changelog - introduce Transport.ConnContext, use client's context on the connection by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4507](https://togithub.com/quic-go/quic-go/pull/4507) - deprecate the ConnectionTracingKey by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4532](https://togithub.com/quic-go/quic-go/pull/4532) - http3: fix flaky Extended CONNECT unit test by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4537](https://togithub.com/quic-go/quic-go/pull/4537) - remove unneeded stream context cancellation on shutdown by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4535](https://togithub.com/quic-go/quic-go/pull/4535) - ci: set timeout for jobs by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4538](https://togithub.com/quic-go/quic-go/pull/4538) - http3: fix another flaky Extended CONNECT test by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4539](https://togithub.com/quic-go/quic-go/pull/4539) - remove unused SetMax method of the mtuDiscoverer by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4543](https://togithub.com/quic-go/quic-go/pull/4543) - http3: use the connection, not the stream context, on the server side by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4510](https://togithub.com/quic-go/quic-go/pull/4510) - use a chan instead of a context to track handshake completion by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4547](https://togithub.com/quic-go/quic-go/pull/4547) - remove unused function parameter from qtls.SetupConfigForServer by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4549](https://togithub.com/quic-go/quic-go/pull/4549) - fix the server's 0-RTT rejection logic when using GetConfigForClient by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4550](https://togithub.com/quic-go/quic-go/pull/4550) - add some Prometheus metrics by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4534](https://togithub.com/quic-go/quic-go/pull/4534) - make Path MTU Discovery resilient to random packet loss by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4545](https://togithub.com/quic-go/quic-go/pull/4545) - add context to EarlyConnection.NextConnection, handle handshake failures by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4551](https://togithub.com/quic-go/quic-go/pull/4551) - pass a context to Transport.ConnContext by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4536](https://togithub.com/quic-go/quic-go/pull/4536) - metrics: simplify constructor for the default connection tracer by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4555](https://togithub.com/quic-go/quic-go/pull/4555) - qlog: rename DefaultTracer to DefaultConnectionTracer by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4556](https://togithub.com/quic-go/quic-go/pull/4556) - fix incorrect documentation for Config.DisablePathMTUDiscovery by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4558](https://togithub.com/quic-go/quic-go/pull/4558) - metrics: add an example Grafana dashboard by [@marten-seemann](https://togithub.com/marten-seemann) in [https://github.com/quic-go/quic-go/pull/4559](https://togithub.com/quic-go/quic-go/pull/4559) **Full Changelog**: https://github.com/quic-go/quic-go/compare/v0.44.0...v0.45.0Configuration
π 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.