gRPC Java 1.66.0 Release Notes
API Changes
- stub: Support setting onReadyThreshold through AbstractStub. (#11320) (25a8b7c)
- util: Stabilize
AdvancedTlsX509TrustManager
, anX509ExtendedTrustManager
that allows users to configure advanced TLS features, such as root certificate reloading and peer cert custom verification. (658cbf6) - util: Align AdvancedTlsX509{Key and Trust}Manager. (#11385)
- util: Add
GracefulSwitchLoadBalancer
config (ebed047) and mark switchTo() deprecated. (85e0a01).GracefulSwitchLoadBalancer
now receives its configuration like a regular load balancer. - binder: Introduce
AllowSecurityPolicy
to allow calling code to not have to wait on async/slow implementations.BinderTransport
now submits async implementations to an executor. (#11272) (7fee6a3) - api: Add convenience method in
ServerBuilder
for adding a list of service implementations to the handler registry together. (#11285) (85ed053)
Improvements
- examples: Improve example Bazel WORKSPACE to demonstrate referencing grpc-xds. (5ec0187)
- examples: Include Bazel bzlmod configuration (36e687f). There are now examples for both non-bzlmod and bzlmod.
- core: Fixes to
PickFirstLeafLoadBalancer
- core: Change default to use the new pick first load balancer (
PickFirstLeafLoadBalancer
). (#11348) - core: Use retryThrottling from defaultServiceConfig when the name resolver config doesn't provide this config. (#11274) (062ebb4)
- netty: Enable use of Netty 4.1.111 by avoiding the optimization provided by
NettyAdaptiveCumulator
if Netty is on version 4.1.111 or later. (#11367) - binder: Set a default connect timeout of 60 seconds. (#11359) (21dec30)
- binder: Make
BinderServer
ownServerAuthInterceptor
's executor that helps avoid leaks. (#11293) (15ad9f5) - services:: Added
ProtoReflectionServiceV1
for the v1 reflection protocol. The preexistingProtoReflectionService
implements the v1alpha reflection protocol. (#11237) (0aa976c)
Bug Fixes
- binder: Add missing synchronization to prevent races when calling awaitTermination(). (#11277) (14fd81f)
- util: Fix
AdvancedTlsX509TrustManager
validation on servers when using SSLSocket. Previously it would try to use a null SSLEngine . (dcb1c01)
Dependencies
- compiler: Upgrade from CentOS 7 to AlmaLinux 8 for the pre-compiled Linux protoc-gen-grpc-java (71eb5fb). This adds a runtime dependency on libstdc++
- Upgrade animal-sniffer-annotations to 1.24 (a977385)
- Upgrade error_prone_annotations to 2.28.0 (a977385)
- Upgrade proto-google-common-protos to 2.41.0 (a977385)
- Upgrade google-auth-library to 1.23.0 (a977385)
- Upgrade gson to 2.11.0 (a977385)
- Upgrade guava to 33.2.1 (a977385)
- Upgrade opentelemetry to 1.40.0 (a977385)
- Upgrade perfmark-api to 0.27.0 (a977385)
- Upgrade protobuf-java to 3.25.3 (a977385)
- xds: Remove unused opencensus-proto dependency (e7c3803)
- bazel: Replace
@com_github_cncf_udpa
usage with preexisting@com_github_cncf_xds
; delete@com_github_cncf_udpa
repo alias for xds (6dd6ca9) - bazel: Upgrade envoyproxy/data-plane-api to 1611a730 (c540993). The version used by Gradle had been updated in 1.62.0 (68334a0), but the bazel version had not
- bazel: Use com_google_protobuf instead of com_google_protobuf_javalite (7a25e68). Bazel’s protobuf rules no longer use the old com_google_protobuf_javalite repository name
- bazel: Don't require protobuf to be in maven_install (d3c2f5a). Protobuf’s targets are generally just used directly; this fixed the only place that used maven’s
artifact()
syntax