New Features:
- It is now possible to use JSON-encoded protobufs.
- ClientCall can now be passed in cancellation details.
- Both Client and Server interceptors can now work in reverse order. See
interceptForward()
. - Stubs can now parse messages using an
ExtensionRegistry
. - Server now has a getPort() method.
- Generated code now includes the version it was built at.
- Added more info for call cancellation.
- It is now possible to tell if a call was cancelled client side vs. server side.
CallOptions
now usesAttributes
for affinity routing.- Added
CallStreamObserver
andServerCallStreamObserver
as specialized Stub observers. CallOptions
and stubs now uses Deadline instead of a long of nanoseconds.
Major bugs fixed:
- Fixed a memory leak involving
TransportSet
s. - Netty based transports now shutdown upon GOAWAY.
- DNS Resolution is retried on error.
Other Changes:
- The grpc-all release artifact no longer repackages source and classes from other grpc artifacts, and instead depends on them
- Statuses and their exceptions now have a lot more detail about where they came from.
- Split Protobuf into Protobuf-lite specific parts.
- Status messages now use a URL encoding for messages.
- It is now possible to send newlines as well as non-ASCII charcacters in Status messages.
- Stubs now use an an abstract base class, which allows for easier stub binding.