Releases: aws-amplify/amplify-android
Amplify Android 1.6.0
DataStore
- Fixed issue with querying deeply nested relational models (#892)
- Conditional delete is now wired up with the local storage (#949)
- Fixed race condition that caused
READY
status to fire multiple times (#952) - Now works with Dart-language models for Flutter support (#954). See issue #842 for more details.
See the following diff for a complete set of changes since the last release.
Amplify Android 1.5.0
API
- Added support for owner-based auth with OIDC (#906)
- Added support for custom group claim with OIDC (#930)
- Fix bug where subscriptions will not be received if the owner field is defined implicitly (#926)
DataStore
- Modifies subscription error handling to allow other subscriptions to stay connected if others return Unauthorized errors (#942)
- Added
start
andstop
APIs to provide more control of the DataStore lifecycle, and modified behavior ofconfigure
andclear
to notstart
anymore. Lazy start will still occur if needed as a result ofquery
,save
,delete
, andobserve
(#909) - Removed the
PUBLISHED_TO_CLOUD
event, which was duplicated byOUTBOX_MUTATION_PROCESSED
, and renames theRECEIVED_FROM_CLOUD
event toSUBSCRIPTION_DATA_PROCESSED
(#931)
See the following diff for a complete set of changes since the last release.
Amplify Android 1.4.2
DataStore
- Added mutation conflict handling (#883)(#904)(#907). Users can supply their own conflict handling strategy, by passing it in a
DataStoreConfiguration
provided to theAWSDataStorePlugin
:
val config = DataStoreConfiguration.builder()
.dataStoreConflictHandler((conflictData, onResult) -> {
onResult.accept(DataStoreConflictHandlerResult.APPLY_REMOTE);
})
.build();
Amplify.addPlugin(AWSDataStorePlugin(config))
- fix: make subscription timeout model count dependent (#858)
- fix: Prevent concurrent start/stop on orchestrator (#876
API
- Adds support for custom identity claim (#889)
Storage
Amplify.Storage.uploadFile(
"ExampleKey",
exampleFile,
AWSS3StorageUploadFileOptions.builder()
.serverSideEncryption(ServerSideEncryption.MANAGED_KEYS)
.build(),
{ progress -> Log.i("MyAmplifyApp", "Fraction completed: ${progress.fractionCompleted}") },
{ result -> Log.i("MyAmplifyApp", "Successfully uploaded: ${result.getKey()}") },
{ error -> Log.e("MyAmplifyApp", "Upload failed", error) }
)
Misc Updates
- Fail early and throw useful exception if customer forgets to call Amplify.configure (#888)
- Update okhttp 4.9.0 (#862)
- Update androidx-core 1.3.2 (#890)
- Update awsSdkVersion 2.19.1 (#914)
See the following diff for a complete set of changes since the last release.
Amplify Android 1.4.1
- Fixed a bug where API subscriptions would not work as intended if both owner auth directive and group auth directive are specified with a READ operation (See #860).
- Fixed a crash on serialization of Temporal types (#848)
See the following diff for a complete set of changes since the last release.
Amplify Android 1.4.0
-
Adds APIs to
Amplify.Auth
to support updating and retrieving user attributes, used for authentication. -
Aligns behavior of anonymous / guest users to the behavior of Amplify iOS's Auth category. (See #850).
-
Miscellaneous fixes to better support temporal types (
Temporal.Date
, etc.)
For a complete manifest of changes, see the diff between 1.4.0 and the previous release, 1.3.2.
Amplify Android 1.3.2
- Amplify Developer Menu can now be explicitly disabled:
val config = AmplifyConfiguration.builder(applicationContext)
.devMenuEnabled(false)
.build()
Amplify.configure(config)
-
Miscellaneous improvements for
@auth
support. -
Use latest stable versions of all dependencies (including
2.19.0
of the AWS SDK for Android.) -
Improved support for GraphQL types which do not specify
@model
-
Improved support for AppSync defined date/time scalars.
Version 1.3.1
Features
- (Auth) Auth errors are now categorized so you no longer need to rely on the message or cause - you can directly check the exception type.
Bug Fixes
- (Core) Removed duplicate app icon caused by Developer Menu (fixes #794)
Version 1.3.0
Features
- (Core) New Debug Functionality! A developer menu that can be activated by shaking the device during debug builds of your app. The developer menu is intended to help you access important information while debugging and easily file GitHub issues containing this information: https://docs.amplify.aws/lib/debugging/dev-menu/q/platform/android
- (Auth) Implement device tracking
- (API) PaginatedResult now implements Iterable
- (DataStore) Add pagination, respecting syncPageSize and syncMaxRecords
- (DataStore) Add sorting
- (DataStore) Implement mutation outbox hub events
- (DataStore) Trigger hub events during sync
- (RXBindings) RXBindings improvements
Bug Fixes
- (RXBindings) Make ConnectionStateEvent public
Misc
- Update rxjava and rxandroid to v3
Version 1.2.0
Breaking Changes
- (Auth) A major rework of
signInWithWebUI()
/signInWithSocialWebUI()
was completed to fix the "user cancelled" race condition some were getting (#552) and Multi-factor Authentication not working. There are no code changes needed but you will need to edit yourAndroidManifest
and the response handler in yourActivity
following the latest documentation here: https://docs.amplify.aws/lib/auth/signin_web_ui/q/platform/android#update-androidmanifestxml
Bug Fixes
- (DataStore) Huge shoutout to @saltonmassally, a community contributor, for resolving bugs #707 and #724
Version 1.1.3
Features
- (API) Implement Comparable for Temporal types so they can be used in predicates. #721
- (Auth) Adds user info to sign up result. #732
- (Core) Allow additional platforms in amplify config. #703
- (DataStore) Adding SyncType to LastSyncMetadata. #713
- (DataStore) Trigger network-related hub events. #716
- (Storage) Adds progress callbacks to storage. #680