/ soto Public
adam-fowler released this
07 Dec 08:00
· 84 commits to 5.x.x since this release
- Soto: The rename to Soto is complete. The package name is "soto" and all libraries are prefixed with the name "Soto".
AWSClienthas now been split from the service objects. So you can have one
AWSClientthat is used by many services.
- HTTP Client: We are now using the swift server
async-http-clientinstead of our custom http client. We also provide the ability for the user to replace this client with their own.
- Credential providers: Abstracted credential acquisition to make it easier to write credential providers and control which credential providers you want to use. Added new credential providers for STS and Cognito.
- Swift server eco-system: On top of using
async-http-clientwe have added support for
- Crypto: There is no dependency on openssl libraries anymore. Instead we use
swift-cryptoon Linux and
CommonCryptoon macOS and iOS.
- Request/Response encoding/decoding:
- We have added a
QueryEncoderso all protocols now use
- Added property wrappers for Collection types
Dictionaryto define how they are serialised. We have also included property wrappers for
Datewhich has allowed us to remove
Timestampand replace it with
- Fixed many serialisation bugs.
- We have added a
- Request Signing: The V4 signer has been completely re-written and is available as a separate library. This also added support for signing streamed S3 requests.
- Streaming: We have added support for both streaming of request data and streaming of response data thus allowing the uploading and downloading of large files without requiring a large memory footprint. Added
AWSPayloadfor raw payloads. Allows the user to supply a payload as a
ByteBufferor closure supplying a stream of
- Retrying Requests: AWSClient now retries requests that have failed. You can define how the client does this using a
- DynamoDB Codable: Added
Codableencoder and decoder for DynamoDB
AttributeValuearrays. Wrapped versions of standard functions (
scanItem) to use the encoder or decoder where applicable. This simplifies working with DynamoDB considerably.
- S3 Multipart upload: Added support for resuming S3 multipart uploads, and S3 multipart copying and the upload part functions now stream their payloads to reduce memory impact.
- Errors: Errors thrown by Soto are now structs and not enums. They also hold additional data like the response code and http headers returned.
AWSServiceprotocol with support for signing URLs and creating edited versions of services. All service objects now conform to this protocol.
- Added new
Array.reducestyle paginator functions.
New AWS Services include
- AppRegistry: Provides a repository of your applications, their resources, and the application metadata.
- GlueDataBrew: A visual, cloud-scale data-preparation service.
- MWAA: Amazon Managed Workflows for Apache Airflow.
- NetworkFirewall: A managed service that makes it easy to deploy essential network protections for all of your Amazon Virtual Private Clouds.
- S3Outposts: Access S3 from AWS Outposts.
- TimestreamQuery and TimestreamWrite: Time series database service for IoT and operational applications.
- AmplifyBackend: AWS Amplify Administration API.
- AppIntegrationsService: Enables you to configure and reuse connections to external applications.
- ConnectContactLens: Contact Lens for Amazon Connect.
- CustomerProfiles: Amazon Connect Customer Profiles.
- DevOpsGuru: Help Identify Application Errors and Fixes.
- ECRPublic: Public Amazon Elastic Container Registry.
- LookoutforVision: Machine learning (ML) service that spots defects and anomalies in visual representations.
- SageMakerFeatureStoreRuntime: A fully managed, purpose-built repository for machine learning (ML) features.
Using v5.0.0 of soto-core.
Sync'ed service models to v1.36.0 of aws-sdk-go.