Skip to content

v1.66.0

Compare
Choose a tag to compare
@kannanjgithub kannanjgithub released this 13 Aug 17:02
· 147 commits to master since this release

gRPC Java 1.66.0 Release Notes

API Changes

  • stub: Support setting onReadyThreshold through AbstractStub. (#11320) (25a8b7c)
  • util: Stabilize AdvancedTlsX509TrustManager, an X509ExtendedTrustManager 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
    • Eliminate NPE after recovering from a temporary name resolution failure. (#11298)
    • Deduplicate addresses. (#11342, #11345)
  • 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 own ServerAuthInterceptor's executor that helps avoid leaks. (#11293) (15ad9f5)
  • services:: Added ProtoReflectionServiceV1 for the v1 reflection protocol. The preexisting ProtoReflectionService 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

Thanks to

@hlx502
@erm-g
@jdcormie
@JoaoVitorStein
@cfredri4