What's Changed
💥 API changes
- The transport protocols are now generic over a bag-of-bytes type which the
MessageSerializer
andMessageDeserializer
protocols are now defined in terms of. This allows for the transport and serialization layers to avoid copying incoming and outgoing bytes via intermediate types. This also means thatGRPCServer
andGRPCClient
are now generic over a transport which may impact your code. You will also be required to regenerate your code. (#2155) - The interceptor pipeline operation types have been replaced with a
ConditonalInterceptor
to deduplicate the types used. (#2157) GRPCClient.run()
was deprecated and renamed toGRPCClient.runConnections()
.run()
will be removed in a future release. (#2156)- The
ClientContext
andServerContext
added new properties for remote and local peer information. These should only be breaking changes for transport implementations.
✨ New APIs
- Add remote/local peer info to the
ClientContext
and have theClientTransport
provide it. This is also a breaking change for transport implementations. (#2158) - Add local info to the
ServerContext
. This is also a breaking change for transport implementations. (#2161)
⚙️ Code generation
- Make empty generated source files descriptive by (#2151, #2152)
- Extend structured swift to support generic structs (#2154)
🔧 Other changes
Full Changelog: 2.0.0-beta.2...2.0.0-beta.3