gRPC Swift 1.0.0-alpha.15
Pre-release
Pre-release
This release includes a number of breaking changes. The most important of which are detailed below:
- Timeouts. The
CallOptions.timeout
property has been deprecated in favour oftimeLimit
which allows either a timeout or a deadline to be set. The type used for timeouts has changed fromGRPCTimeout
to SwiftNIO'sTimeAmount
for better compatability with the rest of the Swift on Server ecosystem. - API evolution changes. A number of
public enum
s have been converted intopublic struct
s. At the call-site this change will not impact users. This change will break users who previouslyswitch
ed over theseenum
s. Changed types includeRequestIDProvider
,ConnectionTarget
, andCompression
. In addition, the client call implementations were reworked and theBaseClientCall
class was removed as a result.
This release also includes a number of changes to the generated code, including
the ability to generate test clients.
SemVer Major
- Allow deadlines or timeouts to be set on RPCs. The
timeout
option onCallOptions
has been replaced withtimeLimit
. (#842) - Replace a number of public
enum
s withstruct
in order to make the API more evolvable in the future. This includesRequestIDProvider
,ConnectionTarget
, andCompression
. This will only affect users who switch over these cases. (#839, #861, #867) - Provide an internal transport abstraction for client RPCs. The user facing impact is the removal of the
BaseClientCall
class. (#834)
SemVer Minor
- Added an 'isOk' to property to
GRPCStatus
(#840) - Added a configuration option to allow the connectivity state delegate
DispatchQueue
to be specified (#849) - Added a configuration option which allows users to 'fast-fail' an RPC rather than waiting for a active connection (#860)
- Added an option to the code generator to enable users to generate 'test clients' (#855, #864, #870, #856, #865)
SemVer Patch
- Provide more specific errors to failed promises on calls rather than the error status (#859)
- Fix a bug which prevented the user-agent header being overridden via user provided customMetadata (#845, patch credit to @ikait)
- Fixed a race condition when scheduling a timeout on an RPC (#847)
- No longer send requests in a call object initialisation (#848)
- Remove a warning from a now-redundant
try
(#871)