chore(deps): bump aws-sdk-swift from 1.7.27 to 1.7.53 - #4262
Merged
Conversation
Updates the aws-sdk-swift dependency to 1.7.53, which moves the transitive dependency: smithy-swift 0.223.0 -> 0.238.0 aws-crt-swift stays resolved at 0.64.1: smithy-swift raised its floor from `from: "0.63.0"` to `from: "0.64.0"`, which the already-pinned 0.64.1 satisfies. No other transitive pins change. The aws-sdk-swift range is almost entirely API and endpoint model regeneration. For the services Amplify depends on the changes are additive only: Cognito Identity Provider gains GetProvisionedLimit / UpdateProvisionedLimit, EumsSms in SmsConfigurationType, and AdminGetUserAuthFactors; CloudWatch Logs gains storage-tier and lookup-table APIs; TranscribeStreaming gains an optional TranscriptFormat parameter. The one breaking entry in the range (1.7.28 removes SimSpaceWeaver, Panorama, IoT Events, IoT Events Data) does not touch any Amplify dependency. smithy-swift's breaking changes in 0.224.0-0.238.0 are confined to the @_spi(SchemaBasedSerde) codegen surface that only the SDK's own generated code consumes: ShapeDeserializer.readInteger/readLong narrowing to Int32/Int64, readDocument returning `any SmithyDocument`, and ReadStructConsumer being replaced by a deserializeMember requirement. The modules Amplify imports directly - SmithyIdentity, SmithyRetries, SmithyHTTPAuth and their API variants - are unchanged. ClientRuntime's only behavioral delta is percent-encoding moving its implementation into SmithyHTTPAPI.URLEncodingUtils with the same allowed character sets. Verified that the non-sparse-map null regression which gated the previous bump (#4234) has not returned: SmithyJSON's Deserializer still compacts UnexpectedNullError out of non-sparse maps and lists, so Cognito RespondToAuthChallenge responses carrying a null ChallengeParameters value (e.g. "FRIENDLY_DEVICE_NAME": null in the SELECT_MFA_TYPE challenge) continue to deserialize.
harsh62
had a problem deploying
to
IntegrationTest
August 4, 2026 14:14 — with
GitHub Actions
Failure
harsh62
had a problem deploying
to
IntegrationTest
August 4, 2026 15:59 — with
GitHub Actions
Failure
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4262 +/- ##
==========================================
+ Coverage 66.83% 66.85% +0.01%
==========================================
Files 1170 1170
Lines 44539 44539
==========================================
+ Hits 29768 29776 +8
+ Misses 14771 14763 -8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
thisisabhash
approved these changes
Aug 4, 2026
This was referenced Aug 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #
N/A — routine dependency maintenance.
Description
Updates the
aws-sdk-swiftdependency to1.7.53, which moves the transitive dependency:aws-crt-swiftstays resolved at0.64.1: smithy-swift raised its floor fromfrom: "0.63.0"tofrom: "0.64.0", which the already-pinned0.64.1satisfies. No other transitive pins change, so the aws-crt-swift coexistence with the AWS IoT Device SDK for Swift established in #4234 is preserved.aws-sdk-swift 1.7.28 → 1.7.53
The range is almost entirely API and endpoint model regeneration. For the services Amplify depends on, the changes are additive only:
GetProvisionedLimit/UpdateProvisionedLimit(1.7.30),EumsSmsinSmsConfigurationType(1.7.41), andAdminGetUserAuthFactors(1.7.46)TranscriptFormatparameterThe one breaking entry in the range (1.7.28 removes SimSpaceWeaver, Panorama, IoT Events, and IoT Events Data) does not touch any Amplify dependency.
smithy-swift 0.224.0 → 0.238.0
The breaking changes here are confined to the
@_spi(SchemaBasedSerde)codegen surface that only the SDK's own generated code consumes:ShapeDeserializer.readInteger/readLongnarrow toInt32/Int64readDocumentreturnsany SmithyDocumentinstead of the concrete wrapperReadStructConsumeris replaced by adeserializeMember(_:_:)requirement; traits became classes, sogetTraitis no longerthrowsThe modules Amplify imports directly —
SmithyIdentity,SmithyRetries,SmithyHTTPAuthand their API variants — are unchanged, andSources/Smithy/Document/is identical between the two versions.ClientRuntime's only behavioral delta is percent-encoding moving its implementation intoSmithyHTTPAPI.URLEncodingUtilswith the same allowed character sets (a pure refactor), plus a telemetry-only switch fromDate()toCLOCK_MONOTONIC_RAWfor serialization timing.Regression check on the #4234 blocker
The previous bump was gated on smithy-swift
0.223.0because the schema-based JSON deserializer (introduced in0.206.0) regressed null handling for non-sparse maps, breaking deserialization of CognitoRespondToAuthChallengeresponses whoseChallengeParameterscontain a null value — e.g."FRIENDLY_DEVICE_NAME": nullin theSELECT_MFA_TYPEchallenge.Verified this has not returned in
0.238.0.Sources/SmithyJSON/Deserializer.swiftis byte-identical to0.223.0in the relevant blocks:readMapandreadListstill compactUnexpectedNullErrorout of non-sparse collections, andreadStructstill skips null members. Confirmed empirically as well, by building a throwaway package against1.7.53with a stubHTTPClientreturning that exactSELECT_MFA_TYPEpayload — deserialization succeeds with the null key compacted out, matching0.223.0behavior.Follow-up worth tracking separately
Releases
1.7.50+ carry an announcement that in Fall 2026 the SDK will drop support for older Swift/Xcode versions and several Apple and Linux platforms (aws-sdk-swift discussion #2140). This does not affect the current bump — no new minimum Swift version or platform floor is introduced here — but it will eventually require raising Amplify's platform floors.General Checklist
Added new tests to cover change, if needed— dependency-only change, no behavioral surface added. See note below.All integration tests pass— not run locally; needs a CI/maintainer runDocumentation update for the change if required— no public API changeNew or updated tests include— no new testsGiven When Theninline code documentation and are named accordinglytestThing_condition_expectation()If breaking change, documentation/changelog update with migration instructions— not a breaking change for Amplify consumersVerification
swift build— all 1131 modules compile, zero errors, no new warningsswift test— 1028 tests across all 21 test targets, zero failuresswiftformat --lint— cleanNote on test coverage
There is currently no regression test in this repo pinning the null-
ChallengeParametersdeserialization behavior described above. The existing.selectMfaTypetests constructchallengeParametersas already-decoded Swift dictionaries, so they exercise the state machines rather than the JSON deserializer — meaning a future smithy-swift bump could silently reintroduce this bug, as it did once already. Adding a test that feeds a raw JSON body with a null map value through the Cognito client would close that gap; happy to add it here or in a follow-up.