grpc/grpc-go (google.golang.org/grpc)
### [`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.1...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.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))
### [`v1.60.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.60.1)
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.60.0...v1.60.1)
### Bug Fixes
- server: fix two bugs that could lead to panics at shutdown when using [NumStreamWorkers](https://pkg.go.dev/google.golang.org/grpc#NumStreamWorkers) (experimental feature).
### [`v1.60.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.60.0): Release 1.60.0
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.59.0...v1.60.0)
### Security
- credentials/tls: if not set, set TLS MinVersion to 1.2 and CipherSuites according to supported suites not forbidden by RFC7540.
- This is a behavior change to bring us into better alignment with RFC 7540.
### API Changes
- resolver: remove deprecated and experimental `ClientConn.NewServiceConfig` ([#6784](https://togithub.com/grpc/grpc-go/issues/6784))
- client: remove deprecated `grpc.WithServiceConfig` `DialOption` ([#6800](https://togithub.com/grpc/grpc-go/issues/6800))
### Bug Fixes
- client: fix race that could cause a deadlock while entering idle mode and receiving a name resolver update ([#6804](https://togithub.com/grpc/grpc-go/issues/6804))
- client: always enable TCP keepalives with OS defaults ([#6834](https://togithub.com/grpc/grpc-go/issues/6834))
- credentials/alts: fix a bug preventing ALTS from connecting to the metadata server if the default scheme is overridden ([#6686](https://togithub.com/grpc/grpc-go/issues/6686))
- Special Thanks: [@mjamaloney](https://togithub.com/mjamaloney)
### Behavior Changes
- server: Do not return from Stop() or GracefulStop() until all resources are released ([#6489](https://togithub.com/grpc/grpc-go/issues/6489))
- Special Thanks: [@fho](https://togithub.com/fho)
### Documentation
- codes: clarify that only codes defined by this package are valid and that users should not cast other values to `codes.Code` ([#6701](https://togithub.com/grpc/grpc-go/issues/6701))
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.59.0
->v1.62.0
Release Notes
grpc/grpc-go (google.golang.org/grpc)
### [`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.1...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.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)) ### [`v1.60.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.60.1) [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.60.0...v1.60.1) ### Bug Fixes - server: fix two bugs that could lead to panics at shutdown when using [NumStreamWorkers](https://pkg.go.dev/google.golang.org/grpc#NumStreamWorkers) (experimental feature). ### [`v1.60.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.60.0): Release 1.60.0 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.59.0...v1.60.0) ### Security - credentials/tls: if not set, set TLS MinVersion to 1.2 and CipherSuites according to supported suites not forbidden by RFC7540. - This is a behavior change to bring us into better alignment with RFC 7540. ### API Changes - resolver: remove deprecated and experimental `ClientConn.NewServiceConfig` ([#6784](https://togithub.com/grpc/grpc-go/issues/6784)) - client: remove deprecated `grpc.WithServiceConfig` `DialOption` ([#6800](https://togithub.com/grpc/grpc-go/issues/6800)) ### Bug Fixes - client: fix race that could cause a deadlock while entering idle mode and receiving a name resolver update ([#6804](https://togithub.com/grpc/grpc-go/issues/6804)) - client: always enable TCP keepalives with OS defaults ([#6834](https://togithub.com/grpc/grpc-go/issues/6834)) - credentials/alts: fix a bug preventing ALTS from connecting to the metadata server if the default scheme is overridden ([#6686](https://togithub.com/grpc/grpc-go/issues/6686)) - Special Thanks: [@mjamaloney](https://togithub.com/mjamaloney) ### Behavior Changes - server: Do not return from Stop() or GracefulStop() until all resources are released ([#6489](https://togithub.com/grpc/grpc-go/issues/6489)) - Special Thanks: [@fho](https://togithub.com/fho) ### Documentation - codes: clarify that only codes defined by this package are valid and that users should not cast other values to `codes.Code` ([#6701](https://togithub.com/grpc/grpc-go/issues/6701))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.