Skip to content

go: Update module google.golang.org/grpc to v1.47.0

This MR contains the following updates:

Package Type Update Change
google.golang.org/grpc require minor v1.40.1 -> v1.47.0

MR created with the help of gitlab-org/frontend/renovate-gitlab-bot


Release Notes

grpc/grpc-go

v1.47.0

Compare Source

New Features

  • xds: add support for RBAC metadata invert matchers (#​5345)

Bug Fixes

  • client: fix a context leaked if a connection to an address is lost before it is fully established (#​5337)
  • client: fix potential panic during RPC retries (#​5323)
  • xds/client: fix a potential concurrent map read/write in load reporting (#​5331)
  • client/SubConn: do not recreate addrConn if UpdateAddresses is called with the same addresses (#​5373)
  • xds/eds: resources containing duplicate localities with the same priority will be rejected (#​5303)
  • server: return Canceled or DeadlineExceeded status code when writing headers to a stream that is already closed (#​5292)

Behavior Changes

  • xds/priority: start the init timer when a child switches to Connecting from non-failure states (#​5334)
  • server: respond with HTTP Status 405 and gRPC status INTERNAL if the method sent to server is not POST (#​5364)

Documentation

  • server: clarify documentation around setting and sending headers and ServerStream errors (#​5302)

v1.46.2

Compare Source

Bug Fixes

  • client: fix potential panic during RPC retries (#​5323)
  • xds: fix leak of deleted CDS resources from CSDS view (#​5339)

v1.46.1

Compare Source

v1.46.0

Compare Source

New Features

  • server: Support setting TCP_USER_TIMEOUT on grpc.Server connections using keepalive.ServerParameters.Time (#​5219)
  • client: perform graceful switching of LB policies in the ClientConn by default (#​5285)
  • all: improve logging by including channelz identifier in log messages (#​5192)

API Changes

  • grpc: delete WithBalancerName() API, deprecated over 4 years ago in #​1697 (#​5232)
  • balancer: change BuildOptions.ChannelzParentID to an opaque identifier instead of int (#​5192)
    • Note: the balancer package is labeled as EXPERIMENTAL, and we don't believe users were using this field.

Behavior Changes

  • client: change connectivity state to TransientFailure in pick_first LB policy when all addresses are removed (#​5274)
    • This is a minor change that brings grpc-go's behavior in line with the intended behavior and how C and Java behave.
  • metadata: add client-side validation of HTTP-invalid metadata before attempting to send (#​4886)

Bug Fixes

  • metadata: make a copy of the value slices in FromContext() functions so that modifications won't be made to the original copy (#​5267)
  • client: handle invalid service configs by applying the default, if applicable (#​5238)
  • xds: the xds client will now apply a 1 second backoff before recreating ADS or LRS streams (#​5280)

Dependencies

v1.45.0

Compare Source

Bug Fixes

  • xds/clusterresolver: pass cluster name to DNS child policy to be used in creds handshake (#​5119)
  • reflection: support dynamic messages (#​5180)

Performance Improvements

Behavior Changes

  • server: convert context errors returned by service handlers to status with the correct status code (Canceled or DeadlineExceeded), instead of Unknown (#​5156)

New Features

  • reflection: add NewServer(ServerOptions) for creating a reflection server with advanced customizations (#​5197)
  • xds: support federation (#​5128)
  • xds/resource: accept Self as LDS's RDS config source and CDS's EDS config source (#​5152)
  • xds/bootstrap: add plugin system for credentials specified in bootstrap file (#​5136)

v1.44.0

Compare Source

New Features

  • balancer: add RLS load balancing policy (#​5046)
  • xds: add RLS Cluster Specifier Plugin (#​5004)
  • insecure: remove experimental notice (#​5069)

Bug Fixes

  • internal/balancergroup: eliminate race in exitIdle (#​5012)
  • authz: fix regex expression match (#​5035)

Documentation

  • grpc: minor improvement on WithInsecure() document (#​5068)
  • attributes: document that some value types (e.g. maps) must implement Equal (#​5109)
  • dialoptions.go: Fix WithBlock godoc (#​5073)
  • grpclog.DepthLoggerV2: Correct comment: formats like fmt.Println (#​5038)

v1.43.0

Compare Source

API Changes

Behavior Changes

  • status: support wrapped errors in FromContextError (#​4977)
  • config: remove the environment variable to disable retry support (#​4922)

New Features

  • balancer: new field Authority in BuildOptions for server name to use in the authentication handshake with a remote load balancer (#​4969)

Bug Fixes

  • xds/resolver: fix possible ClientConn leak upon resolver initialization failure (#​4900)
  • client: fix nil panic in rare race conditions with the pick first LB policy (#​4971)
  • xds: improve RPC error messages when xDS connection errors occur (#​5032, #​5054)
  • transport: do not create stream object in the face of illegal stream IDs (#​4873)

Documentation

  • client: clarify errors to indicate whether compressed or uncompressed messages exceeded size limits (#​4918)

v1.42.0

Compare Source

Behavior Changes

  • grpc: Dial("unix://relative-path") no longer works (#​4817)
    • use "unix://absolute-path" or "unix:relative-path" instead in accordance with our documentation
  • xds/csds: use new field GenericXdsConfig instead of PerXdsConfig (#​4898)
  • transport: server transport will reject requests with connection header (#​4803)

New Features

  • grpc: support grpc.WithAuthority when secure credentials are used (#​4817)
  • creds/google: add NewDefaultCredentialsWithOptions() to support custom per-RPC creds (#​4767, #​4830)
  • authz: create file watcher interceptor for gRPC SDK API (#​4760)
  • attributes: add Equal method (#​4855)
  • resolver: add AddressMap and State.BalancerAttributes (#​4855)
  • resolver: Add URL field to Target to store parsed dial target (#​4817)
  • grpclb: add a target_name field to lb config to specify target when used as a child policy (#​4847)
  • grpclog: support formatting log output as JSON (#​4854)

Bug Fixes

  • server: add missing conn.Close if the connection dies before reading the HTTP/2 preface (#​4837)
  • grpclb: recover if addresses are received after an empty server list was received previously (#​4879)
  • authz: support empty principals and fix rbac authenticated matcher (#​4883)
  • xds/rds: NACK the RDS response if it contains unknown cluster specifier (#​4788)
  • xds/priority: do not switch to low priority when high priority is in Idle (e.g. ringhash) (#​4889)

Documentation

  • grpc: stabilize WithDefaultServiceConfig and improve godoc (#​4888)
  • status: clarify FromError docstring (#​4880)
  • examples: add example illustrating the use of unix abstract sockets (#​4848)
  • examples: update load balancing example to use loadBalancingConfig (#​4887)
  • doc: promote WithDisableRetry to stable; clarify retry is enabled by default (#​4901)

API Changes

  • credentials: Mark TransportCredentials.OverrideServerName method as deprecated (#​4817)

v1.41.1

Compare Source

  • creds/google: add NewDefaultCredentialsWithOptions() to support custom per-RPC creds (#​4767, #​4830)
  • pickfirst: check b.sc before calling Connect (#​4971)

v1.41.0

Compare Source

API Changes

  • xds: Promote xds server and creds APIs to stable (#​4753)
  • balancer: add ExitIdle interface to instruct the balancer to attempt to leave the IDLE state by connecting SubConns if appropriate. (#​4673)
    • NOTICE: This method will be required by the Balancer interface in the future

Behavior Changes

  • xds: update xdsclient to keep valid resources from the response even if it has invalid responses and is NACK'ed (see gRFC 260) (#​4743)
  • balancer: SubConns no longer automatically reconnect after READY; instead they transition to IDLE on connection loss (#​4613)

New Features

  • xds: add support for RINGHASH lb-policy and affinity (#​4741)
  • xds: add support for retry policy in VirtualHosts and Routes (#​4738)
  • stats: support stats for all retry attempts; support transparent retry (#​4749)
  • authz: create interceptors for gRPC security policy API (#​4664)

Bug Fixes

  • transport: fix race in transport stream accessing s.recvCompress (#​4641)
  • client: fix transparent retries when per-RPC credentials are in use (#​4785)
  • server: fix bug that net.Conn is leaked if the connection is closed (io.EOF) immediately with no traffic (#​4633)
  • oauth: Allow access to Google API regional endpoints via Google Default Credentials (#​4713)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Never, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Edited by GitLab Dependency Bot

Merge request reports