Skip to content

v1.49.0

Compare
Choose a tag to compare
@temawi temawi released this 24 Aug 17:14
· 1116 commits to master since this release

New Features

  • okhttp: Add OkHttpServerBuilder. The server can be used directly, but is not yet available via ServerBuilder.forPort() and Grpc.newServerBuilderForPort(). It passes our tests, but has seen no real-world use. It is also lacking connection management features
  • okhttp: Add support for byte-based private keys via TlsChannelCredentials and TlsServerCredentials
  • core: New outlier detection load balancer
  • googleapis: google-c2p resolver is now stabilized

Bug Fixes

  • core: Fix retry causing memory leak for canceled RPCs. (#9360)
  • core: Use SyncContext for InProcess transport callbacks to avoid deadlocks. This fixes the long-standing issue #3084 which prevented using directExecutor() in some tests using streaming RPCs
  • core: Disable retries with in-process transport by default (#9361). In-process does not compute message sizes so can retain excessive amounts of memory
  • bazel: Use valid target name for services and xds when overriding Maven targets (#9422). This fixes an error of the form no such target '@io_grpc_grpc_java//services:services' for services and missing ORCA classes for xds. The wrong target names were introduced in 1.47.0
  • xds: channel_id hash policy now uses a random per-channel id instead of an incrementing one. The incrementing id was the same for every process of a binary, which was not the intention (#9453)
  • core: Fix a bug that the server stream should not deliver halfClose() when the call is immediately canceled. The bug causes a bad message INTERNAL, desc: Half-closed without a request at server call. (#9362)
  • xds: Remove shaded orca proto dependency in ORCA api. The shading was broken and couldn't really be used. (#9366)

Behavior Changes

  • gcp-observability: Interceptors are now injected in more situations, including for non-Netty transports and when using transport-specific APIs like NettyChannelBuilder. (#9309 #9312 #9424)
  • gcp-observability: custom tags now extended to metrics and traces (#9402 #9407)
  • gcp-observability: excludes RPCs into Google Cloud Ops backend for instrumentation (#9436)
  • xds: xdsNameResolver now matches channel overrideAuthority in virtualHost matching (#9405)

Acknowledgement

@benjaminp
@j-min5u