Skip to content

Releases: soto-project/soto-core

v5.0.0 Alpha 5.0

06 Jul 07:11
42e0f0e
Compare
Choose a tag to compare
v5.0.0 Alpha 5.0 Pre-release
Pre-release

Major version changes:

  • AWS Service configuration data is now stored in a AWSServiceConfig class.
  • Renamed AWSClient.send methods to execute. PR #309 from @Ro-M
  • AWSClient no longer owns the service configuration data. This is passed to the AWSClient in the execute methods. This allows us to separate the client from the services and have one client serving multiple services. PR #309 from @Ro-M
  • AWS Credentials are supplied via a CredentialProvider. Possible credential provider parameters are static: provide credentials directly, environment: from environment variables, ec2: from EC2 metadata, ecs: from ECS metadata, configFile: from ~/.aws/credentials file, empty: no credentials or selector: choose from a list of credential providers. If you don't provide a CredentialProvider the default is .selector(.environment, .ecs, .ec2, .configFile()). PR #258, #303, #314, #318, #306
  • Added support for streaming response payloads. This is only available if you are using AsyncHTTPClient though. PR #236
  • Added AWSClient.syncShutdown() to shutdown HTTPClient and any active CredentialProviders. It is required to call this before deleting the AWSClient. PR #293
  • Move XML code to separate target AWSXML. PR #271
  • Removed AWSMemberEncoding.encoding. Raw payload flag is now OptionSet entry PayloadOptions.raw. PR #294
  • AWSRequest uses NIO HTTPHeaders instead of a dictionary for headers. PR #301
  • AWSPayload.stream returns a StreamReaderResult instead of a ByteBuffer. Instead of returning an empty ByteBuffer to indicate the stream is done you now return .end. PR #316

Minor version changes:

  • S3 streamed requests are now signed. PR #277
  • Moved AWSClient.validate and AWSClient.createError to AWSResponse. PR #295
  • Moved AWSClient.createAWSRequest into AWSRequest.init. PR #296 from @Ro-M
  • AWSTestServer and TestUtils have been moved to separate target AWSTestUtils. PR #271
  • Requests are always signed using Authorization header. PR #272 by @Ro-M
  • Retry time calculation is more in line with aws-sdk-go sdk. PR #282
  • Set User-Agent header to "AWSSDKSwift/5.0". PR #288
  • Add port to host header. PR #291
  • Run middleware on AWSResponse in AWSClient.createError

Patch version changes:

  • The list of characters allowed in queries has been edited to be inline with AWS docs. PR #281
  • Replace all usages of String.components with String.split. PR #286
  • Provide better error messaging when we get an unparseable error. PR #287
  • Fixed crash when XML parser returned no XML.
  • Fixed head uri for NIOTSHTTPClient. It is no longer the full path. PR #298

v3.5.2

03 Jul 10:20
10b174a
Compare
Choose a tag to compare

Encode Foundation Data as base64 when encoding queries. This fixes an issue with SES.SendRawEmail()

v5.0.0 Alpha 4.0

21 May 09:37
e0f7031
Compare
Choose a tag to compare
v5.0.0 Alpha 4.0 Pre-release
Pre-release

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

v4.6.0

02 Jun 13:50
Compare
Choose a tag to compare
  • Upped swift-nio version package requirements to ensure we get swift 5.3 versions
  • Ensure EC2 labels all have their first letter uppercased

v5.0.0 Alpha 3.3

09 May 10:39
Compare
Choose a tag to compare
v5.0.0 Alpha 3.3 Pre-release
Pre-release
  • Fixed compilation issue when compiling with another library that has swift-crypto as a dependency.

v4.5.1

10 May 16:21
Compare
Choose a tag to compare
  • Check to see if "Content-Type" header is set before setting default content type.

v5.0.0 Alpha 3.2

01 May 11:10
Compare
Choose a tag to compare
v5.0.0 Alpha 3.2 Pre-release
Pre-release
  • Added region eu-south-1

v5.0.0 Alpha 3.1

01 May 11:05
Compare
Choose a tag to compare
v5.0.0 Alpha 3.1 Pre-release
Pre-release
  • Added region af-south-1

v4.5.0

01 May 13:44
Compare
Choose a tag to compare

Minor version changes:

  • Added regions af-south-1 and eu-south-1

Patch version changes:

  • Fixed issue where "x-amz-target" header wasn't getting set

v5.0.0 Alpha 3.0

01 May 10:58
Compare
Choose a tag to compare
v5.0.0 Alpha 3.0 Pre-release
Pre-release

Major version changes:

  • Allow user to set the HTTP client for AWSClient. This has replaced setting the EventLoopGroup. This means you provide a HTTP client with your own setup. If you are using AsyncHTTPClient this includes proxy settings, response decompression and timeouts. The EventLoopGroup AWSClient uses will be the same one the HTTP client uses. PR #203
  • Add on: EventLoop parameter to all the commands to force the EventLoop AWSClient will use. This has one restriction in that the EventLoop has to come from the EventLoopGroup being used by the client. PR #240
  • Simplified the service protocol, reducing it to an enum. #241

Minor version changes:

  • Group all service configuration data into one ServiceConfig object. #239