Skip to content

Releases: soto-project/soto-core

v3.4.0

14 Oct 11:47
14dc7e9
Compare
Choose a tag to compare
  • Fixed issue with compiling for Swift 5.1 on Linux.
  • Rename XMLContainerCodingMap to XMLCodable.
  • Move ShapeEncoding and Location enums inside AWSShapeMember.
  • Move Request, Response and HTTPClientError inside HTTPClient.
  • Remove middlewares and amzTarget parameters from AWSRequest.init(). These are applied elsewhere.

v3.3.0

17 Sep 06:33
d0289a5
Compare
Choose a tag to compare
  • Added AWSLoggingMiddleware which logs raw requests sent to AWS and raw responses received back.
  • Changed restjson protocol Content-Type header to be 'application/json'.
  • Created AWSResponse struct which holds a processed response.
  • Middleware now has the ability to edit the contents of a AWSResponse.
  • Separated service signing name from service endpoint name as these can sometimes be different. This affects V4.Signer.init() where the service parameter has been renamed to signingName.
  • If response has a payload path then create top level objects to contain the response json or xml.
  • Mac uses CommonCrypto for SHA256, HMAC and MD5 calculations.
  • Added AWSClient.signURL() to return a signed URL.
  • AWSErrorType now conforms to CustomStringConvertible.
  • Add additional methods for decoding timestamps (HTTP date format and seconds from UNIX epoch time).
  • AWSClient.send() functions don't throw errors so have removed throws from them.
  • Min/max collection length validation errors output the length and not the full collection.
  • String pattern validation does not expect the whole string to match the pattern.

v3.2.0

17 Aug 22:24
094c48f
Compare
Choose a tag to compare
  • If dictionary decoder expects an array but doesn't find one then stick object found inside an array. Fixes issue in API Gateway where single element arrays are just returned as the element.
  • AWSClient.init() has a new sessionToken parameter.
  • Add session tokens to headers before constructing authorization header.
  • XML Parser ignores newlines as well as whitespace in between XML nodes.
  • Don't encode single or double quotation marks in XML
  • Added general purpose validation code to be used by auto-generated validate() functions in aws-sdk-swift.
  • Added AWSShape.idempotencyToken() for auto-generating idempotency tokens.
  • Added support for OpenSSL 1.1 while still supporting earlier versions.
  • New me-south-1 region is available.
  • Added the ability to edit response bodies before they are decoded into an AWSShape.

v3.1.1

19 Jul 01:20
80cc521
Compare
Choose a tag to compare

Adam Fowler:
XML: If text is completely white space don't add a text node

v3.1.0

12 Jul 16:35
cfaa153
Compare
Choose a tag to compare

Adam Fowler:
Use Codable for serializing XML requests and parsing XML responses
Using query encoder for ec2
Added xmlNamespace to the root payload xml element when required
Only add a body to an AWSRequest if there are shape members that are included in the body
Store Timestamp internally as a Date
Add DictionaryEncoder and use this when encoding JSON payloads
Decode JSON dictionary data as base64
Add encoding hints for serializing arrays and dictionaries. Hints include naming of XML, query elements and whether container is flattened
Percent encode more characters in query body
Add code for ec2 to flatten all arrays, regardless of encoding hints
Added regions ap-east-1, eu-west-3 and eu-north-1
Updated core XML loader

giginet:
Avoid warning on Xcode

v3.0.1

19 May 22:28
Compare
Choose a tag to compare
  • return Future instead of Void so clients can chain off the response and catch errors
  • normalize status code valdiation validate status code on methods with no response

v3.0.0

17 May 18:45
c1647a7
Compare
Choose a tag to compare

Adam Fowler:
Fixed Incorrect stringToSign created for API calls that include query parameters without assignation. Fixed it by ensuring we never send nil parameters to V4 Signer.
Added test for signing AWSRequest
Fix = sign being percent encoded twice

Joe Smith:
Utilize the officially sanctioned docker image to handle tests (#59)
Quiet the xcodebuild logs and run in parallel (#64)

Jonathan McAllister:
refactor send to return Futures
add typalias Future as shorthand for EventLoopFuture
ensure url.hostWithPort is not nil
update nio to 1.14
fix warning for redundant modifiers
refactor getCredential to return a future and move it back to the client class
fix HEAD requests
throw InvalidRequest Error instead of fatalError if uri is invalid
add token to signedURL if the credential has one
log resonse http status code for Unhandled errors
do not populate a body for restxml requests that do not have a payloadPath. Input is headers only if there is no payloadPath on restxml APIs
HEAD request is just a GET request with the HEAD method - remove content-type for head request - use signed url for HEAD requests

noppoman:
resurrect user specific endpoint request
add default value for endpoint
add test for custom endpoint signing

2.0.0-rc.5

14 Feb 22:42
5ca6f97
Compare
Choose a tag to compare
  • properly serialize the payloadPath object as json / xml if the shape has a payload path and it defines a shape (Glacier, etc)

2.0.0-rc.4

12 Jan 21:45
ee093b1
Compare
Choose a tag to compare

Jonathan McAllister:
handle when path includes query params

2.0.0-rc.3: Merge pull request #42 from swift-aws/update-swiftreservedwords

07 Dec 06:49
e1d6f95
Compare
Choose a tag to compare