github grpc/grpc-java v1.65.0

latest release: v1.64.1
2 days ago

grpc-netty in this release is compatible with Netty 4.1.111; it fixes the incompatibility that caused data corruption. grpc-netty-shaded is still using Netty 4.1.100.

New Features

  • New module grpc-gcp-csm-observability (df8cfe9)

Improvements

  • api: Add ClientStreamTracer.inboundHeaders(Metadata) (960012d). This is the same as the existing inboundHeaders(), but is provided the Metadata
  • api: Fix various typos in the documentation (#11144) (6ec744f)
  • core: When queuing RPCs, don’t request picks from the LB twice (8844cf7). This could be viewed as a small performance optimization, but mainly reduces the amount of race-handling code
  • util: Improve AdvancedTlsX509KeyManager’s documentation, verification, and testing. (#11139) (781b4c4) This change shows @ExperimentalApi being removed, but it was re-added in 3c97245 before the release
  • examples: Fix broken command in reflection readme (#11131) (c31dbf4)
  • binder: Add a connection timeout (#11255) (791f894)

Bug fixes

  • core: Exit idle mode when delayed transport is in use (fea577c). This was a long-standing race that could cause RPCs to hang, but was very unlikely to be hit. Avoiding the double-picking (8844cf7) made the race more visible
  • netty: Fix Netty composite buffer merging to be compatible with Netty 4.1.111 (#11294) (0fea7dd). The previous behavior easily caused data corruption
  • okhttp: Workaround SSLSocket not noticing socket is closed (a28357e). Previously, shutting down when a new connection was being established could result in the server never becoming terminated
  • inprocess: Fix listener race if transport is shutdown while starting (e4e7f3a). This issue was unlikely to be hit outside of specialized tests
  • services: restore //services:binarylog bazel target (#11292) (d57f271). This fixes a regression introduced in 1.62.2
  • binder: Wait for all server transports to terminate before returning the security policy executor to the object pool (#11240) (34ee600)
  • binder: Reject further SETUP_TRANSPORT requests post-BinderServer shutdown (#11260) (1670e97)
  • bazel: Include missing com_google_protobuf_javalite in MODULE.bazel (#11147) (f995c12)

Thanks to

@hakusai22
@firov
@mateusazis
@Mir3605
@niloc132

Don't miss a new grpc-java release

NewReleases is sending notifications on new releases.