github grpc/grpc-go v1.30.0
Release 1.30.0

latest releases: v1.63.2, v1.63.1, v1.61.2...
3 years ago

API Changes

  • This release adds an xDS URI scheme called xds. This is the stable version of the scheme xds-experimental that was introduced in v1.28.0. xds-experimental scheme will be removed in subsequent releases so you must switch to xds scheme instead. xds scheme is a client side implementation of xDSv2 APIs. This allows a gRPC client written in Go 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, default path (“” or “/”) matching and cluster route action are supported. The features supported in a given release are documented here.
  • balancer: move Balancer and Picker to V2; delete legacy API (#3180, #3431)
    • Replace balancer.Balancer and balancer.Picker with the V2Balancer and V2Picker versions.
    • Remove balancer.ClientConn.UpdateBalancerState.
    • Remove the original balancer plugin API, based on grpc.Balancer, and all related functionality.
    • Remove the deprecated naming package.

Behavior Changes

  • grpclb, dns: pass balancer addresses via resolver.State (#3614)

New Features

  • balancer: support hierarchical paths in addresses (#3494)
  • client: option to surface connection errors to callers (#3430)
  • credentials: pass address attributes from balancer to creds handshaker. (#3548)
  • credentials: local creds implementation (#3517)
  • advancedtls: add fine-grained verification levels in XXXOptions (#3454)
  • xds: handle weighted cluster as route action (#3613)
  • xds: add weighted_target balancer (#3541)

Performance Improvements

  • transport: move append of header and data down to http2 write loop to save garbage (#3568)
  • server.go: use worker goroutines for fewer stack allocations (#3204)

Bug Fixes

  • stream: fix calloption.After() race in finish (#3672)
  • retry: prevent per-RPC creds error from being transparently retried (#3677, #3691)
  • cache: callback without cache's mutex (#3603)
  • client: properly check GRPC_GO_IGNORE_TXT_ERRORS environment variable (#3532)
  • balancergroup: fix connectivity state (#3585)
  • xds: use google default creds (#3673)
  • xds: accept either "" or "/" as the prefix for the default route (#3535)
  • xds: reject RDS response containing match with case-sensitive false (#3592)

Documentation

  • examples: add go.mod to make examples a separate module (#3546)
  • doc: update README for supported Go versions and travis for tests (#3516)

Don't miss a new grpc-go release

NewReleases is sending notifications on new releases.