Skip to content

Releases: grpc/grpc-go

Release 1.64.1

03 Jul 20:25
4d833de
Compare
Choose a tag to compare

Dependencies

  • Update x/net/http2 to address CVE-2023-45288 (#7352)
  • metadata: remove String method from MD to make printing consistent (#7374)

Release 1.63.3

03 Jul 20:25
aa4a5a4
Compare
Choose a tag to compare

Dependencies

advancedtls 1.0.0

28 Jun 18:19
f199062
Compare
Choose a tag to compare

Background

This is the first major release of the advancedtls package for configuring advanced security features in grpc-go. This has previously been an experimental API.

Incompatible changes from experimental APIs

See #7303 for the APIs that have been removed from previous experimental versions of the package.

protoc-gen-go-grpc v1.4.0

31 May 22:39
1958fcb
Compare
Choose a tag to compare

New Features

  • Add an optional implementation of streams using generics (Experimental) (#7057)
    • The new use_generic_stream_experimental=true option will cause the gRPC codegen to use prebuilt generic types to implement client and server stream objects, rather than generating new types and implementations for every RPC method. We intend to transition this to the default behavior in the next release. Please test it and provide any feedback.
    • Special Thanks: @aarongable
  • Copy service comments to interfaces in generated code (#7243)
  • Generated code includes static method gRPC call options for integration with the upcoming OpenTelemetry metrics support (#6960)

Dependencies

Release 1.64.0

14 May 23:06
fa274d7
Compare
Choose a tag to compare

API Changes

  • stats: Deprecate InPayload.Data and OutPayload.Data; they were experimental and will be deleted in the next release (#7121)

Behavior Changes

  • codec: Remove handling of environment variable GRPC_GO_ADVERTISE_COMPRESSORS to suppress setting supported compressors in grpc-accept-encoding header. Compressors will always be advertised, as they have been by default for some time (#7203)

New Features

  • resolver/dns: Add SetMinResolutionInterval to set the minimum interval at which DNS re-resolutions may occur (#6962)
  • peer/peer: Implement the fmt.Stringer interface for pretty printing Peer, and
  • metadata/metadata: Implement the fmt.Stringer interface for pretty printing MD (#7137)

Performance Improvements

  • client: Improve RPC performance by reducing work while holding a lock (#7132)

Bug Fixes

  • transport/server: Display the proper timeout value when keepalive pings are not ack'd in time (#7038)
  • channelz: Fix bug that was causing the subchannel's target to be unset (#7189)
  • stats: Fix bug where peer was not set in context when calling stats handler for OutPayload, InPayload, and End (#7096)

Dependencies

  • deps: Remove dependency on deprecated github.com/golang/protobuf module (#7122)

Documentation

  • grpc: Deprecate WithBlock, WithReturnConnectionError, FailOnNonTempDialError which are ignored by NewClient (#7097)
  • grpc: Deprecate Dial and DialContext. These will continue to be supported throughout 1.x, but are deprecated to direct users to NewClient (See #7090 for more information)
  • examples: Add custom lb example (#6691)

Release 1.63.2

08 Apr 22:13
d32e66c
Compare
Choose a tag to compare

Bugs

  • Fix the user agent string

Release 1.63.1

08 Apr 21:53
Compare
Choose a tag to compare

Bugs

  • grpc: fixed subchannel log messages to properly reference the parent channel (#7101)

API Changes

  • grpc: remove Deprecated tag from Dial and DialContext; these will be deprecated in v1.64 instead (#7103)

Release 1.63.0

03 Apr 21:03
c68f456
Compare
Choose a tag to compare

Behavior Changes

  • grpc: Return canonical target string from resolver.Address.String() (experimental) (#6923)
  • client & server: when using write buffer pooling, use input value for buffer size instead of size*2 (#6983)

New Features

  • grpc: add ClientConn.CanonicalTarget() to return the canonical target string. (#7006)
  • xds: implement LRS named metrics support (gRFC A64) (#7027)
  • grpc: introduce grpc.NewClient to allow users to create new clients in idle mode and with "dns" as the default resolver (#7010)

API Changes

  • grpc: stabilize experimental method ClientConn.Target() (#7006)

Bug Fixes

  • xds: fix an issue that would cause the client to send an empty list of resources for LDS/CDS upon reconnecting with the management server (#7026)
  • server: Fix some errors returned by a server when using a grpc.Server as an http.Handler with the Go stdlib HTTP server (#6989)
  • resolver/dns: add SetResolvingTimeout to allow configuring the DNS resolver's global timeout (#6917)
  • Set the security level of Windows named pipes to NoSecurity (#6956)

Release 1.62.2

03 Apr 21:46
10baa6b
Compare
Choose a tag to compare

Dependencies

Release 1.61.2

03 Apr 21:52
1dc4d66
Compare
Choose a tag to compare

Dependencies