Releases: soto-project/soto-core
Releases · soto-project/soto-core
v5.0.0 Alpha 5.0
Major version changes:
- AWS Service configuration data is now stored in a
AWSServiceConfig
class. - Renamed
AWSClient.send
methods toexecute
. PR #309 from @Ro-M AWSClient
no longer owns the service configuration data. This is passed to theAWSClient
in theexecute
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 arestatic
: provide credentials directly,environment
: from environment variables,ec2
: from EC2 metadata,ecs
: from ECS metadata,configFile
: from~/.aws/credentials
file,empty
: no credentials orselector
: choose from a list of credential providers. If you don't provide aCredentialProvider
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 shutdownHTTPClient
and any activeCredentialProviders
. It is required to call this before deleting theAWSClient
. PR #293 - Move XML code to separate target
AWSXML
. PR #271 - Removed
AWSMemberEncoding.encoding
. Raw payload flag is now OptionSet entryPayloadOptions.raw
. PR #294 AWSRequest
uses NIOHTTPHeaders
instead of a dictionary for headers. PR #301AWSPayload.stream
returns aStreamReaderResult
instead of aByteBuffer
. Instead of returning an emptyByteBuffer
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
andAWSClient.createError
toAWSResponse
. PR #295 - Moved
AWSClient.createAWSRequest
intoAWSRequest.init
. PR #296 from @Ro-M AWSTestServer
andTestUtils
have been moved to separate targetAWSTestUtils
. 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
inAWSClient.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
withString.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
Encode Foundation Data
as base64 when encoding queries. This fixes an issue with SES.SendRawEmail()
v5.0.0 Alpha 4.0
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 providesByteBuffers
to a request. AddedAWSPayload.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
andAWSServerError
to structs so they can be extended without a major version change. Removed some service specific errors from them. PR #247 - Renamed
RetryController
toRetryPolicy
and defaulted it toJitterRetry
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 functiongetenv
. PR #257
v4.6.0
- 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
- Fixed compilation issue when compiling with another library that has swift-crypto as a dependency.
v4.5.1
- Check to see if "Content-Type" header is set before setting default content type.
v5.0.0 Alpha 3.2
- Added region eu-south-1
v5.0.0 Alpha 3.1
- Added region af-south-1
v4.5.0
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
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. TheEventLoopGroup
AWSClient uses will be the same one the HTTP client uses. PR #203 - Add
on: EventLoop
parameter to all the commands to force theEventLoop
AWSClient
will use. This has one restriction in that theEventLoop
has to come from theEventLoopGroup
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