Skip to content

Releases: aws-amplify/amplify-android

Amplify Android 1.6.2

20 Nov 02:14
0f8dcdc
Compare
Choose a tag to compare

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

20 Nov 03:24
1f73dba
Compare
Choose a tag to compare

Storage

  • Added uploadInputStream API. With the privacy changes in Android 10, clients often don't have easy access to a File anymore, so the existing uploadFile API 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

13 Nov 23:02
Compare
Choose a tag to compare

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

02 Nov 21:42
Compare
Choose a tag to compare

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 and stop APIs to provide more control of the DataStore lifecycle, and modified behavior of configure and clear to not start anymore. Lazy start will still occur if needed as a result of query, save, delete, and observe (#909)
  • Removed the PUBLISHED_TO_CLOUD event, which was duplicated by OUTBOX_MUTATION_PROCESSED, and renames the RECEIVED_FROM_CLOUD event to SUBSCRIPTION_DATA_PROCESSED (#931)

See the following diff for a complete set of changes since the last release.

Amplify Android 1.4.2

19 Oct 18:39
84ce9bc
Compare
Choose a tag to compare

DataStore

  • Added mutation conflict handling (#883)(#904)(#907). Users can supply their own conflict handling strategy, by passing it in a DataStoreConfiguration provided to the AWSDataStorePlugin:
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

  • Enable setting of the server side encryption algorithm in StorageUploadFileOptions (#886), (#897)
    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

06 Oct 00:25
e176aaa
Compare
Choose a tag to compare
  • 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

24 Sep 20:31
Compare
Choose a tag to compare
  1. Adds APIs to Amplify.Auth to support updating and retrieving user attributes, used for authentication.

  2. Aligns behavior of anonymous / guest users to the behavior of Amplify iOS's Auth category. (See #850).

  3. 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

15 Sep 20:28
Compare
Choose a tag to compare
  1. Amplify Developer Menu can now be explicitly disabled:
val config = AmplifyConfiguration.builder(applicationContext)
    .devMenuEnabled(false)
    .build()
Amplify.configure(config)
  1. Miscellaneous improvements for @auth support.

  2. Use latest stable versions of all dependencies (including 2.19.0 of the AWS SDK for Android.)

  3. Improved support for GraphQL types which do not specify @model

  4. Improved support for AppSync defined date/time scalars.

Version 1.3.1

03 Sep 16:02
Compare
Choose a tag to compare

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

31 Aug 20:18
Compare
Choose a tag to compare

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