grpc/grpc-go (google.golang.org/grpc)
### [`v1.63.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.63.0): Release 1.63.0
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.2...v1.63.0)
### Behavior Changes
- grpc: Return canonical target string from `resolver.Address.String()` (experimental) ([#6923](https://togithub.com/grpc/grpc-go/issues/6923))
- client & server: when using write buffer pooling, use input value for buffer size instead of size\*2 ([#6983](https://togithub.com/grpc/grpc-go/issues/6983))
- Special Thanks: [@raghav-stripe](https://togithub.com/raghav-stripe)
### New Features
- grpc: add `ClientConn.CanonicalTarget()` to return the canonical target string. ([#7006](https://togithub.com/grpc/grpc-go/issues/7006))
- xds: implement LRS named metrics support ([gRFC A64](https://togithub.com/grpc/proposal/blob/master/A64-lrs-custom-metrics.md)) ([#7027](https://togithub.com/grpc/grpc-go/issues/7027))
- Special Thanks: [@danielzhaotongliu](https://togithub.com/danielzhaotongliu)
- grpc: introduce `grpc.NewClient` to allow users to create new clients in idle mode and with "dns" as the default resolver ([#7010](https://togithub.com/grpc/grpc-go/issues/7010))
- Special Thanks: [@bruuuuuuuce](https://togithub.com/bruuuuuuuce)
### API Changes
- grpc: stabilize experimental method `ClientConn.Target()` ([#7006](https://togithub.com/grpc/grpc-go/issues/7006))
### Bug Fixes
- xds: fix an issue that would cause the client to send an empty list of resources for LDS/CDS upon reconnecting with the management server ([#7026](https://togithub.com/grpc/grpc-go/issues/7026))
- server: Fix some errors returned by a server when using a `grpc.Server` as an `http.Handler` with the Go stdlib HTTP server ([#6989](https://togithub.com/grpc/grpc-go/issues/6989))
- resolver/dns: add `SetResolvingTimeout` to allow configuring the DNS resolver's global timeout ([#6917](https://togithub.com/grpc/grpc-go/issues/6917))
- Special Thanks: [@and1truong](https://togithub.com/and1truong)
- Set the security level of Windows named pipes to NoSecurity ([#6956](https://togithub.com/grpc/grpc-go/issues/6956))
- Special Thanks: [@irsl](https://togithub.com/irsl)
### [`v1.62.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.2): Release 1.62.2
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.1...v1.62.2)
### Dependencies
- Update http2 library to address vulnerability [CVE-2023-45288](https://www.kb.cert.org/vuls/id/421644)
### [`v1.62.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.1): Release 1.62.1
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.0...v1.62.1)
### Bug Fixes
- xds: fix a bug that results in `no matching virtual host found` RPC errors due to a difference between the target and LDS resource names ([#6997](https://togithub.com/grpc/grpc-go/issues/6997))
- server: fixed stats handler data `InPayload.Length` for unary RPC calls ([#6766](https://togithub.com/grpc/grpc-go/issues/6766))
- Special Thanks: [@hueypark](https://togithub.com/hueypark)
- grpc: the experimental `RecvBufferPool` `DialOption` and `ServerOption` are now active during unary RPCs with compression ([#6766](https://togithub.com/grpc/grpc-go/issues/6766))
- Special Thanks: [@hueypark](https://togithub.com/hueypark)
- grpc: trim whitespaces in `accept-encoding` header before determining compressors
- Special Thanks: [@sercand](https://togithub.com/sercand)
### [`v1.62.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.0): Release 1.62.0
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.61.2...v1.62.0)
### New Features
- grpc: Add StaticMethod CallOption as a signal to stats handler that a method is safe to use as an instrument key ([#6986](https://togithub.com/grpc/grpc-go/issues/6986))
### Behavior Changes
- grpc: Return canonical target string from ClientConn.Target() and resolver.Address.String() ([#6923](https://togithub.com/grpc/grpc-go/issues/6923))
### Bug Fixes
- server: wait to close connection until incoming socket is drained (with timeout) to prevent data loss on client-side ([#6977](https://togithub.com/grpc/grpc-go/issues/6977))
- Special Thanks: [@s-matyukevich](https://togithub.com/s-matyukevich) for discovering the root cause
### Performance Improvements
- \*: Allow building without `x/net/trace` by using `grpcnotrace` to enable dead code elimination ([#6954](https://togithub.com/grpc/grpc-go/issues/6954))
- Special Thanks: [@hugelgupf](https://togithub.com/hugelgupf)
- rand: improve performance and simplify implementation of `grpcrand` by adopting `math/rand`'s top-level functions for go version 1.21.0 and newer. ([#6925](https://togithub.com/grpc/grpc-go/issues/6925))
- Special Thanks: [@kmirzavaziri](https://togithub.com/kmirzavaziri)
### Dependencies
- \*: Use google.golang.org/protobuf/proto instead of github.com/golang/protobuf. ([#6919](https://togithub.com/grpc/grpc-go/issues/6919))
- Special Thanks: [@Clement-Jean](https://togithub.com/Clement-Jean)
> \[!NOTE]
> The above change in proto library usage introduces a minor behavior change within those libraries. The old `github.com/golang/protobuf` library would error if given a `nil` message to `Marshal`, while the new `google.golang.org/protobuf` library will successfully output zero bytes in this case. This means server method handlers that did `return nil, nil` will now return an empty message and no error, while it used to return an error. This also affects the client side, where clients sending `nil` messages used to fail without sending the RPC, and now they will send an empty message.
### [`v1.61.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.61.2): Release 1.61.2
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.61.1...v1.61.2)
### Dependencies
- Update http2 library to address vulnerability [CVE-2023-45288](https://www.kb.cert.org/vuls/id/421644)
### [`v1.61.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.61.1): Release 1.61.1
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.61.0...v1.61.1)
### Bug Fixes
- server: wait to close connection until incoming socket is drained (with timeout) to prevent data loss on client-side ([#6977](https://togithub.com/grpc/grpc-go/issues/6977))
- Special Thanks: [@s-matyukevich](https://togithub.com/s-matyukevich) for discovering the root cause
### [`v1.61.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.61.0): Release 1.61.0
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.60.1...v1.61.0)
### New Features
- resolver: provide method, `AuthorityOverrider`, to allow resolver.Builders to override the default authority for a `ClientConn`. (EXPERIMENTAL) ([#6752](https://togithub.com/grpc/grpc-go/issues/6752))
- Special Thanks: [@Aditya-Sood](https://togithub.com/Aditya-Sood)
- xds: add support for mTLS Credentials in xDS bootstrap ([gRFC A65](github.com/grpc/proposal/blob/8c31bfedded5f0a51c4933e9e9a8246122f9c41a/A65-xds-mtls-creds-in-bootstrap.md)) ([#6757](https://togithub.com/grpc/grpc-go/issues/6757))
- Special Thanks: [@atollena](https://togithub.com/atollena)
- server: add `grpc.WaitForHandlers` `ServerOption` to cause `Server.Stop` to block until method handlers return. (EXPERIMENTAL) ([#6922](https://togithub.com/grpc/grpc-go/issues/6922))
### Performance Improvements
- grpc: skip compression of empty messages as an optimization ([#6842](https://togithub.com/grpc/grpc-go/issues/6842))
- Special Thanks: [@jroper](https://togithub.com/jroper)
- orca: use atomic pointer to improve performance in server metrics recorder ([#6799](https://togithub.com/grpc/grpc-go/issues/6799))
- Special Thanks: [@danielzhaotongliu](https://togithub.com/danielzhaotongliu)
### Bug Fixes
- client: correctly enable TCP keepalives with OS defaults on windows ([#6863](https://togithub.com/grpc/grpc-go/issues/6863))
- Special Thanks: [@mmatczuk](https://togithub.com/mmatczuk)
- server: change some stream operations to return `UNAVAILABLE` instead of `UNKNOWN` when underlying connection is broken ([#6891](https://togithub.com/grpc/grpc-go/issues/6891))
- Special Thanks: [@mustafasen81](https://togithub.com/mustafasen81)
- server: fix `GracefulStop` to block until all method handlers return (v1.60 regression). ([#6922](https://togithub.com/grpc/grpc-go/issues/6922))
- server: fix two bugs that could lead to panics at shutdown when using [`NumStreamWorkers`](https://pkg.go.dev/google.golang.org/grpc#NumStreamWorkers) (EXPERIMENTAL). ([#6856](https://togithub.com/grpc/grpc-go/issues/6856))
- reflection: do not send invalid descriptors to clients for files that cannot be fully resolved ([#6771](https://togithub.com/grpc/grpc-go/issues/6771))
- Special Thanks: [@jhump](https://togithub.com/jhump)
- xds: don't fail channel/server startup when xds creds is specified, but bootstrap is missing certificate providers ([#6848](https://togithub.com/grpc/grpc-go/issues/6848))
- xds: Atomically read and write xDS security configuration client side ([#6796](https://togithub.com/grpc/grpc-go/issues/6796))
- xds/server: fix RDS handling for non-inline route configs ([#6915](https://togithub.com/grpc/grpc-go/issues/6915))
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:
v1.60.1
->v1.63.0
Release Notes
grpc/grpc-go (google.golang.org/grpc)
### [`v1.63.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.63.0): Release 1.63.0 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.2...v1.63.0) ### Behavior Changes - grpc: Return canonical target string from `resolver.Address.String()` (experimental) ([#6923](https://togithub.com/grpc/grpc-go/issues/6923)) - client & server: when using write buffer pooling, use input value for buffer size instead of size\*2 ([#6983](https://togithub.com/grpc/grpc-go/issues/6983)) - Special Thanks: [@raghav-stripe](https://togithub.com/raghav-stripe) ### New Features - grpc: add `ClientConn.CanonicalTarget()` to return the canonical target string. ([#7006](https://togithub.com/grpc/grpc-go/issues/7006)) - xds: implement LRS named metrics support ([gRFC A64](https://togithub.com/grpc/proposal/blob/master/A64-lrs-custom-metrics.md)) ([#7027](https://togithub.com/grpc/grpc-go/issues/7027)) - Special Thanks: [@danielzhaotongliu](https://togithub.com/danielzhaotongliu) - grpc: introduce `grpc.NewClient` to allow users to create new clients in idle mode and with "dns" as the default resolver ([#7010](https://togithub.com/grpc/grpc-go/issues/7010)) - Special Thanks: [@bruuuuuuuce](https://togithub.com/bruuuuuuuce) ### API Changes - grpc: stabilize experimental method `ClientConn.Target()` ([#7006](https://togithub.com/grpc/grpc-go/issues/7006)) ### Bug Fixes - xds: fix an issue that would cause the client to send an empty list of resources for LDS/CDS upon reconnecting with the management server ([#7026](https://togithub.com/grpc/grpc-go/issues/7026)) - server: Fix some errors returned by a server when using a `grpc.Server` as an `http.Handler` with the Go stdlib HTTP server ([#6989](https://togithub.com/grpc/grpc-go/issues/6989)) - resolver/dns: add `SetResolvingTimeout` to allow configuring the DNS resolver's global timeout ([#6917](https://togithub.com/grpc/grpc-go/issues/6917)) - Special Thanks: [@and1truong](https://togithub.com/and1truong) - Set the security level of Windows named pipes to NoSecurity ([#6956](https://togithub.com/grpc/grpc-go/issues/6956)) - Special Thanks: [@irsl](https://togithub.com/irsl) ### [`v1.62.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.2): Release 1.62.2 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.1...v1.62.2) ### Dependencies - Update http2 library to address vulnerability [CVE-2023-45288](https://www.kb.cert.org/vuls/id/421644) ### [`v1.62.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.1): Release 1.62.1 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.0...v1.62.1) ### Bug Fixes - xds: fix a bug that results in `no matching virtual host found` RPC errors due to a difference between the target and LDS resource names ([#6997](https://togithub.com/grpc/grpc-go/issues/6997)) - server: fixed stats handler data `InPayload.Length` for unary RPC calls ([#6766](https://togithub.com/grpc/grpc-go/issues/6766)) - Special Thanks: [@hueypark](https://togithub.com/hueypark) - grpc: the experimental `RecvBufferPool` `DialOption` and `ServerOption` are now active during unary RPCs with compression ([#6766](https://togithub.com/grpc/grpc-go/issues/6766)) - Special Thanks: [@hueypark](https://togithub.com/hueypark) - grpc: trim whitespaces in `accept-encoding` header before determining compressors - Special Thanks: [@sercand](https://togithub.com/sercand) ### [`v1.62.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.0): Release 1.62.0 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.61.2...v1.62.0) ### New Features - grpc: Add StaticMethod CallOption as a signal to stats handler that a method is safe to use as an instrument key ([#6986](https://togithub.com/grpc/grpc-go/issues/6986)) ### Behavior Changes - grpc: Return canonical target string from ClientConn.Target() and resolver.Address.String() ([#6923](https://togithub.com/grpc/grpc-go/issues/6923)) ### Bug Fixes - server: wait to close connection until incoming socket is drained (with timeout) to prevent data loss on client-side ([#6977](https://togithub.com/grpc/grpc-go/issues/6977)) - Special Thanks: [@s-matyukevich](https://togithub.com/s-matyukevich) for discovering the root cause ### Performance Improvements - \*: Allow building without `x/net/trace` by using `grpcnotrace` to enable dead code elimination ([#6954](https://togithub.com/grpc/grpc-go/issues/6954)) - Special Thanks: [@hugelgupf](https://togithub.com/hugelgupf) - rand: improve performance and simplify implementation of `grpcrand` by adopting `math/rand`'s top-level functions for go version 1.21.0 and newer. ([#6925](https://togithub.com/grpc/grpc-go/issues/6925)) - Special Thanks: [@kmirzavaziri](https://togithub.com/kmirzavaziri) ### Dependencies - \*: Use google.golang.org/protobuf/proto instead of github.com/golang/protobuf. ([#6919](https://togithub.com/grpc/grpc-go/issues/6919)) - Special Thanks: [@Clement-Jean](https://togithub.com/Clement-Jean) > \[!NOTE] > The above change in proto library usage introduces a minor behavior change within those libraries. The old `github.com/golang/protobuf` library would error if given a `nil` message to `Marshal`, while the new `google.golang.org/protobuf` library will successfully output zero bytes in this case. This means server method handlers that did `return nil, nil` will now return an empty message and no error, while it used to return an error. This also affects the client side, where clients sending `nil` messages used to fail without sending the RPC, and now they will send an empty message. ### [`v1.61.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.61.2): Release 1.61.2 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.61.1...v1.61.2) ### Dependencies - Update http2 library to address vulnerability [CVE-2023-45288](https://www.kb.cert.org/vuls/id/421644) ### [`v1.61.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.61.1): Release 1.61.1 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.61.0...v1.61.1) ### Bug Fixes - server: wait to close connection until incoming socket is drained (with timeout) to prevent data loss on client-side ([#6977](https://togithub.com/grpc/grpc-go/issues/6977)) - Special Thanks: [@s-matyukevich](https://togithub.com/s-matyukevich) for discovering the root cause ### [`v1.61.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.61.0): Release 1.61.0 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.60.1...v1.61.0) ### New Features - resolver: provide method, `AuthorityOverrider`, to allow resolver.Builders to override the default authority for a `ClientConn`. (EXPERIMENTAL) ([#6752](https://togithub.com/grpc/grpc-go/issues/6752)) - Special Thanks: [@Aditya-Sood](https://togithub.com/Aditya-Sood) - xds: add support for mTLS Credentials in xDS bootstrap ([gRFC A65](github.com/grpc/proposal/blob/8c31bfedded5f0a51c4933e9e9a8246122f9c41a/A65-xds-mtls-creds-in-bootstrap.md)) ([#6757](https://togithub.com/grpc/grpc-go/issues/6757)) - Special Thanks: [@atollena](https://togithub.com/atollena) - server: add `grpc.WaitForHandlers` `ServerOption` to cause `Server.Stop` to block until method handlers return. (EXPERIMENTAL) ([#6922](https://togithub.com/grpc/grpc-go/issues/6922)) ### Performance Improvements - grpc: skip compression of empty messages as an optimization ([#6842](https://togithub.com/grpc/grpc-go/issues/6842)) - Special Thanks: [@jroper](https://togithub.com/jroper) - orca: use atomic pointer to improve performance in server metrics recorder ([#6799](https://togithub.com/grpc/grpc-go/issues/6799)) - Special Thanks: [@danielzhaotongliu](https://togithub.com/danielzhaotongliu) ### Bug Fixes - client: correctly enable TCP keepalives with OS defaults on windows ([#6863](https://togithub.com/grpc/grpc-go/issues/6863)) - Special Thanks: [@mmatczuk](https://togithub.com/mmatczuk) - server: change some stream operations to return `UNAVAILABLE` instead of `UNKNOWN` when underlying connection is broken ([#6891](https://togithub.com/grpc/grpc-go/issues/6891)) - Special Thanks: [@mustafasen81](https://togithub.com/mustafasen81) - server: fix `GracefulStop` to block until all method handlers return (v1.60 regression). ([#6922](https://togithub.com/grpc/grpc-go/issues/6922)) - server: fix two bugs that could lead to panics at shutdown when using [`NumStreamWorkers`](https://pkg.go.dev/google.golang.org/grpc#NumStreamWorkers) (EXPERIMENTAL). ([#6856](https://togithub.com/grpc/grpc-go/issues/6856)) - reflection: do not send invalid descriptors to clients for files that cannot be fully resolved ([#6771](https://togithub.com/grpc/grpc-go/issues/6771)) - Special Thanks: [@jhump](https://togithub.com/jhump) - xds: don't fail channel/server startup when xds creds is specified, but bootstrap is missing certificate providers ([#6848](https://togithub.com/grpc/grpc-go/issues/6848)) - xds: Atomically read and write xDS security configuration client side ([#6796](https://togithub.com/grpc/grpc-go/issues/6796)) - xds/server: fix RDS handling for non-inline route configs ([#6915](https://togithub.com/grpc/grpc-go/issues/6915))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.