gRPC Swift 1.0.0-alpha.17
Pre-releaseThis release includes changes to how gRPC Swift supports SwiftProtobuf messages. As such service code will need to be regenerated.
gRPC Swift provides support for any message types conforming to the GRPCPayload
protocol. SwiftProtobuf.Message
followed the same code path as all other message types and required conformance to GRPCPayload
. This was done by generating conformance to GRPCProtobufPayload
which provided a default implementation of the methods required by GRPCPayload
for SwiftProtobuf.Message
s. However, generating this conformance caused numerous issues and required the user to pass their message definitions to the gRPC code generator. As such we now support SwiftProtobuf.Message
separately to GRPCPayload
: generating conformance to GRPCProtobufPayload
is no longer required and users are no longer required to pass their message definitions to the gRPC code generator; only their service definitions.
SemVer Major
- Support
SwiftProtobuf.Message
without requiringGRPCProtobufPayload
conformance. This change will require users to regenerate their code in order to remove the now redundant conformance. (#886, #888, #889, #894)
SemVer Minor
- Add support for ping-based keepalive to both client and server. (#850, #893, patch credit to @SebastianThiebaud)
SemVer Patch
- Fix an aggressive assert which cause a fatal error when using
NetworkPreference.best
on older platforms (#896)
Other Changes
- Reduce the size of input in some tests (#890)