v6.0.0
Using SotoCore v6.0.0
Using AWS models from Release (2022-06-17)
Major release changes
- The major change in v6 is in actual an internal change, but it affects everything. We have moved from generating the AWS Service files from the json model files to the new Smithy format model files. There is a formal spec for the Smithy format unlike the original json files. AWS are moving to using Smithy for all of their SDKs.
- The Soto service code generator is now a separate project, instead of being in the same repo as Soto, and can be found here.
- In theory the above changes shouldn't affect the end user but with this move some service names have changed and some APIs have changed name.
- It is now required you use
AsyncHTTPClient
with Soto. Previously aAWSHTTPClient
protocol was available which you could conform to. This change has been implemented to reduce the API surface of Soto and to allow us more flexibility in how we integrate with the HTTP client. - There have been a number of fixes to enum and variable names. Enums are now camel cased, previously they were all lowercased. Variable names that started with an uppercase acronym now capitalise correctly. Previously the first letter of the name was lowercased, ignoring the rest of the acronym. This gave us
eC2InstanceDetails
instead ofec2InstanceDetails
. This is now fixed. - Add Sendable conformance to many public symbols. This includes
AWSClient
,AWSService
,CredentialProvider
and all service API input/output shapes. PR #590 - Replace all usages of
Foundation.Data
in service API input/output shapes withAWSBase64Data
. PR #591 - Added
final
to all API input and output shapes that are classes.
New services
ChimeSDKMediaPipelines, ConnectCampaigns, EMRServerless, M2, RedshiftServerless
Services removed
SimpleDB, ImportExport, MobileAnalytics
Service name changes
AppIntegrationsService -> AppIntegrations
AppRegistry -> ServiceCatalogAppRegistry
AugmentedAIRuntime -> SageMakerA2IRuntime
CloudControlApi -> CloudControl
CodeStarconnections -> CodeStarConnections
ConnectWisdomService -> Wisdom
CostandUsageReportService -> CostAndUsageReportService
ElasticLoadBalancingv2 -> ElasticLoadBalancingV2
FinSpaceData -> FinspaceData
ForecastService -> Forecast
ForecastQueryService -> Forecastquery
GlueDataBrew -> DataBrew
KinesisVideoSignalingChannels -> KinesisVideoSignaling
LocationService -> Location
LookoutforVision -> LookoutVision
ManagedGrafana -> Grafana
MigrationHubStrategyRecommendations -> MigrationHubStrategy
NimbleStudio -> Nimble
OpenSearchService -> OpenSearch
PrometheusService -> Amp
RDSDataService -> RDSData
RedshiftDataAPIService -> RedshiftData
ResilienceHub -> Resiliencehub
SESV2 -> SESv2
SagemakerEdgeManager -> SagemakerEdge
TranscribeService -> Transcribe
TranscribeStreamingService -> TranscribeStreaming
Minor release changes
- Where operation input struct has deprecated members add an additional
init
which doesn't include deprecated members and deprecate oldinit
. - S3: MD5 checksums are no longer automatically calculated (unless required). You can re-enable the automatic calculation of MD5 checksums using the S3 service option
.calculateMD5
. - S3: Added async versions of Multipart Upload/download functions
- S3: Send
Expect: 100-continue
header to cancel large uploads early if AWS knows they are going to fail.
Patch release changes
- S3: Select Object Content code now uses
crc32
from SotoCore, instead of importing zlib. PR #589 - S3:
S3RequestMiddleware
now preserves trailing "/" when reconstructing URL. PR #587 from @jmoisan21 - S3: Percent encode additional characters in URL paths, to support S3 like services that require this. PR #604