Releases: soto-project/soto-core
v3.4.0
- Fixed issue with compiling for Swift 5.1 on Linux.
- Rename
XMLContainerCodingMap
toXMLCodable
. - Move
ShapeEncoding
andLocation
enums insideAWSShapeMember
. - Move
Request
,Response
andHTTPClientError
insideHTTPClient
. - Remove
middlewares
andamzTarget
parameters fromAWSRequest.init()
. These are applied elsewhere.
v3.3.0
- 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 theservice
parameter has been renamed tosigningName
. - 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 toCustomStringConvertible
.- 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
- 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
v3.1.0
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
v3.0.0
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
- 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
Jonathan McAllister:
handle when path includes query params
2.0.0-rc.3: Merge pull request #42 from swift-aws/update-swiftreservedwords
add repeat as swiftReservedWords