gRPC Swift 1.0.0-alpha.10
Pre-release⚠️ This release contains a number of API breaking changes. ⚠️
In order to support payloads other than Protocol Buffers, for example Flatbuffers, it was necessary for much of the surface API to be generic over a new protocol, GRPCPayload
instead of Message
. This therefore requires that services are regenerated.
We also took this opportunity to address the interface between the generated code and runtime library: clients previously relied on ClientConnection
for transport, they now rely on an something conforming to GRPClient
; such as ClientConnection
.
Generated clients have also had "Service" removed from their name. For example, the client for the Bar
service in the Foo
package would previously have been generated as Foo_BarServiceClient
and will now be generated as Foo_BarClient
. If you have multiple references to generated clients in your code which need updating it is possible to create a deprecated type alias such that Xcode will provide fixits:
@available(*, deprecated, renamed: "Foo_BarClient")
typealias Foo_BarServiceClient = Foo_BarClient
The list of supported platforms has now been added to Package.swift
; dependents using Swift Package Manager must now also declare their supported platforms.
SemVer Major:
- Adds the ability to use different payloads (#710, patch credit to @mustiikhalil)
- Rename generated clients from FooServiceClient to FooClient (#736)
- Put the client connection behind a protocol (#727)
- Add supported platforms to Package.swift (#696)
- Add support for compression (#714, #707, #729)
SemVer Minor:
- Add a builder to make configuring a server easier (#752)
- Add a builder to make configuring a client connection easier (#733)
SemVer Patch:
- Fix bug with BoringSSLError.invalidSNIName exception (#702, patch credit to @esen)
- Use metadata in log messages (#720, patch credit to @mariosangiorgio)
- Fixed basic tutorial typo (#724, patch credit to @JanC)
- Generate documentation from proto comments (#743)
- Normalize user-provider headers (#730)
- Fixed a bug where in some cases conformace to GRPCProtobufPayload could be generated multiple times (#740)
- Add tests for custom payloads (#719)
- Reorder some of the server logic. (#717)
- Document how to create certificates/private keys from a string (#699)
- Various infrastructure and documentation improvements (#695, #698, #701, #704, #713, #718, #728, #731, #734)