Skip to content

Releases: grpc/grpc-go

Release 1.58.1

14 Sep 17:06
62726d4
Compare
Choose a tag to compare

Bug Fixes

  • grpc: fix a bug that was decrementing active RPC count too early for streaming RPCs; leading to channel moving to IDLE even though it had open streams
  • grpc: fix a bug where transports were not being closed upon channel entering IDLE

Release 1.58.0

06 Sep 21:25
c2b0797
Compare
Choose a tag to compare

API Changes

See #6472 for details about these changes.

  • balancer: add StateListener to NewSubConnOptions for SubConn state updates and deprecate Balancer.UpdateSubConnState (#6481)
    • UpdateSubConnState will be deleted in the future.
  • balancer: add SubConn.Shutdown and deprecate Balancer.RemoveSubConn (#6493)
    • RemoveSubConn will be deleted in the future.
  • resolver: remove deprecated AddressType (#6451)
    • This was previously used as a signal to enable the "grpclb" load balancing policy, and to pass LB addresses to the policy. Instead, balancer/grpclb/state.Set() should be used to add these addresses to the name resolver's output. The built-in "dns" name resolver already does this.
  • resolver: add new field Endpoints to State and deprecate Addresses (#6471)
    • Addresses will be deleted in the future.

New Features

  • balancer/leastrequest: Add experimental support for least request LB policy and least request configured as a custom xDS policy (#6510, #6517)
    • Set GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST=true to enable
  • stats: Add an RPC event for blocking caused by the LB policy's picker (#6422)

Bug Fixes

  • clusterresolver: fix deadlock when dns resolver responds inline with update or error at build time (#6563)
  • grpc: fix a bug where the channel could erroneously report TRANSIENT_FAILURE when actually moving to IDLE (#6497)
  • balancergroup: do not cache closed sub-balancers by default; affects rls, weightedtarget and clustermanager LB policies (#6523)
  • client: fix a bug that prevented detection of RPC status in trailers-only RPC responses when using ClientStream.Header(), and prevented retry of the RPC (#6557)

Performance Improvements

  • client & server: Add experimental [With]SharedWriteBuffer to improve performance by reducing allocations when sending RPC messages. (Disabled by default.) (#6309)

Release 1.57.0

26 Jul 19:48
87bf02a
Compare
Choose a tag to compare

API Changes

  • resolver: remove deprecated Target.Scheme and Target.Authority. Use URL.Scheme and URL.Host instead, respectively (#6363)

Behavior Changes

  • client: percent-encode the default authority for the channel (#6428)
  • xds: require EDS service name to be set in a CDS cluster with an 'xdstp' resource name (gRFC A47) (#6438)

New Features

  • reflection: support the v1 reflection service and update Register to register both v1alpha and v1 (#6329)
  • xds: add support for string matcher in RBAC header matching (#6419)
  • alts: add support for GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES env var (#6267)
  • balancer/weightedroundrobin: de-experimentalize name of LB policy (#6477)

Bug Fixes

  • status: status.FromError now returns an error with codes.Unknown when the error implements the GRPCStatus() method, and calling GRPCStatus() returns nil (#6374)
  • server: fix bug preventing TCP user timeout from being set on the connection when TLS is used (#6321)
  • client: eliminate connection churn during an address update that differs only in balancer attributes (#6439)
  • clusterresolver: handle EDS nacks, resource-not-found errors, and DNS Resolver errors correctly (#6436, #6461)
  • xds/ringhash: cache connectivity state of subchannels inside picker to avoid rare races (#6351)

Release 1.56.2

06 Jul 18:41
faab873
Compare
Choose a tag to compare
  • status: To fix a panic, status.FromError now returns an error with codes.Unknown when the error implements the GRPCStatus() method, and calling GRPCStatus() returns nil. (#6374)

Release 1.55.1

06 Jul 18:50
6912eee
Compare
Choose a tag to compare
  • status: To fix a panic, status.FromError now returns an error with codes.Unknown when the error implements the GRPCStatus() method, and calling GRPCStatus() returns nil. (#6374)

Release 1.56.1

21 Jun 19:19
5b67e5e
Compare
Choose a tag to compare
  • client: handle empty address lists correctly in addrConn.updateAddrs

Release 1.56.0

15 Jun 19:31
2b6ff72
Compare
Choose a tag to compare

New Features

  • client: support channel idleness using WithIdleTimeout dial option (#6263)
    • This feature is currently disabled by default, but will be enabled with a 30 minute default in the future.
  • client: when using pickfirst, keep channel state in TRANSIENT_FAILURE until it becomes READY (gRFC A62) (#6306)
  • xds: Add support for Custom LB Policies (gRFC A52) (#6224)
  • xds: support pick_first Custom LB policy (gRFC A62) (#6314) (#6317)
  • client: add support for pickfirst address shuffling (gRFC A62) (#6311)
  • xds: Add support for String Matcher Header Matcher in RDS (#6313)
  • xds/outlierdetection: Add Channelz Logger to Outlier Detection LB (#6145)
  • xds: enable RLS in xDS by default (#6343)
  • orca: add support for application_utilization field and missing range checks on several metrics setters
  • balancer/weightedroundrobin: add new LB policy for balancing between backends based on their load reports (gRFC A58) (#6241)
  • authz: add conversion of json to RBAC Audit Logging config (#6192)
  • authz: add support for stdout logger (#6230 and #6298)
  • authz: support customizable audit functionality for authorization policy (#6192 #6230 #6298 #6158 #6304 and #6225)

Bug Fixes

  • orca: fix a race at startup of out-of-band metric subscriptions that would cause the report interval to request 0 (#6245)
  • xds/xdsresource: Fix Outlier Detection Config Handling and correctly set xDS Defaults (#6361)
  • xds/outlierdetection: Fix Outlier Detection Config Handling by setting defaults in ParseConfig() (#6361)

API Changes

  • orca: allow a ServerMetricsProvider to be passed to the ORCA service and ServerOption (#6223)

Release 1.54.1

05 May 16:33
deeee5c
Compare
Choose a tag to compare

Bug Fixes

  • credentials/alts: revert a change that causes a crash in the handshaker

Release 1.55.0

04 May 21:26
82c6376
Compare
Choose a tag to compare

Behavior Changes

  • xds: enable federation support by default (#6151)
  • status: status.Code and status.FromError handle wrapped errors (#6031 and #6150)

New Features

  • xds/xdsclient: support ignore_resource_deletion server feature as per gRFC A53 (#6035)
  • security/advancedtls: add min/max TLS version selection options (#6007)

Bug Fixes

  • xds: stop routing RPCs to deleted clusters (#6125)
  • client: fix race between stream creation and GOAWAY receipt, which could lead to spurious UNAVAILABLE stream errors (#6142)

Performance Improvements

GCP Observability v1.0.0

18 Apr 17:27
b91b884
Compare
Choose a tag to compare

The observability module provides GCP users with a simple way to export RPC logging, tracing, and metrics to Google Cloud Operations. This is the first (GA) release of this module. For more information, please see this blog post.