Skip to content
Compare
Choose a tag to compare

v1.28.0

@creamsoup creamsoup released this
· 1387 commits to master since this release
Compare
Choose a tag to compare

API Changes

  • core: service config parsing now validates the final config object via LoadBalancerProvider#parseLoadBalancingPolicyConfig. LoadBalancer developers should use parsed config(loadBalancingPolicyConfig) in ResolvedAddresses instead of deprecated attribute io.grpc.LoadBalancer.ATTR_LOAD_BALANCING_CONFIG.
  • core: remove stickiness from round robin (#6698)

Behavioral Changes

  • core, grpclb: change policy selection strategy for Grpclb policy (take one: eliminate special logic for deciding grpclb policy in core) (#6637)
    • gRPCLB policy selection is being stabilized according to this gRFC. gRPCLB policy will not be automatically selected even if there are SRV addresses resolved. You need to explicitly specify the selection by service config (in TXT records, or via ManagedChannelBuilder#defaultServiceConfig or ManagedChannelBuilder#defaultLoadBalancingPolicy).

New Features

  • This release adds an experimental client side implementation of xDSv2 APIs. This allows a gRPC client written in Java to receive configuration from an xDSv2 API compatible server and use that configuration to load balance RPCs. In this release, only the virtual host matching and cluster route action is supported. More features will be added in future.

Bug Fixes

  • netty: fix a deadlock on start gRPC server (#6601)
  • netty: negotiated application level protocol is now checked against the correct ALPN list in the SslContext settings
  • okhttp: fix incorrect connection-level flow control handling at beginning of connection (#6742). This only impacted users of OkHttpChannelBuilder.flowControlWindow(), who seem to be few since this bug was not reported sooner
  • alts: Fix using the wrong way of checking if Conscrypt is available (#6672)
  • grpclb: grpclb can handle empty address from LoadBalancer instead of throwing exception
  • alts: do not exclude opencensus-api from google-oauth2's transitive dependencies (#6607)
    • grpc-alts was broken since 1.27.0 release for missing opencensus-api used in google-oauth2. This was due to opencensus-api dependency was eliminated from grpc-core. Now it should be included.

Documentation

  • stub,examples: Clarify CallStreamObserver's Javadoc (#6561)

Dependencies

  • Bump Netty to 4.1.45.Final and tcnative to 2.0.28.Final
  • Bump okhttp to 2.7.4
  • Bump google-auth-library-credentials and google-auth-library-oauth2-http to 0.20.0

Acknowledgements

@chrisschek
@cushon Liam Miller-Cushon
@elharo Elliotte Rusty Harold
@gfelbing Georg Welzel
@hatahet Ziad Hatahet
@leventov Roman Leventov
@sourabhsparkala Sourabh Sarvotham Parkala
@ZhenLian Zhen Lian