1.3.0 Release
·
4774 commits
to master
since this release
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 withcom.google.rpc.Status
, which can include additional error details - Introduced
StreamTracer
s on client- and server-side. These can be used by tracing frameworks andLoadBalancer
s 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
toLoadBalancer
was removed as planned LoadBalancer.SubchannelPicker.pickSubchannel(Attributes, Metadata)
was deleted as planned in favor of the more extensibleLoadBalancer.SubchannelPicker.pickSubchannel(PickSubchannelArgs)
CallOptions.withAffinity
is now deprecated in favor ofwithOption
and will be removed in the next releaseNettyChannelBuilder.
andOkHttpChannelBuilder.enableKeepAlive
is now deprecated in favor ofkeepAliveTime
andkeepAliveTimeout
and will be removed in the next releaseResolvedServerInfoGroup
andResolvedServerInfo
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