github grpc/grpc-java v1.3.0
1.3.0 Release

latest releases: v1.63.0, v1.62.2, v1.62.1...
7 years ago

New Features

  • Netty client: Connection Keepalives now work.
  • Keepalives in Netty and OkHttp now allow sending pings without outstanding RPCs. The minimum keepalive time was also reduced from 1 minute to 10 seconds. Clients must get permission from the services they use before enabling keepalive.
  • Netty server: now detects overly aggressive keepalives from clients, with configurable limits. Defaults to permitting keepalives every 5 minutes only while there are outstanding RPCs, but clients must not depend on this value.
  • Netty server: can now use keepalives to detect dead connections
  • Netty server: can now enforce a maximum connection age. This is useful when using pick-first or behind a L4 load balancer
  • Netty client: can now use HTTP GET for safe and idempotent RPCs. Netty server does not yet accept these RPCs. This is experimental with planned incompatible wire format changes
  • Added io.grpc.protobuf.StatusProto for working with com.google.rpc.Status, which can include additional error details
  • Introduced StreamTracers on client- and server-side. These can be used by tracing frameworks and LoadBalancers to be notified of relevant RPC events and details. OkHttp and Netty support the tracers, but InProcess does not

API Changes

  • MethodDescriptor.Builder is now non-experimental
  • The alias from LoadBalancer2 to LoadBalancer was removed as planned
  • LoadBalancer.SubchannelPicker.pickSubchannel(Attributes, Metadata) was deleted as planned in favor of the more extensible LoadBalancer.SubchannelPicker.pickSubchannel(PickSubchannelArgs)
  • CallOptions.withAffinity is now deprecated in favor of withOption and will be removed in the next release
  • NettyChannelBuilder. and OkHttpChannelBuilder.enableKeepAlive is now deprecated in favor of keepAliveTime and keepAliveTimeout and will be removed in the next release
  • ResolvedServerInfoGroup and ResolvedServerInfo are deprecated and are planned for deletion in the next release

Bug fixes

  • The Netty transport now handles the Netty Channel failing to be constructed by cleanly reporting the error. Previously this would cause a NullPointerException. This is generally useful for debugging broken shading configuration
  • OkHttp: Fix compatibility issue with newer versions of Conscrypt

Don't miss a new grpc-java release

NewReleases is sending notifications on new releases.