Skip to content

v5.0.0 Alpha 4.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@adam-fowler adam-fowler released this 21 May 09:37
· 218 commits to 5.x.x since this release
e0f7031

Major version changes:

  • AWSPayload is used for payloads in responses. PR #243
  • Use property wrappers to define how collections are encoded/decoded. PR #215
  • Added ability to stream request payloads. Added AWSPayload.stream which has a function that provides ByteBuffers to a request. Added AWSPayload.fileHandle which streams a file for a request.
  • Added support for all AWS partitions. This gives access to china and government regions. PR #242
  • Region is now a struct so we can add new regions without requiring a major version change. PR #246
  • Change AWSClientError and AWSServerError to structs so they can be extended without a major version change. Removed some service specific errors from them. PR #247
  • Renamed RetryController to RetryPolicy and defaulted it to JitterRetry which retries failed requests with a random wait time taken from an exponential increasing range.

Minor version changes:

  • AWSClient.httpClient is now public
  • Added TimeStampCoder property wrappers that enforces how a TimeStamp would be encoded/decoded. PR #249
  • Added RED (Request, Error, Durarion) metrics using swift-metrics. PR #245

Patch version changes:

  • Check for os Linux instead of availability of swift-crypto when chosing between which crypto to run.
  • Don't set Content-Type header if it is already set
  • Fixed issue with decoding empty XML arrays
  • Add query encoding specialisation for EC2. EC2 requires all query variables to have their first character capitalised. PR #253
  • Added iOS CI
  • Replace using ProcessInfo to get environment variables with the C function getenv. PR #257