## [Release 2.73.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.73.0) ### Features - **aws-android-sdk-kms:** update models to latest ([#3349](https://github.com/aws-amplify/aws-sdk-android/issues/3349)) - **misc:** support for Tel Aviv region launch ([#3372](https://github.com/aws-amplify/aws-sdk-android/issues/3372)) ### Miscellaneous - Move inline values to environment variables in workflows ([#3368](https://github.com/aws-amplify/aws-sdk-android/issues/3368)) [See all changes between 2.72.0 and 2.73.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.72.0...release_v2.73.0) ## [Release 2.72.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.72.0) ### Features - **aws-android-sdk-connect:** update models to latest ([#3319](https://github.com/aws-amplify/aws-sdk-android/issues/3319)) - **aws-android-sdk-location:** update models to latest ([#3324](https://github.com/aws-amplify/aws-sdk-android/issues/3324)) - **aws-android-sdk-rekognition:** update models to latest ([#3323](https://github.com/aws-amplify/aws-sdk-android/issues/3323)) - **aws-android-sdk-chimesdkidentity:** update models to latest ([#3335](https://github.com/aws-amplify/aws-sdk-android/issues/3335)) - **aws-android-sdk-chimesdkmessaging:** update models to latest ([#3334](https://github.com/aws-amplify/aws-sdk-android/issues/3334)) - **aws-android-sdk-connect:** update models to latest ([#3337](https://github.com/aws-amplify/aws-sdk-android/issues/3337)) - **aws-android-sdk-kinesisvideo:** update models to latest ([#3339](https://github.com/aws-amplify/aws-sdk-android/issues/3339)) - **aws-android-sdk-lambda:** update models to latest ([#3341](https://github.com/aws-amplify/aws-sdk-android/issues/3341)) ### Bug Fixes - **iot:** Keep topicListeners if cleanSession = false ([#3352](https://github.com/aws-amplify/aws-sdk-android/issues/3352)) ### Miscellaneous - Revert "chore: fix dependabot issue ([#3344](https://github.com/aws-amplify/aws-sdk-android/issues/3344))" ([#3347](https://github.com/aws-amplify/aws-sdk-android/issues/3347)) - Revert "fix(core): added fix for xml parser ([#3100](https://github.com/aws-amplify/aws-sdk-android/issues/3100))" ([#3353](https://github.com/aws-amplify/aws-sdk-android/issues/3353)) [See all changes between 2.71.0 and 2.72.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.71.0...release_v2.72.0) ## [Release 2.71.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.71.0) ### Features - **aws-android-sdk-connect:** update models to latest ([#3305](https://github.com/aws-amplify/aws-sdk-android/issues/3305)) - **aws-android-sdk-location:** update models to latest ([#3307](https://github.com/aws-amplify/aws-sdk-android/issues/3307)) - **aws-android-sdk-polly:** update models to latest ([#3308](https://github.com/aws-amplify/aws-sdk-android/issues/3308)) - **aws-android-sdk-iot:** update models to latest ([#3316](https://github.com/aws-amplify/aws-sdk-android/issues/3316)) - **aws-android-sdk-connect:** update models to latest ([#3315](https://github.com/aws-amplify/aws-sdk-android/issues/3315)) - **aws-android-sdk-kms:** update models to latest ([#3311](https://github.com/aws-amplify/aws-sdk-android/issues/3311)) ### Bug Fixes - replace sha1prng secure random with recommended algorithm ([#3314](https://github.com/aws-amplify/aws-sdk-android/issues/3314)) ### Miscellaneous - Add Signer classes to consumer proguard rules ([#3310](https://github.com/aws-amplify/aws-sdk-android/issues/3310)) [See all changes between 2.70.0 and 2.71.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.70.0...release_v2.71.0) ## [Release 2.70.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.70.0) ### Features - **aws-android-sdk-rekognition:** update models to latest ([#3290](https://github.com/aws-amplify/aws-sdk-android/issues/3290)) - **aws-android-sdk-connect:** update models to latest ([#3287](https://github.com/aws-amplify/aws-sdk-android/issues/3287)) - **aws-android-sdk-translate:** update models to latest ([#3298](https://github.com/aws-amplify/aws-sdk-android/issues/3298)) - **aws-android-sdk-connect:** update models to latest ([#3300](https://github.com/aws-amplify/aws-sdk-android/issues/3300)) ### Bug Fixes - set transferUtilityOptions to default in case of deserialization exception ([#3296](https://github.com/aws-amplify/aws-sdk-android/issues/3296)) [See all changes between 2.69.0 and 2.70.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.69.0...release_v2.70.0) ## [Release 2.69.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.69.0) ### Features - **aws-android-sdk-rekognition:** update models to latest ([#3279](https://github.com/aws-amplify/aws-sdk-android/issues/3279)) - **aws-android-sdk-core:** update models to latest ([#3282](https://github.com/aws-amplify/aws-sdk-android/issues/3282)) - **aws-android-sdk-connect:** update models to latest ([#3280](https://github.com/aws-amplify/aws-sdk-android/issues/3280)) ### Miscellaneous - Enable TLSv1.2 support for older devices ([#3258](https://github.com/aws-amplify/aws-sdk-android/issues/3258)) [See all changes between 2.68.0 and 2.69.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.68.0...release_v2.69.0) ## [Release 2.68.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.68.0) ### Features - **aws-android-sdk-iot:** update models to latest ([#3266](https://github.com/aws-amplify/aws-sdk-android/issues/3266)) - **aws-android-sdk-rekognition:** update models to latest ([#3267](https://github.com/aws-amplify/aws-sdk-android/issues/3267)) - **aws-android-sdk-kms:** update models to latest ([#3269](https://github.com/aws-amplify/aws-sdk-android/issues/3269)) - **aws-android-sdk-connect:** update models to latest ([#3275](https://github.com/aws-amplify/aws-sdk-android/issues/3275)) - **aws-android-sdk-comprehend:** update models to latest ([#3248](https://github.com/aws-amplify/aws-sdk-android/issues/3248)) ### Bug Fixes - **kinesis:** KV WebRTC Storage module ([#3272](https://github.com/aws-amplify/aws-sdk-android/issues/3272)) - **pinpoint:** Add null check to prevent NPE ([#3274](https://github.com/aws-amplify/aws-sdk-android/issues/3274)) ### Miscellaneous - kinesisvideowebrtcstorage models updates ([#3277](https://github.com/aws-amplify/aws-sdk-android/issues/3277)) [See all changes between 2.67.0 and 2.68.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.67.0...release_v2.68.0) ## [Release 2.67.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.67.0) ### Features - **kinesisvideowebrtcstorage:** update models to latest ([#3254](https://github.com/aws-amplify/aws-sdk-android/issues/3254)) - **aws-android-sdk-connect:** update models to latest ([#3262](https://github.com/aws-amplify/aws-sdk-android/issues/3262)) - **aws-android-sdk-rekognition:** update models to latest ([#3259](https://github.com/aws-amplify/aws-sdk-android/issues/3259)) - **aws-android-sdk-connect:** update models to latest ([#3257](https://github.com/aws-amplify/aws-sdk-android/issues/3257)) - **aws-android-sdk-iot:** update models to latest ([#3251](https://github.com/aws-amplify/aws-sdk-android/issues/3251)) - **aws-android-sdk-chimesdkmessaging:** update models to latest ([#3261](https://github.com/aws-amplify/aws-sdk-android/issues/3261)) [See all changes between 2.66.0 and 2.67.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.66.0...release_v2.67.0) ## [Release 2.66.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.66.0) ### Features - **aws-android-sdk-chimesdkmessaging:** update models to latest ([#3223](https://github.com/aws-amplify/aws-sdk-android/issues/3223)) - **aws-android-sdk-textract:** update models to latest ([#3224](https://github.com/aws-amplify/aws-sdk-android/issues/3224)) - **aws-android-sdk-chimesdkidentity:** update models to latest ([#3225](https://github.com/aws-amplify/aws-sdk-android/issues/3225)) - **aws-android-sdk-connectparticipant:** update models to latest ([#3230](https://github.com/aws-amplify/aws-sdk-android/issues/3230)) - **aws-android-sdk-connect:** update models to latest ([#3229](https://github.com/aws-amplify/aws-sdk-android/issues/3229)) - **aws-android-sdk-iot:** update models to latest ([#3238](https://github.com/aws-amplify/aws-sdk-android/issues/3238)) - **aws-android-sdk-rekognition:** update models to latest ([#3236](https://github.com/aws-amplify/aws-sdk-android/issues/3236)) - **aws-android-sdk-connect:** update models to latest ([#3235](https://github.com/aws-amplify/aws-sdk-android/issues/3235)) [See all changes between 2.65.0 and 2.66.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.65.0...release_v2.66.0) ## [Release 2.65.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.65.0) ### Features - **storage:** Add support for dualside encryption even if acceleration is off ([#3220](https://github.com/aws-amplify/aws-sdk-android/issues/3220)) - **aws-android-sdk-location:** update models to latest ([#3201](https://github.com/aws-amplify/aws-sdk-android/issues/3201)) - **aws-android-sdk-connect:** update models to latest ([#3205](https://github.com/aws-amplify/aws-sdk-android/issues/3205)) - **aws-android-sdk-connect:** update models to latest ([#3218](https://github.com/aws-amplify/aws-sdk-android/issues/3218)) - **aws-android-sdk-lambda:** update models to latest ([#3207](https://github.com/aws-amplify/aws-sdk-android/issues/3207)) - **aws-android-sdk-transcribe:** update models to latest ([#3214](https://github.com/aws-amplify/aws-sdk-android/issues/3214)) - **aws-android-sdk-kms:** update models to latest ([#3210](https://github.com/aws-amplify/aws-sdk-android/issues/3210)) - **aws-android-sdk-iot:** update models to latest ([#3212](https://github.com/aws-amplify/aws-sdk-android/issues/3212)) - **aws-android-sdk-location:** update models to latest ([#3216](https://github.com/aws-amplify/aws-sdk-android/issues/3216)) ### Miscellaneous - remove buildspec files ([#3211](https://github.com/aws-amplify/aws-sdk-android/issues/3211)) [See all changes between 2.64.0 and 2.65.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.64.0...release_v2.65.0) ## [Release 2.64.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.64.0) ### Features - **aws-android-sdk-sns:** update models to latest ([#3186](https://github.com/aws-amplify/aws-sdk-android/issues/3186)) - **aws-android-sdk-connect:** update models to latest ([#3193](https://github.com/aws-amplify/aws-sdk-android/issues/3193)) - **aws-android-sdk-sns:** update models to latest ([#3194](https://github.com/aws-amplify/aws-sdk-android/issues/3194)) - **aws-android-sdk-polly:** update models to latest ([#3195](https://github.com/aws-amplify/aws-sdk-android/issues/3195)) ### Bug Fixes - when setPreviewSurfaces is not called startEncoding gives a null pointer ([#3125](https://github.com/aws-amplify/aws-sdk-android/issues/3125)) ### Miscellaneous - chore(analytics): Simplify error code checking, uniformly across platforms ([#3191](https://github.com/aws-amplify/aws-sdk-android/pull/3191)) [See all changes between 2.63.0 and 2.64.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.63.0...release_v2.64.0) ## [Release 2.63.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.63.0) ### Features - **aws-android-sdk-connectparticipant:** update models to latest (#3182) - **aws-android-sdk-iot:** update models to latest (#3181) - **aws-android-sdk-polly:** update models to latest (#3180) - **aws-android-sdk-core:** update models to latest (#3176) - **aws-android-sdk-lambda:** update models to latest (#3170) - **aws-android-sdk-connect:** update models to latest (#3165) ### Bug Fixes - **core:** add us-gov-east-1 region to list of regions (#3179) - **auth:** Dismiss custom tab on signout for all browsers (#3184) - **analytics:** If event collection is disabled, opening a notification will also cause a crash (#3169) [See all changes between 2.62.2 and 2.63.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.62.2...release_v2.63.0) ## [Release 2.62.2](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.62.2) ### Miscellaneous - added mel region (#3173) [See all changes between 2.62.1 and 2.62.2](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.62.1...release_v2.62.2) ## [Release 2.62.1](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.62.1) ### Miscellaneous - Clear in memory hosted ui userId after signout (#3168) [See all changes between 2.62.0 and 2.62.1](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.62.0...release_v2.62.1) ## [Release 2.62.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.62.0) ### Features - **aws-android-sdk-connect:** update models to latest (#3157) - **aws-android-sdk-lambda:** update models to latest (#3159) - **aws-android-sdk-location:** update models to latest (#3160) [See all changes between 2.61.0 and 2.62.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.61.0...release_v2.62.0) ## [Release 2.61.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.61.0) ### Features - **aws-android-sdk-rekognition:** update models to latest (#3119) - **aws-android-sdk-location:** update models to latest (#3121) - **aws-android-sdk-translate:** update models to latest (#3123) - **aws-android-sdk-kinesisvideo:** update models to latest (#3127) - **aws-android-sdk-transcribe:** update models to latest (#3129) - **aws-android-sdk-connectparticipant:** update models to latest (#3138) ### Miscellaneous - change log level for failed keystore migration (#3134) [See all changes between 2.60.0 and 2.61.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.60.0...release_v2.61.0) ## [Release 2.60.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.60.0) ### Features - **aws-android-sdk-core:** update models to latest (#3082) - **aws-android-sdk-iot:** update models to latest (#3090) - **aws-android-sdk-textract:** update models to latest (#3092) - **aws-android-sdk-lambda:** update models to latest (#3094) - **aws-android-sdk-kinesis:** update models to latest (#3096) - **aws-android-sdk-polly:** update models to latest (#3104) - **aws-android-sdk-sns:** update models to latest (#3105) - **aws-android-sdk-transcribe:** update models to latest (#3107) - **aws-android-sdk-kms:** update models to latest (#3114) ### Miscellaneous - Fix NPE if Pinpoint configured without event collection (#3117) - Correctly pass Pinpoint ID (or null if it's not there) to Cognito User Pool (#3060) [See all changes between 2.59.1 and 2.60.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.59.1...release_v2.60.0) ## [Release 2.59.1](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.59.1) ### Bug Fixes - **core:** added fix for xml parser (#3100) - **pinpoint:** Fix GCM (Not FCM) Android 12 trampolining (#3109) - **pinpoint:** Remove GCM service as target class usage as it is no longer allowed in Android 12. (#3110) [See all changes between 2.59.0 and 2.59.1](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.59.0...release_v2.59.1) ## [Release 2.59.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.59.0) ### Miscellaneous - Feat(MISC): Support for Asia Pacific Hyderabad region (#3087) [See all changes between 2.58.0 and 2.59.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.58.0...release_v2.59.0) ## [Release 2.58.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.58.0) ### Features - **aws-android-sdk-iot:** update models to latest (#3070) - **aws-android-sdk-rekognition:** update models to latest (#3071) - add support for ZAZ region (#3076) [See all changes between 2.57.0 and 2.58.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.57.0...release_v2.58.0) ## [Release 2.57.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.57.0) ### Features - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#3045) - **aws-android-sdk-polly:** update models to latest (#3062) - add support for ZRH region (#3068) [See all changes between 2.56.0 and 2.57.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.56.0...release_v2.57.0) ## [Release 2.56.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.56.0) ### Features - **aws-android-sdk-textract:** update models to latest (#3057) - **aws-android-sdk-connect:** update models to latest (#3053) - **aws-android-sdk-iot:** update models to latest (#3054) - **aws-android-sdk-location:** update models to latest (#3049) ### Bug Fixes - **iot:** wait for disconnect to finish before setting connection state to disconnected (#3051) [See all changes between 2.55.0 and 2.56.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.55.0...release_v2.56.0) ## [Release 2.55.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.55.0) ### Features - **aws-android-sdk-polly:** update models to latest (#3027) - **aws-android-sdk-translate:** update models to latest (#3028) - **storage:** Customize minimum multipart upload size (#3039) - **aws-android-sdk-chimesdkmessaging:** update models to latest (#3041) - **aws-android-sdk-connect:** update models to latest (#3040) ### Bug Fixes - Events deleted from local DB on failures when device is offline (#3038) [See all changes between 2.54.0 and 2.55.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.54.0...release_v2.55.0) ## [Release 2.54.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.54.0) ### Features - **aws-android-sdk-connect:** update models to latest (#3011) - **aws-android-sdk-comprehend:** update models to latest (#3013) - **aws-android-sdk-location:** update models to latest (#3020) ### Bug Fixes - **aws-android-sdk-core:** modify region parsing for endpoints in vpc (#3024) ### Miscellaneous - Fix Pinpoint NullPointerException (#3007) [See all changes between 2.53.0 and 2.54.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.53.0...release_v2.54.0) ## [Release 2.53.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.53.0) ### Features - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#2996) - **aws-android-sdk-sns:** update models to latest (#2999) ### Bug Fixes - **cognitoauth:** forward lambda trigger exception for social sign in (#3002) [See all changes between 2.52.1 and 2.53.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.52.1...release_v2.53.0) ## [Release 2.52.1](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.52.1) ### Bug Fixes - **auth:** hostedUI - return success result if federation disabled (#2972) ### Miscellaneous - Add support for DXB region (#2993) [See all changes between 2.52.0 and 2.52.1](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.52.0...release_v2.52.1) ## [Release 2.52.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.52.0) ### Features - **aws-android-sdk-chimesdkmessaging:** update models to latest (#2978) - **aws-android-sdk-rekognition:** update models to latest (#2980) - **aws-android-sdk-lambda:** update models to latest (#2982) - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#2984) ### Miscellaneous - Update cache when awsconfig file changes (#2946) - Actually attach Javadocs jar files to build (#2988) [See all changes between 2.51.0 and 2.52.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.51.0...release_v2.52.0) ## [Release 2.51.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.51.0) ### Features - **aws-android-sdk-iot:** update models to latest (#2968) - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#2966) - **aws-android-sdk-polly:** update models to latest (#2959) - **aws-android-sdk-rekognition:** update models to latest (#2957) - **aws-android-sdk-transcribe:** update models to latest (#2953) - **aws-android-sdk-kms:** update models to latest (#2948) - **aws-android-sdk-location:** update models to latest (#2975) ### Miscellaneous - Remove behavior of stopping TransferService on transfers completed, since this could be unsafe (#2973) - Fix Javadocs jar file publishing using buildspec file. (#2971) [See all changes between 2.50.1 and 2.51.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.50.1...release_v2.51.0) ## [Release 2.50.1](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.50.1) ### Miscellaneous - Fix: Prevent startForeground crash and TransferService stopping while transfers ongoing (#2961) [See all changes between 2.50.0 and 2.50.1](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.50.0...release_v2.50.1) ## [Release 2.50.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.50.0) ### Features - **aws-android-sdk-iot:** update models to latest (#2936) - **aws-android-sdk-translate:** update models to latest (#2940) - **aws-android-sdk-polly:** update models to latest (#2938) ### Miscellaneous - Stop transfer service if all transfers complete (#2950) [See all changes between 2.49.0 and 2.50.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.49.0...release_v2.50.0) ## [Release 2.49.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.49.0) ### Features - Add submitEvent API with callbacks (#2934) [See all changes between 2.48.1 and 2.49.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.48.1...release_v2.49.0) ## [Release 2.48.1](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.48.1) ### Miscellaneous - Fix: Ensure initial TransferState is reported on setting TransferListener (#2930) [See all changes between 2.48.0 and 2.48.1](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.48.0...release_v2.48.1) ## [Release 2.48.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.48.0) ### Features - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#2916) - **aws-android-sdk-transcribe:** update models to latest (#2917) - **aws-android-sdk-chimesdkmessaging:** update models to latest (#2922) ### Miscellaneous - upgrade jmespath to version 1.6.1 (#2926) - Fix: API 30+ fix for opening Pinpoint push notification links (#2924) - Fix(pinpoint) 2762: Resolve Android 12 notification trampolining restrictions and ADM Push Notifications (#2925) [See all changes between 2.47.0 and 2.48.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.47.0...release_v2.48.0) ## [Release 2.47.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.47.0) ### Features - **aws-android-sdk-comprehend:** update models to latest (#2908) ### Miscellaneous - Update gson version (#2910) - Update notify_comments.yml (#2911) [See all changes between 2.46.0 and 2.47.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.46.0...release_v2.47.0) ## [Release 2.46.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.46.0) ### Features - **aws-android-sdk-location:** update models to latest (#2890) - **aws-android-sdk-iot:** update models to latest (#2895) - **aws-android-sdk-core:** update models to latest (#2898) - **aws-android-sdk-rekognition:** update models to latest (#2899) - **aws-android-sdk-kms:** update models to latest (#2901) ### Bug Fixes - Progress calculation for mulitpart upload #2905 (#2906) ### Miscellaneous - Update notify_comments.yml (#2903) [See all changes between 2.45.0 and 2.46.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.45.0...release_v2.46.0) ## [Release 2.45.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.45.0) ### Features - **aws-android-sdk-connect:** update models to latest (#2881) - **aws-android-sdk-rekognition:** update models to latest (#2879) - **aws-android-sdk-textract:** update models to latest (#2870) - **aws-android-sdk-polly:** update models to latest (#2869) - **aws-android-sdk-kms:** update models to latest (#2868) - **aws-android-sdk-kinesisvideo:** update models to latest (#2885) - **aws-android-sdk-kinesisvideo-archivedmedia:** update models to latest (#2884) ### Miscellaneous - Fix notification opt-out checking on Samsung devices (#2883) [See all changes between 2.44.0 and 2.45.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.44.0...release_v2.45.0) ## [Release 2.44.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.44.0) ### Features - **aws-android-sdk-iot:** update models to latest (#2853) - **aws-android-sdk-connect:** update models to latest (#2855) - **aws-android-sdk-iot:** update models to latest (#2858) ### Miscellaneous - Adding codeowners (#2860) - Fix typo in AWSMobileClient (#2841) [See all changes between 2.43.0 and 2.44.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.43.0...release_v2.44.0) ## [Release 2.43.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.43.0) ### Features - Update SignIn API to accept authFlowType (#2846) - **aws-android-sdk-connect:** update models to latest (#2830) - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#2837) - **aws-android-sdk-location:** update models to latest (#2843) - **aws-android-sdk-polly:** update models to latest (#2844) ### Miscellaneous - transcribe Update models to latest (#2848) [See all changes between 2.42.0 and 2.43.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.42.0...release_v2.43.0) ## [Release 2.42.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.42.0) ### Features - **aws-android-sdk-textract:** update models to latest (#2809) - **aws-android-sdk-lambda:** update models to latest (#2808) - **aws-android-sdk-translate:** update models to latest (#2805) - **aws-android-sdk-transcribe:** update models to latest (#2825) - **aws-android-sdk-comprehend:** update models to latest (#2823) - **aws-android-sdk-core:** update models to latest (#2819) - **aws-android-sdk-connect:** update models to latest (#2818) ### Miscellaneous - Create notify_comments.yml (#2815) - Create notify_release.yml (#2814) - Update notify_comments.yml (#2821) [See all changes between 2.41.1 and 2.42.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.41.1...release_v2.42.0) --- MOVE THIS SECTION TO THE CORRECT LOCATION ### Misc. Updates - Model updates for the following services ---transcribe ## [Release 2.41.1](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.41.1) ### Bug Fixes - revert change from #2447 (#2804) [See all changes between 2.41.0 and 2.41.1](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.41.0...release_v2.41.1) ## [Release 2.41.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.41.0) ### Features - **aws-android-sdk-sns:** update models to latest (#2795) ### Miscellaneous - Updated the documentation to include optional proguard rules to ignore potential issues with transitive dependencies (#2791) - Fix 2634 : Adding the null guard when getTransferNetworkConnectionType is null (#2797) - Use 'com.facebook.android:facebook-login:11.2.0' (#2652) [See all changes between 2.40.0 and 2.41.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.40.0...release_v2.41.0) ## [Release 2.40.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.40.0) ### Features - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#2782) - **AWSMobileClient:** add deleteUser API (#2785) - **aws-android-sdk-comprehend:** update models to latest (#2787) [See all changes between 2.39.0 and 2.40.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.39.0...release_v2.40.0) ## [Release 2.39.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.39.0) ### Features - **aws-android-sdk-location:** update models to latest (#2770) - **aws-android-sdk-connect:** update models to latest (#2772) - **aws-android-sdk-transcribe:** update models to latest (#2774) - **aws-android-sdk-connect:** update models to latest (#2778) ### Miscellaneous - Fix pip install error (#2755) [See all changes between 2.38.0 and 2.39.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.38.0...release_v2.39.0) ## [Release 2.38.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.38.0) ### Features - **aws-android-sdk-chimesdkmessaging:** update models to latest (#2749) - **aws-android-sdk-location:** update models to latest (#2751) - **aws-android-sdk-rekognition:** update models to latest (#2759) ### Miscellaneous - downgrade androidx:browser dependency to 1.3.0 (#2766) - Add ASF package (#2756) [See all changes between 2.37.1 and 2.38.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.37.1...release_v2.38.0) ## [Release 2.37.1](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.37.1) ### Miscellaneous - Fix social-sign-in in web-ui when default browser does not support custom-tabs (#2721) [See all changes between 2.37.0 and 2.37.1](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.37.0...release_v2.37.1) ## [Release 2.37.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.37.0) ### Features - **aws-android-sdk-location:** update models to latest (#2739) - **aws-android-sdk-rekognition:** update models to latest (#2736) - **aws-android-sdk-textract:** update models to latest (#2733) - **aws-android-sdk-lambda:** update models to latest (#2731) - **aws-android-sdk-translate:** update models to latest (#2730) - **aws-android-sdk-core:** update models to latest (#2725) - **aws-android-sdk-connect:** update models to latest (#2722) - **aws-android-sdk-sns:** update models to latest (#2714) - **aws-android-sdk-connectparticipant:** update models to latest (#2691) - **aws-android-sdk-transcribe:** update models to latest (#2684) ### Bug Fixes - **Pinpoint:** Add Immutable flag to PendingIntent (#2729) [See all changes between 2.36.0 and 2.37.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.36.0...release_v2.37.0) ## [Release 2.36.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.36.0) ### Features - Support for ap-southeast-3 (#2709) ### Bug Fixes - **Pinpoint:** Add null check for endpoint response (#2704) [See all changes between 2.35.0 and 2.36.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.35.0...release_v2.36.0) ## [Release 2.35.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.35.0) ### Features - **aws-android-sdk-chimesdkmessaging:** update models to latest (#2676) - **aws-android-sdk-connect:** update models to latest (#2672) - **aws-android-sdk-chimesdkidentity:** update models to latest (#2675) [See all changes between 2.34.0 and 2.35.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.34.0...release_v2.35.0) --- MOVE THIS SECTION TO THE CORRECT LOCATION ### Misc. Updates - Model updates for the following services ---chimesdkmessaging ---chimesdkidentity ## [Release 2.34.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.34.0) ### Features - **aws-android-sdk-kms:** update models to latest (#2656) - **aws-android-sdk-location:** update models to latest (#2658) [See all changes between 2.33.0 and 2.34.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.33.0...release_v2.34.0) ## [Release 2.33.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.33.0) ### Features - **aws-android-sdk-lambda:** update models to latest (#2649) - **aws-android-sdk-connect:** update models to latest (#2645) - **aws-android-sdk-comprehend:** update models to latest (#2642) - **aws-android-sdk-iot:** update models to latest (#2641) ### Bug Fixes - **cognitoidentityprovider:** Fix UserPoolId validation ReDoS (#2644) [See all changes between 2.32.0 and 2.33.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.32.0...release_v2.33.0) ## [Release 2.32.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.32.0) ### Features - **aws-android-sdk-iot:** update models to latest (#2631) - **aws-android-sdk-comprehend:** update models to latest (#2633) ### Miscellaneous - fix(cognitoidentityprovider):save lastAuthUser when using cached tokens (#2628) [See all changes between 2.31.0 and 2.32.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.31.0...release_v2.32.0) ## [Release 2.31.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.31.0) ### Features - **aws-android-sdk-iot:** update models to latest (#2609) - **aws-android-sdk-polly:** update models to latest (#2608) - **aws-android-sdk-kms:** update models to latest (#2606) - **aws-android-sdk-kinesis:** update models to latest (#2605) - **aws-android-sdk-chimesdkidentity:** update models to latest (#2621) - **aws-android-sdk-chimesdkmessaging:** update models to latest (#2622) - **aws-android-sdk-kinesisvideo:** add file media source (#2596) - **aws-android-sdk-kinesisvideo:** Update ReadResult (#2611) ### Bug Fixes - add overload of confirmResetPassword with user (#2547) ### Miscellaneous - Fixing NPE on identityProvider.getdisplayname in onError (#2602) - Lambda: LambdaJsonBinder: Injectable Gson (#2613) Thanks, @yongjhih! [See all changes between 2.30.0 and 2.31.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.30.0...release_v2.31.0) ## [Release 2.30.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.30.0) ### Features - **aws-android-sdk-iot:** update models to latest (#2592) - **aws-android-sdk-polly:** update models to latest (#2593) - **aws-android-sdk-rekognition:** update models to latest (#2599) ### Miscellaneous - Kinesis Video Update (#2581) [See all changes between 2.29.0 and 2.30.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.29.0...release_v2.30.0) ======= ## [Release 2.29.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.29.0) ### Features - **aws-android-sdk-lambda:** update models to latest (#2579) - **aws-android-sdk-mobile-client:** adds getUserSub method (#2555) - **aws-android-sdk-iot:** add support for retained messages (#2587) ### Bug Fixes - Adding a null check for string replace in VersionInfoUtils. ### Miscellaneous - Update README.md (#2576) - Model updates for the following services ---comprehend [See all changes between 2.28.0 and 2.29.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.28.0...release_v2.29.0) ## [Release 2.28.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.28.0) ### Features - **aws-android-sdk-mobile-client:** revoke tokens during auth sign out (#2415) - **aws-android-sdk-textract:** update models to latest (#2553) - **aws-android-sdk-iot:** update models to latest (#2556) - **aws-android-sdk-transcribe:** update models to latest (#2562) - **aws-android-sdk-connect:** update models to latest (#2570) - **aws-android-sdk-chimesdkmessaging:** update models to latest (#2568) - **aws-android-sdk-chimesdkidentity:** update models to latest (#2569) - **aws-android-sdk-rekognition:** update models to latest (#2573) ### Bug Fixes - **aws-android-sdk-mobile-client:** fix NPE in hosted UI options (#2564) - **aws-android-sdk-iot:** fix message queue not respecting size limit (#2565) [See all changes between 2.27.0 and 2.28.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.27.0...release_v2.28.0) ## [Release 2.27.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.27.0) ### Features - **aws-android-sdk-connect:** update models to latest (#2526) - **aws-android-sdk-sns:** update models to latest (#2534) - **aws-android-sdk-lambda:** update models to latest (#2535) - **aws-android-sdk-core:** update models to latest (#2537) - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#2541) - **aws-android-sdk-location:** update models to latest (#2544) - Changes to support encoded resource path coming in request. (#2546) ### Bug Fixes - **aws-android-sdk-iot:** Use cert chain to connect to IoT Core (#2521) - **aws-android-sdk-cognitoauth:** custom tabs app crash when chrome not available (#2529) [See all changes between 2.26.0 and 2.27.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.26.0...release_v2.27.0) ## [Release 2.26.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.26.0) ### Features - **aws-android-sdk-connect:** update models to latest (#2516) - **aws-android-sdk-kms:** update models to latest (#2518) ### Bug Fixes - **aws-android-sdk-s3:** implement retry mechanism for upload part (#2504) [See all changes between 2.25.0 and 2.26.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.25.0...release_v2.26.0) ## [Release 2.25.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.25.0) ### Features - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#2510) ### Bug Fixes - **aws-android-sdk-lex:** prioritize custom lex signer for all regions (#2506) - **mobileclient:** Honor auth flow setting from config (#2499) - **aws-android-sdk-polly:** use correct SignerConfig in all regions (#2505) [See all changes between 2.24.0 and 2.25.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.24.0...release_v2.25.0) ## [Release 2.24.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.24.0) ### Features - **aws-android-sdk-sns:** update models to latest (#2461) - **aws-android-sdk-cognitoidentityprovider:** update models to latest (#2456) - **aws-android-sdk-connect:** update models to latest (#2469) - **aws-android-sdk-transcribe:** update models to latest (#2476) - **aws-android-sdk-rekognition:** update models to latest (#2487) - **aws-android-sdk-iot:** update models to latest (#2490) - **aws-android-sdk-location:** update models to latest (#2494) - **aws-android-sdk-sns:** update models to latest (#2496) - **aws-android-sdk-polly:** update models to latest (#2497) - **aws-android-sdk-mobile-client:** adds signature with user attributes in confirmSignIn (#2492) - **aws-android-sdk-mobile-client:** hosted-ui auth response handler is now built into redirect activity (#2473) ### Bug Fixes - hosted-ui sign-out flow is now launched correctly using custom tabs manager (#2472) - hostedUI auth response is now properly handled via `HostedUIRedirectActivity` (#2473) - _note:_ applying above fix requires an update to `AndroidManifest.xml`. See the [documentation](https://docs.amplify.aws/sdk/auth/hosted-ui/q/platform/android#setup-amazon-cognito-hosted-ui-in-android-app) for more information. [See all changes between 2.23.0 and 2.24.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.23.0...release_v2.24.0) ## [Release 2.23.0](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.23.0) ### New Features - **aws-android-sdk-cognitoidentityprovider:** support custom endpoint (#2455) ### Bug Fixes - **pinpoint:** add campaign attributes to push events (#2458) [See all changes between 2.22.7 and 2.23.0](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.22.7...release_v2.23.0) ## [Release 2.22.7](https://github.com/aws-amplify/aws-sdk-android/releases/tag/release_v2.22.7) ### Features - **aws-android-sdk-core:** update models to latest (#2445) ### Bug Fixes - **mobile-client:** missing optional dependency warning removed (#2427) - **s3:** remove eTag validation logic (#2419) - **s3:** force upload part tasks to be serial (#2447) ### Miscellaneous - change the time offset precision from int to long (#2448) [See all changes between 2.22.6 and 2.22.7](https://github.com/aws-amplify/aws-sdk-android/compare/release_v2.22.6...release_v2.22.7) ## [Release 2.22.6](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.22.6) ### Bug fixes - Updated Service name for Lex runtime ### Model updates - Amazon Comprehend - Amazon Kinesis Video Streams Archived Media - Amazon Lex - Amazon Location Service - Amazon Transcribe - AWS Machine Learning - AWS IoT ## [Release 2.22.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.22.5) ### Bug fixes - **AWSMobileClient** - Changes from v2.22.3 caused `USER_SRP_AUTH` auth flow type to be unrecognizable. The change was reverted. ## [Release 2.22.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.22.4) ### Bug fixes - **AWSMobileClient** - Changes from v2.22.3 caused optional dependencies to become required during initialization. Fixed in [#2393](https://github.com/aws-amplify/aws-sdk-android/pull/2393). ### Model updates - Amazon Comprehend - Amazon Rekognition ## [Release 2.22.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.22.3) ### Misc. - **AWSMobileClient** - Honored authenticationFlowType from config [#2377](https://github.com/aws-amplify/aws-sdk-android/pull/2377) - Initialized key value store inside mobile client constructor [#2383](https://github.com/aws-amplify/aws-sdk-android/pull/2383) - Registered sign in providers for dropInUI [#2386](https://github.com/aws-amplify/aws-sdk-android/pull/2386) ### Model updates - Amazon Connect ## [Release 2.22.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.22.2) ### Misc. - Removed references to SigV3 signers in favor of SigV4 signers. See [#2341](https://github.com/aws-amplify/aws-sdk-android/pull/2341). ### Model updates - Amazon Connect - Amazon Location - AWS IoT - AWS Lambda ## [Release 2.22.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.22.1) ### Misc. - Amazon Cognito Identity Provider: Set session paraemter for DEVICE_SRP_AUTH request ## [Release 2.22.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.22.0) ### Model updates - Amazon Cognito Identity Pools - Amazon Simple Notification Service - AWS Key Management Service ### Misc. - Removed deprecated Transfer Manager client [#2285](https://github.com/aws-amplify/aws-sdk-android/pull/2285) - Improved AWS Region code extraction for IoT client [#2325](https://github.com/aws-amplify/aws-sdk-android/pull/2325) ## [Release 2.21.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.21.0) ### New Features - **AWSMobileClient** - Added custom challenge for first method overload of `confirmSignIn`. See [PR #2316](https://github.com/aws-amplify/aws-sdk-android/pull/2316). ### Model updates - Amazon Connect ### Misc. - Removed deprecated Mobile Analytics Client [#2321](https://github.com/aws-amplify/aws-sdk-android/pull/2321) - Removed deprecated Cognito Sync Client [#2320](https://github.com/aws-amplify/aws-sdk-android/pull/2320) ## [Release 2.20.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.20.1) ## Bug Fixes - Fixed an Amazon Location client bug where the trackerName was being set to the deviceId instead of the trackerName. See [PR #2298](https://github.com/aws-amplify/aws-sdk-android/pull/2298). ### Model updates - Amazon Key Management Service (KMS) ## [Release 2.20.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.20.0) ### New Features - Amazon Location Service ### Model updates - AWS IoT ## [Release 2.19.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.19.4) ### New Features - **Amazon DynamoDB** - Added `keyConditionExpression` to `DynamoDBQueryExpression` class. See [PR #2280](https://github.com/aws-amplify/aws-sdk-android/pull/2280). - **Amazon Cognito Identity Provider** - Fixed bug where client was sending invalid secret hash during `NewPasswordContinuation` flow. See [PR #2265](https://github.com/aws-amplify/aws-sdk-android/pull/2265). - Reduced default threshold for refresh tokens from 5 minutes to 2 minutes. See [Issue #2232](https://github.com/aws-amplify/aws-sdk-android/issues/2232). ### Model updates - Amazon Cognito Identity Provider - Amazon Connect - Amazon Comprehend - Amazon Translate - AWS IoT - AWS Lambda ### Misc. - Removed Apache Commons Logging dependency ## [Release 2.19.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.19.3) ### New Features - **AWS IOT** - Added getSessionPresent() to AWSIotMqttManager. The session present flag tells the client whether the broker already has a persistent session available from previous interactions with the client. See the [MQTT documentation](https://www.hivemq.com/blog/mqtt-essentials-part-3-client-broker-connection-establishment/) for more details on its use. [#2231](https://github.com/aws-amplify/aws-sdk-android/pull/2231) ## [Release 2.19.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.19.2) ### New Features - **AWS S3 Transfer Utility** - Now supports directly uploading `InputStream` object via `TransferUtility`. See [# 2182](https://github.com/aws-amplify/aws-sdk-android/pull/2182) for more details. ### Model updates - AWS IoT - AWS Lambda - Amazon Polly - Amazon Textract ### Misc. - Fixed typo in `CognitoCredentialsProvider#getSessionCredentialsExpiration()`. - Updated `customer-proguard-rules.pro` to exclude `Enum` types when `minifyEnabled = true`. ## [Release 2.19.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.19.1) ### New Features - **AWS Mobile Client** - Added option to specify browser other than the default (Chrome) for HostedUI [#2152](https://github.com/aws-amplify/aws-sdk-android/pull/2152) ### Model updates - AWS Simple Token Service [#2132](https://github.com/aws-amplify/aws-sdk-android/pull/2132) - Amazon Comprehend [#2122](https://github.com/aws-amplify/aws-sdk-android/pull/2122) - Amazon Transcribe [#2127](https://github.com/aws-amplify/aws-sdk-android/pull/2127) - Amazon Translate [#2125](https://github.com/aws-amplify/aws-sdk-android/pull/2125) - Amazon Textract [#2128](https://github.com/aws-amplify/aws-sdk-android/pull/2128) - Amazon Rekognition [#2149](https://github.com/aws-amplify/aws-sdk-android/pull/2149), [#2179](https://github.com/aws-amplify/aws-sdk-android/pull/2179) - Amazon SNS [#2150](https://github.com/aws-amplify/aws-sdk-android/pull/2150) ### Miscellaneous Updates - Update third-party dependency versions - Junit 4.13.1 - AndroidX Core 1.3.0 - AndroidX jUnit Extension 1.1.2 - AndroidX Test Runner 1.3.0 - AndroidX Test Core 1.3.0 - AndroidX App Compat 1.2.0 - Robolectric 4.4 - Conscrypt Android 2.5.1 ## [Release 2.19.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.19.0) ## Bug Fixes - aws-android-sdk-kinesisvideo - Improve TLS validation by implementing hostname verification [#2103](https://github.com/aws-amplify/aws-sdk-android/issues/2103) * **Breaking API Change** - Incremented minSDKVersion from 21 to 24 - aws-android-sdk-s3 - Implemented downgrade for sql transfer table [#2056](https://github.com/aws-amplify/aws-sdk-android/issues/2056) - aws-android-sdk-mobile-client - Fix passwordless auth [#2097](https://github.com/aws-amplify/aws-sdk-android/issues/2097) - Remove unnecessary ContextCompat class lookup [#2091](https://github.com/aws-amplify/aws-sdk-android/issues/2091) ### Misc. Updates - Model updates for the following services - AWS Cognito Identity Provider [#2080](https://github.com/aws-amplify/aws-sdk-android/issues/2080) - AWS Comprehend [#2067](https://github.com/aws-amplify/aws-sdk-android/issues/2067) ## [Release 2.18.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.18.0) *Version 2.18.0 introduces breaking changes against 2.17.1.* ### Breaking Updates - aws-android-sdk-mobile-client: - No breaking changes code-wise but if you already setup HostedUI for an older version of the SDK, you'll need to follow the steps in the [updated documentation](https://docs.amplify.aws/sdk/auth/hosted-ui/q/platform/android#setup-amazon-cognito-hosted-ui-in-android-app) to properly handle the response going forward. - aws-android-sdk-cognitoauth: - `getSession()` method has been refactored to `getSession(Activity activity)`, where `activity` is an instance of the activity the user is calling this method from. It uses this to launch HostedUI if it needs to sign in again. - `getSession(boolean launchWebUIIfExpired)` has been refactored to `getSessionWithoutWebUI()`. It will get session information if the refresh token is still valid, otherwise will throw an exception indicating the user must sign in again. ### Bug Fixes - aws-android-sdk-mobile-client: - `getTokens()` was making a network call every time it was used, negating any benefit of cached tokens. Removed the unnecessary network call so it now correctly returns cached tokens when available with no network call (Issue #1722) ## [Release 2.17.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.17.1) ### Bug fixes - Resolves `UnsupportedOperationException` while passing client metadata to signUp and signIn auth APIs ### Updated Service Models - SNS - Documentation updates - Transcribe - Support Medical use cases - Lex - Updates to NLU confidence ### Miscellaneous Updates - Update third-party dependency versions - AndroidX Core 1.3.1 - Paho MQTT Client 1.2.5 - Google Play Services Auth 18.1.0 - Android Gradle Plugin 4.0.1 - Allow override of User Agent in the AWSMobileClient ## [Release 2.17.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.17.0) *Version 2.17.0 introduces breaking changes against 2.16.13.* ### Breaking Updates - Modules now produce .aar files instead of .jar files - Migrated to AndroidX - Updated all dependencies to the latest version in Maven - Target API 27 -> 29 - Updated `minSDK`s to be aligned with the actual Android API usage - No longer dependent on: - Legacy Apache HTTP Runtime - Jackson library ### Removed from the library: - AWS Auto Scaling - Elastic Load Balancing ### New Features - **AWS Mobile Client** - Added client metadata as optional parameter to various methods - **AWS Core Runtime** - Added json unmarshaller for multiple formats of timestamp ### Misc. Updates - Model updates for the following services: - Amazon Comprehend - Amazon Connect - Amazon SNS ## [Release 2.16.13](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.13) ### New Features - **AWS Mobile Client** - Added client metadata as optional parameter to various methods - **AWS IoT** - Model updates ## [Release 2.16.12](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.12) ### New Features - **AWS Core Runtime** - Added support for `af-south-1` - Africa (Cape Town) region. - Added support for `eu-south-1` - Europe (Milan) region. ## [Release 2.16.11](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.11) ### New Features - **Amazon Pinpoint** - `EndpointProfileUser` can now store user attributes, which will persist even after updating the endpoint. ### Bug Fixes - **Amazon S3** - Fix a bug in `TransferUtility#pause(int)` when uploading a multipart item (> 5MB). See [Issue# 1500](https://github.com/aws-amplify/aws-sdk-android/issues/1500) for details. ## [Release 2.16.10](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.10) ### Bug Fixes - **AWS Mobile Client** - Fixes drop in UI to work with Dark Theme (Issue #1281) - Fixes getTokens exception if attempting to do a normal sign in after having done HostedUI sign in previously (Issues #1469 and #1262) ### Misc. Updates - Model updates for the following services - **AWS Rekognition** - This update adds the ability to detect text in videos and adds filters to image and video text detection. - **AWS Auto Scaling** - Amazon EC2 Auto Scaling now supports the ability to enable/disable target tracking, step scaling, and simple scaling policies. ## [Release 2.16.9](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.9) ### New Features - **Amazon Rekognition** - Adds new APIs for detecting text in a video file. - **Amazon Cognito Identity Provider** - This release adds a new setting for a user pool to allow if customer wants their user signup/signin with case insensitive username. The current default setting is case sensitive, and for our next release we will change it to case insensitive. ### Misc. Updates - Model updates for the following services - **AWS Auto Scaling** - Documentation updates - Adds a field to request enable or disable on a PutScalingPolicyRequest - Amazon Cognito Identity Provider - AWS Key Management Service (KMS) - The ConnectCustomKeyStore API now provides a new error code (SUBNET_NOT_FOUND) for customers to better troubleshoot if their "connect-custom-key-store" operation fails. ## [Release 2.16.8](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.8) ### New Features - **AWS IoT** - Added support for Custom Authorizers. AWS IoT allows you to define custom authorizers that allow you to manage your own authentication and authorization strategy using a custom authentication service and a Lambda function. Custom authorizers allow AWS IoT to authenticate your devices and authorize operations using bearer token authentication and authorization strategies. See [AWS IoT Custom Authentication](https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html) for more details. ## [Release 2.16.7](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.7) ### Misc. Updates - Model updates for the following services - Amazon Comprehend - Amazon Connect Participant - Amazon Translate - AWS Lambda - AWS Key Management Service ## [Release 2.16.6](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.6) ### New Features - **AWSMobileClient** - `confirmSignIn()` now supports passing clientMetaData, map of custom key-value pairs that developers can provide as an input for any custom workflow lambda triggers. ## [Release 2.16.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.5) ### New Features - **Amazon Kinesis Video Signaling** - Amazon Kinesis Video Signaling Channels supports GetIceServerConfig and SendAlexaOfferToMaster. See [Amazon Kinese Video Signaling Channels Documentation](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_Operations_Amazon_Kinesis_Video_Signaling_Channels.html) for more details ### Bug Fixes - **Amazon Pinpoint** - Fixed a bug where setting `Intent.FLAG_ACTIVITY_CLEAR_TOP` and `Intent.FLAG_ACTIVITY_SINGLE_TOP` on the `notificationIntent` being created for displaying notification causes a crash in Android OS Versions < 4.4. The fix involves removing the setting of flags as it is not relavent for an intent that communicates with a Android Service and a Broadcast receiver. See [PR #1370](https://github.com/aws-amplify/aws-sdk-android/pull/1370) for details. ### Misc. Updates - Model updates for the following services - Amazon AutoScaling - Amazon Cognito Identity Provider * Added support for [`IdentityProviderType.SignInWithApple`](https://github.com/aws-amplify/aws-sdk-android/pull/1362/files#diff-2949a3798ae1a86ffd84ddf2ee29e229R30). - Amazon Comprehend - AWS IoT - AWS Key Management Service (KMS) - Amazon Kinesis Firehose - Amazon Kinesis Video Streams - Amazon Kinesis Video Signaling - AWS Lambda - Amazon Lex * Added support for `sessionId` in `PostContentResult` and `PostTextResult`. See [Amazon Lex SessionId Support](https://github.com/aws-amplify/aws-sdk-android/pull/1366) for details. - Amazon Rekognition - Amazon Security Token Service (STS) - Amazon Simple Notification Service (SNS) - Amazon Textract - Amazon Transcribe ## [Release 2.16.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.4) ### New Features - **Amazon Connect Participant** - Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage a customer contact center and provide reliable customer engagement at any scale. Amazon Connect enables customer contacts through voice or chat. The Amazon Connect Participant Service is used by chat participants, such as agents and customers. See Amazon Connect Participant Service Documentation (link https://aws.amazon.com/connect/) for more details. - **Amazon Connect** - Added a new api to support CHAT media in Connect. See API reference (https://docs.aws.amazon.com/connect/latest/APIReference) ### Bug Fixes - **Amazon S3** - `PutObjectResult` object will now contain content MD5 that was used in data validation (if available). See [Issue# 1236](https://github.com/aws-amplify/aws-sdk-android/issues/1236). - Changed the default notification ID of the notification that will be displayed when the `TransferService` transitions to foreground from `0` to `1` because `0` is reserved and not recommended by Android. `TransferService` would fail to transition to foreground if notification ID is 0. See [Android guide](https://developer.android.com/guide/components/services.html) for details. ### Misc. Updates - Model updates for the following services - Amazon Connect - Amazon Connect Participant ## [Release 2.16.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.3) ### New Features - **AWS IoT** - Added proxy support for connecting to AWS IoT via Keystore over port 8883 ### Bug Fixes - **AWS Core** - Added warning against using `BasicAWSCredentials` instead of `AWSMobileClient` in Javadoc. - **AWS Mobile Client** - During `signUp`, when the user is confirmed, Cognito does not send `CognitoUserCodeDeliveryDetails` and it appears to be null when the SignUpResult is unmarshalled. Add a check before accessing the `CognitoUserCodeDeliveryDetails` only when the user is not confirmed. See [issue #1264](https://github.com/aws-amplify/aws-sdk-android/issues/1264) for more details. ## [Release 2.16.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.2) ### New Features - **AWS Core** - Now supports calling LogFactory.setLevel(Level) to set a global level of which logs will be output. Any logs below the set level will not be output You can also call Log.setLevel(Level) on a specific Logger to limit the logs which are output by a specific class. Addresses issue #1174 - **Amazon Polly** - `SynthesizeSpeechPresignRequest` now supports the ability to specify the engine (`standard` or neural) for a request. See [the Amazon Polly documentation](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-Engine) for a discussion of the Engine. See [Issue #1256](https://github.com/aws-amplify/aws-sdk-android/issues/1256). ### Bug Fixes - **AWSMobileClient** - Sets default confirmSignup behavior to prevent a user from signing up with the same email/phone as another user. This is the same as iOS. NOTE: When you upgrade to this version, your app behavior will change from allowing users to sign up with the same email/phone as another user (and just overriding the existing user) to giving the user an error if they attempt to do that. - **AWS IoT** - Specified minimum SDK (11) and target SDK (27) version in `AndroidManifest.xml` for IoT SDK. - Prevents unintended permission from being implied in `AndroidManifest.xml`. See [Issue #1234](https://github.com/aws-amplify/aws-sdk-android/issues/1234). ### Misc. Updates - **Amazon S3** - Added serialized name annotation to `TransferNetworkConnectionType` enum values and added instrumentation tests. - Model updates for the following services - Amazon Cognito Identity Provider - Amazon Kinesis Firehose - Amazon Lex - Amazon Pinpoint ## [Release 2.16.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.1) ### Misc. Updates - **AWS IoT** - AWS Android SDK for IoT now depends on the 1.2.2 version of the Paho Library org.eclipse.paho.client.mqttv3 - **AWS Security Token Service** - AWS Security Token Service client now supports two additional APIs: - `assumeRoleWithSAML` - `decodeAuthorizationMessage` - Model updates for the following services - Amazon Transcribe - Amazon STS ## [Release 2.16.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.16.0) ### New Features - **AWS Mobile Client** - **Breaking API Change** - `SignUpResult` available in the user callback provided during sign up now contains UserSub(UID) - Deprecated APIs `getCredentialsProvider`, `setCredentialsProvider`, `initialize(Context)` and `initialize(Context, AWSStartupHandler)` have been removed - `confirmSignIn(final Map signInChallengeResponse)` now throws `IllegalStateException` if `confirmSignIn` is called after signIn has succeeded. This matches the behavior of the overloaded version of this method, viz. `confirmSignIn(final String signInChallengeResponse, final Callback callback)` - AWSMobileClient now supports Cognito Custom Authentication flow. See relevant [cognito docs](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html#amazon-cognito-user-pools-custom-authentication-flow) and [amplify docs](https://aws-amplify.github.io/docs/android/authentication#customizing-authentication-flow) for details - **Amazon CognitoIdentityProvider** - **Breaking API Change** `SignUpHandler` now receives `SignUpResult` upon success instead of a ConfirmationState and `CognitoUserCodeDeliveryDetails` - `signUpInBackground` and `signUp` now receive `SignUpResult` in the `onSuccess` callback - **Amazon SNS** - Updated model to support latest Amazon SNS features such as `TagResource` function. This resolves [Issue# 1020](https://github.com/aws-amplify/aws-sdk-android/issues/1020). ### Misc. Updates - Model updates for the following services - Amazon SES - Amazon SNS - Amazon Textract - Amazon Transcribe ## [Release 2.15.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.15.2) ### Bug Fixes - **AWS Mobile Client** - Fix issue where MobileClient would return invalid tokens after initialization when using Hosted UI. See [issue #873](https://github.com/aws-amplify/aws-sdk-android/issues/873) and [issue #888](https://github.com/aws-amplify/aws-sdk-android/issues/888) - **Amazon Cognito Identity Provider** - Use internal username for computing secret hash that is passed in challenge response. See [Issue# 889](https://github.com/aws-amplify/aws-sdk-android/issues/889) for details ### Misc. Updates - Model updates for the following services - Amazon Connect - Amazon Rekognition - Amazon Transcribe ## [Release 2.15.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.15.1) ### Bug Fixes - **AWS Core Runtime** - Fixed a bug where encrypted authentication data persisted by the SDK could not be recovered due to: * The encryption key being removed * The encryption key being replaced * The encryption key not being recoverable by the OS These conditions formerly resulted in an app crash. Now, the errors are logged (without logging sensitive data) and the decryption attempt returns `null`, as if the data simply isn't present in the persistent store. Classes affected: - `CognitoCachingCredentialsProvider` - `CognitoUserPool` - `CognitoAuth` - `AWSMobileClient` For more detail, see issues: - [#937](https://github.com/aws-amplify/aws-sdk-android/issues/937) - [#1108](https://github.com/aws-amplify/aws-sdk-android/issues/1108) - [#1109](https://github.com/aws-amplify/aws-sdk-android/issues/1109) - [#1115](https://github.com/aws-amplify/aws-sdk-android/issues/1115) - **Amazon S3** - Fixed a bug where multi-part uploads via `TransferUtility` would fail to propagate tags to `Amazon S3` from the `UserMetadata` passed through the `ObjectMetadata`. See [Issue#541](https://github.com/aws-amplify/aws-sdk-android/issues/541). - The following code should now attach a tag for both single-part and multi-part uploads: ```java ObjectMetadata metadata = new ObjectMetadata(); metadata.addUserMetadata(Headers.S3_TAGGING, "key=value"); TransferObserver observer = transferUtility.upload( file.getName(), file, metadata ); ``` ## [Release 2.15.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.15.0) ### Bug Fixes - **AWS Core Runtime** - Update `LogFactory.getLog` to automatically truncate the log tag to be within 23 character limit imposed by Android for Nougat(7.0) releases and prior(API <= 23). See [issue #1103](https://github.com/aws-amplify/aws-sdk-android/issues/1103) - **Amazon Pinpoint** - Removed the check for INTERNET and ACCESS_NETWORK_STATE permissions while initializing `PinpointManager`. These are [normal permissions](https://developer.android.com/guide/topics/permissions/overview#normal_permissions) and therefore are not required to be checked before performing corresponding app-op. This changes Pinpoint SDK behavior to match that of our other SDKs where an `UnknownHostException` or a corresponding RuntimeException would be thrown if connectivity is not present when network calls are made by the SDK. This fixes [Issue#1092](https://github.com/aws-amplify/aws-sdk-android/issues/1092). ### Misc. Updates - **Breaking Changes** - Removed deprecated SDKGlobalConfiguration options: - `ENABLE_S3_SIGV4_SYSTEM_PROPERTY` - `ENFORCE_S3_SIGV4_SYSTEM_PROPERTY` - Remove unused `mfaOption` property from `CognitoUserAttributes` class - Model updates for the following services - Amazon AutoScaling - AWS IoT - Amazon Lex - Amazon Rekognition ## [Release 2.14.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.14.2) ### New Features - **AWS IoT** - Added an overloaded version of `subscribeToTopic()` method, `public void subscribeToTopic(final String topic, final AWSIotMqttQos qos, final AWSIotMqttSubscriptionStatusCallback subscriptionStatusCallback, final AWSIotMqttNewMessageCallback callback);`, in `AWSIotMqttManager` which accepts subscription status callback to notify users of the status of subscription operation. See [Issue#1005](https://github.com/aws-amplify/aws-sdk-android/issues/1005) for details. ### Misc. Updates - Model updates for the following services - Amazon Polly ## [Release 2.14.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.14.1) ### New Features - **AWS Core Runtime** - Added support for `me-south-1` - Middle East (Bahrain) region. ### Bug Fixes - **AWS Core Runtime** - Fixed response unmarshalling when response is gzip encoded without a CRC32 checksum. Also fixes bug decoding Kinesis responses with GZIP encoding. - **Amazon Kinesis Video** - Fixed a bug when CreateStreamRequest is initialized without setting Tags, auto-generated empty HashMap of Tags would cause ValidationException from Kinesis Video. - Fixed incorrect timestamp unit for encoder input caused high bitrate issue for the stream. ### Misc. Updates - Model updates for the following services - Amazon Comprehend - Amazon Security Token Service (STS) ## [Release 2.14.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.14.0) ### New Features * **Amazon Connect** * Amazon Connect is a self-service, cloud-based contact center service that makes it easy for any business to deliver better customer service at lower cost. Amazon Connect is based on the same contact center technology used by Amazon customer service associates around the world to power millions of customer conversations. The self-service graphical interface in Amazon Connect makes it easy for non-technical users to design contact flows, manage agents, and track performance metrics – no specialized skills required. There are no up-front payments or long-term commitments and no infrastructure to manage with Amazon Connect; customers pay by the minute for Amazon Connect usage plus any associated telephony services. See [Amazon Connect Documentation](https://aws.amazon.com/connect/) for more details. ### Misc. Updates - Model updates for the following services - Amazon Kinesis Video - Amazon Rekognition - **Breaking Change:** This SDK has been updated to the latest model after a long interval, and there have been several breaking changes in the intervening time. Please review the [API documentation](https://aws-amplify.github.io/aws-sdk-android/docs/reference/index.html) to see the latest API. ## [Release 2.13.7](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.13.7) ### New Features * **Amazon SageMaker** * Amazon SageMaker provides every developer and data scientist with the ability to build, train, and deploy machine learning models quickly. Amazon SageMaker is a fully-managed service that covers the entire machine learning workflow to label and prepare your data, choose an algorithm, train the model, tune and optimize it for deployment, make predictions, and take action. Your models get to production faster with much less effort and lower cost. See [Amazon SageMaker Documentation](https://aws.amazon.com/sagemaker/) for more details. * **Amazon Textract** * Amazon Textract is a service that automatically extracts text and data from scanned documents. Amazon Textract goes beyond simple optical character recognition (OCR) to also identify the contents of fields in forms and information stored in tables. See [Amazon Textract Documentation](https://aws.amazon.com/textract/) for more details. ### Bug Fixes * **Amazon S3** * Fix a bug where the `TransferNetworkLossHandler` crashes while pausing the on-going transfers when network connectivity goes offline. See [issue #777](https://github.com/aws-amplify/aws-sdk-android/issues/777) for details. * **Amazon Pinpoint** * Added limits to batch submit events. A maximum of 100 events per batch as specified by the service. See [issue #977](https://github.com/aws-amplify/aws-sdk-android/issues/977) for details. ### Misc. Updates * Model updates for the following services * Amazon AutoScaling * Amazon Cognito Identity Pools * Amazon Cognito UserPools * Amazon Comprehend * AWS IoT * Amazon Key Management Service (KMS) * Amazon Kinesis Firehose * Amazon Kinesis Video * AWS Lambda * Amazon Lex * Amazon Machine Learning * Amazon Polly * Amazon Security Token Service (STS) * Amazon Simple Email Service (SES) * Amazon Transcribe * Amazon Translate ## [Release 2.13.6](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.13.6) ### New Features * **AWS Core Runtime** * Add `AWSConfiguration(JSONObject)` constructor to construct a `AWSConfiguration` object from the configuration passed via a `JSONObject`. ### Misc. Updates * Model updates for the following services * Amazon Transcribe ## [Release 2.13.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.13.5) ### Bug Fixes * **Amazon S3** * Fix a bug where the `TransferListener` is not triggered when the preferred network type is not available. See [issue #958](https://github.com/aws-amplify/aws-sdk-android/issues/958) for details. * **AWS Core Runtime** * Fixed a bug where generating RSA keys for encryption of the credentials failed due to `setKeySize(int)` method not available in Android API level 18. See [issue #964](https://github.com/aws-amplify/aws-sdk-android/issues/964) for details. * **Amazon Kinesis Video Streams** * Removed trailing zeroes from encoder output that caused 0x3200000d errors when frames contained more than 3 trailing zeroes. See AnnexB sepcification. ### Misc. Updates * Model updates for the following services * Amazon Comprehend * Amazon Security Token Service (STS) * Amazon Transcribe ## [Release 2.13.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.13.4) ### Bug Fixes * **AWS Mobile Client** * Fix initialization NPE for Hosted UI feature. See [issue #888](https://github.com/aws-amplify/aws-sdk-android/issues/888) ### Enhancements * **AWS Mobile Client** * Update logic to expose network related exceptions during API calls. The network related exceptions were not surfaced previously in API calls like getUserAttributes. Only the exceptions that conclusively indicate signed-out are used to trigger SIGNED_OUT_TOKENS_INVALID variants. See [issue #679](https://github.com/aws-amplify/aws-sdk-android/issues/679) * Reduced logging of unfound dependencies for the Hosted UI feature when not used. * Delay usage of drop-in UI dependencies until `showSignIn()` is called. ### Misc. Updates * Model updates for the following services * AWS Lambda ## [Release 2.13.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.13.3) ### New Features * **AWS Core Runtime** * Added support for `ap-east-1` - AP (Hong Kong) region. ### Misc. Updates * Model updates for the following services * Amazon Cognito Identity Provider * Amazon Polly * Amazon Transcribe ## [Release 2.13.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.13.2) ### Enhancements * **AWS IoT** * AWS IoT SDK for Android now supports connecting your devices to AWS IoT Core using Persistent Sessions. Please look at [this blog](https://aws.amazon.com/about-aws/whats-new/2019/01/aws-iot-core-now-enables-customers-to-store-messages-for-disconnected-devices/) for more details. ### Misc. Updates * Model updates for the following services * Amazon Comprehend ### Bug Fixes * **Amazon Cognito Auth** * Fixed erroneous user cancelled error when redirecting back to app. See [issue #328](https://github.com/aws-amplify/aws-sdk-android/issues/328), [issue #871](https://github.com/aws-amplify/aws-sdk-android/issues/871) * **Amazon S3** * Fixed a bug where uploading a file using `AmazonS3Client.putObject(PutObjectRequest)` with `SSEAwsKeyManagementParams` fails with contentMD5 validation error. Now, the contentMd5 validation is skipped when a file is uploaded with `SSEAwsKeyManagementParams` through the `PutObjectRequest`. * **Amazon Pinpoint** * Added `SocketException` to the list of client exceptions where the events submitted to Amazon Pinpoint will be saved in the local database. See [issue #773](https://github.com/aws-amplify/aws-sdk-android/issues/773). ## [Release 2.13.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.13.1) ### Enhancements * **AWS Mobile Client** * Updated Google or Facebook refresh when using the drop-in UI. See [issue #809](https://github.com/aws-amplify/aws-sdk-android/issues/809), [issue #700](https://github.com/aws-amplify/aws-sdk-android/issues/700). ### Bug Fixes * **Amazon S3** * Fixed an issue where the transfer state is not set to `WAITING_FOR_NETWORK` when the network disconnects. See [issue #616](https://github.com/aws-amplify/aws-sdk-android/issues/616) * Shorten `RepeatableFileInputStream` log tag to be within the 23 character limit imposed by android on certain API Levels. See [issue #787](https://github.com/aws-amplify/aws-sdk-android/issues/787) * **AWS Mobile Client** * Fixed a bug that caused repetitive sign-in using the drop-in UI to the same provider to not federate the correct credentials. See [issue #809](https://github.com/aws-amplify/aws-sdk-android/issues/809) * **Amazon Cognito Auth** * Fixed a bug that caused `isAuthenticated()` to return false after sign-in when no scopes were requested. See [issue #813](https://github.com/aws-amplify/aws-sdk-android/issues/813) * **Amazon Pinpoint** * Fix a bug where the image that is part of a push notification is persisted in the subsequent notifications. * Fix a bug where the events recorded and stored in the device will not be deleted when the network is not available. See [issue #773](https://github.com/aws-amplify/aws-sdk-android/issues/773). With this change, the events will be kept in the local database when there is a retryable error or device is offline. For all other exceptions during `submitEvents`, the exception is logged and the events will be removed from the local database. ## [Release 2.13.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.13.0) ### Enhancements * **AWS IoT** * AWS IoT SDK for Android now supports MQTT over TLS with X.509 client certificate authentication on port 443. Previously this combination of protocol and authentication mechanism was only supported on port 8883. `connectUsingALPN()` method allows developers to connect to AWS IoT using client certificate authentication on port 443. Please look at [this blog](https://aws.amazon.com/blogs/iot/mqtt-with-tls-client-authentication-on-port-443-why-it-is-useful-and-how-it-works/) for more details. * **Breaking Change:** Please note that the type of aws-android-sdk-iot artifact is being changed from a`jar` to an `aar`. Also note that the `aar` artifacts needs to be explicitly specified in the dependency as `implementation ("com.amazonaws:aws-android-sdk-iot:2.12.+@aar") { transitive =true }` on some of the older versions of gradle. ### Bug Fixes * **AWS Mobile Client** * Fixed a bug when initializing drop-in UI that caused the Facebook, Google, or Userpools provider to not be instantiated. ### Misc. Updates * Model updates for the following services * AWS IoT * Amazon Transcribe ## [Release 2.12.7](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.12.7) ### Enhancements * **AWS Mobile Client** * Updated `federatedSignIn()` method to contact the service immediately to validate tokens. The `signIn()` method will also attempt to federated immediately when applicable. See [issue #800](https://github.com/aws-amplify/aws-sdk-android/issues/800) * Fix Google or Facebook refresh when using the drop-in UI. See [issue #809](https://github.com/aws-amplify/aws-sdk-android/issues/809), [issue #700](https://github.com/aws-amplify/aws-sdk-android/issues/700). * Annotated methods that are designed to be called from UI thread or from a background thread with @AnyThread and @WorkerThread, respectively. ### Bug Fixes * **AWS Core** * Fixed support for EU (Stockholm) region - `eu-north-1` by adding to `RegionDefaults`. See [issue #797](https://github.com/aws-amplify/aws-sdk-android/issues/797) * Fixed a bug where a stringSet stored in `SharedPreferences` cannot be migrated to the `AWSKeyValueStore`. * Propagate the exception when loading/creating the encryption key fails while trying to persist data through `AWSKeyValueStore`. ### Misc. Updates * Model updates for the following services * AWS Autoscaling * Amazon Cognito Identity * Amazon Cognito Identity Provider * Amazon Comprehend * Amazon Kinesis Video * **AWS IoT** * Fixed the timestamp used for signing requests to AWS IoT by accounting for the offset specified in `SDKGlobalConfiguration`. See [issue #814](https://github.com/aws-amplify/aws-sdk-android/issues/814) * **Amazon Lex** * Set user-specified `RequestAttributes` for the `PostContentRequest` sent to Amazon Lex bots. See [issue #801](https://github.com/aws-amplify/aws-sdk-android/issues/801) ## [Release 2.12.6](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.12.6) ### Misc. Updates * **AWS IoT** * Fixed an internal SDK usage metrics tracker. ## [Release 2.12.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.12.5) ### New Features * **AWS Mobile Client** * Added support for SAML in `federatedSignIn()`. * Added support for developer authenticated identities in `federatedSignIn()`. See [issue #577](https://github.com/aws-amplify/aws-sdk-android/issues/577) * Added support Cognito Hosted UI in `showSignIn()`. * Added support to use OAuth 2.0 provider like `Auth0` in `showSignIn()`. Federation for AWS credentials requires OpenID support from the provider. * Added support for global sign out. * Added support for device features which include `list`, `get`, `updateStatus` and `forget`. These APIs are available through `getDeviceOperations()`. * **Amazon Cognito Identity Provider** * Fixed threading issues to ensure callbacks are made from main looper when `xInBackground()` method variants are used. See [issue #722](https://github.com/aws-amplify/aws-sdk-android/issues/722) * **Amazon Cognito Auth** * Fixed erroneous user cancelled error when redirecting back to app. See [issue #328](https://github.com/aws-amplify/aws-sdk-android/issues/328) ## [Release 2.12.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.12.4) * **AWS Core** * Fixed a crash in initializing `CognitoCachingCredentialsProvider` while migrating the data stored under `expirationDate`. ## [Release 2.12.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.12.3) ### Enhancements * **AWS Core** * Persistence of client state including user credentials is now enabled and encrypted by default. * Added a method `CognitoCachingCredentialsProvider.setPersistenceEnabled(boolean)`, which is enabled (set to true) by default therefore the information is persisted in SharedPreferences. When disabled (set to false), the information will only be kept in memory. * **Amazon CognitoIdentityProvider** * Persistence of client state including user credentials is now enabled and encrypted by default. * Added a method `CognitoUserPool.setPersistenceEnabled(boolean)`, which is enabled (set to true) by default therefore the information is persisted in SharedPreferences. When disabled (set to false), the information will only be kept in memory. * **Amazon CognitoAuth** * Persistence of client state including user credentials is now enabled and encrypted by default. * Added a method `Auth.setPersistenceEnabled(boolean)`, which is enabled (set to true) by default therefore the information is persisted in SharedPreferences. When disabled (set to false), the information will only be kept in memory. * **AWSMobileClient** * Persistence of client state including user credentials is now enabled and encrypted by default. * Added an option through `awsconfiguration.json` to disable persistence. **Note:** The Amplify CLI (as of March 8th 2019) does not support this configuration and will remove it when auto-generating the `awsconfiguration.json`. ``` { "Auth": { "Default": { "Persistence": false } } } ``` ## [Release 2.12.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.12.2) ### Misc. Updates * Model updates for the following services * Amazon S3 ## [Release 2.12.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.12.1) ### Bug Fixes * **AWS Mobile Client** * Fixed a bug that cause `changePassword(String, String, Callback)` to return error when successful. The error returned was null and will now call `onResult(Void)` ### Enhancements * **Amazon Cognito Identity Provider** * The Amazon Cognito Identity Provider SDK now supports all Amazon Cognito Identity Provider APIs, including "CreateUserPool", "DescribeUserPool", "UpdateUserPool", "ListUserPools", "AdminEnableUser", "AdminDisableUser", "AdminConfirmRegisterUser", "AdminResetUserPassword", "AdminGetUser", "AdminUpdateUserAttributes", "AdminDeleteUserAttributes", "AdminDeleteUser". All admin APIs require developer credentials. Note that by using admin APIs, you are inherently dealing with privileged functions that could result in data loss, if improperly used. * Fixed `initiateUserAuthentication()` to respect `runInBackground` flag for network calls. See [pr #702](https://github.com/aws-amplify/aws-sdk-android/pull/702) * **AWS Core Runtime** * Add templated callback structure for async methods across SDKs. Internal `ReturningRunnable` added to facilitate support for synchronous and asynchronous methods. ### Misc. Updates * Model updates for the following services * AWS IoT * Amazon Lambda ## [Release 2.12.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.12.0) ### Enhancements * **Amazon Cognito Auth** * Allow user to unbind the service after being done with authentication. See [pr #615](https://github.com/aws-amplify/aws-sdk-android/pull/615). Thanks @rlatapy-luna! * **Amazon Cognito User Pools** * Adds support for the SRP protocol at the beginning of custom auth. Please use `AuthenticationDetails(String, String, Map, Map)` to trigger custom auth flow with SRP protocol as the first step. * **Amazon S3** * **Note:** AWS Signature Version 4 (`SigV4`) is recommended for signing Amazon S3 API requests over AWS Signature Version 2 (`SigV2`) as it provides improved security by using a signing key rather than your secret access key. SigV4 is currently supported in all AWS regions while SigV2 is only supported in regions launched prior to Jan 2014. Amazon S3 will stop accepting requests signed using SigV2 in all regions on June 24, 2019, any requests signed using SigV2 made after this time will fail. Please visit the S3 documentation site to get more information on using SigV4: [Signing Aamzon S3 requests using SigV4](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html). You can find the list of changes between versions here: [Changes in SigV4](https://docs.aws.amazon.com/general/latest/gr/sigv4_changes.html). * Deprecated the existing constructors in `AmazonS3Client` and introduced equivalent constructors that require the AWS region, because a valid AWS region is required to sign the request using SigV4. Please use the following constructors to specify the AWS region in order to sign the request to Amazon S3 using SigV4. 2.11.1 | 2.12.0 ---------- | ------------- AmazonS3Client(AWSCredentials) | AmazonS3Client(AWSCredentials, com.amazonaws.regions.Region) AmazonS3Client(AWSCredentials, ClientConfiguration) | AmazonS3Client(AWSCredentials, ClientConfiguration, com.amazonaws.regions.Region) AmazonS3Client(AWSCredentialsProvider) | AmazonS3Client(AWSCredentialsProvider, com.amazonaws.regions.Region) AmazonS3Client(AWSCredentialsProvider, ClientConfiguration) | AmazonS3Client(AWSCredentialsProvider, ClientConfiguration, com.amazonaws.regions.Region) AmazonS3Client(AWSCredentialsProvider, ClientConfiguration, HttpClient) | AmazonS3Client(AWSCredentialsProvider, ClientConfiguration, HttpClient, com.amazonaws.regions.Region) AmazonS3Client(ClientConfiguration) | AmazonS3Client(ClientConfiguration, com.amazonaws.regions.Region) ## [Release 2.11.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.11.1) ### New Features * **Amazon S3** * Add the ability to specify the type of network connection (`TransferNetworkConnectionType.ANY` - any network, `TransferNetworkConnectionType.MOBILE` - mobile only, `TransferNetworkConnectionType.WIFI` - WiFi only) for the transfers through `TransferUtilityOptions`. The `TransferUtilityOptions` is passed to the `TransferUtility` object and is used for all the transfers that are initiated through this object. The network connection type can be passed while constructing the `TransferUtilityOptions` object through `TransferUtilityOptions(int, TransferNetworkConnectionType)`. See [pr #575](https://github.com/aws-amplify/aws-sdk-android/pull/575). Thanks @nasdf! ### Bug Fixes * **Amazon Cognito Identity Provider** * Fixed a bug that used a null username during custom auth challenge. See [issue #657](https://github.com/aws-amplify/aws-sdk-android/issues/657) & [issue #583](https://github.com/aws-amplify/aws-sdk-android/issues/583) * **AWS IoT** - Fixed a bug that caused some IoT connections to not reconnect after errors. [See PR #660](https://github.com/aws-amplify/aws-sdk-android/pull/660). Thanks @sklikowicz! * **Amazon S3** * Improved the state, progress and error reporting when the transfers are interrupted. * When the transfer is paused or cancelled by the user, the state is reported correctly. * When the transfer is interrupted because of a network drop, the state is set to WAITING_FOR_NETWORK when the `TransferNetworkLossHandler` is used. * When the transfer is interrupted otherwise, the transfer is set to FAILED and the exception is reported via `TransferListener.onError` callback. * Fixed the bug where progress is reported inaccurately (over 100%) when a transfer is paused by user or network drop and resumed before completion. See [issue #677](https://github.com/aws-amplify/aws-sdk-android/issues/677), [issue #667](https://github.com/aws-amplify/aws-sdk-android/issues/667), [issue #616](https://github.com/aws-amplify/aws-sdk-android/issues/616), [issue #406](https://github.com/aws-amplify/aws-sdk-android/issues/406) ### Enhancements * **Amazon Cognito Identity** - The Amazon Cognito Identity SDK now supports all Amazon Cognito Identity APIs, including admin APIs that require developer credentials. Note that by using admin APIs, you are inherently dealing with privileged functions that could result in data loss of data if improperly used. [See issue #645](https://github.com/aws-amplify/aws-sdk-android/issues/645) ### Misc. Updates * Model updates for the following services * AWS IoT * Amazon Comprehend * Amazon Cognito Identity Provider * Amazon Kinesis Firehose * Amazon Transcribe * Amazon Pinpoint ## [Release 2.11.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.11.0) ### Enhancements * **Amazon S3** * Introduced `TransferNetworkLossHandler`, a utility that listens for network connectivity changes. `TransferNetworkLossHandler` pauses the on-going transfers when the network goes offline and resumes the transfers that were paused when the network comes back online. * `TransferService` will be moved to foreground state when the device is running Android Oreo (API Level 26) and above. * Transitioning to the foreground state requires a valid on-going `Notification` object, identifier for on-going notification and the flag that determines the ability to remove the on-going notification when the service transitions out of foreground state. If a valid notification object is not passed in, the service will not be transitioned into the foreground state. * The `TransferService` can now be started using `startForegroundService` method to move the service to foreground state. The service can be invoked in the following way to transition the service to foreground state: `getApplicationContext().startForegroundService(intent);`. ### Bug Fixes * **Amazon S3** * Fixed a bug in `TransferUtility` where the state is not set to '`WAITING_FOR_NETWORK` when network goes offline during execution of transfers. * Fixed a bug where objects with key name containing characters that require special handling are uploaded with URL encoded key name on the S3 bucket. * Since `2.4.0` version of the SDK, the key name containing characters that require special handling are URL encoded and escaped `( space, %2A, ~, /, :, ', (, ), !, [, ] )` by the `AmazonS3Client`, after which the AWS Android Core Runtime encodes the URL resulting in double encoding of the key name. * Starting `2.11.0`, the additional layer of encoding and escaping done by `AmazonS3Client` is removed. The key name will not be encoded and escaped by `AmazonS3Client`. Now, the key name that is given to `AmazonS3Client` or `TransferUtility` will appear on the Amazon S3 console as is. * See [issue #526](https://github.com/aws-amplify/aws-sdk-android/issues/526), [issue #321](https://github.com/aws-amplify/aws-sdk-android/issues/321), [issue #360](https://github.com/aws-amplify/aws-sdk-android/issues/360) , [issue #545](https://github.com/aws-amplify/aws-sdk-android/issues/545), [issue #597](https://github.com/aws-amplify/aws-sdk-android/issues/597). * Fixed a bug where `AmazonS3Client.listObjects` operation executed on a bucket, with key names containing characters that require special handling, returns the `ListObjectsResponse` with the key names being URL encoded. * When a S3 bucket contans objects with key names containing characters that require special handling, and since the SDK has an XML parser, (XML 1.0 parser) which cannot parse some characters, the SDK is required to request that Amazon S3 encode the keys in the response. This can be done by passing in `url` as `encodingType` in the `ListObjectsRequest`. * Since `2.4.0`, there was a bug where the SDK did not decode the key names which are encoded by S3 when `url` is requested as the `encodingType`. This is fixed in `2.11.0`, where the SDK will decode the key names in the `ListObjectsResponse` sent by S3. * If you have objects in S3 bucket that has a key name containing characters that require special handling, you need to pass the `encodingType` as `url` in the `ListObjectsRequest`. ### Misc. Updates * **Amazon S3** * Allow requester-pays access for `listObjects` and `listObjectsV2` requests. ## [Release 2.10.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.10.1) ### Bug Fixes * **Amazon Pinpoint** * Fixed a bug where `Attributes` were not being sent in the `Event` payload while submitting events to Pinpoint. See [PR #641](https://github.com/aws-amplify/aws-sdk-android/pull/641) ## [Release 2.10.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.10.0) ### Misc. Updates * Model updates for the following services * Amazon Lex * Added overrides to various `InteractionClient` and `LexServiceContinuation` methods, to allow passing request attributes * **Breaking API Changes:** The following APIs have been changed: * `PostContentRequest`, `PostContentResponse` * Certain properties which used to have a type of `Map` are now `String`. This requires your calling code to JSON serialize and base64-encode the value. The `get`, `set` and `with` APIs of the following properties are affected: - `PostContentRequest.requestAttributes` - `PostContentRequest.sessionAttributes` - `PostContentRequest.slots` - `PostContentResponse.requestAttributes` - `PostContentResponse.sessionAttributes` - `PostContentResponse.slots` ## [Release 2.9.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.9.2) ### Bug Fixes * **AWS IoT** * `AWSIotMqttManager` passes publish exceptions via the callback. If callback is not provided it throws `AmazonClientException`. * `AWSIotMqttManager` logs the reconnection errors and pass it to the user provided connection callback. * **Amazon Pinpoint** * Fixed bug that could potentially cause rejected events to be dropped incorrectly because service response could not be unmarshalled. The response will now be processed correctly and events rejected by the service will be retried. * **Amazon S3** * Fixed a bug where a disk operation to remove completed transfers from database was performed on the main thread. See [issue #603](https://github.com/aws-amplify/aws-sdk-android/issues/603) ## [Release 2.9.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.9.1) ### New Features * **Amazon Cognito Auth** * Added customization for CustomTabs through `setCustomTabsExtras()` in the builder. See [PR #608](https://github.com/aws-amplify/aws-sdk-android/pull/608) ### Bug Fixes * **AWS IoT** * Fixed bug that leaked threads during reconnect. See [PR #601](https://github.com/aws-amplify/aws-sdk-android/pull/601) * Fixed reporting of failed message publishes during reconnect. See [PR #407](https://github.com/aws-amplify/aws-sdk-android/pull/407) * Fix reconnection failure upon network disconnect. Any subsequent reconnect honors the value passed to the cleanSession flag. See [issue #584](https://github.com/aws-amplify/aws-sdk-android/issues/584) and [PR #612](https://github.com/aws-amplify/aws-sdk-android/pull/612) * **AWS Mobile Client** * Fixed exception being thrown from `getCredentials()` and `refresh()` to adhere to `AmazonClientException` to allow other portions of SDK to catch properly. Previously a generic `RuntimeException` was being thrown; `AmazonClientException` is a subclass of `RuntimeException`. See [issue #588](https://github.com/aws-amplify/aws-sdk-android/issues/588) ## [Release 2.9.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.9.0) ### New Features * **AWS Core Runtime** * Added support for EU (Stockholm) region - `eu-north-1`. ### Bug Fixes * **Amazon Pinpoint** * `AppPackageName`, `AppTitle`, `AppVersionCode`, `SdkName` fields will now be accepted as part of the `Event` when submitting events from your app to Amazon Pinpoint. This fixes the issue where the event when exported by Amazon Kinesis Streams was missing these fields in the exported event. ### Misc. Updates * Model updates for the following services * Amazon Pinpoint * **Breaking API Changes:** The following APIs have been changed: * `PutEventsRequest` * The type of `Endpoint` field is now changed back from `EndpointRequest` to `PublicEndpoint`. * `PutEventsResponse` * `PutEventsResponse` will have an `EventsResponse` field. The `Results` object in the `PutEventsResponse` is now nested under `EventsResponse`. * **Amazon Cognito Sync** * This library is deprecated. Please use [AWS AppSync](https://aws-amplify.github.io/docs/android/api#graphql-realtime-and-offline) for synchronizing data across devices. * **Amazon Mobile Analytics** * This library is deprecated. Please use [Amazon Pinpoint](https://aws-amplify.github.io/docs/android/analytics#using-amazon-pinpoint) for analytics. ## [Release 2.8.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.8.5) ### New Features * **AWS Mobile Client** * Support `showSignIn` without Cognito Identity Pool configured. See [issue #592](https://github.com/aws-amplify/aws-sdk-android/issues/592) * **Amazon Cognito Auth** * Support identity provider identifier setting. See [PR #602](https://github.com/aws-amplify/aws-sdk-android/pull/602) ### Bug Fixes * **AWS Mobile Client** * Fix state change to `GUEST` mode which was not being triggered previously and would stay in `SIGNED_OUT` mode. This state is triggered by calling `getCredentials` or `getIdentityId` while signed-out and unauthenticated access is enabled in Cognito Identity Pools. * **AWS Auth SDK** * Fix forced change password view's IDs to prevent crash. See [issue #586](https://github.com/aws-amplify/aws-sdk-android/issues/586) * **Amazon Cognito Identity Provider** * Fix secret hash generation for empty value of client secret. Allows for operations such as sign-up to occur without client secret. See [issue #587](https://github.com/aws-amplify/aws-sdk-android/issues/587) [PR #593](https://github.com/aws-amplify/aws-sdk-android/pull/593) * **Amazon Lex** * Fix race condition for microphone access when no speech is detected during interaction. ### Misc. Updates * Model updates for the following services * AWS IoT * AWS Lambda ## [Release 2.8.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.8.4) ### Bug Fixes * **AWS Mobile Client** * Fix an issue persisting the username between launches. The method `getUsername()` should retain the username while signed-in. * **AWS IoT** * Removed validation for IoT endpoint. * Fix an issue in parsing the region from ATS enabled endpoint. See [PR #580](https://github.com/aws-amplify/aws-sdk-android/pull/580) ## [Release 2.8.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.8.3) ### Enhancements * **Amazon Polly** * Add support for new voices `Bianca`, `Lucia` and `Mia`. ### Bug Fixes * **Amazon DynamoDB Document Model** * Fixed the typo (`defination` -> `definition`) in the following `IllegalStateException` messages. * `hash key type does not match the one in table definition` * `range key type does not match that of table definition` * **Amazon Pinpoint** * Fix an issue where the consecutive direct send messages / send user messages (excluding campaign) replaces the previous notifications. Now the request identifier for the notification is changed from the hashcode of `:` to the hashcode of a unique identifier for Direct send messages / send user messages (excluding campaign), so that the notifications are unique within the application. See [AWS Forums Post](https://forums.aws.amazon.com/thread.jspa?threadID=291743) ### Misc. Updates * Model updates for the following services * Amazon Auto Scaling * Amazon Comprehend * Amazon Kinesis Firehose * Amazon Polly ## [Release 2.8.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.8.2) ### Bug Fixes * **AWS Core Runtime** * Fix logging detection to prevent crash during initialization on Android Oreo and above. [issue #562](https://github.com/aws-amplify/aws-sdk-android/issues/562) ## [Release 2.8.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.8.1) ### New Features * **AWS Core Runtime** * Added support for GovCloud US East region `us-gov-east-1`. ### Enhancements * **AWS Mobile Client** * General improvements to synchronization, null checking, and state management. ## [Release 2.8.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.8.0) ### New Features * **AWS Mobile Client** * The `AWSMobileClient` provides client APIs and building blocks for developers who want to create user authentication experiences. It supports the following new features: - User state tracking: `AWSMobileClient` offers on-demand querying for the “login state” of a user in the application. - Credentials management: Automatic refreshing of `Cognito User Pools` `JWT Token` and `AWS Credentials` from `Cognito Identity`. - Offline support: `AWSMobileClient` is optimized to account for applications transitioning from offline to online connectivity, and refreshing credentials at the appropriate time so that errors do not occur when actions are taken and connectivity is not available. - Drop-in Auth UI: `AWSMobileClient` client supports easy “drop-in” UI for your application. - Simple, declarative APIs `signUp`, `signIn`, `confirmSignIn`, etc. > Note: The existing methods of `AWSMobileClient` are deprecated and will be removed in a future minor version. `AWSMobileClient` now takes a dependency on `AWSCognitoIdentityProvider`(Cognito User Pools SDK) package to offer integration with `CognitoUserPools`. When using the new drop-in UI, `AWSAuthUI` and `Social sign-in` features continue to be pluggable dependencies for `AWSMobileClient`. All documentation is now centralized at https://aws-amplify.github.io/ ### Enhancements * **Amazon Kinesis Video Streams** * Improve exception handling. * Lower default memory allocation to 385MB to reduce crashes from over-allocation. * **Breaking API Changes** * Remove `streamName` parameter from `KinesisVideoClient.registerMediaSource()` as `MediaSource` already has the stream name in `StreamInfo`. * Add `KinesisVideoClient.unregisterMediaSource()` to remove `MediaSource` to `KinesisVideoProducerStream` binding from `KinesisVideoClient`. Customers can use `unregisterMediaSource()` after they stop streaming, so `MediaSource` data will not to be sent to Kinesis Video Streams. * Add `getStreamInfo()` to `MediaSource` instead of `MediaSourceConfiguration`. If customers have implemented their own `MediaSource` and `MediaSourceConfiguration`, they would need to provide stream information via `MediaSource.getStreamInfo()`. The `MediaSourceConfiguration.getStreamInfo()` will not work. * The following classes are no longer publicly available. * `MediaSource` * `MediaSourceConfiguration` * `MediaSourceSink` * `AbstractKinesisVideoClient` * `NativeKinesisVideoClient` * `BytesGenerator` * `BytesMediaSource` * `BytesMediaSourceConfiguration` * `ProducerStreamSink` * `KinesisVideoServiceClient` * `NativeKinesisVideoProducerJni` * `NativeKinesisVideoProducerStream` * `NativeLibraryLoader` * `KinesisVideoMetrics` * `KinesisVideoProducer` * `KinesisVideoProducerStream` * `KinesisVideoStreamMetrics` * `ReadResult` * `ServiceCallbacks` * `com.amazonaws.kinesisvideo.service.exception.AccessDeniedException` * `com.amazonaws.kinesisvideo.service.exception.AmazonServiceException` * `com.amazonaws.kinesisvideo.service.exception.ResourceInUseException` * `com.amazonaws.kinesisvideo.service.exception.ResourceNotFoundException` * `AckConsumer` * `BlockingAckConsumer` * `DefaultServiceCallbacksImpl` ## [Release 2.7.7](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.7.7) ### Bug Fixes * **AWS IoT** * Handle exception during `AWSIotMqttManager.connect` call and pass it through the status callback. See [issue #556](https://github.com/aws/aws-sdk-android/issues/556) ### Misc. Updates * Generate Javadoc for Amazon Kinesis and Amazon Kinesis Firehose clients. See [issue #560](https://github.com/aws/aws-sdk-android/issues/560) * Model updates for the following services * AWS IoT ## [Release 2.7.6](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.7.6) ### Bug Fixes * **Amazon S3** * Fixed the regression introduced in `2.7.4` to support transfer objects with name containing special characters. ### Enhancements * **AWS Auth SDK** * Added support for forced changed password in the sign-in flow of the UI. [issue #374](https://github.com/aws/aws-sdk-android/issues/374) * UI activities will show keyboard by default when requesting input from the end-user. [issue #550](https://github.com/aws/aws-sdk-android/issues/550) * Preserve sign-up form fields when sign-up validation fails so that end-users can correct and try again. [issue #460](https://github.com/aws/aws-sdk-android/issues/460) * Automatically sign-in user after actions such as sign-up or forgot password. [issue #460](https://github.com/aws/aws-sdk-android/issues/460) * Show the partially redacted destination of the MFA code on the screen when end-user needs to input a code. ### Misc. Updates * Model updates for the following services * Amazon Comprehend * Amazon Transcribe ## [Release 2.7.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.7.5) ### Bug Fixes * **Amazon Cognito Identity Provider** * Synchronize to reduce network calls when refreshing the Cognito User session. See [pr #272](https://github.com/aws/aws-sdk-android/pull/272) * **AWS IoT** * Fix a bug to prevent crashes when concurrent threads publish messages. See [pr #532](https://github.com/aws/aws-sdk-android/pull/532/) ## [Release 2.7.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.7.4) ### Bug Fixes * **Amazon S3** * Fix a bug in specifying a custom Security Provider for client-side encryption. * `AmazonS3EncryptionClient` (Client-side encryption) is deprecated. You can secure your content in S3 in two ways: a) For uploads, you can encrypt the file locally using an algorithm of your choice and use the TransferUtility API to upload the encrypted file to S3. For downloads, you can use the TransferUtility API to download the file and then decrypt it using the algorithm that you used to upload the file. b) `ServerSideEncryption`: There are multiple options available for ServerSide Encryption. You can setup encryption at the S3 bucket level using the AWS S3 console. When encryption is setup at the bucket level, all objects in the bucket are encrypted. You can also use the AWS console to encrypt individual objects after they have been uploaded. Another option is to request ServerSide encryption for the object being uploaded using the SDK. * Fix a bug to support transfer objects with name containing special characters. '+', '*', '%7E' and '%2F' characters are URL-encoded. ## [Release 2.7.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.7.3) ### Bug Fixes * **Amazon Kinesis** * Use different patition keys for each record within a single batch when partition key is not specified by caller. ## [Release 2.7.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.7.2) ### Bug Fixes * **Amazon Pinpoint** * Fix notifications from not showing when notification image could not be loaded. Notifications are now expandable. ## [Release 2.7.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.7.1) ### Enhancements * **AWS IoT** * Added support for new BJS endpoint serving ATS server cert in format: [customer_id.ats.iot.cn-north-1.amazonaws.com.cn] ### Misc. Updates * Model updates for the following services * Amazon CloudWatch Logs * Amazon DynamoDB * Amazon Elastic Load Balancing(ELB) * Amazon Parrot * Amazon Simple Email Service (SES) ## [Release 2.7.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.7.0) ### Enhancements * **Amazon S3** * Starting version `2.7.0` of the SDK, `TransferService` logic has been refactored. This service now will be responsible only for monitoring network connectivity changes. When the network goes offline, the transfers that are in progress will be paused. When the network comes back online, the transfers that are paused will be resumed. If you expect your app to perform long-running transfers in the background, you need to initiate the transfers from a background service of your choice. * The `TransferService` will not be started or stopped by `TransferUtility` anymore. You have to start `TransferService` manually from your application. A recommended way is to start the service upon Application startup. One way you can do this is to include the following line in the `onCreate` method of your app's Application class. ```java getApplicationContext().startService(new Intent(getApplicationContext(), TransferService.class)); ``` ## [Release 2.6.31](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.31) ### Enhancements * **Amazon Polly** * Added support for new voice `Zhiyu`. ## [Release 2.6.30](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.30) ### Bug Fixes * **Amazon Cognito Identity Provider** * Compute and send secret hash when client secret is present for Custom Authentication Flow. * **AWS Core** * Fixed a bug where getting a logger using Apache Commons Logging would crash starting Android 9.0 (Pie / API Level 28). See [pull #521](ttps://github.com/aws/aws-sdk-android/pull/521). Now, Apache Commons Logging would be used if it's being added as a dependency, otherwise `android.util.Log` will be used. ## [Release 2.6.29](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.29) ### Bug Fixes * **AWS IoT** * `setMaxAutoReconnectAttepts` method in `AWSIotMqttManager` is deprecated. Please use `setMaxAutoReconnectAttempts` instead. ### Misc. Updates * Model updates for the following services * Amazon Cognito Identity Provider * Amazon DynamoDB * Amazon Lex * Amazon Rekognition ## [Release 2.6.28](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.28) ### Bug Fixes * **Amazon Cognito Auth** * Fix an issue where `getAppWebDomain` was used instead of `getAppId` which caused the SDK to return isAuthenticated as false for a logged in user. See [issue #508](https://github.com/aws/aws-sdk-android/issues/508) * Added identity provider as parameter to the CognitoAuth builder to allow developers to launch hosted UI directly to a certain social provider. See [issue ##494](https://github.com/aws/aws-sdk-android/issues/494) and [issue ##230](https://github.com/awslabs/aws-sdk-android-samples/issues/230) ### Misc. Updates * Model updates for the following services * Amazon CloudWatch Logs * Amazon DynamoDB * Amazon KMS * Amazon Pinpoint * Amazon Transcribe ## [Release 2.6.27](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.27) ### New Features * **Amazon Polly** * Amazon Polly enables female voice Aditi to speak Hindi language. ### Bug Fixes * **AWS IoT** * Add customer callback when exception is thrown in client connect. * **Amazon Cognito Identity** * Fixes developer authentication flow in the `cn-north-1` region. * **AWS Lambda** * Fix a bug in `LambdaInvocationHandler` where the `InvocationType` is always set to `RequestResponse` even if `LogType` is `None`. See [issue #459](https://github.com/aws/aws-sdk-android/issues/459) ### Misc. Updates * Model updates for the following services * Amazon DynamoDB ## [Release 2.6.26](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.26) ### Enhancements * **Amazon Polly** * Added support for new `SynthesisTask` feature which allows asynchronous and batch processing. ### Misc. Updates * Model updates for the following services * Amazon Comprehend * Amazon DynamoDB * AWS IoT * Amazon Pinpoint * Amazon Polly * Amazon Rekognition * Amazon Transcribe ## [Release 2.6.25](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.25) ## New Features * **Amazon Kinesis Video Streams** * Updated models for HLS streaming feature. Add `AWSKinesisVideoArchivedMediaClient`and dependency `implementation 'com.amazonaws:aws-android-sdk-kinesisvideo-archivedmedia:2.6.25'` to access HLS streaming feature. ## [Release 2.6.24](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.24) ### Bug Fixes * **Amazon Cognito Identity Provider** * Fix bug that prevents authentication with the username and password flow. See (issue #484)[https://github.com/aws/aws-sdk-android/issues/484] ## [Release 2.6.23](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.23) ### Enhancements * **Amazon S3** * Support user metadata headers. ## [Release 2.6.22](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.22) ### Enhancements - **Amazon Polly** - Added support for new voice - `Lea`. ## [Release 2.6.21](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.21) ### Enhancements * **Amazon Kinesis Streams** and **Amazon Kinesis Firehose** * Added `DeadLetterListener` to allow for records that cannot be retried or exceeded the retry limit to be handled. * Added one automatic retry for unmarshall errors when submitting all records. ### Misc. Updates * Model updates for the following services * Amazon Auto Scaling * Amazon Cognito Identity * Amazon Cognito Identity Provider * Amazon Cognito Sync * Amazon DynamoDB * Amazon Elastic Load Balancing (ELB) * Amazon Kinesis Firehose * Amazon Kinesis Streams * Amazon Kinesis Video Streams * Amazon Lex * Amazon Machine Learning * Amazon Pinpoint * Amazon Polly * Amazon Rekoginiton * Amazon Security Token Service (STS) * Amazon Simple Email Service (SES) * AWS IoT * AWS Key Management Service (KMS) * AWS Lambda ## [Release 2.6.20](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.20) ### New Features * **Amazon Comprehend** * Amazon Comprehend is a natural language processing (NLP) service that uses machine learning to find insights and relationships in text. * **Amazon Translate** * Amazon Translate is a neural machine translation service that delivers fast, high-quality, and affordable language translation. ### Misc. Updates * **Amazon CloudWatch Logs** * Update Amazon CloudWatch Logs client to the latest service model. * **Amazon Cognito Identity** * Update Amazon Cognito Identity client to the latest service model. * **Amazon Lex** * Update Amazon Lex client to the latest service model. ### Bug Fixes * **Amazon S3** * Support Storage Class in `TransferUtility`. See [pr #398](https://github.com/aws/aws-sdk-android/pull/398/) ## [Release 2.6.19](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.19) ### New Features * **Amazon Transcribe** * Amazon Transcribe is an automatic speech recognition (ASR) service that makes it easy for developers to add speech to text capability to their applications. ### Bug Fixes * **Amazon CloudWatch Logs** * Fix signing issue for `AmazonCloudWatchLogsClient`. See [issue #453](https://github.com/aws/aws-sdk-android/issues/453) * **AWS IoT** * Use `ConcurrentHashMap` to avoid `ConcurrentModificationException`. See [PR #330](https://github.com/aws/aws-sdk-android/issues/330) ## [Release 2.6.18](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.18) ### Enhancements * **Amazon Kinesis Video Streams** * Add handling of token rotation, error recovery and the re-streaming in general. * **Breaking API Changes** |Class|2.6.17 API|2.6.18 API |-----|----------|---------- | KinesisVideoProducerStream|getStreamData(byte[], int, int)
return type: int|getStreamData(byte[], int, int, ReadResult)
return type: void | NativeKinesisVideoProducerJni|getStreamData(long, byte[], int, int)
return type: int|getStreamData(long, byte[], int, int , ReadResult)
return type: void | NativeKinesisVideoProducerStream|getStreamData(@ byte[], int, int)
return type: int|getStreamData(@ byte[], int, int, ReadResult)
return type: void ## [Release 2.6.17](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.17) ### Bug Fixes * **Amazon Pinpoint** * Issue with Android API level 23 causing crashes when generating notification icon from a bitmap. Updated SDK behavior to only generate icon from a bitmap on API level 24 and above. * Fixed an issue when the userId was unset, registering for notifications would clobber the userId on the server. This overwrote any value set by `updateEndpointProfile`. Set user id to empty string to reset server user id, null to retain server value. * Issue with ANRs (Application Not Responding) when downloading images for notifications. Updated SDK behavior to background download image tasks. * Added an option to specify a custom ExecutorService through PinpointConfiguration for the TargetingClient. Use `PinpointConfiguration.withExecutor(ExecutorService)` to choose an Executor to register for Pinpoint notifications and to run handlers. Choosing a single thread Executor can be used when running handlers sequentially on the same thread after registration. * **Amazon S3** * Optimized the `TransferService.loadAndResumeTransfersFromDB` to minimize the time holding the database connection. ## [Release 2.6.16](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.16) ### Enhancements * **Amazon S3** * Added `TransferUtilityOptions` to configure the size of the transfer thread pool and the time interval in `TransferService` to check for unfinished transfers and resume them. * Fixed bugs and added some performance improvements. ## [Release 2.6.15](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.15) ### New Features * **Amazon Cognito Identity Provider** * Support for user migration over lambda trigger in Cognito User Pools. ### Enhancements * **Amazon Kinesis Video Streams** * **Breaking API Changes**: Added `uploadHandle` parameter to the following APIs. * `KinesisVideoProducerStream.getDataStream()` * `KinesisVideoProducerStream.fragmentAck()` * `KinesisVideoProducerStream.streamTerminated()` * `StremCallbacks.streamDataAvailable()` * `StremCallbacks.streamClosed()` * `NativeKinesisVideoProducerJni.streamClosed()` * `NativeKinesisVideoProducerJni.fragmentAck()` * `NativeKinesisVideoProducerJni.streamDataAvailable()` * `NativeKinesisVideoProducerJni.streamTerminated()` * `NativeKinesisVideoProducerStream.getDataStream()` * `NativeKinesisVideoProducerStream.fragmentAck()` * `NativeKinesisVideoProducerStream.parseFragmentAck()` * `NativeKinesisVideoProducerStream.streamTerminated()` * `NativeKinesisVideoProducerStream.streamDataAvailable()` * `NativeKinesisVideoProducerStream.streamClosed()` * `DefaultStreamCallbacks.streamDataAvailable()` * `DefaultStreamCallbacks.streamClosed()` * `AckConsumer.AckConsumer()` * `DefaultServiceCallbacksImpl.CompletionCallback()` ## [Release 2.6.14](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.14) ### Bug Fixes * **Amazon CloudWatch Logs** * Allow `Amazon CloudWatch Logs` SDK to be fetched via maven. See [issue #392](https://github.com/aws/aws-sdk-android/issues/392) ### Enhancements * **Amazon Cognito Identity Provider** * Repackaged Amazon Cognito Identity Service Provider Android SDK to change dependency for ASF components. * **Amazon Cognito Auth** * Repackaged Amazon Cognito Auth Android SDK to change dependency for ASF components. Use `{ transitive = true; }` while importing `aws-android-sdk-cognitoauth` via maven in gradle. ## [Release 2.6.13](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.13) ### Bug Fixes * **Amazon S3** * Fix the upload method with CannedAccessControlList and TransferListener in TransferUtility. See [issue #388](https://github.com/aws/aws-sdk-android/issues/388) * **Amazon Cognito Auth** * Fixes bug - "Unexpected char 0x0a at 82 in header value" error, when using App clients with an associated secret. See [pr #367](https://github.com/aws/aws-sdk-android/pull/367) * Added `minSdkVersion` and `targetSdkVersion` in `AndroidManifest` * **AWS Mobile Client** * Added `minSdkVersion` and `targetSdkVersion` in `AndroidManifest` ### New Features * **AWS IoT** * Starting from this release, AWS IoT SDK by default sends metrics indicating which language and version of the SDK is being used. However, user may disable this by calling `setMetricsEnabled(false)` before calling `connect` method, if they do not want metrics to be sent. ## [Release 2.6.12](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.12) ### New Features * **AWS Core Runtime** * Added support for Europe (Paris) region `eu-west-3`. ### Bug Fixes * **AWS Auth SDK** * Added minimum sdks and target sdk version. * **Amazon Kinesis Video Streams** * Added minimum sdks and target sdk version. ## [Release 2.6.11](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.11) ### New Features * **AWS Core Runtime** * Added support for China (Ningxia) region `cn-northwest-1`. ## [Release 2.6.10](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.10) ### New Features * **Amazon Rekognition** * **Breaking API Change** * The `GenderType` enum entries have changed from `MALE` `FEMALE` to `Male` `Female`. * The `LandmarkType` enum entries have changed to camelcase. i.e. `EYE_LEFT` `LEFT_EYEBROW_LEFT` to `EyeLeft` `LeftEyebrowLeft` * Update the enum value of LandmarkType and GenderType to be consistent with service response. * Update to add face and text detection. * Update to Amazon Rekognition in general to latest API specifications. ### Bug Fixes: - **Amazon Pinpoint** - Improve error handling during event submission to ensure DB event corruption is handled gracefully (without crashing the app due to an uncaught exception). - **Amazon Kinesis Video Streams** - **Breaking API Change** `KinesisVideoAndroidServiceClient.getAwsAcuityClient()` is renamed to `KinesisVideoAndroidServiceClient.getAwsKinesisVideoClient()` for consistency. ## [Release 2.6.9](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.9) ### Bug Fixes: - **AWS Auth Core** - Fixed a bug where the `doStartupAuth` method in `IdentityManager` method introduced in 2.6.0 was misspelled as `doStartUpAuth` in SDK versions 2.6.7 and 2.6.8. The method now continues to have the name `doStartupAuth` from SDK version 2.6.9. ## [Release 2.6.8](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.8) ### New Features - **Support for Amazon Kinesis Video Streams**: Amazon Kinesis Video Streams is a fully managed video ingestion and storage service. It enables you to securely ingest, process, and store video at any scale for applications that power robots, smart cities, industrial automation, security monitoring, machine learning (ML), and more. Kinesis Video Streams also ingests other kinds of time-encoded data like audio, RADAR, and LIDAR signals. Kinesis Video Streams provides you SDKs to install on your devices to make it easy to securely stream video to AWS. Kinesis Video Streams automatically provisions and elastically scales all the infrastructure needed to ingest video streams from millions of devices. It also durably stores, encrypts, and indexes the video streams and provides easy-to-use APIs so that applications can access and retrieve indexed video fragments based on tags and timestamps. Kinesis Video Streams provides a library to integrate ML frameworks such as Apache MxNet, TensorFlow, and OpenCV with video streams to build machine learning applications. - **Amazon Cognito Auth** - Add support for the adaptive authentication feature of Amazon Cognito advanced security features (Beta). - **Amazon Cognito Identity Provider** - Add support for Time-based One-time Passcode multi-factor authentication. - Add support for the adaptive authentication feature of Amazon Cognito advanced security features (Beta). ## [Release 2.6.7](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.7) ### New Features - **AWS MobileClient** - Added `AWSMobileClient` to initialize the SDK and create instances of other SDK clients. Currently support is limited to `SignInUI`. AWSMobileClient creates the `AWSConfiguration` based on `awsconfiguration.json`, fetches the Cognito Identity and registers the SignIn providers with the permissions based on the `AWSConfiguration`. ### Enhancements - **Amazon Polly** - Added support for new voices - `Aditi` and `Seoyeon`. - Added support for new language code - `ko-KR`. - **Amazon Pinpoint** - Added support for notification channel on Android SDK 26 (Oreo). - On Android SDK 23 (Marshmallow) and newer devices, the large icon is not set if it is not present from the push payload and a small icon is set in the push payload. This allows setting only the small icon from the campaign in the Pinpoint console. - On Android SDK 23 and newer devices, if the small icon is set in a format that is an opaque color image, it is now converted to greyscale to prevent displaying a grey box. Small icons in the correct format of opaque white with a transparent background will still render appropriately. ### Bug Fixes: - **General** - Fixed domain returned for `cn-north-1` region and region parsing for `amazonaws.com.cn` domains. See [pr #362](https://github.com/aws/aws-sdk-android/pull/362). - **AWS IoT** - Increased default time to keep alive to 300 seconds. ## [Release 2.6.6](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.6) ### Bug Fixes: - **Amazon Pinpoint** - Fix locale issue for endpoint profile updates. See [issue #355](https://github.com/aws/aws-sdk-android/issues/355) and see [issue #354](https://github.com/aws/aws-sdk-android/issues/354) - **Amazon S3** - Fixed a bug in the download progress reporting for large files where the last status update could be a jump of 75% or more. The default for notification used to be 8K bytes chunks, it has been changed to 1024K bytes. The value can be changed using the `setNotificationThreshold` method of AmazonS3Client instead of being a constant. See [issue #333](https://github.com/aws/aws-sdk-android/issues/333) - **AWS IoT** - Fix validation for endpoint in China that ends with ".cn". See [issue #337](https://github.com/aws/aws-sdk-android/issues/337) ## [Release 2.6.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.5) ### Enhancements: - **Amazon Polly** - Added support for new voices - `Matthew` and `Takumi`. - Polly is now available in `ap-northeast-1` region. ### Bug Fixes: - **Amazon Cognito Identity Provider** - Fixed a bug in the deletion of CognitoUser where the callback function is not invoked when deletion is successful. See [issue #304](https://github.com/aws/aws-sdk-android/issues/304) ## [Release 2.6.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.4) ### Bug Fixes: - **Amazon Kinesis Firehose & Amazon Kinesis Streams** - Fixed a bug that caused infinite loops while reading local cache of streams used for batching. See [issue #182](https://github.com/aws/aws-sdk-android/issues/182) ## [Release 2.6.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.3) ### New Features: - **Amazon Pinpoint** - Add support for ADM and Baidu channels. Now Android developers will be able to target devices that leverage Amazon Device messaging and Baidu Cloud messaging. - **Amazon Cognito Identity Provider** - Support for Pinpoint Analytics integration in Cognito User Pools. ## [Release 2.6.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.2) ### Bug Fixes: - **AWS Auth SDK** - Fixed a bug in the creation of SignInButton. - Removed the manifest entries for Facebook Application ID and Google Play Services version. ## [Release 2.6.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.1) ### Bug Fixes: - **AWS Auth SDK** - Fixed border and shadow for Facebook and Google SignIn buttons. - Fixed the Android Support Package dependencies of the different auth clients. The Android Support Packages support-v4 and appcompat-v7 of all the auth clients now have the same version 23.0.1 and are optional dependencies. Apps consuming the auth clients will now declare the appcompat-v7 and support-v4 dependencies in the gradle manually. - **Amazon Pinpoint** - Notification icon handling has been improved. By default, when the Notification icon uses the app icon, the icon will now be shown in color on Apps targeting SDK version 21 or greater. This will be achieved by setting the large icon to the app icon and generating the small icon by converting the app icon image to gray scale. For Apps targeting SDK version below 21, the behavior remains the same and the color icon is shown. ## [Release 2.6.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.6.0) ### New Features: - **AWS Auth SDK** - Added new SDK for configurable User SignIn Screen with Amazon Cognito UserPools, Facebook SignIn and Google SignIn. - **AWS Core Runtime** - Added support for a configuration file `awsconfiguration.json` that can be used to construct: - `CognitoCredentialsProvider`, `CognitoCachingCredentialsProvider`, `CognitoUserPool`, `TransferUtility`, `DynamoDBMapper`, `PinpointConfiguration`, `CognitoSyncManager`, and `LambdaInvokerFactory`. ### Improvements: - **AWS S3** - Add builder pattern constructor to `TransferUtility`. - Add default bucket property in `TransferUtility` builder. The default bucket will be used when no bucket is specified. - **AWS Lambda** - Add builder pattern constructor to `LambdaInvokerFactory`. - **Amazon DynamoDB** - Add builder pattern constructor to `DynamoDBMapper`. - **Amazon Pinpoint** - Add configuration option to post notifications even if the app is in the foreground. ### Bug Fixes: - **Amazon Pinpoint** - Fixed bug that caused Pinpoint endpoint profile to incorrectly calculate the number of profile attributes and metrics. - **Amazon Lex** - Fixed aar file and added new architecture support arm64-v8a, mips, mips64, x86, x86_64. See [issue #298](https://github.com/aws/aws-sdk-android/issues/298) ## [Release 2.4.7](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.4.7) ### Improvements: - **Amazon Cognito Auth** - Making Cognito App Integration and Federation feature generally available - **AWS IoT** - Add API to enable/disable auto-resubscribe feature. ### Bug Fixes: - **AWS IoT** - Fixed bug that caused reconnecting to the session to throw an exception due to failure to obtain credentials. ## [Release 2.4.6](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.4.6) ### Bug Fixes: - **Amazon Cognito Identity Provider** - Fixed bug that caused `CognitoDeviceHelper.getDeviceKey` to return null on certain cases. See [issue #259](https://github.com/aws/aws-sdk-android/issues/259) - Fixed bug where `onSuccess` callback was missing from `verifyAttribute` function. See [issue #266](https://github.com/aws/aws-sdk-android/issues/266) - **Amazon Pinpoint** - Fix crash in Pinpoint SDK when getting locale's country code. ## [Release 2.4.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.4.5) ### Bug Fixes: - **Amazon S3** - Fixed bug that caused keys to convert spaces to url encoded characters. See [issue #310](https://github.com/aws/aws-sdk-android/issues/310) - **Amazon DynamoDB Document Model (Beta)** - Fixed bug that caused item updates to fail due to equality check error. ## [Release 2.4.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.4.4) ### New Features: - **Amazon DynamoDB Document Model (Beta)** - Added DynamoDB Document API: The Document API provides full JSON data support, use of Document Path to access part of a document, and new data types such as Map, Primitive, List, and Boolean. More information and sample code can be found in the [blog](https://aws.amazon.com/blogs/mobile/using-amazon-dynamodb-document-api-with-aws-mobile-sdk-for-android-part-1/). * **Amazon Cognito Auth (Beta)** - A new SDK that enables sign-up and sign-in for Amazon Cognito Your User Pools via a lightweight hosted UI. ### Bug Fixes: - **Amazon Pinpoint** - Change Pinpoint notification client to be a strong reference in Pinpoint notification receiver - **Breaking API Change** Please use `PinpointNotificationReceiver.setNotificationClient()` API instead of `setWeakNotificationClient`. - **Amazon S3** - Fixed bug in `TransferUtility` which caused the app to crash due to a race condition when loading Transfer Records from Transfer Database. See [issue #288](https://github.com/aws/aws-sdk-android/issues/288) ## [Release 2.4.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.4.3) ### Improvements: - **AWS IoT** - Update API to latest spec. - **Amazon Polly** - Added support for new voice id - `Vicki`. - **Amazon Pinpoint** - Update logging to be more restrictive. - Added support for app-level opt-out. ### Bug Fixes: - **All Services** - Fixed an issue where endpoint URLs were incorrectly set after using `setRegion.`. See [issue #290](https://github.com/aws/aws-sdk-android/issues/290) - **Amazon S3** - Fixed bug which caused gradle build error on commons-io. See [issue #282](https://github.com/aws/aws-sdk-android/issues/282) - Fixed NPE error while resuming transfers using `TransferUtility`. See [issue #299](https://github.com/aws/aws-sdk-android/issues/299) - Fixed `TransferUtility` observer progress tracking bug. See [issue #257](https://github.com/aws/aws-sdk-android/issues/257) ## [Release 2.4.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.4.2) ### Improvements: - **Amazon Lex** - Amazon Lex is now Generally Available. - Added support for input transcripts. - **Amazon Polly** - Added support for multiple Lexicons in presigned request. - Added support for speech marks. - **Amazon Rekognition** - Added support for content moderation and age range estimation. See [issue #281](https://github.com/aws/aws-sdk-android/issues/281) ### Bug Fixes: - **Amazon DynamoDB** - Fixed bug which did not use credentials provider when available in method `getClient(Region)`. - **Amazon S3** - Fixed bug which caused gradle build error on commons-io. See [issue #282](https://github.com/aws/aws-sdk-android/issues/282) ## [Release 2.4.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.4.1) ### New Features: - **Support for Amazon Cloudwatch Logs**: Amazon CloudWatch is a monitoring service for AWS cloud resources and the applications you run on AWS. You can use Amazon CloudWatch to collect and track metrics, collect and monitor log files, and set alarms. ### Bug Fixes: - **Amazon IoT**: fix an issue which triggers `NetworkOnMainThreadException` when calling `reconnectToSession()`. See [issue #261](https://github.com/aws/aws-sdk-android/issues/261) - **Amazon S3**: fixed maven dependencies. See [issue #276](https://github.com/aws/aws-sdk-android/issues/276) & [issue #268](https://github.com/aws/aws-sdk-android/issues/268) - **Amazon S3**: fixed an issue which caused resource path to be incorrectly encoded.See [AWS Forum Post](https://forums.aws.amazon.com/thread.jspa?threadID=252898) - **General**: checkstyle fixes across the sdk. - **General**: move all sdk's to use commons logging instead of LogCat. ## [Release 2.4.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.4.0) (03/21/2017) ### Improvements: - **Amazon Lex**:`LexVoiceButton` will now show an image of a bot when audio response from lex is being played. ### Bug Fixes: - **Amazon API Gateway**: Allow marshalling alternative date formats in API Gateway. - **Amazon Cognito Identity Provider**: Bug fix for missing required attribute Exception - **Amazon IoT**: fix typo's with variable names in `AWSIoTMQTTManager`. See [issue #220](https://github.com/aws/aws-sdk-android/pull/220). - **Amazon Lex**: Fix a bug which caused `readyToFulfill` to not file in `InteractionListener`. - **Amazon Pinpoint**:Fix cursor leakage in Pinpoint. - **Amazon Pinpoint**:Bug fixes for campaign open rate. - **Amazon Pinpoint**:`PinpointEndpointClient` to retain instance of endpoint. - **Amazon Pinpoint**:corrected the implemented for `optout` for profile. - **Amazon Pinpoint**:Deprecated formatted price in `MonetizationEventBuilder`. - **Amazon S3**: Bug Fixes with encryption client. - **Amazon S3**: SigV4 signing is now default for S3. See [issue 234](https://github.com/aws/aws-sdk-android/issues/234) & [issue #108](https://github.com/awslabs/aws-sdk-android-samples/issues/108). - **Amazon S3**: Added feature to specify listener in `TransferUtility.upload()`. See [issue #210](https://github.com/aws/aws-sdk-android/issues/210). - **Amazon S3**: Fixed a bug where when using `setAccelerateModeEnabled` caused uploads to fail. See [issue #264](https://github.com/aws/aws-sdk-android/issues/264). - **General** : Fixed a bug which caused incompatibility between maven releases and releases on [marketing page](https://aws.amazon.com/mobile/sdk). ## [Release 2.3.9](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.3.9) (02/02/2017) ### Improvements: - **Amazon Kinesis Firehose & Amazon Kinesis Streams**: Allow setting a static partition key in the KinesisRecorderConfig. See [issue #228](https://github.com/aws/aws-sdk-android/pull/228). - **AWS KMS**: Updated service to latest spec. ### Bug Fixes: - **Amazon Cognito Identity**: Fixed a bug that could cause a NullPointerException if credential refresh occured while another thread signed in with a provider. See [issue #247](https://github.com/aws/aws-sdk-android/pull/247). - **Amazon Cognito Identity Provider**: Fixed bugs in SRP and exception handling. - **Amazon Kinesis Firehose & Amazon Kinesis Streams**: Prevent KinesisRecorder.submitAllRecords() from potentially losing data if the service is killed by waiting until the data is transferred before removing it from the cache. See [issue #225](https://github.com/aws/aws-sdk-android/pull/225). - **Amazon Pinpoint**: Fixed a bug that caused a crash when opening a deep link. See [issue #246](https://github.com/aws/aws-sdk-android/pull/246). - **Amazon Lex**: Fix incorrect comparison for dialog states. See [issue #245](https://github.com/aws/aws-sdk-android/pull/245). ## [Release 2.3.8] (https://github.com/aws/aws-sdk-android/release/tag/release_v2.3.8) (12/20/2016) ### Bug Fixes: - **Amazon Pinpoint**: Fixed incorrect signer config in Pinpoint Analytics. - **Amazon S3**: Fixed a bug that caused TransferObserver.getBytesTransferred() to always return 0. See [issue #217](https://github.com/aws/aws-sdk-android/pull/217). - **Amazon S3**: Fixed a race condition in TransferService. See [issue #197](https://github.com/aws/aws-sdk-android/pull/197). ## [Release 2.3.7](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.3.7) (12/13/2016) ### New Features - **Support for Amazon Rekognition**: Rekognition is a deep-learning based service to search, verify and organize images. With Rekognition, you can detect objects, scenes, and faces in images. You can also search and compare faces. - **AWS Core Runtime**: Added Support for `eu-west-2`/LHR region in the SDK. ### Improvements - **AWS Core Runtime**: Added support for enabling curl logging in the SDK. See [issue](https://github.com/aws/aws-sdk-android/pull/200) - **AWS Lambda**: Update to Latest Models. ### Bug Fixes: - **Amazon Pinpoint**: Fixed a bug that caused setting wrong endpoint for pinpoint client. - **Amazon S3**: Fixed a bug that could cause NPE in Transfer Service. See [issue](https://github.com/aws/aws-sdk-android/issues/223). - **Amazon Cognito Identity Provider**: Fix incorrect exception being thrown in `CognitoDevice`. See [issue](https://github.com/aws/aws-sdk-android/pull/224). - **Amazon Cognito Identity Provider**: Fix a bug where `NewPasswordContinuation` throws `CognitoParameterInvalidException: Missing required attribute` even when the required user attributes have been set. See [issue](https://github.com/aws/aws-sdk-android/pull/216). ## [Release 2.3.6](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.3.6) (12/07/2016) ### Improvements - **AWS Core Runtime**: Added Support for `ca-central-1`/YUL region in the SDK. ### Bug Fixes - **Amazon SQS**: Fixed a bug that caused SQS send message to fail. See [issue](https://github.com/aws/aws-sdk-android/issues/218). - **Amazon Lex Runtime**: Fixed a bug where requests were not getting signed correctly. - **Amazon Pinpoint**: Fix serialization of endpoint profile bug. - **Amazon Mobile Analytics**: Ensure session file directories exist before saving ## [Release 2.3.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.3.5) (12/01/2016) ### New Features - **Support for Amazon Pinpoint**: Amazon Pinpoint makes it easy to run targeted campaigns to improve user engagement. Pinpoint helps you understand your users behavior, define who to target, what messages to send, when to deliver them, and tracks the results of the campaigns. ## [Release 2.3.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.3.4) (11/30/2016) ### New Features - **Support for Amazon Lex - Beta**: Amazon Lex is a service for building conversational interactions into any application using voice and text. With Lex, the same conversational engine that powers Amazon Alexa is now available to any developer, enabling you to build sophisticated, natural language, conversational bots (chatbots) into your new and existing applications. Amazon Lex provides the deep functionality and flexibility of automatic speech recognition (ASR) for converting speech to text and natural language understanding (NLU) to understand the intent of the text. This allows you to build highly engaging user experiences with lifelike, conversational interactions. - **Support for Amazon Polly**: Amazon Polly is a service that turns text into lifelike speech, making it easy to develop applications that use high-quality speech to increase engagement and accessibility. With Amazon Polly the developers can build speech-enabled apps that work in multiple geographies. ## [Release 2.3.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.3.3) (10/11/2016) ### Improvements - **AWS Core Runtime Library**: Support for `us-east-2/CMH` region in SDK. ## [Release 2.3.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.3.2) (10/06/2016) ### Improvements - **Amazon Cognito Identity Provider**: - Support for Admin Create User feature. - Allow SDK to refresh tokens which are about to expire within a pre-set threshold. ## [Release 2.3.1](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.3.1) (09/08/2016) ### Improvements - **API Gateway**: Added a generic invoker to execute requests for any path. ### Bug Fixes - **Amazon Cognito Identity Provider**: - Fixed a bug introduced by StandardCharsets that caused the Android SDK to be unavailable for API 18 and below. ## [Release 2.3.0](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.3.0) (07/28/2016) ### Improvements - **AWS Core Runtime Library**: Added support for `us-west-2/PDX` region for cognito identity. - **Amazon Cognito Identity Provider**: - Support for Custom authentication flows. Developers can implement custom authentication flows around Cognito Your User Pools. - Support for devices. - Global sign-out users, to sign-out from all devices. - **Amazon Cognito Sync**: Added support for `us-west-2/PDX` region. ### Bug Fixes - **Amazon Cognito Identity Provider**: - Authentication flow in Android SDK now uses Custom Authentication API. - Two new exceptions added for getSession API. These exceptions have been added to accurately represent the user state when the username is invalid and when the user is not confirmed. You will have to update your application to handle these exceptions. - UserNotFoundException: Returned when the username user does not exist. - UserNotConfirmedException: Returned when the user has not been confirmed. ## [Release 2.2.22](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.22) (07/27/2016) ### Bug Fixes - **Amazon Simple Email Service**: Resolved an issue where some SES APIs were missing from the 2.2.21. [#179](https://github.com/aws/aws-sdk-android/issues/179) ## [Release 2.2.21](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.21) (07/21/2016) ### Improvements - **Amazon Web Services**: General service updates and documentation improvements. - **AWS Core Runtime Library**: Allow custom `TrustManager` on `ClientConfiguration`. [#165](https://github.com/aws/aws-sdk-android/pull/165) - **AWS IoT**: Updated Eclipse Paho MQTT client to v1.1.0. [#145](https://github.com/aws/aws-sdk-android/issues/145) ### Bug Fixes - **Amazon Mobile Analytics**: Fixed crash while creating the base directory. [#126](https://github.com/aws/aws-sdk-android/issues/126) - **Amazon Cognito**: Fixed a token refresh bug in Your User Pools. ## [Release 2.2.20](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.20) (06/27/2016) ### New Features - **Amazon Web Services**: Introducing new AWS region Asia Pacific (Mumbai) region, endpoint ap-south-1. ### Improvements - **Amazon Web Services**: General service updates and documentation improvements. - **API Gateway**: Expose client configuration through ApiFactory. [#158](https://github.com/aws/aws-sdk-android/issues/158) - **Amazon Web Services**: Service clients are now generated with a new code gen system. Some trivial changes are listed below - List members in POJO are defaulted to null instead of an empty list to align with map members. Please perform null check to avoid NPE. When marshalling a list member, a null list will be omitted and an empty list will result in an empty array. - In `ListRecordsRequest` of Cognito Sync, the data type of `lastSyncCount` is changed from String to Long and that of `maxResult` from String to Integer. - In DynamoDB, the method `setKey(java.util.Map.Entry hashKey, java.util.Map.Entry rangeKey)` is removed from `GetItemRequest`, `UpdateItemRequest`, `DeleteItemRequest`, and `DeleteRequest`. Use `addKeyEntry(String key, AttributeValue value)` instead. `setExclusiveStartKey(java.util.Map.Entry hashKey, java.util.Map.Entry rangeKey)` is also removed from `QueryRequest` and `ScanRequest`. The alternative is `addExclusiveStartKeyEntry(String key, AttributeValue value)`. ### Bug Fixes - **API Gateway**: Fixed a bug where user agent is overwritten by `ApiHandler`. [#159](https://github.com/aws/aws-sdk-android/issues/159) ## [Release 2.2.19](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.19) (06/23/2016) ### New Features - **Amazon Cognito Identity**: Added support for SAML role resolution. ## [Release 2.2.18](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.18) (06/02/2016) ### Bug Fixes - **AWS Core Runtime Library**: Removed testing implementation for `X509TrustManager`, for more information [see](https://support.google.com/faqs/answer/6346016). ## [Release 2.2.17](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.17) (05/20/2016) ### New Features - **Amazon S3**: - Introducing a new version of the ListObjects (ListObjectsV2) API that allows listing objects with a large number of delete markers. See [GET Bucket (List Objects) Version 2](http://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html) for more details. - Added support for a new configuration named BucketAccelerateConfiguration which supports faster uploads/downloads to S3 buckets. See [Amazon S3 Transfer Acceleration](http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html). - Amazon S3 now supports cross-region replication, which provides automatic, asynchronous copying of objects across buckets in different AWS regions. For more information, see [Cross-Region Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) in the Amazon S3 Developer Guide. ### Bug Fixes - **AWS Core Runtime Library**: Fixed a potential bug during retry where content input stream is not reset correctly. - **Amazon Cognito**: Fixed a bug where Cognito Sign-in may fail on non US locale environment. [aws-sdk-android-samples #129](https://github.com/awslabs/aws-sdk-android-samples/issues/54) ## [Release 2.2.16](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.16) (05/10/2016) ### New Features - **AWS IoT**: The AWS IoT Device Gateway now supports MQTT over WebSockets. Build real-time mobile and web applications that interact over WebSockets, and easily scale to millions of simultaneous users. You can use WebSockets with Amazon Cognito to securely authenticate end-users to your apps and devices. ### Improvements - **Amazon Web Services**: General service updates and documentation improvements. - **AWS Core Runtime Library**: Removed verbose logging of errors in retries. - **AWS IoT**: Added MQTT message delivery callback. ### Bug Fixes - **Amazon S3**: Fixed a bug in TransferUtility caused by socket timeout exception. The exception is incorrectly treated as manually interrupt and thus is not reported to `TransferListener.onError(Exception)`. [#119](https://github.com/aws/aws-sdk-android/issues/119) and [#120](https://github.com/aws/aws-sdk-android/issues/120) - **Amazon Cognito**: Fixed a bug caused by `StandardCharsets` which is available from API level 19. [#129](https://github.com/aws/aws-sdk-android/issues/129) ## [Release 2.2.15](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.15) (04/19/2016) ### New Features - **Amazon Cognito Identity Provider**: You can now use Amazon Cognito to easily add user sign-up and sign-in to your mobile and web apps. Your User Pool in Amazon Cognito is a fully managed user directory that can scale to hundreds of millions of users, so you don’t have to worry about building, securing, and scaling a solution to handle user management and authentication. - **Amazon S3**: Canned ACL support when uploading objects to S3 with TransferUtility. [#63](https://github.com/aws/aws-sdk-android/issues/63) ### Bug Fixes - **Amazon S3**: A NPE bug in TransferUtility caused by network receiver. [#117](https://github.com/aws/aws-sdk-android/issues/117) and [#118](https://github.com/aws/aws-sdk-android/issues/118) ## [Release 2.2.14](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.14) (03/31/2016) ### New Features - **AWS Iot**: Added support for LWT (last will and testimony). - **Amazon SES**: Added support for custom MAIL FROM domains. ### Improvements - **Amazon S3**: Improved performance of S3 TransferUtility. - Now the number of parallel transfers is set to the number of processors (cores) + 1. [#111](https://github.com/aws/aws-sdk-android/issues/111) - Removed unnecessary network requests in download task. ### Bug Fixes - **AWS Core Runtime Library**: Addressed a potential bug in Cognito credentials provider. - **Amazon S3**: Fixed RejectedExecutionException in TransferUtility which may occur when the service is shutting down. [#113](https://github.com/aws/aws-sdk-android/issues/113) ## [Release 2.2.13](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.13) (02/25/2016) ### Improvements - **Amazon S3**: Tweaked the usage of TransferListener in S3 TransferUtility. - Now listeners are kept as strong references. They will be removed when transfers are completed. However user are still encouraged to clean up listeners themselves to prevent memory leak. [#93](https://github.com/aws/aws-sdk-android/issues/93) and [#101](https://github.com/aws/aws-sdk-android/issues/101) - Transfers in WAITING_FOR_NETWORK state can now be paused or canceled. [#102](https://github.com/aws/aws-sdk-android/issues/102) - Improved the experience to delete a transfer. [#104](https://github.com/aws/aws-sdk-android/issues/104) ### Bug Fixes - **AWS Core Runtime Library**: Addressed potential internalization bugs. [#96](https://github.com/aws/aws-sdk-android/issues/96) - **Amazon S3**: Fixed a ConcurrentModificationException bug caused by listeners being removed in their callbacks. [#103](https://github.com/aws/aws-sdk-android/issues/103) ## [Release 2.2.12](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.12) (02/12/2016) ### New Features - **AWS IoT**: [AWS IoT](https://aws.amazon.com/iot/) is now supported by the SDK. AWS IoT is a managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices. AWS IoT can support billions of devices and trillions of messages, and can process and route those messages to AWS endpoints and to other devices reliably and securely. With AWS IoT, your applications can keep track of and communicate with all your devices, all the time, even when they aren't connected. ### Improvements - **Amazon Web Services**: General service updates and documentation improvements. ## [Release 2.2.11](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.11) (01/28/2016) ### New Features - **AWS Key Management Service**: [AWS Key Management Service (KMS)](https://aws.amazon.com/kms/) is now supported by the SDK. AWS Key Management Service (KMS) is a managed service that makes it easy for you to create and control the encryption keys used to encrypt your data, and uses Hardware Security Modules (HSMs) to protect the security of your keys. AWS Key Management Service is integrated with several other AWS services to help you protect your data you store with these services. AWS Key Management Service is also integrated with AWS CloudTrail to provide you with logs of all key usage to help meet your regulatory and compliance needs. ### Improvements - **Amazon S3**: Revamped S3 TransferUtility. Huge performance boost and lots of enhancements. - Offload most database operations to background thread. - Re-architected transfer listeners. Moved away from ContentObserver. - Reduced the frequency of writing transfer states to database. - Better error reporting. Now the original exception is passed to [TransferListener.onError(int, Exception)](http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobileconnectors/s3/transferutility/TransferListener.html#onError(int,%20java.lang.Exception)). [#61](https://github.com/aws/aws-sdk-android/issues/61) - Allow user to resume a transfer in any state other than `TransferState.COMPLETED`. [#81](https://github.com/aws/aws-sdk-android/issues/81) and [#87](https://github.com/aws/aws-sdk-android/issues/87) - Better diagnostics of TransferService. You can dump its status with `adb shell dumpsys activity service com.amazonaws.mobileconnectors.s3.transferutility.TransferService`. It works only if the app is debuggable. - Better handling of network connectivity changes. - Other cleanups, bug fixes and improvements. - **Amazon S3**: Adds support of server-side encryption with AWS Key Management Service. See [Amazon S3 developer guide](http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) for more information. - **Amazon S3**: Signature Version 4 is now the default signing methods for all S3 requests as long as a region is specified or can be easily determined from the given endpoint. ## [Release 2.2.10](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.10) (01/06/2016) ### New Features - **Amazon Web Services**: Added support for new AWS region in South Korea (ap-northeast-2). - **Amazon Kinesis Firehose**: [Amazon Kinesis Firehose](https://aws.amazon.com/kinesis/firehose/) is the easiest way to load streaming data into AWS. It can capture and automatically load streaming data into Amazon S3 and Amazon Redshift, enabling near real-time analytics with existing business intelligence tools and dashboards you are already using today. See the [developer guide](http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/kinesis.html) for instructions about using `KinesisFirehoseRecorder`. ### Improvements - **Amazon S3**: Allow user to add or overwrite file extension to MIME type mapping so that AmazonS3 can identify the MIME type of consequent uploads and set the content type correctly. [#83](https://github.com/aws/aws-sdk-android/issues/83) - **AWS Lambda**: Added a method to access the installation id of the client context that is sent to AWS Lambda. [#74](https://github.com/aws/aws-sdk-android/issues/74) - **Amazon Web Services**: General service updates and documentation improvements. ### Bug Fixes - **Amazon S3**: Fixed the termination condition of TransferService so that it stays alive when there are active transfers waiting for network. [#70](https://github.com/aws/aws-sdk-android/issues/70) - **Amazon S3**: Fixed a resource leak issue in TransferUtility caused by unclosed cursor. - **AWS Lambda**: Fixed a potential issue with Lambda when invoking methods with no args. [#80](https://github.com/aws/aws-sdk-android/pull/80) - **API Gateway**: Updated the message of ApiClientException to match exactly what the API responds. [#78](https://github.com/aws/aws-sdk-android/pull/78) ## [Release 2.2.9](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.9) (11/18/2015) ### New Features - **Amazon Web Services**: General service updates and documentation improvements. ### Bug Fixes - **Amazon S3**: Fixed slow initialization of Amazon S3 client. [#69](https://github.com/aws/aws-sdk-android/issues/69) - **General**: Updated instruction for proguard. ## [Release 2.2.8](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.8) (11/05/2015) ### New Features - **Amazon Web Services**: General service updates and documentation improvements. ### Bug Fixes - **AWS Core Runtime Library**: Improved retry logic so that aborting a request will not cause a retry. ## [Release 2.2.7](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.7) (10/08/2015) ### New Features - **AWS Lambda**: You can now maintain multiple versions of your Lambda function code. Versioning allows you to control which Lambda function version is executed in your different environments (e.g., development, testing, or production). You can also set up your Lambda functions to run for up to five minutes allowing longer running functions such as large volume data ingestion and processing jobs. ### Bug Fixes - **Amazon S3**: Resolved a hostname verification issue when there is a . in the bucket name. [#59](https://github.com/aws/aws-sdk-android/issues/59) - **Amazon S3**: Resolved an issue when using SSE-C with Transfer Manager - **Amazon API Gateway**: Fixed an issue where the incorrect content length was sent to the service when the body contained UTF-8 characters that were multiple bytes in length. [#62](https://github.com/aws/aws-sdk-android/issues/62) ## [Release 2.2.6](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.6) (09/17/2015) ### New Features - **Amazon Web Services**: General service updates and documentation improvements. - **Amazon S3**: Added support of ObjectMetadata for upload in Amazon S3 `TransferUtility`. [#56](https://github.com/aws/aws-sdk-android/issues/56) ### Bug Fixes - **AWS Core Runtime Library**: Fixed a potential NPE issue caused by ResponseCache by explicitly disabling HTTP response cache. - **Amazon API Gateway**: Fixed a bug where the region for SigV4 signing is pinned to us-east-1. Now the region is deduced from API's invoke URL and can optionally be overwritten via `ApiClientFactory.region(String)`. ## [Release 2.2.5](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.5) (08/07/2015) ### New Features - **Amazon Web Services**: General service updates and documentation improvements on Amazon Elastic Compute Cloud (EC2) and Auto Scaling. - **Github**: Open sourced unit tests and added this changelog. ### Bug Fixes - **Amazon S3**: Fixed a bug when using Amazon S3 `TransferUtility` on a worker thread. [#51](https://github.com/aws/aws-sdk-android/issues/51) - **AWS Core Runtime Library**: Fixed a bug caused by improper closing of a GZIP encoded content stream. See [AWS forum](https://forums.aws.amazon.com/thread.jspa?threadID=204659). - **Maven**: Changed the dependency scope of Apache Commons Logging to [`provided`](https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html) which can remove compilation warnings and improve capability with Gradle. ## [Release 2.2.4](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.4) (07/22/2015) ### New Features - **Amazon S3**: The S3 transfer utility has been added to the SDK, which replaces the now deprecated transfer manager. This utility automatically pauses and resumes transfers when internet connectivity is lost and reestablished. The utility also automatically pauses transfers if an app crashes. Developers can manually pause and resume transfers without having to persist any data themselves. For more information, see our [blog](http://mobile.awsblog.com/post/Tx2KF0YUQITA164/AWS-SDK-for-Android-Transfer-Manager-to-Transfer-Utility-Migration-Guide) and [Getting Started documentation](http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/s3transferutility.html) for more info. - **Amazon Mobile Analytics**: A new simpler constructor has been added to the MobileAnalyticsManager, and transmission of events over WAN is now enabled by default. ## [Release 2.2.3](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.3) (07/09/2015) ### New Features - **Amazon API Gateway**: Added a runtime library for the generated SDK of Amazon API Gateway. Amazon API Gateway makes it easy for AWS customers to publish, maintain, monitor, and secure application programming interfaces (APIs) at any scale. To know more please visit [Amazon API Gateway]( http://aws.amazon.com/api-gateway/). ### Bug Fixes - **Amazon S3**: Fixed an issue in Amazon S3 where the range information is incorrect in PersistableTransfer. [#35](https://github.com/aws/aws-sdk-android/issues/35) - **AWS Core Runtime Library**: Fixed an issue in `CognitoCachingCredentialsProvider` where the credentials might not be cached when using developer-authenticated identities. [#48](https://github.com/aws/aws-sdk-android/issues/48) ## [Release 2.2.2](https://github.com/aws/aws-sdk-android/releases/tag/release_v2.2.2) (06/11/2015) ### New Features - **AWS Core Runtime Library**: Enabled HTTP compression by adding "Accept-Encoding:gzip" header. If the target AWS service (for example, Amazon DynamoDB) supports compression and returns compressed data, the SDK will handle the content correctly. [#41](https://github.com/aws/aws-sdk-android/issues/41) - **Amazon Kinesis**: KinesisRecorder now sends compressed records to Amazon Kinesis. - **Amazon Mobile Analytics**: Analytics events are compressed prior to sending the service in order to save network bandwidth. ### Bug Fixes - **Amazon S3**: Fixed an issue that occurs when required headers are not properly signed. This issue affects S3 in two regions: Frankfurt (eu-central-1) and China (cn-north-1). [#42](https://github.com/aws/aws-sdk-android/issues/42) - **AWS Core Runtime Library**: Fixed an issue in Maven distribution where an incorrect version string is set in "User-Agent".