diff --git a/.github/workflows/integ-test.yml b/.github/workflows/integ-test.yml index a4203e929e1..2137f521864 100644 --- a/.github/workflows/integ-test.yml +++ b/.github/workflows/integ-test.yml @@ -6,7 +6,7 @@ on: identifier: required: true type: string - pull_request_target: + pull_request: branches: - main @@ -19,7 +19,13 @@ concurrency: cancel-in-progress: true jobs: + validation: + runs-on: ubuntu-latest + if: ${{ !github.event.pull_request || (github.event.pull_request.user.login == 'awsmobilesdk' || contains(fromJSON('["OWNER", "MEMBER"]'), github.event.pull_request.author_association)) }} + steps: + - run: echo "Integration Tests can be run" integration-test: + needs: [validation] name: Integration Test environment: IntegrationTest strategy: diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 148e6af512c..55ab7f62fe4 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -22,6 +22,7 @@ jobs: unit-test: name: Unit Test strategy: + fail-fast: false matrix: scheme: - AWSAPIGateway diff --git a/AWSAPIGateway.podspec b/AWSAPIGateway.podspec index a3d64e54b5f..24cf2e981ff 100644 --- a/AWSAPIGateway.podspec +++ b/AWSAPIGateway.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSAPIGateway' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -13,7 +13,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSAPIGateway/*.{h,m}' end diff --git a/AWSAPIGateway/AWSAPIGatewayClient.m b/AWSAPIGateway/AWSAPIGatewayClient.m index 8f3a757ed2c..9799ea97324 100644 --- a/AWSAPIGateway/AWSAPIGatewayClient.m +++ b/AWSAPIGateway/AWSAPIGatewayClient.m @@ -23,7 +23,7 @@ static NSString *const AWSAPIGatewayAPIKeyHeader = @"x-api-key"; -NSString *const AWSAPIGatewaySDKVersion = @"2.33.9"; +NSString *const AWSAPIGatewaySDKVersion = @"2.33.10"; static int defaultChunkSize = 1024; diff --git a/AWSAPIGateway/Info.plist b/AWSAPIGateway/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSAPIGateway/Info.plist +++ b/AWSAPIGateway/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSAppleSignIn.podspec b/AWSAppleSignIn.podspec index 14069cdb701..7e7be856ea0 100644 --- a/AWSAppleSignIn.podspec +++ b/AWSAppleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAppleSignIn' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' - s.dependency 'AWSAuthCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' + s.dependency 'AWSAuthCore', '2.33.10' s.source_files = 'AWSAuthSDK/Sources/AWSAppleSignIn/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSAppleSignIn/*.h' end diff --git a/AWSAuth.podspec b/AWSAuth.podspec index 86ab0503975..fee6ce5359c 100644 --- a/AWSAuth.podspec +++ b/AWSAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuth' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -14,23 +14,23 @@ Pod::Spec.new do |s| s.requires_arc = true s.subspec 'Core' do |authcore| - authcore.dependency 'AWSAuthCore', '2.33.9' + authcore.dependency 'AWSAuthCore', '2.33.10' end s.subspec 'FacebookSignIn' do |facebook| - facebook.dependency 'AWSFacebookSignIn', '2.33.9' + facebook.dependency 'AWSFacebookSignIn', '2.33.10' end s.subspec 'GoogleSignIn' do |google| - google.dependency 'AWSGoogleSignIn', '2.33.9' + google.dependency 'AWSGoogleSignIn', '2.33.10' end s.subspec 'UserPoolsSignIn' do |up| - up.dependency 'AWSUserPoolsSignIn', '2.33.9' + up.dependency 'AWSUserPoolsSignIn', '2.33.10' end s.subspec 'UI' do |ui| - ui.dependency 'AWSAuthUI', '2.33.9' + ui.dependency 'AWSAuthUI', '2.33.10' end end diff --git a/AWSAuthCore.podspec b/AWSAuthCore.podspec index f257cd7474c..42887397522 100644 --- a/AWSAuthCore.podspec +++ b/AWSAuthCore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthCore' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSAuthSDK/Sources/AWSAuthCore/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSAuthCore/*.h' end diff --git a/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist b/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist index 9ca7da20ac8..2bebd42552e 100644 --- a/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist index 9ca7da20ac8..2bebd42552e 100644 --- a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist index 9ca7da20ac8..2bebd42552e 100644 --- a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist index 9ca7da20ac8..2bebd42552e 100644 --- a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist index 9ca7da20ac8..2bebd42552e 100644 --- a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist index f601d14dd9c..4bf30560a3f 100644 --- a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist index f601d14dd9c..4bf30560a3f 100644 --- a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist index 9ca7da20ac8..2bebd42552e 100644 --- a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthUI.podspec b/AWSAuthUI.podspec index 4a4ed8fb3c9..5b4a53d2373 100644 --- a/AWSAuthUI.podspec +++ b/AWSAuthUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthUI' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' - s.dependency 'AWSAuthCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' + s.dependency 'AWSAuthCore', '2.33.10' s.source_files = 'AWSAuthSDK/Sources/AWSAuthUI/*.{h,m}', 'AWSAuthSDK/Sources/AWSAuthUI/**/*.{h,m}', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSFormTableCell.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSTableInputCell.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSFormTableDelegate.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSUserPoolsUIHelper.h' s.public_header_files = 'AWSAuthSDK/Sources/AWSAuthUI/AWSAuthUI.h', 'AWSAuthSDK/Sources/AWSAuthUI/AWSAuthUIViewController.h', 'AWSAuthSDK/Sources/AWSAuthUI/AWSAuthUIConfiguration.h' s.private_header_files = 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSFormTableCell.h', 'AWSAuthSDK/Sources/AWSAuthUI/AWSSignInViewController.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSTableInputCell.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSFormTableDelegate.h' diff --git a/AWSAutoScaling.podspec b/AWSAutoScaling.podspec index f9fee664a26..fc76bd6eae7 100644 --- a/AWSAutoScaling.podspec +++ b/AWSAutoScaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAutoScaling' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSAutoScaling/*.{h,m}' end diff --git a/AWSAutoScaling/AWSAutoScalingService.m b/AWSAutoScaling/AWSAutoScalingService.m index 43ae823872d..d32a13ecee7 100644 --- a/AWSAutoScaling/AWSAutoScalingService.m +++ b/AWSAutoScaling/AWSAutoScalingService.m @@ -25,7 +25,7 @@ #import "AWSAutoScalingResources.h" static NSString *const AWSInfoAutoScaling = @"AutoScaling"; -NSString *const AWSAutoScalingSDKVersion = @"2.33.9"; +NSString *const AWSAutoScalingSDKVersion = @"2.33.10"; @interface AWSAutoScalingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSAutoScaling/Info.plist b/AWSAutoScaling/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSAutoScaling/Info.plist +++ b/AWSAutoScaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKIdentity.podspec b/AWSChimeSDKIdentity.podspec index b91c5f88aa3..5ee45d4584c 100644 --- a/AWSChimeSDKIdentity.podspec +++ b/AWSChimeSDKIdentity.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKIdentity' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSChimeSDKIdentity/*.{h,m}' end diff --git a/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m b/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m index c881ca377e1..29326a5db49 100644 --- a/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m +++ b/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m @@ -25,7 +25,7 @@ #import "AWSChimeSDKIdentityResources.h" static NSString *const AWSInfoChimeSDKIdentity = @"ChimeSDKIdentity"; -NSString *const AWSChimeSDKIdentitySDKVersion = @"2.33.9"; +NSString *const AWSChimeSDKIdentitySDKVersion = @"2.33.10"; @interface AWSChimeSDKIdentityResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKIdentity/Info.plist b/AWSChimeSDKIdentity/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSChimeSDKIdentity/Info.plist +++ b/AWSChimeSDKIdentity/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKMessaging.podspec b/AWSChimeSDKMessaging.podspec index db9cd96f728..5b0408df968 100644 --- a/AWSChimeSDKMessaging.podspec +++ b/AWSChimeSDKMessaging.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKMessaging' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSChimeSDKMessaging/*.{h,m}' end diff --git a/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m b/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m index ab3e26edcb5..7eb3111ff34 100644 --- a/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m +++ b/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m @@ -25,7 +25,7 @@ #import "AWSChimeSDKMessagingResources.h" static NSString *const AWSInfoChimeSDKMessaging = @"ChimeSDKMessaging"; -NSString *const AWSChimeSDKMessagingSDKVersion = @"2.33.9"; +NSString *const AWSChimeSDKMessagingSDKVersion = @"2.33.10"; @interface AWSChimeSDKMessagingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKMessaging/Info.plist b/AWSChimeSDKMessaging/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSChimeSDKMessaging/Info.plist +++ b/AWSChimeSDKMessaging/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCloudWatch.podspec b/AWSCloudWatch.podspec index 64cafc0f3b6..c7f30b22e76 100644 --- a/AWSCloudWatch.podspec +++ b/AWSCloudWatch.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCloudWatch' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSCloudWatch/*.{h,m}' end diff --git a/AWSCloudWatch/AWSCloudWatchService.m b/AWSCloudWatch/AWSCloudWatchService.m index 4b5239ff5e3..fe9fb04c436 100644 --- a/AWSCloudWatch/AWSCloudWatchService.m +++ b/AWSCloudWatch/AWSCloudWatchService.m @@ -26,7 +26,7 @@ #import "AWSCloudWatchResources.h" static NSString *const AWSInfoCloudWatch = @"CloudWatch"; -NSString *const AWSCloudWatchSDKVersion = @"2.33.9"; +NSString *const AWSCloudWatchSDKVersion = @"2.33.10"; @interface AWSCloudWatchResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSCloudWatch/Info.plist b/AWSCloudWatch/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSCloudWatch/Info.plist +++ b/AWSCloudWatch/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoAuth.podspec b/AWSCognitoAuth.podspec index 4c1eed4a512..36e8e289783 100644 --- a/AWSCognitoAuth.podspec +++ b/AWSCognitoAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoAuth' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Cognito Auth SDK for iOS' s.description = 'Amazon Cognito Auth enables sign up and authentication of your end users via a hosted UI' @@ -13,8 +13,8 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' - s.dependency 'AWSCognitoIdentityProviderASF', '2.33.9' + s.dependency 'AWSCore', '2.33.10' + s.dependency 'AWSCognitoIdentityProviderASF', '2.33.10' s.source_files = 'AWSCognitoAuth/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoAuth/*.h' diff --git a/AWSCognitoAuth/AWSCognitoAuth.m b/AWSCognitoAuth/AWSCognitoAuth.m index 2d4a68bbb0b..a8b1c92c5dc 100644 --- a/AWSCognitoAuth/AWSCognitoAuth.m +++ b/AWSCognitoAuth/AWSCognitoAuth.m @@ -80,7 +80,7 @@ @interface AWSCognitoAuthConfiguration() @implementation AWSCognitoAuth -NSString *const AWSCognitoAuthSDKVersion = @"2.33.9"; +NSString *const AWSCognitoAuthSDKVersion = @"2.33.10"; static NSMutableDictionary *_instanceDictionary = nil; diff --git a/AWSCognitoAuth/Info.plist b/AWSCognitoAuth/Info.plist index f898d3c75c7..659c33f12a3 100644 --- a/AWSCognitoAuth/Info.plist +++ b/AWSCognitoAuth/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProvider.podspec b/AWSCognitoIdentityProvider.podspec index b2690f17e0f..845393e95d9 100644 --- a/AWSCognitoIdentityProvider.podspec +++ b/AWSCognitoIdentityProvider.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProvider' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Cognito Identity Provider SDK for iOS (Beta)' s.description = 'Amazon Cognito Identity Provider enables sign up and authentication of your end users' @@ -13,8 +13,8 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true s.frameworks = 'Security', 'UIKit' - s.dependency 'AWSCore', '2.33.9' - s.dependency 'AWSCognitoIdentityProviderASF', '2.33.9' + s.dependency 'AWSCore', '2.33.10' + s.dependency 'AWSCognitoIdentityProviderASF', '2.33.10' s.source_files = 'AWSCognitoIdentityProvider/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoIdentityProvider/*.h' diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m index 7a873745ea1..10a9f8397c0 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m @@ -25,7 +25,7 @@ #import "AWSCognitoIdentityProviderResources.h" static NSString *const AWSInfoCognitoIdentityProvider = @"CognitoIdentityProvider"; -NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.33.9"; +NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.33.10"; @interface AWSCognitoIdentityProviderResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSCognitoIdentityProvider/Info.plist b/AWSCognitoIdentityProvider/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSCognitoIdentityProvider/Info.plist +++ b/AWSCognitoIdentityProvider/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProviderASF.podspec b/AWSCognitoIdentityProviderASF.podspec index 53e239c3e84..3e809ba0fdb 100644 --- a/AWSCognitoIdentityProviderASF.podspec +++ b/AWSCognitoIdentityProviderASF.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProviderASF' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Cognito Identity Provider Advanced Security Features library (Beta)' s.description = 'Amazon Cognito Identity Provider ASF provides the information necessary to support adaptive authentication' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.public_header_files = 'AWSCognitoIdentityProviderASF/*.h' s.source_files = 'AWSCognitoIdentityProviderASF/**/*.{h,m,c}' s.private_header_files = 'AWSCognitoIdentityProviderASF/Internal/*.h' diff --git a/AWSCognitoIdentityProviderASF/Info.plist b/AWSCognitoIdentityProviderASF/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSCognitoIdentityProviderASF/Info.plist +++ b/AWSCognitoIdentityProviderASF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSComprehend.podspec b/AWSComprehend.podspec index 69c16be6b07..e4c25e4ca28 100644 --- a/AWSComprehend.podspec +++ b/AWSComprehend.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSComprehend' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSComprehend/*.{h,m}' end diff --git a/AWSComprehend/AWSComprehendService.m b/AWSComprehend/AWSComprehendService.m index 73b64f4e21f..e70f84de95d 100644 --- a/AWSComprehend/AWSComprehendService.m +++ b/AWSComprehend/AWSComprehendService.m @@ -25,7 +25,7 @@ #import "AWSComprehendResources.h" static NSString *const AWSInfoComprehend = @"Comprehend"; -NSString *const AWSComprehendSDKVersion = @"2.33.9"; +NSString *const AWSComprehendSDKVersion = @"2.33.10"; @interface AWSComprehendResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSComprehend/Info.plist b/AWSComprehend/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSComprehend/Info.plist +++ b/AWSComprehend/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnect.podspec b/AWSConnect.podspec index 9ae7757af18..e36110f019f 100644 --- a/AWSConnect.podspec +++ b/AWSConnect.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnect' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSConnect/*.{h,m}' end diff --git a/AWSConnect/AWSConnectService.m b/AWSConnect/AWSConnectService.m index ce10d03c5b2..c16ff3429ad 100644 --- a/AWSConnect/AWSConnectService.m +++ b/AWSConnect/AWSConnectService.m @@ -25,7 +25,7 @@ #import "AWSConnectResources.h" static NSString *const AWSInfoConnect = @"Connect"; -NSString *const AWSConnectSDKVersion = @"2.33.9"; +NSString *const AWSConnectSDKVersion = @"2.33.10"; @interface AWSConnectResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSConnect/Info.plist b/AWSConnect/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSConnect/Info.plist +++ b/AWSConnect/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnectParticipant.podspec b/AWSConnectParticipant.podspec index 08ef28092b8..dcc95c1df69 100644 --- a/AWSConnectParticipant.podspec +++ b/AWSConnectParticipant.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnectParticipant' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSConnectParticipant/*.{h,m}' end diff --git a/AWSConnectParticipant/AWSConnectParticipantService.m b/AWSConnectParticipant/AWSConnectParticipantService.m index 9e4772e4b20..c47da0e5d38 100644 --- a/AWSConnectParticipant/AWSConnectParticipantService.m +++ b/AWSConnectParticipant/AWSConnectParticipantService.m @@ -25,7 +25,7 @@ #import "AWSConnectParticipantResources.h" static NSString *const AWSInfoConnectParticipant = @"ConnectParticipant"; -NSString *const AWSConnectParticipantSDKVersion = @"2.33.9"; +NSString *const AWSConnectParticipantSDKVersion = @"2.33.10"; @interface AWSConnectParticipantResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSConnectParticipant/Info.plist b/AWSConnectParticipant/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSConnectParticipant/Info.plist +++ b/AWSConnectParticipant/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCore.podspec b/AWSCore.podspec index 46fe32371d3..b5b60f898e7 100644 --- a/AWSCore.podspec +++ b/AWSCore.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSCore' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' diff --git a/AWSCore/Info.plist b/AWSCore/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSCore/Info.plist +++ b/AWSCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCore/Service/AWSService.m b/AWSCore/Service/AWSService.m index c8d504e3015..edd7f58cd00 100644 --- a/AWSCore/Service/AWSService.m +++ b/AWSCore/Service/AWSService.m @@ -21,7 +21,7 @@ #import "AWSCocoaLumberjack.h" #import "AWSCategory.h" -NSString *const AWSiOSSDKVersion = @"2.33.9"; +NSString *const AWSiOSSDKVersion = @"2.33.10"; NSString *const AWSServiceErrorDomain = @"com.amazonaws.AWSServiceErrorDomain"; static NSString *const AWSServiceConfigurationUnknown = @"Unknown"; diff --git a/AWSDynamoDB.podspec b/AWSDynamoDB.podspec index fdfd1c29690..3f6fe8dfb0a 100644 --- a/AWSDynamoDB.podspec +++ b/AWSDynamoDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSDynamoDB' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSDynamoDB/*.{h,m}' end diff --git a/AWSDynamoDB/AWSDynamoDBService.m b/AWSDynamoDB/AWSDynamoDBService.m index 0dc484885ba..0813ba32e6a 100644 --- a/AWSDynamoDB/AWSDynamoDBService.m +++ b/AWSDynamoDB/AWSDynamoDBService.m @@ -26,7 +26,7 @@ #import "AWSDynamoDBRequestRetryHandler.h" static NSString *const AWSInfoDynamoDB = @"DynamoDB"; -NSString *const AWSDynamoDBSDKVersion = @"2.33.9"; +NSString *const AWSDynamoDBSDKVersion = @"2.33.10"; @interface AWSDynamoDBResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSDynamoDB/Info.plist b/AWSDynamoDB/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSDynamoDB/Info.plist +++ b/AWSDynamoDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSEC2.podspec b/AWSEC2.podspec index 08b1f061744..c287bf66740 100644 --- a/AWSEC2.podspec +++ b/AWSEC2.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSEC2' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSEC2/*.{h,m}' end diff --git a/AWSEC2/AWSEC2Service.m b/AWSEC2/AWSEC2Service.m index 599b0d5c76b..554377915d8 100644 --- a/AWSEC2/AWSEC2Service.m +++ b/AWSEC2/AWSEC2Service.m @@ -26,7 +26,7 @@ #import "AWSEC2Serializer.h" static NSString *const AWSInfoEC2 = @"EC2"; -NSString *const AWSEC2SDKVersion = @"2.33.9"; +NSString *const AWSEC2SDKVersion = @"2.33.10"; @interface AWSEC2ResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSEC2/Info.plist b/AWSEC2/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSEC2/Info.plist +++ b/AWSEC2/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSElasticLoadBalancing.podspec b/AWSElasticLoadBalancing.podspec index e927e617c8e..46a51a22055 100644 --- a/AWSElasticLoadBalancing.podspec +++ b/AWSElasticLoadBalancing.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSElasticLoadBalancing' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSElasticLoadBalancing/*.{h,m}' end diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m index 9209554e69e..6c417618f3b 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m @@ -25,7 +25,7 @@ #import "AWSElasticLoadBalancingResources.h" static NSString *const AWSInfoElasticLoadBalancing = @"ElasticLoadBalancing"; -NSString *const AWSElasticLoadBalancingSDKVersion = @"2.33.9"; +NSString *const AWSElasticLoadBalancingSDKVersion = @"2.33.10"; @interface AWSElasticLoadBalancingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSElasticLoadBalancing/Info.plist b/AWSElasticLoadBalancing/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSElasticLoadBalancing/Info.plist +++ b/AWSElasticLoadBalancing/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSFacebookSignIn.podspec b/AWSFacebookSignIn.podspec index 1f9886fa52f..4138d0c28b7 100644 --- a/AWSFacebookSignIn.podspec +++ b/AWSFacebookSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSFacebookSignIn' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSAuthCore', '2.33.9' - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSAuthCore', '2.33.10' + s.dependency 'AWSCore', '2.33.10' s.dependency 'FBSDKLoginKit', '9.0' s.dependency 'FBSDKCoreKit', '9.0' diff --git a/AWSGoogleSignIn.podspec b/AWSGoogleSignIn.podspec index 107ea24dc33..c67f3f149b2 100644 --- a/AWSGoogleSignIn.podspec +++ b/AWSGoogleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSGoogleSignIn' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSAuthCore', '2.33.9' - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSAuthCore', '2.33.10' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSAuthSDK/Sources/AWSGoogleSignIn/*.{h,m}', 'AWSAuthSDK/Dependencies/GoogleHeaders/*.h' s.public_header_files = 'AWSAuthSDK/Sources/AWSGoogleSignIn/*.h' s.private_header_files = 'AWSAuthSDK/Dependencies/GoogleHeaders/*.h' diff --git a/AWSIoT.podspec b/AWSIoT.podspec index e79cbd10ac0..60fa892f636 100644 --- a/AWSIoT.podspec +++ b/AWSIoT.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSIoT' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSIoT/*.{h,m}', 'AWSIoT/**/*.{h,m}' s.private_header_files = 'AWSIoT/Internal/*.h' end diff --git a/AWSIoT/AWSIoTDataService.m b/AWSIoT/AWSIoTDataService.m index 6c5e238fe75..f6be299074c 100644 --- a/AWSIoT/AWSIoTDataService.m +++ b/AWSIoT/AWSIoTDataService.m @@ -25,7 +25,7 @@ #import "AWSIoTDataResources.h" static NSString *const AWSInfoIoTData = @"IoTData"; -NSString *const AWSIoTDataSDKVersion = @"2.33.9"; +NSString *const AWSIoTDataSDKVersion = @"2.33.10"; @interface AWSIoTDataResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/AWSIoTService.m b/AWSIoT/AWSIoTService.m index 3b8535b4ca6..b3f35b27e59 100644 --- a/AWSIoT/AWSIoTService.m +++ b/AWSIoT/AWSIoTService.m @@ -25,7 +25,7 @@ #import "AWSIoTResources.h" static NSString *const AWSInfoIoT = @"IoT"; -NSString *const AWSIoTSDKVersion = @"2.33.9"; +NSString *const AWSIoTSDKVersion = @"2.33.10"; @interface AWSIoTResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/Info.plist b/AWSIoT/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSIoT/Info.plist +++ b/AWSIoT/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSIoT/Internal/AWSIoTMQTTClient.m b/AWSIoT/Internal/AWSIoTMQTTClient.m index ebe1da4decf..5e51604c4a9 100644 --- a/AWSIoT/Internal/AWSIoTMQTTClient.m +++ b/AWSIoT/Internal/AWSIoTMQTTClient.m @@ -384,7 +384,7 @@ - (BOOL) connectWithCert { @synchronized(self) { if (self.streamsThread && !self.streamsThread.isCancelled) { AWSDDLogVerbose(@"Issued Cancel on thread [%@]", self.streamsThread); - [self.streamsThread cancel]; + [self.streamsThread cancelAndDisconnect:self.userDidIssueDisconnect]; } self.streamsThread = [[AWSIoTStreamThread alloc] initWithSession:self.session decoderInputStream:inputStream @@ -637,7 +637,7 @@ - (void)disconnect { self.connectionAgeInSeconds = 0; //Cancel the current streams thread - [self.streamsThread cancel]; + [self.streamsThread cancelAndDisconnect:YES]; __weak AWSIoTMQTTClient *weakSelf = self; self.streamsThread.onStop = ^{ @@ -1230,7 +1230,7 @@ - (void)webSocketDidOpen:(AWSSRWebSocket *)webSocket { @synchronized(self) { if (self.streamsThread && !self.streamsThread.isCancelled) { AWSDDLogVerbose(@"Issued Cancel on thread [%@]", self.streamsThread); - [self.streamsThread cancel]; + [self.streamsThread cancelAndDisconnect:self.userDidIssueDisconnect]; } self.streamsThread = [[AWSIoTStreamThread alloc] initWithSession:self.session diff --git a/AWSIoT/Internal/AWSIoTStreamThread.h b/AWSIoT/Internal/AWSIoTStreamThread.h index 2f5ae7efd00..fb2dc572721 100644 --- a/AWSIoT/Internal/AWSIoTStreamThread.h +++ b/AWSIoT/Internal/AWSIoTStreamThread.h @@ -30,6 +30,8 @@ NS_ASSUME_NONNULL_BEGIN decoderInputStream:(nonnull NSInputStream *)decoderInputStream encoderOutputStream:(nonnull NSOutputStream *)decoderOutputStream outputStream:(nullable NSOutputStream *)outputStream; + +- (void)cancelAndDisconnect:(BOOL)shouldDisconnect; @end NS_ASSUME_NONNULL_END diff --git a/AWSIoT/Internal/AWSIoTStreamThread.m b/AWSIoT/Internal/AWSIoTStreamThread.m index 8073409f50d..d47e57d0ee0 100644 --- a/AWSIoT/Internal/AWSIoTStreamThread.m +++ b/AWSIoT/Internal/AWSIoTStreamThread.m @@ -26,6 +26,7 @@ @interface AWSIoTStreamThread() @property(nonatomic, strong, nullable) NSRunLoop *runLoopForStreamsThread; @property(nonatomic, assign) NSTimeInterval defaultRunLoopTimeInterval; @property(nonatomic, assign) BOOL isRunning; +@property(nonatomic, assign) BOOL shouldDisconnect; @end @implementation AWSIoTStreamThread @@ -49,6 +50,7 @@ -(instancetype)initWithSession:(nonnull AWSMQTTSession *)session _encoderOutputStream = encoderOutputStream; _outputStream = outputStream; _defaultRunLoopTimeInterval = 10; + _shouldDisconnect = NO; } return self; } @@ -102,33 +104,44 @@ - (void)cancel { [super cancel]; } +- (void)cancelAndDisconnect:(BOOL)shouldDisconnect { + AWSDDLogVerbose(@"Issued Cancel and Disconnect = [%@] on thread [%@]", shouldDisconnect ? @"YES" : @"NO", (NSThread *)self); + self.shouldDisconnect = shouldDisconnect; + self.isRunning = NO; + [super cancel]; +} + - (void)cleanUp { if (self.defaultRunLoopTimer) { [self.defaultRunLoopTimer invalidate]; self.defaultRunLoopTimer = nil; } - if (self.session) { - [self.session close]; - self.session = nil; - } - - if (self.outputStream) { - self.outputStream.delegate = nil; - [self.outputStream close]; - [self.outputStream removeFromRunLoop:self.runLoopForStreamsThread - forMode:NSDefaultRunLoopMode]; - self.outputStream = nil; - } - - if (self.decoderInputStream) { - [self.decoderInputStream close]; - self.decoderInputStream = nil; - } - - if (self.encoderOutputStream) { - [self.encoderOutputStream close]; - self.encoderOutputStream = nil; + if (self.shouldDisconnect) { + if (self.session) { + [self.session close]; + self.session = nil; + } + + if (self.outputStream) { + self.outputStream.delegate = nil; + [self.outputStream close]; + [self.outputStream removeFromRunLoop:self.runLoopForStreamsThread + forMode:NSDefaultRunLoopMode]; + self.outputStream = nil; + } + + if (self.decoderInputStream) { + [self.decoderInputStream close]; + self.decoderInputStream = nil; + } + + if (self.encoderOutputStream) { + [self.encoderOutputStream close]; + self.encoderOutputStream = nil; + } + } else { + AWSDDLogVerbose(@"Skipping disconnect for thread: [%@]", (NSThread *)self); } if (self.onStop) { diff --git a/AWSIoTUnitTests/AWSIoTStreamThreadTests.m b/AWSIoTUnitTests/AWSIoTStreamThreadTests.m index 7d0718078e9..89a84ae7aed 100644 --- a/AWSIoTUnitTests/AWSIoTStreamThreadTests.m +++ b/AWSIoTUnitTests/AWSIoTStreamThreadTests.m @@ -72,15 +72,15 @@ - (void)testStart_shouldOpenStream_andInvokeConnectOnSession { } /// Given: A running AWSIoTStreamThread -/// When: The thread is cancelled +/// When: The thread is cancelled with disconnect set to YES /// Then: The session is closed and all streams are closed -- (void)testCancel_shouldCloseStreams_andInvokeOnStop { +- (void)testCancelAndDisconnect_shouldCloseStreams_andInvokeOnStop { XCTestExpectation *stopExpectation = [self expectationWithDescription:@"AWSIoTStreamThread.onStop expectation"]; self.thread.onStop = ^{ [stopExpectation fulfill]; }; - [self.thread cancel]; + [self.thread cancelAndDisconnect:YES]; [self waitForExpectations:@[stopExpectation] timeout:1]; OCMVerify([self.decoderInputStream close]); @@ -89,4 +89,42 @@ - (void)testCancel_shouldCloseStreams_andInvokeOnStop { OCMVerify([self.session close]); } +/// Given: A running AWSIoTStreamThread +/// When: The thread is cancelled with disconnect set to NO +/// Then: Neither the session nor the streams are closed +- (void)testCancel_shouldNotCloseStreams_andInvokeOnStop { + XCTestExpectation *stopExpectation = [self expectationWithDescription:@"AWSIoTStreamThread.onStop expectation"]; + self.thread.onStop = ^{ + [stopExpectation fulfill]; + }; + + __block BOOL didInvokeSessionClose = NO; + [OCMStub([self.session close]) andDo:^(NSInvocation *invocation) { + didInvokeSessionClose = YES; + }]; + + __block BOOL didInvokeDecoderInputStreamClose = NO; + [OCMStub([self.decoderInputStream close]) andDo:^(NSInvocation *invocation) { + didInvokeDecoderInputStreamClose = YES; + }]; + + __block BOOL didInvokeEncoderDecoderInputStreamClose = NO; + [OCMStub([self.encoderOutputStream close]) andDo:^(NSInvocation *invocation) { + didInvokeEncoderDecoderInputStreamClose = YES; + }]; + + __block BOOL didInvokeOutputStreamClose = NO; + [OCMStub([self.outputStream close]) andDo:^(NSInvocation *invocation) { + didInvokeOutputStreamClose = YES; + }]; + + [self.thread cancelAndDisconnect:NO]; + [self waitForExpectations:@[stopExpectation] timeout:1]; + + XCTAssertFalse(didInvokeSessionClose); + XCTAssertFalse(didInvokeDecoderInputStreamClose); + XCTAssertFalse(didInvokeEncoderDecoderInputStreamClose); + XCTAssertFalse(didInvokeOutputStreamClose); +} + @end diff --git a/AWSKMS.podspec b/AWSKMS.podspec index 8bd6fa73a95..feaa793f098 100644 --- a/AWSKMS.podspec +++ b/AWSKMS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKMS' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSKMS/*.{h,m}' end diff --git a/AWSKMS/AWSKMSService.m b/AWSKMS/AWSKMSService.m index 9f0f576bbf9..baf64ce8ba9 100644 --- a/AWSKMS/AWSKMSService.m +++ b/AWSKMS/AWSKMSService.m @@ -25,7 +25,7 @@ #import "AWSKMSResources.h" static NSString *const AWSInfoKMS = @"KMS"; -NSString *const AWSKMSSDKVersion = @"2.33.9"; +NSString *const AWSKMSSDKVersion = @"2.33.10"; @interface AWSKMSResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKMS/Info.plist b/AWSKMS/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSKMS/Info.plist +++ b/AWSKMS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesis.podspec b/AWSKinesis.podspec index 37f596e92e3..d0d30c550d6 100644 --- a/AWSKinesis.podspec +++ b/AWSKinesis.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesis' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSKinesis/*.{h,m}', 'AWSKinesis/**/*.{h,m}' s.private_header_files = 'AWSKinesis/Internal/*.h' end diff --git a/AWSKinesis/AWSFirehoseService.m b/AWSKinesis/AWSFirehoseService.m index 8dca1f0ae4c..635f5cdc080 100644 --- a/AWSKinesis/AWSFirehoseService.m +++ b/AWSKinesis/AWSFirehoseService.m @@ -26,7 +26,7 @@ #import "AWSFirehoseSerializer.h" static NSString *const AWSInfoFirehose = @"Firehose"; -NSString *const AWSFirehoseSDKVersion = @"2.33.9"; +NSString *const AWSFirehoseSDKVersion = @"2.33.10"; @interface AWSFirehoseResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/AWSKinesisService.m b/AWSKinesis/AWSKinesisService.m index dc5443add16..930722c5122 100644 --- a/AWSKinesis/AWSKinesisService.m +++ b/AWSKinesis/AWSKinesisService.m @@ -28,7 +28,7 @@ #import "AWSKinesisSerializer.h" static NSString *const AWSInfoKinesis = @"Kinesis"; -NSString *const AWSKinesisSDKVersion = @"2.33.9"; +NSString *const AWSKinesisSDKVersion = @"2.33.10"; @interface AWSKinesisResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/Info.plist b/AWSKinesis/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSKinesis/Info.plist +++ b/AWSKinesis/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideo.podspec b/AWSKinesisVideo.podspec index fb4cebb0b72..35fb69a64c3 100644 --- a/AWSKinesisVideo.podspec +++ b/AWSKinesisVideo.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideo' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSKinesisVideo/*.{h,m}' end diff --git a/AWSKinesisVideo/AWSKinesisVideoService.m b/AWSKinesisVideo/AWSKinesisVideoService.m index 3a93ebdb4b9..f88745b83a5 100644 --- a/AWSKinesisVideo/AWSKinesisVideoService.m +++ b/AWSKinesisVideo/AWSKinesisVideoService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoResources.h" static NSString *const AWSInfoKinesisVideo = @"KinesisVideo"; -NSString *const AWSKinesisVideoSDKVersion = @"2.33.9"; +NSString *const AWSKinesisVideoSDKVersion = @"2.33.10"; @interface AWSKinesisVideoResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideo/Info.plist b/AWSKinesisVideo/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSKinesisVideo/Info.plist +++ b/AWSKinesisVideo/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoArchivedMedia.podspec b/AWSKinesisVideoArchivedMedia.podspec index 9ed7e0a70d1..0f205ecf883 100644 --- a/AWSKinesisVideoArchivedMedia.podspec +++ b/AWSKinesisVideoArchivedMedia.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoArchivedMedia' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSKinesisVideoArchivedMedia/*.{h,m}' end diff --git a/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m b/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m index 1319a69a3bd..c2ebb2b39ba 100644 --- a/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m +++ b/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoArchivedMediaResources.h" static NSString *const AWSInfoKinesisVideoArchivedMedia = @"KinesisVideoArchivedMedia"; -NSString *const AWSKinesisVideoArchivedMediaSDKVersion = @"2.33.9"; +NSString *const AWSKinesisVideoArchivedMediaSDKVersion = @"2.33.10"; @interface AWSKinesisVideoArchivedMediaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoArchivedMedia/Info.plist b/AWSKinesisVideoArchivedMedia/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSKinesisVideoArchivedMedia/Info.plist +++ b/AWSKinesisVideoArchivedMedia/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoSignaling.podspec b/AWSKinesisVideoSignaling.podspec index 83ad9bb4c8d..7b022bec739 100644 --- a/AWSKinesisVideoSignaling.podspec +++ b/AWSKinesisVideoSignaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoSignaling' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSKinesisVideoSignaling/*.{h,m}' end diff --git a/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m b/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m index b25c7e46d9f..954753fb3c6 100644 --- a/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m +++ b/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoSignalingResources.h" static NSString *const AWSInfoKinesisVideoSignaling = @"KinesisVideoSignaling"; -NSString *const AWSKinesisVideoSignalingSDKVersion = @"2.33.9"; +NSString *const AWSKinesisVideoSignalingSDKVersion = @"2.33.10"; @interface AWSKinesisVideoSignalingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoSignaling/Info.plist b/AWSKinesisVideoSignaling/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSKinesisVideoSignaling/Info.plist +++ b/AWSKinesisVideoSignaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoWebRTCStorage.podspec b/AWSKinesisVideoWebRTCStorage.podspec index 68a9415f45c..0697ba0beae 100644 --- a/AWSKinesisVideoWebRTCStorage.podspec +++ b/AWSKinesisVideoWebRTCStorage.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoWebRTCStorage' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSKinesisVideoWebRTCStorage/*.{h,m}' end diff --git a/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m b/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m index 06df60a3b66..6d6f7556c43 100644 --- a/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m +++ b/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoWebRTCStorageResources.h" static NSString *const AWSInfoKinesisVideoWebRTCStorage = @"KinesisVideoWebRTCStorage"; -NSString *const AWSKinesisVideoWebRTCStorageSDKVersion = @"2.33.9"; +NSString *const AWSKinesisVideoWebRTCStorageSDKVersion = @"2.33.10"; @interface AWSKinesisVideoWebRTCStorageResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoWebRTCStorage/Info.plist b/AWSKinesisVideoWebRTCStorage/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSKinesisVideoWebRTCStorage/Info.plist +++ b/AWSKinesisVideoWebRTCStorage/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLambda.podspec b/AWSLambda.podspec index 919f8e89a01..5451874bd10 100644 --- a/AWSLambda.podspec +++ b/AWSLambda.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLambda' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSLambda/*.{h,m}' end diff --git a/AWSLambda/AWSLambdaService.m b/AWSLambda/AWSLambdaService.m index 06ae179c759..b55ff6a3f65 100644 --- a/AWSLambda/AWSLambdaService.m +++ b/AWSLambda/AWSLambdaService.m @@ -26,7 +26,7 @@ #import "AWSLambdaRequestRetryHandler.h" static NSString *const AWSInfoLambda = @"Lambda"; -NSString *const AWSLambdaSDKVersion = @"2.33.9"; +NSString *const AWSLambdaSDKVersion = @"2.33.10"; @interface AWSLambdaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLambda/Info.plist b/AWSLambda/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSLambda/Info.plist +++ b/AWSLambda/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLex.podspec b/AWSLex.podspec index 004ad1a73eb..1c080210c05 100644 --- a/AWSLex.podspec +++ b/AWSLex.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLex' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSLex/*.{h,m}', 'AWSLex/Bluefront/include/*.h' s.public_header_files = 'AWSLex/*.h' s.private_header_files = 'AWSLex/Bluefront/include/*.h' diff --git a/AWSLex/AWSLexInteractionKit.m b/AWSLex/AWSLexInteractionKit.m index f38cfea347f..9ee1699d532 100644 --- a/AWSLex/AWSLexInteractionKit.m +++ b/AWSLex/AWSLexInteractionKit.m @@ -22,7 +22,7 @@ #import NSString *const AWSInfoInteractionKit = @"LexInteractionKit"; -NSString *const AWSInteractionKitSDKVersion = @"2.33.9"; +NSString *const AWSInteractionKitSDKVersion = @"2.33.10"; NSString *const AWSInternalLexInteractionKit = @"LexInteractionKitClient"; NSString *const AWSLexInteractionKitUserAgent = @"interactionkit"; NSString *const AWSLexInteractionKitErrorDomain = @"com.amazonaws.AWSLexInteractionKitErrorDomain"; diff --git a/AWSLex/AWSLexService.m b/AWSLex/AWSLexService.m index 4a571db374d..5838c505279 100644 --- a/AWSLex/AWSLexService.m +++ b/AWSLex/AWSLexService.m @@ -27,7 +27,7 @@ #import "AWSLexSignature.h" static NSString *const AWSInfoLex = @"Lex"; -NSString *const AWSLexSDKVersion = @"2.33.9"; +NSString *const AWSLexSDKVersion = @"2.33.10"; @interface AWSLexResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLex/Info.plist b/AWSLex/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSLex/Info.plist +++ b/AWSLex/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocation.podspec b/AWSLocation.podspec index a31d70dc5f5..5af14891795 100644 --- a/AWSLocation.podspec +++ b/AWSLocation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLocation' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSLocation/*.{h,m}', 'AWSLocation/AWSLocationTracker/**/*.swift' end diff --git a/AWSLocation/AWSLocationService.m b/AWSLocation/AWSLocationService.m index fe86b4904fd..1962469f1bf 100644 --- a/AWSLocation/AWSLocationService.m +++ b/AWSLocation/AWSLocationService.m @@ -25,7 +25,7 @@ #import "AWSLocationResources.h" static NSString *const AWSInfoLocation = @"Location"; -NSString *const AWSLocationSDKVersion = @"2.33.9"; +NSString *const AWSLocationSDKVersion = @"2.33.10"; @interface AWSLocationResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLocation/Info.plist b/AWSLocation/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSLocation/Info.plist +++ b/AWSLocation/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocationXCF/Info.plist b/AWSLocationXCF/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSLocationXCF/Info.plist +++ b/AWSLocationXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLogs.podspec b/AWSLogs.podspec index 3ead0e07db5..6c42e2c1f2b 100644 --- a/AWSLogs.podspec +++ b/AWSLogs.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLogs' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSLogs/*.{h,m}' end diff --git a/AWSLogs/AWSLogsService.m b/AWSLogs/AWSLogsService.m index f755f16bdd2..df129905753 100644 --- a/AWSLogs/AWSLogsService.m +++ b/AWSLogs/AWSLogsService.m @@ -25,7 +25,7 @@ #import "AWSLogsResources.h" static NSString *const AWSInfoLogs = @"Logs"; -NSString *const AWSLogsSDKVersion = @"2.33.9"; +NSString *const AWSLogsSDKVersion = @"2.33.10"; @interface AWSLogsResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLogs/Info.plist b/AWSLogs/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSLogs/Info.plist +++ b/AWSLogs/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMachineLearning.podspec b/AWSMachineLearning.podspec index 5110f2f7bc3..45f5e47c851 100644 --- a/AWSMachineLearning.podspec +++ b/AWSMachineLearning.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMachineLearning' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSMachineLearning/*.{h,m}' end diff --git a/AWSMachineLearning/AWSMachineLearningService.m b/AWSMachineLearning/AWSMachineLearningService.m index 4d2ee4839d0..ba69fd57927 100644 --- a/AWSMachineLearning/AWSMachineLearningService.m +++ b/AWSMachineLearning/AWSMachineLearningService.m @@ -26,7 +26,7 @@ #import "AWSMachineLearningResources.h" static NSString *const AWSInfoMachineLearning = @"MachineLearning"; -NSString *const AWSMachineLearningSDKVersion = @"2.33.9"; +NSString *const AWSMachineLearningSDKVersion = @"2.33.10"; @interface AWSMachineLearningResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSMachineLearning/Info.plist b/AWSMachineLearning/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSMachineLearning/Info.plist +++ b/AWSMachineLearning/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMobileClient.podspec b/AWSMobileClient.podspec index 6e969d277dc..8d62756fed7 100644 --- a/AWSMobileClient.podspec +++ b/AWSMobileClient.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMobileClient' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -13,14 +13,14 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true - s.dependency 'AWSAuthCore', '2.33.9' - s.dependency 'AWSCognitoIdentityProvider', '2.33.9' + s.dependency 'AWSAuthCore', '2.33.10' + s.dependency 'AWSCognitoIdentityProvider', '2.33.10' # Include transitive dependencies to help CocoaPods resolve deeply nested # dependency graphs; without this we get sporadic failures compiling when a # project relies on AWSMobileClient - s.dependency 'AWSCore', '2.33.9' - s.dependency 'AWSCognitoIdentityProviderASF', '2.33.9' + s.dependency 'AWSCore', '2.33.10' + s.dependency 'AWSCognitoIdentityProviderASF', '2.33.10' s.source_files = 'AWSAuthSDK/Sources/AWSMobileClient/*.{h,m}', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/*.{h,m}', 'AWSAuthSDK/Sources/AWSMobileClient/**/*.swift', 'AWSCognitoAuth/**/*.{h,m,c}' s.public_header_files = 'AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.h', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/_AWSMobileClient.h', 'AWSCognitoAuth/*.h', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoAuth+Extensions.h', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoCredentialsProvider+Extension.h', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoIdentityUserPool+Extension.h' diff --git a/AWSPinpoint.podspec b/AWSPinpoint.podspec index bcdf7f3a56d..4c36d4fc31c 100644 --- a/AWSPinpoint.podspec +++ b/AWSPinpoint.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPinpoint' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSPinpoint/*.{h,m}', 'AWSPinpoint/**/*.{h,m}' s.private_header_files = 'AWSPinpoint/Internal/*.h' end diff --git a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m index 62bd61c4fcf..4472027e88c 100644 --- a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m +++ b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m @@ -25,7 +25,7 @@ #import "AWSPinpointTargetingResources.h" static NSString *const AWSInfoPinpointTargeting = @"PinpointTargeting"; -NSString *const AWSPinpointTargetingSDKVersion = @"2.33.9"; +NSString *const AWSPinpointTargetingSDKVersion = @"2.33.10"; @interface AWSPinpointTargetingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPinpoint/Info.plist b/AWSPinpoint/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSPinpoint/Info.plist +++ b/AWSPinpoint/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSPolly.podspec b/AWSPolly.podspec index 089972b0b3c..e5cebeb3069 100644 --- a/AWSPolly.podspec +++ b/AWSPolly.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPolly' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSPolly/*.{h,m}' end diff --git a/AWSPolly/AWSPollyService.m b/AWSPolly/AWSPollyService.m index e6a891f1723..ad83fd95b8f 100644 --- a/AWSPolly/AWSPollyService.m +++ b/AWSPolly/AWSPollyService.m @@ -25,7 +25,7 @@ #import "AWSPollyResources.h" static NSString *const AWSInfoPolly = @"Polly"; -NSString *const AWSPollySDKVersion = @"2.33.9"; +NSString *const AWSPollySDKVersion = @"2.33.10"; @interface AWSPollyResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m b/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m index 6b9ba385d67..00c751e04b1 100644 --- a/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m +++ b/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m @@ -16,7 +16,7 @@ #import "AWSPollySynthesizeSpeechURLBuilder.h" static NSString *const AWSInfoPollySynthesizeSpeechURLBuilder = @"PollySynthesizeSpeechUrlBuilder"; -static NSString *const AWSPollySDKVersion = @"2.33.9"; +static NSString *const AWSPollySDKVersion = @"2.33.10"; NSString *const AWSPollySynthesizeSpeechURLBuilderErrorDomain = @"com.amazonaws.AWSPollySynthesizeSpeechURLBuilderErrorDomain"; NSString *const AWSPollyPresignedUrlPath = @"v1/speech"; diff --git a/AWSPolly/Info.plist b/AWSPolly/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSPolly/Info.plist +++ b/AWSPolly/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSRekognition.podspec b/AWSRekognition.podspec index 24ccdcc06e1..58b624e2d7b 100644 --- a/AWSRekognition.podspec +++ b/AWSRekognition.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSRekognition' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSRekognition/*.{h,m}' end diff --git a/AWSRekognition/AWSRekognitionService.m b/AWSRekognition/AWSRekognitionService.m index 85481423cb7..6493995778d 100644 --- a/AWSRekognition/AWSRekognitionService.m +++ b/AWSRekognition/AWSRekognitionService.m @@ -25,7 +25,7 @@ #import "AWSRekognitionResources.h" static NSString *const AWSInfoRekognition = @"Rekognition"; -NSString *const AWSRekognitionSDKVersion = @"2.33.9"; +NSString *const AWSRekognitionSDKVersion = @"2.33.10"; @interface AWSRekognitionResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSRekognition/Info.plist b/AWSRekognition/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSRekognition/Info.plist +++ b/AWSRekognition/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSS3.podspec b/AWSS3.podspec index 6df067721f0..9e6cedb11e4 100644 --- a/AWSS3.podspec +++ b/AWSS3.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSS3' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSS3/*.{h,m}' end diff --git a/AWSS3/AWSS3Model.h b/AWSS3/AWSS3Model.h index 34d9f9160f9..e343b1cbc13 100644 --- a/AWSS3/AWSS3Model.h +++ b/AWSS3/AWSS3Model.h @@ -43,6 +43,11 @@ typedef NS_ENUM(NSInteger, AWSS3BucketAccelerateStatus) { AWSS3BucketAccelerateStatusSuspended, }; +typedef NS_ENUM(NSInteger, AWSS3BucketAccessStyle) { + AWSS3BucketAccessStyleVirtualHosted, + AWSS3BucketAccessStylePath +}; + typedef NS_ENUM(NSInteger, AWSS3BucketCannedACL) { AWSS3BucketCannedACLUnknown, AWSS3BucketCannedACLPrivate, diff --git a/AWSS3/AWSS3PreSignedURL.h b/AWSS3/AWSS3PreSignedURL.h index cbfff2282bc..10d7ecae9b2 100644 --- a/AWSS3/AWSS3PreSignedURL.h +++ b/AWSS3/AWSS3PreSignedURL.h @@ -14,6 +14,7 @@ // #import +#import "AWSS3Model.h" NS_ASSUME_NONNULL_BEGIN @@ -42,6 +43,7 @@ typedef NS_ENUM(NSInteger, AWSS3PresignedURLErrorType) { AWSS3PresignedURLErrorInvalidRequestParameters, AWSS3PresignedURLErrorInvalidBucketName, AWSS3PresignedURLErrorInvalidBucketNameForAccelerateModeEnabled, + AWSS3PresignedURLErrorInvalidAccessStyleForAccelerateModeEnabled, }; @class AWSS3GetPreSignedURLRequest; @@ -214,6 +216,15 @@ typedef NS_ENUM(NSInteger, AWSS3PresignedURLErrorType) { */ @property (nonatomic, strong) NSString *bucket; +/** + The preferred access style for the bucket. The default is `AWSS3BucketAccessStyleVirtualHosted`. + + Virtual-hosted-style requests require that the bucket name must be DNS-compliant and must not contain periods `(".")`. + + If virtual-hosted-style access is set as preferred but the bucket name does not meet these conditions, path-style access will be used instead. + */ +@property (nonatomic, assign) AWSS3BucketAccessStyle preferredAccessStyle; + /** The name of the S3 object */ diff --git a/AWSS3/AWSS3PreSignedURL.m b/AWSS3/AWSS3PreSignedURL.m index 8305550269c..eb725fbee29 100644 --- a/AWSS3/AWSS3PreSignedURL.m +++ b/AWSS3/AWSS3PreSignedURL.m @@ -26,7 +26,7 @@ static NSString *const AWSS3PreSignedURLBuilderAcceleratedEndpoint = @"s3-accelerate.amazonaws.com"; static NSString *const AWSInfoS3PreSignedURLBuilder = @"S3PreSignedURLBuilder"; -static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.33.9"; +static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.33.10"; @interface AWSS3PreSignedURLBuilder() @@ -206,12 +206,23 @@ - (instancetype)initWithConfiguration:(AWSServiceConfiguration *)configuration { userInfo:@{NSLocalizedDescriptionKey: @"S3 bucket can not be nil or empty"}]]; } - // Validates the buket name for transfer acceleration. - if (isAccelerateModeEnabled && ![bucketName aws_isVirtualHostedStyleCompliant]) { - return [AWSTask taskWithError:[NSError errorWithDomain:AWSS3PresignedURLErrorDomain - code:AWSS3PresignedURLErrorInvalidBucketNameForAccelerateModeEnabled - userInfo:@{ - NSLocalizedDescriptionKey: @"For your bucket to work with transfer acceleration, the bucket name must conform to DNS naming requirements and must not contain periods."}]]; + // validate values for transfer acceleration. + if (isAccelerateModeEnabled) { + // validate the bucket name + if (![bucketName aws_isVirtualHostedStyleCompliant]) { + return [AWSTask taskWithError:[NSError errorWithDomain:AWSS3PresignedURLErrorDomain + code:AWSS3PresignedURLErrorInvalidBucketNameForAccelerateModeEnabled + userInfo:@{ + NSLocalizedDescriptionKey: @"For your bucket to work with transfer acceleration, the bucket name must conform to DNS naming requirements and must not contain periods."}]]; + } + + // validate the preferred access style + if (getPreSignedURLRequest.preferredAccessStyle == AWSS3BucketAccessStylePath) { + return [AWSTask taskWithError:[NSError errorWithDomain:AWSS3PresignedURLErrorDomain + code:AWSS3PresignedURLErrorInvalidAccessStyleForAccelerateModeEnabled + userInfo:@{ + NSLocalizedDescriptionKey: @"Transfer Acceleration is only supported on virtual-hosted style requests."}]]; + } } //validate keyName @@ -262,7 +273,7 @@ - (instancetype)initWithConfiguration:(AWSServiceConfiguration *)configuration { //generate baseURL String (use virtualHostStyle if possible) //base url is not url encoded. NSString *keyPath = nil; - if (bucketName == nil || [bucketName aws_isVirtualHostedStyleCompliant]) { + if (bucketName == nil || [self shouldUseVirtualHostStyleForRequest:getPreSignedURLRequest]) { keyPath = (keyName == nil ? @"" : [NSString stringWithFormat:@"%@", [keyName aws_stringWithURLEncodingPath]]); } else { keyPath = (keyName == nil ? [NSString stringWithFormat:@"%@", bucketName] : [NSString stringWithFormat:@"%@/%@", bucketName, [keyName aws_stringWithURLEncodingPath]]); @@ -272,7 +283,7 @@ - (instancetype)initWithConfiguration:(AWSServiceConfiguration *)configuration { NSString *host = nil; if (!self.configuration.localTestingEnabled && bucketName && - [bucketName aws_isVirtualHostedStyleCompliant]) { + [self shouldUseVirtualHostStyleForRequest:getPreSignedURLRequest]) { if (isAccelerateModeEnabled) { host = [NSString stringWithFormat:@"%@.%@", bucketName, AWSS3PreSignedURLBuilderAcceleratedEndpoint]; } else { @@ -315,6 +326,21 @@ - (instancetype)initWithConfiguration:(AWSServiceConfiguration *)configuration { }]; } +- (BOOL)shouldUseVirtualHostStyleForRequest:(AWSS3GetPreSignedURLRequest *)getPreSignedURLRequest { + if (getPreSignedURLRequest.preferredAccessStyle == AWSS3BucketAccessStylePath) { + AWSDDLogVerbose(@"Using path-style access because it is set as preferred access style"); + return NO; + } + + if ([getPreSignedURLRequest.bucket aws_isVirtualHostedStyleCompliant]) { + AWSDDLogVerbose(@"Using virtual-hosted-style access because bucket is compliant"); + return YES; + } + + AWSDDLogVerbose(@"Using path-style access because bucket is not virtual-hosted-style compliant"); + return NO; +} + @end @implementation AWSS3GetPreSignedURLRequest @@ -322,6 +348,7 @@ @implementation AWSS3GetPreSignedURLRequest - (instancetype)init { if ( self = [super init] ) { _accelerateModeEnabled = NO; + _preferredAccessStyle = AWSS3BucketAccessStyleVirtualHosted; _minimumCredentialsExpirationInterval = 50 * 60; _internalRequestParameters = [NSMutableDictionary new]; _internalRequestHeaders = [NSMutableDictionary new]; diff --git a/AWSS3/AWSS3Service.m b/AWSS3/AWSS3Service.m index 1643db98378..f479d3cf09c 100644 --- a/AWSS3/AWSS3Service.m +++ b/AWSS3/AWSS3Service.m @@ -27,7 +27,7 @@ #import "AWSS3Serializer.h" static NSString *const AWSInfoS3 = @"S3"; -NSString *const AWSS3SDKVersion = @"2.33.9"; +NSString *const AWSS3SDKVersion = @"2.33.10"; diff --git a/AWSS3/AWSS3TransferUtility.h b/AWSS3/AWSS3TransferUtility.h index 177c6578353..a16fbb5848d 100644 --- a/AWSS3/AWSS3TransferUtility.h +++ b/AWSS3/AWSS3TransferUtility.h @@ -696,6 +696,15 @@ handleEventsForBackgroundURLSession:(NSString *)identifier @property NSInteger timeoutIntervalForResource; +/** + The preferred access style for the bucket. The default is `AWSS3BucketAccessStyleVirtualHosted`. + + Virtual-hosted-style requests require that the bucket name must be DNS-compliant and must not contain periods `(".")`. + + If virtual-hosted-style access is set as preferred but the bucket name does not meet these conditions, path-style access will be used instead. + */ +@property (nonatomic, assign) AWSS3BucketAccessStyle preferredAccessStyle; + @end NS_ASSUME_NONNULL_END diff --git a/AWSS3/AWSS3TransferUtility.m b/AWSS3/AWSS3TransferUtility.m index 88088d8aff0..450029ee053 100644 --- a/AWSS3/AWSS3TransferUtility.m +++ b/AWSS3/AWSS3TransferUtility.m @@ -942,6 +942,7 @@ - (NSURLSessionUploadTask *)getURLSessionUploadTaskWithRequest:(NSURLRequest *) AWSDDLogDebug(@"Value of timeoutIntervalForResource is %ld", (long)_transferUtilityConfiguration.timeoutIntervalForResource); getPreSignedURLRequest.minimumCredentialsExpirationInterval = _transferUtilityConfiguration.timeoutIntervalForResource; getPreSignedURLRequest.accelerateModeEnabled = self.transferUtilityConfiguration.isAccelerateModeEnabled; + getPreSignedURLRequest.preferredAccessStyle = self.transferUtilityConfiguration.preferredAccessStyle; [transferUtilityUploadTask.expression assignRequestHeaders:getPreSignedURLRequest]; [transferUtilityUploadTask.expression assignRequestParameters:getPreSignedURLRequest]; @@ -1450,6 +1451,7 @@ -(NSError *) createUploadSubTask:(AWSS3TransferUtilityMultiPartUploadTask *) tra request.expires = [NSDate dateWithTimeIntervalSinceNow:_transferUtilityConfiguration.timeoutIntervalForResource]; request.minimumCredentialsExpirationInterval = _transferUtilityConfiguration.timeoutIntervalForResource; request.accelerateModeEnabled = self.transferUtilityConfiguration.isAccelerateModeEnabled; + request.preferredAccessStyle = self.transferUtilityConfiguration.preferredAccessStyle; [self filterAndAssignHeaders:transferUtilityMultiPartUploadTask.expression.requestHeaders getPresignedURLRequest:request URLRequest:nil]; @@ -1662,6 +1664,7 @@ -(void) retryUploadSubTask: (AWSS3TransferUtilityMultiPartUploadTask *) transfer getPreSignedURLRequest.expires = [NSDate dateWithTimeIntervalSinceNow:_transferUtilityConfiguration.timeoutIntervalForResource]; getPreSignedURLRequest.minimumCredentialsExpirationInterval = _transferUtilityConfiguration.timeoutIntervalForResource; getPreSignedURLRequest.accelerateModeEnabled = self.transferUtilityConfiguration.isAccelerateModeEnabled; + getPreSignedURLRequest.preferredAccessStyle = self.transferUtilityConfiguration.preferredAccessStyle; [transferUtilityDownloadTask.expression assignRequestHeaders:getPreSignedURLRequest]; [transferUtilityDownloadTask.expression assignRequestParameters:getPreSignedURLRequest]; @@ -2593,6 +2596,7 @@ - (instancetype)init { _retryLimit = 0; _multiPartConcurrencyLimit = @(AWSS3TransferUtilityMultiPartDefaultConcurrencyLimit); _timeoutIntervalForResource = AWSS3TransferUtilityTimeoutIntervalForResource; + _preferredAccessStyle = AWSS3BucketAccessStyleVirtualHosted; } return self; } @@ -2604,6 +2608,7 @@ - (id)copyWithZone:(NSZone *)zone { configuration.retryLimit = self.retryLimit; configuration.multiPartConcurrencyLimit = self.multiPartConcurrencyLimit; configuration.timeoutIntervalForResource = self.timeoutIntervalForResource; + configuration.preferredAccessStyle = self.preferredAccessStyle; return configuration; } diff --git a/AWSS3/Info.plist b/AWSS3/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSS3/Info.plist +++ b/AWSS3/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSS3UnitTests/AWSS3PreSignedURLBuilderUnitTests.swift b/AWSS3UnitTests/AWSS3PreSignedURLBuilderUnitTests.swift new file mode 100644 index 00000000000..6653f04c5c4 --- /dev/null +++ b/AWSS3UnitTests/AWSS3PreSignedURLBuilderUnitTests.swift @@ -0,0 +1,163 @@ +// +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +import XCTest +import AWSS3 + +final class AWSS3PreSignedURLBuilderUnitTests: XCTestCase { + override func setUp() { + AWSS3PreSignedURLBuilder.register( + with: .init( + region: .USEast1, + credentialsProvider: self + ), + forKey: "AWSS3PreSignedURLBuilderUnitTests" + ) + } + + private var builder: AWSS3PreSignedURLBuilder { + AWSS3PreSignedURLBuilder.s3PreSignedURLBuilder( + forKey: "AWSS3PreSignedURLBuilderUnitTests" + ) + } + + private func createRequest( + bucket: String, + key: String, + preferredAccessStyle: AWSS3BucketAccessStyle + ) -> AWSS3GetPreSignedURLRequest { + let request = AWSS3GetPreSignedURLRequest() + request.bucket = bucket + request.key = key + request.httpMethod = .GET + request.expires = Date().addingTimeInterval(3600) + request.preferredAccessStyle = preferredAccessStyle + return request + } + + /// Given: a `AWSS3GetPreSignedURLRequest` with `preferredAccessStyle` set to `.path` + /// When: `AWSS3PreSignedURLBuilder.getPresignedURL(_:)` is invoked + /// Then: The generated request uses path style to create the URL. + func testPreferredAccessStyle_withPathStyle() { + let request = createRequest( + bucket: "pathbucket", + key: "PathKey", + preferredAccessStyle: .path + ) + + let expectation = expectation(description: "getPresignedURL") + builder.getPreSignedURL(request).continueWith { task in + defer { + expectation.fulfill() + } + + XCTAssertNil(task.error) + guard let presignedURL = task.result as? URL else { + XCTFail("Expected result") + return + } + + guard let components = URLComponents(url: presignedURL, resolvingAgainstBaseURL: true) else { + XCTFail("Unable to retrieve components") + return + } + + XCTAssertEqual(components.host, "s3.us-east-1.amazonaws.com") + XCTAssertEqual(components.path, "/pathbucket/PathKey") + return nil + } + waitForExpectations(timeout: 1) + } + + /// Given: a `AWSS3GetPreSignedURLRequest` with `preferredAccessStyle` set to `.virtualHosted` and a `bucketName` that is compliant. + /// When: `AWSS3PreSignedURLBuilder.getPresignedURL(_:)` is invoked + /// Then: The generated request uses Virtual-Hosted style to create the URL. + func testPreferredAccessStyle_withVirtualHostedStyle() { + let request = createRequest( + bucket: "virtualhostedbucket", + key: "virtualHostedKey", + preferredAccessStyle: .virtualHosted + ) + + let expectation = expectation(description: "getPresignedURL") + builder.getPreSignedURL(request).continueWith { task in + defer { + expectation.fulfill() + } + + XCTAssertNil(task.error) + guard let presignedURL = task.result as? URL else { + XCTFail("Expected result") + return + } + + guard let components = URLComponents(url: presignedURL, resolvingAgainstBaseURL: true) else { + XCTFail("Unable to retrieve components") + return + } + + XCTAssertEqual(components.host, "virtualhostedbucket.s3.us-east-1.amazonaws.com") + XCTAssertEqual(components.path, "/virtualHostedKey") + return nil + } + waitForExpectations(timeout: 1) + } + + /// Given: a `AWSS3GetPreSignedURLRequest` with `preferredAccessStyle` set to `.virtualHosted` and a `bucketName` that is not compliant. + /// When: `AWSS3PreSignedURLBuilder.getPresignedURL(_:)` is invoked + /// Then: The generated request uses path style to create the URL. + func testPreferredAccessStyle_withVirtualHostedStyle_andInvalidBucket() { + let request = createRequest( + bucket: "invalid_virtual_hosted_bucket_name", + key: "virtualHostedKey", + preferredAccessStyle: .virtualHosted + ) + + let expectation = expectation(description: "getPresignedURL") + builder.getPreSignedURL(request).continueWith { task in + defer { + expectation.fulfill() + } + XCTAssertNil(task.error) + guard let presignedURL = task.result as? URL else { + XCTFail("Expected result") + return + } + + guard let components = URLComponents(url: presignedURL, resolvingAgainstBaseURL: true) else { + XCTFail("Unable to retrieve components") + return + } + + XCTAssertEqual(components.host, "s3.us-east-1.amazonaws.com") + XCTAssertEqual(components.path, "/invalid_virtual_hosted_bucket_name/virtualHostedKey") + return nil + } + waitForExpectations(timeout: 1) + } +} + +extension AWSS3PreSignedURLBuilderUnitTests: AWSCredentialsProvider { + func credentials() -> AWSTask { + return AWSTask(result: .init( + accessKey: "accessKey", + secretKey: "secretKey", + sessionKey: "sessionKey", + expiration: nil) + ) + } + + func invalidateCachedTemporaryCredentials() {} +} diff --git a/AWSSES.podspec b/AWSSES.podspec index 9b7f91565ca..55ad0940dfe 100644 --- a/AWSSES.podspec +++ b/AWSSES.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSES' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSSES/*.{h,m}' end diff --git a/AWSSES/AWSSESService.m b/AWSSES/AWSSESService.m index ad8821e0f3a..4a95813924c 100644 --- a/AWSSES/AWSSESService.m +++ b/AWSSES/AWSSESService.m @@ -25,7 +25,7 @@ #import "AWSSESResources.h" static NSString *const AWSInfoSES = @"SES"; -NSString *const AWSSESSDKVersion = @"2.33.9"; +NSString *const AWSSESSDKVersion = @"2.33.10"; @interface AWSSESResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSES/Info.plist b/AWSSES/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSSES/Info.plist +++ b/AWSSES/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSNS.podspec b/AWSSNS.podspec index 119dfc68e99..1489883898b 100644 --- a/AWSSNS.podspec +++ b/AWSSNS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSNS' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSSNS/*.{h,m}' end diff --git a/AWSSNS/AWSSNSService.m b/AWSSNS/AWSSNSService.m index 90e9668ffe3..e6a8ecc1ae4 100644 --- a/AWSSNS/AWSSNSService.m +++ b/AWSSNS/AWSSNSService.m @@ -25,7 +25,7 @@ #import "AWSSNSResources.h" static NSString *const AWSInfoSNS = @"SNS"; -NSString *const AWSSNSSDKVersion = @"2.33.9"; +NSString *const AWSSNSSDKVersion = @"2.33.10"; @interface AWSSNSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSNS/Info.plist b/AWSSNS/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSSNS/Info.plist +++ b/AWSSNS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSQS.podspec b/AWSSQS.podspec index 3a3bc2133f1..e91c72ad836 100644 --- a/AWSSQS.podspec +++ b/AWSSQS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSQS' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSSQS/*.{h,m}' end diff --git a/AWSSQS/AWSSQSService.m b/AWSSQS/AWSSQSService.m index 050261d9b50..515ca10511a 100644 --- a/AWSSQS/AWSSQSService.m +++ b/AWSSQS/AWSSQSService.m @@ -25,7 +25,7 @@ #import "AWSSQSResources.h" static NSString *const AWSInfoSQS = @"SQS"; -NSString *const AWSSQSSDKVersion = @"2.33.9"; +NSString *const AWSSQSSDKVersion = @"2.33.10"; @interface AWSSQSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSQS/Info.plist b/AWSSQS/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSSQS/Info.plist +++ b/AWSSQS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSageMakerRuntime.podspec b/AWSSageMakerRuntime.podspec index 94d4f86eab5..389e64a5e12 100644 --- a/AWSSageMakerRuntime.podspec +++ b/AWSSageMakerRuntime.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSageMakerRuntime' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSSageMakerRuntime/*.{h,m}' end diff --git a/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m b/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m index 7565bf63965..1ce54651e0d 100644 --- a/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m +++ b/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m @@ -25,7 +25,7 @@ #import "AWSSageMakerRuntimeResources.h" static NSString *const AWSInfoSageMakerRuntime = @"SageMakerRuntime"; -NSString *const AWSSageMakerRuntimeSDKVersion = @"2.33.9"; +NSString *const AWSSageMakerRuntimeSDKVersion = @"2.33.10"; @interface AWSSageMakerRuntimeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSSageMakerRuntime/Info.plist b/AWSSageMakerRuntime/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSSageMakerRuntime/Info.plist +++ b/AWSSageMakerRuntime/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSimpleDB.podspec b/AWSSimpleDB.podspec index d6f41cf7688..1de3f2f2712 100644 --- a/AWSSimpleDB.podspec +++ b/AWSSimpleDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSimpleDB' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSSimpleDB/*.{h,m}' end diff --git a/AWSSimpleDB/AWSSimpleDBService.m b/AWSSimpleDB/AWSSimpleDBService.m index 19969f9d7c6..4ab7986676a 100644 --- a/AWSSimpleDB/AWSSimpleDBService.m +++ b/AWSSimpleDB/AWSSimpleDBService.m @@ -25,7 +25,7 @@ #import "AWSSimpleDBResources.h" static NSString *const AWSInfoSimpleDB = @"SimpleDB"; -NSString *const AWSSimpleDBSDKVersion = @"2.33.9"; +NSString *const AWSSimpleDBSDKVersion = @"2.33.10"; @interface AWSSimpleDBResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSimpleDB/Info.plist b/AWSSimpleDB/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSSimpleDB/Info.plist +++ b/AWSSimpleDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTextract.podspec b/AWSTextract.podspec index 27d87a40852..7b40e6cf254 100644 --- a/AWSTextract.podspec +++ b/AWSTextract.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTextract' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSTextract/*.{h,m}' end diff --git a/AWSTextract/AWSTextractService.m b/AWSTextract/AWSTextractService.m index d887c89cfb8..23d58ffa0ed 100644 --- a/AWSTextract/AWSTextractService.m +++ b/AWSTextract/AWSTextractService.m @@ -25,7 +25,7 @@ #import "AWSTextractResources.h" static NSString *const AWSInfoTextract = @"Textract"; -NSString *const AWSTextractSDKVersion = @"2.33.9"; +NSString *const AWSTextractSDKVersion = @"2.33.10"; @interface AWSTextractResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTextract/Info.plist b/AWSTextract/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSTextract/Info.plist +++ b/AWSTextract/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribe.podspec b/AWSTranscribe.podspec index 321dd88928b..c2d631b2ddd 100644 --- a/AWSTranscribe.podspec +++ b/AWSTranscribe.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribe' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSTranscribe/*.{h,m}' end diff --git a/AWSTranscribe/AWSTranscribeService.m b/AWSTranscribe/AWSTranscribeService.m index 179d19a2735..1783d7143c3 100644 --- a/AWSTranscribe/AWSTranscribeService.m +++ b/AWSTranscribe/AWSTranscribeService.m @@ -25,7 +25,7 @@ #import "AWSTranscribeResources.h" static NSString *const AWSInfoTranscribe = @"Transcribe"; -NSString *const AWSTranscribeSDKVersion = @"2.33.9"; +NSString *const AWSTranscribeSDKVersion = @"2.33.10"; @interface AWSTranscribeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribe/Info.plist b/AWSTranscribe/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSTranscribe/Info.plist +++ b/AWSTranscribe/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribeStreaming.podspec b/AWSTranscribeStreaming.podspec index bad5c54a468..8319aa5df94 100644 --- a/AWSTranscribeStreaming.podspec +++ b/AWSTranscribeStreaming.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribeStreaming' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSTranscribeStreaming/*.{h,m}', 'AWSTranscribeStreaming/**/*.{h,m}', 'AWSIoT/Internal/SocketRocket/*.{h,m}' s.private_header_files = 'AWSTranscribeStreaming/Internal/*.h', 'AWSIoT/Internal/SocketRocket/*.h' end diff --git a/AWSTranscribeStreaming/AWSTranscribeStreamingService.m b/AWSTranscribeStreaming/AWSTranscribeStreamingService.m index f106f3a0d29..0a001030b42 100644 --- a/AWSTranscribeStreaming/AWSTranscribeStreamingService.m +++ b/AWSTranscribeStreaming/AWSTranscribeStreamingService.m @@ -33,7 +33,7 @@ NSString *const AWSTranscribeStreamingClientErrorDomain = @"com.amazonaws.AWSTranscribeStreamingClientErrorDomain"; static NSString *const AWSInfoTranscribeStreaming = @"TranscribeStreaming"; -NSString *const AWSTranscribeStreamingSDKVersion = @"2.33.9"; +NSString *const AWSTranscribeStreamingSDKVersion = @"2.33.10"; @interface AWSTranscribeStreamingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribeStreaming/Info.plist b/AWSTranscribeStreaming/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSTranscribeStreaming/Info.plist +++ b/AWSTranscribeStreaming/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranslate.podspec b/AWSTranslate.podspec index 8a037577f4b..b359198ec26 100644 --- a/AWSTranslate.podspec +++ b/AWSTranslate.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranslate' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,6 +12,6 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSTranslate/*.{h,m}' end diff --git a/AWSTranslate/AWSTranslateService.m b/AWSTranslate/AWSTranslateService.m index c66f527ef04..85b675eaa12 100644 --- a/AWSTranslate/AWSTranslateService.m +++ b/AWSTranslate/AWSTranslateService.m @@ -25,7 +25,7 @@ #import "AWSTranslateResources.h" static NSString *const AWSInfoTranslate = @"Translate"; -NSString *const AWSTranslateSDKVersion = @"2.33.9"; +NSString *const AWSTranslateSDKVersion = @"2.33.10"; @interface AWSTranslateResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranslate/Info.plist b/AWSTranslate/Info.plist index 24a73915439..00a733ed3c8 100644 --- a/AWSTranslate/Info.plist +++ b/AWSTranslate/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.9 + 2.33.10 CFBundleSignature ???? CFBundleVersion diff --git a/AWSUserPoolsSignIn.podspec b/AWSUserPoolsSignIn.podspec index 2eb747caf7a..f751244d11f 100644 --- a/AWSUserPoolsSignIn.podspec +++ b/AWSUserPoolsSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSUserPoolsSignIn' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,9 +12,9 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCognitoIdentityProvider', '2.33.9' - s.dependency 'AWSAuthCore', '2.33.9' - s.dependency 'AWSCore', '2.33.9' + s.dependency 'AWSCognitoIdentityProvider', '2.33.10' + s.dependency 'AWSAuthCore', '2.33.10' + s.dependency 'AWSCore', '2.33.10' s.source_files = 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/**/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/*.{h}' s.private_header_files = 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/*.{h}' diff --git a/AWSiOSSDKv2.podspec b/AWSiOSSDKv2.podspec index 508e9f33c69..09445204869 100644 --- a/AWSiOSSDKv2.podspec +++ b/AWSiOSSDKv2.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSiOSSDKv2' - s.version = '2.33.9' + s.version = '2.33.10' s.summary = 'Amazon Web Services SDK for iOS.' s.deprecated = true @@ -18,135 +18,135 @@ Pod::Spec.new do |s| # Used by many of the service-api subspecs s.subspec 'AWSCognitoIdentityProvider' do |sub| - sub.dependency 'AWSCognitoIdentityProvider', '2.33.9' + sub.dependency 'AWSCognitoIdentityProvider', '2.33.10' end # Used by all service-api subspecs s.subspec 'AWSCore' do |sub| - sub.dependency 'AWSCore', '2.33.9' + sub.dependency 'AWSCore', '2.33.10' end # Service-api subspecs s.subspec 'AWSAPIGateway' do |sub| - sub.dependency 'AWSAPIGateway', '2.33.9' + sub.dependency 'AWSAPIGateway', '2.33.10' end s.subspec 'AutoScaling' do |sub| - sub.dependency 'AWSAutoScaling', '2.33.9' + sub.dependency 'AWSAutoScaling', '2.33.10' end s.subspec 'CloudWatch' do |sub| - sub.dependency 'AWSCloudWatch', '2.33.9' + sub.dependency 'AWSCloudWatch', '2.33.10' end s.subspec 'AWSComprehend' do |sub| - sub.dependency 'AWSComprehend', '2.33.9' + sub.dependency 'AWSComprehend', '2.33.10' end s.subspec 'AWSConnect' do |sub| - sub.dependency 'AWSConnect', '2.33.9' + sub.dependency 'AWSConnect', '2.33.10' end s.subspec 'AWSConnectParticipant' do |sub| - sub.dependency 'AWSConnectParticipant', '2.33.9' + sub.dependency 'AWSConnectParticipant', '2.33.10' end s.subspec 'DynamoDB' do |sub| - sub.dependency 'AWSDynamoDB', '2.33.9' + sub.dependency 'AWSDynamoDB', '2.33.10' end s.subspec 'EC2' do |sub| - sub.dependency 'AWSEC2', '2.33.9' + sub.dependency 'AWSEC2', '2.33.10' end s.subspec 'ElasticLoadBalancing' do |sub| - sub.dependency 'AWSElasticLoadBalancing', '2.33.9' + sub.dependency 'AWSElasticLoadBalancing', '2.33.10' end s.subspec 'AWSIoT' do |sub| - sub.dependency 'AWSIoT', '2.33.9' + sub.dependency 'AWSIoT', '2.33.10' end s.subspec 'AWSKMS' do |sub| - sub.dependency 'AWSKMS', '2.33.9' + sub.dependency 'AWSKMS', '2.33.10' end s.subspec 'Kinesis' do |sub| - sub.dependency 'AWSKinesis', '2.33.9' + sub.dependency 'AWSKinesis', '2.33.10' end # KinesisVideo not released as part of AWSiOSSDKv2 # KinesisVideoArchivedMedia not released as part of AWSiOSSDKv2 s.subspec 'KinesisVideoSignaling' do |sub| - sub.dependency 'AWSKinesisVideoSignaling', '2.33.9' + sub.dependency 'AWSKinesisVideoSignaling', '2.33.10' end s.subspec 'AWSLambda' do |sub| - sub.dependency 'AWSLambda', '2.33.9' + sub.dependency 'AWSLambda', '2.33.10' end s.subspec 'AWSLex' do |sub| - sub.dependency 'AWSLex', '2.33.9' + sub.dependency 'AWSLex', '2.33.10' end s.subspec 'AWSLogs' do |sub| - sub.dependency 'AWSLogs', '2.33.9' + sub.dependency 'AWSLogs', '2.33.10' end s.subspec 'AWSMachineLearning' do |sub| - sub.dependency 'AWSMachineLearning', '2.33.9' + sub.dependency 'AWSMachineLearning', '2.33.10' end s.subspec 'Pinpoint' do |sub| - sub.dependency 'AWSPinpoint', '2.33.9' + sub.dependency 'AWSPinpoint', '2.33.10' end s.subspec 'AWSPolly' do |sub| - sub.dependency 'AWSPolly', '2.33.9' + sub.dependency 'AWSPolly', '2.33.10' end s.subspec 'AWSRekognition' do |sub| - sub.dependency 'AWSRekognition', '2.33.9' + sub.dependency 'AWSRekognition', '2.33.10' end s.subspec 'AWSS3' do |sub| - sub.dependency 'AWSS3', '2.33.9' + sub.dependency 'AWSS3', '2.33.10' end s.subspec 'AWSSES' do |sub| - sub.dependency 'AWSSES', '2.33.9' + sub.dependency 'AWSSES', '2.33.10' end s.subspec 'AWSSNS' do |sub| - sub.dependency 'AWSSNS', '2.33.9' + sub.dependency 'AWSSNS', '2.33.10' end s.subspec 'AWSSQS' do |sub| - sub.dependency 'AWSSQS', '2.33.9' + sub.dependency 'AWSSQS', '2.33.10' end s.subspec 'AWSSageMakerRuntime' do |sub| - sub.dependency 'AWSSageMakerRuntime', '2.33.9' + sub.dependency 'AWSSageMakerRuntime', '2.33.10' end s.subspec 'AWSSimpleDB' do |sub| - sub.dependency 'AWSSimpleDB', '2.33.9' + sub.dependency 'AWSSimpleDB', '2.33.10' end s.subspec 'AWSTextract' do |sub| - sub.dependency 'AWSTextract', '2.33.9' + sub.dependency 'AWSTextract', '2.33.10' end s.subspec 'AWSTranscribe' do |sub| - sub.dependency 'AWSTranscribe', '2.33.9' + sub.dependency 'AWSTranscribe', '2.33.10' end # note that AWSTranscribeStreaming requires iOS 9.0 or higher, and is # therefore not included as a subspec s.subspec 'AWSTranslate' do |sub| - sub.dependency 'AWSTranslate', '2.33.9' + sub.dependency 'AWSTranslate', '2.33.10' end end diff --git a/AWSiOSSDKv2.xcodeproj/project.pbxproj b/AWSiOSSDKv2.xcodeproj/project.pbxproj index 7303b747879..c6588dbc125 100644 --- a/AWSiOSSDKv2.xcodeproj/project.pbxproj +++ b/AWSiOSSDKv2.xcodeproj/project.pbxproj @@ -581,6 +581,7 @@ 5C1590172755727C00F88085 /* AWSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE0D416D1C6A66E5006B91B5 /* AWSCore.framework */; }; 5C1978DD2702364800F9C11E /* AWSLocationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C1978DC2702364800F9C11E /* AWSLocationTests.swift */; }; 5C71F33F295672B8001183A4 /* guten_tag.wav in Resources */ = {isa = PBXBuildFile; fileRef = 5C71F33E295672B8001183A4 /* guten_tag.wav */; }; + 6883619E2B72D1C200D74FF4 /* AWSS3PreSignedURLBuilderUnitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6883619D2B72D1C200D74FF4 /* AWSS3PreSignedURLBuilderUnitTests.swift */; }; 688361A12B73D25B00D74FF4 /* AWSIoTStreamThreadTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 688361A02B73D25B00D74FF4 /* AWSIoTStreamThreadTests.m */; }; 68EE1A6C2B713D8100B7CF41 /* AWSIoTStreamThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 68EE1A6B2B713D8100B7CF41 /* AWSIoTStreamThread.h */; }; 68EE1A6E2B713D8900B7CF41 /* AWSIoTStreamThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 68EE1A6D2B713D8900B7CF41 /* AWSIoTStreamThread.m */; }; @@ -3144,6 +3145,7 @@ 5C1978DB2702364800F9C11E /* AWSLocationTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AWSLocationTests-Bridging-Header.h"; sourceTree = ""; }; 5C1978DC2702364800F9C11E /* AWSLocationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AWSLocationTests.swift; sourceTree = ""; }; 5C71F33E295672B8001183A4 /* guten_tag.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = guten_tag.wav; sourceTree = ""; }; + 6883619D2B72D1C200D74FF4 /* AWSS3PreSignedURLBuilderUnitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AWSS3PreSignedURLBuilderUnitTests.swift; sourceTree = ""; }; 688361A02B73D25B00D74FF4 /* AWSIoTStreamThreadTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AWSIoTStreamThreadTests.m; sourceTree = ""; }; 68EE1A6B2B713D8100B7CF41 /* AWSIoTStreamThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AWSIoTStreamThread.h; sourceTree = ""; }; 68EE1A6D2B713D8900B7CF41 /* AWSIoTStreamThread.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AWSIoTStreamThread.m; sourceTree = ""; }; @@ -6843,6 +6845,7 @@ B47FAF4222C577CE00014548 /* AWSS3TransferUtilityUnitTests.m */, 030087CD26CDA0E9002A9DFA /* AWSS3TransferUtilityEnumerateBlocksTests.swift */, 034785B126FB0C3600E8882C /* AWSS3TransferUtilityCreatePartialFileTests.swift */, + 6883619D2B72D1C200D74FF4 /* AWSS3PreSignedURLBuilderUnitTests.swift */, ); path = AWSS3UnitTests; sourceTree = ""; @@ -13043,6 +13046,7 @@ 034785B226FB0C3600E8882C /* AWSS3TransferUtilityCreatePartialFileTests.swift in Sources */, 030087CE26CDA0E9002A9DFA /* AWSS3TransferUtilityEnumerateBlocksTests.swift in Sources */, FAB5E5DA253A6416002ECF1D /* AWSS3NSSecureCodingTests.m in Sources */, + 6883619E2B72D1C200D74FF4 /* AWSS3PreSignedURLBuilderUnitTests.swift in Sources */, CE5604F21C6BCAA000B4E00B /* AWSTestUtility.m in Sources */, B47FAF4322C577CE00014548 /* AWSS3TransferUtilityUnitTests.m in Sources */, ); diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e55285de0c..732a2842e19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ -Features for next release +## 2.33.10 + +### New features + +- **AWSS3TransferUtility** + - Adding support for path-style access requests + +### Bug Fixes + +- **AWSIoT** + - Fixing auto reconnection not working properly + ## 2.33.9 ### Bug Fixes diff --git a/CircleciScripts/generate_documentation.sh b/CircleciScripts/generate_documentation.sh index 731fb0faef4..071e9cd44bf 100644 --- a/CircleciScripts/generate_documentation.sh +++ b/CircleciScripts/generate_documentation.sh @@ -6,7 +6,7 @@ set -x -SDK_VERSION="2.33.9" +SDK_VERSION="2.33.10" GITHUB_DOC_ROOT=https://aws-amplify.github.io GITHUB_SOURCE_ROOT=https://github.com/aws-amplify/aws-sdk-ios