balancer: Custom LB policies that record metrics must use the new MetricsRecorder method on Balancer.ClientConn instead of the removed Balancer.BuildOptions.MetricsRecorder field to obtain a metrics recorder. (#8027)
balancer: balancer.ClientConn implementations must now embed a delegate implementation. This allows grpc-go to add new methods to the interface and remain backward compatible. (#8026)
balancer/endpointsharding: The constructor accepts the child balancer's builder and a struct with optional configuration. (#8052)
New Features
xds: Add support for dualstack via the additional_addresses field in the Endpoint resource. To disable this feature, set the environment variable GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS=false. (#8134)
stats/opentelemetry: Add experimental support for OpenTelemetry tracing. (#7852)
xds/internal/xdsclient: Add counter metrics for valid and invalid resource updates. (#8038)
balancer/endpointsharding: Balancers created with the new DisableAutoReconnect option will not attempt to call ExitIdle automatically on their children when the children report idle. (#8052)
Bug Fixes
client: Fix support for proxies when using grpc.NewClient so the target is resolved by the proxy as expected. (#7881)
Added WithLocalDNSResolution() dial option to explicitly force target resolution on the client instead. (#7881)
weightedtarget: Return erroring picker when no targets are configured. (#8070)
xds: Fail RPCs with UNAVAILABLE when the EDS resource is missing or contains no endpoints (#8070)
xdsclient: Fix a bug where connectivity failures were reported to resource watchers before trying all listed servers. (#8075)
grpc: Fix the number of bytes reported in the error message when encoded messages are larger than 4GB. (#8033)
xds: Fixed a bug preventing tests from creating multiple servers or channels with different bootstrap configs. (#8050)
grpc: Fix message length checks when compression is enabled and maxReceiveMessageSize is MaxInt (#7918)
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | require | minor | `v1.70.0` -> `v1.71.0` |
---
### Release Notes
<details>
<summary>grpc/grpc-go (google.golang.org/grpc)</summary>
### [`v1.71.0`](https://github.com/grpc/grpc-go/releases/tag/v1.71.0): Release 1.71.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.70.0...v1.71.0)
### API Changes
- balancer: Custom LB policies that record metrics must use the new `MetricsRecorder` method on `Balancer.ClientConn` instead of the removed `Balancer.BuildOptions.MetricsRecorder` field to obtain a metrics recorder. ([#​8027](https://github.com/grpc/grpc-go/issues/8027))
- balancer: `balancer.ClientConn` implementations must now embed a delegate implementation. This allows grpc-go to add new methods to the interface and remain backward compatible. ([#​8026](https://github.com/grpc/grpc-go/issues/8026))
- balancer/endpointsharding: The constructor accepts the child balancer's builder and a struct with optional configuration. ([#​8052](https://github.com/grpc/grpc-go/issues/8052))
### New Features
- xds: Add support for dualstack via the [additional_addresses](https://github.com/envoyproxy/envoy/blob/df394a41c8587d1da4e97e156554e93ceee3c720/api/envoy/config/endpoint/v3/endpoint_components.proto#L91-L96) field in the Endpoint resource. To disable this feature, set the environment variable `GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS=false`. ([#​8134](https://github.com/grpc/grpc-go/issues/8134))
- stats/opentelemetry: Add experimental support for OpenTelemetry tracing. ([#​7852](https://github.com/grpc/grpc-go/issues/7852))
- xds/internal/xdsclient: Add counter metrics for valid and invalid resource updates. ([#​8038](https://github.com/grpc/grpc-go/issues/8038))
- balancer/leastrequest, roundrobin: Add dualstack support. ([#​7969](https://github.com/grpc/grpc-go/issues/7969), [#​7966](https://github.com/grpc/grpc-go/issues/7966))
- balancer/endpointsharding: Balancers created with the new `DisableAutoReconnect` option will not attempt to call `ExitIdle` automatically on their children when the children report idle. ([#​8052](https://github.com/grpc/grpc-go/issues/8052))
### Bug Fixes
- client: Fix support for proxies when using `grpc.NewClient` so the target is resolved by the proxy as expected. ([#​7881](https://github.com/grpc/grpc-go/issues/7881))
- Added `WithLocalDNSResolution()` dial option to explicitly force target resolution on the client instead. ([#​7881](https://github.com/grpc/grpc-go/issues/7881))
- weightedtarget: Return erroring picker when no targets are configured. ([#​8070](https://github.com/grpc/grpc-go/issues/8070))
- xds: Fail RPCs with `UNAVAILABLE` when the EDS resource is missing or contains no endpoints ([#​8070](https://github.com/grpc/grpc-go/issues/8070))
- xdsclient: Fix a bug where connectivity failures were reported to resource watchers before trying all listed servers. ([#​8075](https://github.com/grpc/grpc-go/issues/8075))
- grpc: Fix the number of bytes reported in the error message when encoded messages are larger than 4GB. ([#​8033](https://github.com/grpc/grpc-go/issues/8033))
- xds: Fixed a bug preventing tests from creating multiple servers or channels with different bootstrap configs. ([#​8050](https://github.com/grpc/grpc-go/issues/8050))
- grpc: Fix message length checks when compression is enabled and `maxReceiveMessageSize` is `MaxInt` ([#​7918](https://github.com/grpc/grpc-go/issues/7918))
- Special Thanks: [@​vinothkumarr227](https://github.com/vinothkumarr227)
### Documentation
- client: Improve documentation of `grpc.NewClient` and `ClientConn.CanonicalTarget` by providing examples. ([#​8078](https://github.com/grpc/grpc-go/issues/8078))
- examples/features/dualstack: New example demonstrating usage of endpoints and dualstack functionality. ([#​8098](https://github.com/grpc/grpc-go/issues/8098))
</details>
---
### 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 MR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this MR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box
---
This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODYuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE4Ni4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This MR contains the following updates:
v1.70.0->v1.71.0Release Notes
grpc/grpc-go (google.golang.org/grpc)
v1.71.0: Release 1.71.0Compare Source
API Changes
MetricsRecordermethod onBalancer.ClientConninstead of the removedBalancer.BuildOptions.MetricsRecorderfield to obtain a metrics recorder. (#8027)balancer.ClientConnimplementations must now embed a delegate implementation. This allows grpc-go to add new methods to the interface and remain backward compatible. (#8026)New Features
GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS=false. (#8134)DisableAutoReconnectoption will not attempt to callExitIdleautomatically on their children when the children report idle. (#8052)Bug Fixes
grpc.NewClientso the target is resolved by the proxy as expected. (#7881)WithLocalDNSResolution()dial option to explicitly force target resolution on the client instead. (#7881)UNAVAILABLEwhen the EDS resource is missing or contains no endpoints (#8070)maxReceiveMessageSizeisMaxInt(#7918)Documentation
grpc.NewClientandClientConn.CanonicalTargetby providing examples. (#8078)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 MR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this MR and you won't be reminded about this update again.
This MR has been generated by Renovate Bot.
mentioned in issue #3
changed the description