gRPC-Java 1.41.0 Released

77 views
Skip to first unread message

Eric Anderson

unread,
Sep 24, 2021, 3:30:28 PM9/24/21
to grpc-io
gRPC Java 1.41.0 is released and is available on Maven Central.
https://github.com/grpc/grpc-java/releases/tag/v1.41.0

API Changes

  • stub: Mark Stub-based MetadataUtils methods deprecated (#8395). The interceptor-based versions have been stable for a long time and are preferred

Bug Fixes

  • census: Fixed a data race in CensusStatsModule which in rare cases may cause NullPointerException (#8459)
  • xds: Fixed a bug in SharedCallCounterMap which in rare cases may cause NullPointerException (#8397)
  • core: ServerCall.isCancelled() and ServerCallStreamObserver.isCancelled() implementations no longer incorrectly return true at the end of every RPC (#8408)
  • core: ManagedChannel no longer immediately exits idle mode after an enterIdle() call when it has any calls in progress
  • netty-shaded: Modify the shading operation to transform native-image resources so they correctly reference shaded class names (#7540)
  • netty-shaded: Rename native-image resources to avoid collisions with Netty’s copy, which were modified starting in 1.39.0
  • rls: avoid NullPointerException in RLS in certain circumstances when calling channel.getState(true) or if a parent load balancer requests a connection (#8379)

New Features

  • xds: xDS-based TLS security (gRFC 29) is now stable
  • util: Added new classes AdvancedTlsX509TrustManager and AdvancedTlsX509KeyManager, which support reloading keys and trust roots as they change. They also can make custom verification easier by handling the hostname verification. (#8175)
  • xds: Added XdsNameResolverProvider.createForTest() to allow using a different bootstrap configuration in tests (#8358)

Behavior Changes

  • rls: migrated the deprecated server and path fields in RouteLookupRequest to using the new extra_keys field in RLS config

Improvements

  • api: Document that NameResolvers shouldn’t block within their methods (#8398). The offload executor should be used for blocking operations
  • stub: Document StreamObserver is an async API, and how it internally may buffer (#8449)

Dependencies

  • Upgraded error_prone_annotations to 2.9.0
  • cronet: Cronet upgraded to version 92.4515.131
Reply all
Reply to author
Forward
0 new messages