Releases: aws-amplify/amplify-android
Amplify Android 1.6.3
Amplify Android 1.6.2
DataStore
- Selective Sync: Added ability to filter which data is synced to the client (everything is synced by default) (#959)
Amplify.addPlugin(new AWSDataStorePlugin(DataStoreConfiguration.builder()
.syncExpression(Blog.class, () -> Blog.NAME.equals("foo"))
.syncExpression(Post.class, () -> Post.TITLE.beginsWith("bar"))
.syncExpression(Comment.class, () -> Comment.CONTENT.contains("baz"))
.build()));
Amplify.configure(context);
See the following diff for a complete set of changes since the last release.
Amplify Android 1.6.1
Storage
- Added
uploadInputStreamAPI. With the privacy changes in Android 10, clients often don't have easy access to aFileanymore, so the existinguploadFileAPI is not enough. Now, clients are typically working with a URI, which can easily be converted to an InputStream, and passed to the new API (#955).
InputStream inputStream = new ByteArrayInputStream("myData".getBytes());
Amplify.Storage.uploadInputStream(
"keyForMyData",
inputStream,
result -> Log.d("MyApp", "Uploaded InputStream for key: " + result.getKey()),
error -> Log.e("MyApp", "Error uploading InputStream: ", error));
See the following diff for a complete set of changes since the last release.
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
READYstatus 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
startandstopAPIs to provide more control of the DataStore lifecycle, and modified behavior ofconfigureandclearto notstartanymore. Lazy start will still occur if needed as a result ofquery,save,delete, andobserve(#909) - Removed the
PUBLISHED_TO_CLOUDevent, which was duplicated byOUTBOX_MUTATION_PROCESSED, and renames theRECEIVED_FROM_CLOUDevent 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
DataStoreConfigurationprovided 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.Authto 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
@authsupport. -
Use latest stable versions of all dependencies (including
2.19.0of 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)