amplify_flutter 2.4.0 amplify_flutter: ^2.4.0 copied to clipboard
The top level Flutter package for the AWS Amplify libraries.
2.4.0 #
Features #
- feat(Auth): Add fetchCurrentDevice API (#5251)
Fixes #
- fix(datastore): Clear subscriptions on Stop (#5253)
- fix(datastore): Restart Sync Engine when network on/off (#5218)
- fix(notification): flush events (#5215)
- fix(secure_storage): Plugin Endorsement (#5208)
- fix(authenticator): Export InstructionsResolver (#5169)
Chores #
- chore: bump json_annotation dependency to v4.9
2.3.0 #
2.2.0 #
Fixes #
- fix(api): GraphQLResponse.toString() include data & errors (#5079)
- fix(core): improve amplify configure api error message (#5021)
- fix(notifications): allow offline configuration
- fix: wait for in progress multi part uploads to cancel for
pause
andcancel
Features #
- feat: Support Amplify Gen 2 outputs (#5073)
2.0.0 #
We are thrilled to release version 2.0 of the Amplify Flutter libraries to add support for Amplify Gen 2. Learn more about Amplify Gen 2 at https://docs.amplify.aws.
This release enables flexible storage paths when using Amplify Gen 2 Storage. This release also addresses several bugs that required breaking changes to resolve. See the change log below for the full list of updates.
If you are upgrading an existing project using Amplify Flutter v1 (created with Amplify Gen 1 CLI or a custom pipeline) please see the upgrade guide.
As always, you can find us on GitHub and Discord to answer any questions.
Breaking Changes #
- chore(auth)!: remove deprecated auth types (#4764)
- fix(auth)!: regenerate cognito sdks to update signup operation for adding limit exceeded exception (#4781)
- chore(analytics)!: remove deprecated apis
- chore(api)!: Model .fromJson() Refactor (#4665)
- chore(api)!: Removed deprecated members … (#4772)
- chore(api)!: remove Model.getId() usages (#4774)
- chore(core)!: make asyncConfig internal
- chore(core)!: removed toJson fallback (#4793)
- feat(core)!: use plugin options for optional plugin parameters (#4762)
- feat(smithy)!: remove error match on http status code (#4750)
- feat(storage)!: Update storage APIs to accept
StoragePath
(#4713) - feat(storage)!: move
delimiter
toS3ListPluginOptions
(#4773) - chore(storage)!: rename StorageNotFoundException (#4770)
Features #
- feat(api): Add attributeExists query predicate (#4134)
Fixes #
1.8.0 #
1.7.0 #
1.6.1 #
1.6.0 #
1.5.0 #
1.4.1 #
1.4.0 #
1.3.3 #
1.3.1 #
1.3.0 #
1.2.1 #
1.2.0 #
1.1.1 #
1.1.0 #
1.0.1 #
Fixes #
- fix(repo): Flutter 3.3 support
- fix: convert AuthUserAttributeKey in updateUserAttributes
1.0.0 #
We are thrilled to release version 1.0 of the Amplify Flutter libraries!
This release introduces a full rewrite of the Amplify libraries in Dart, allowing you to build AWS cloud-connected applications on every platform Flutter supports (iOS, Android, Web, macOS, Windows, and Linux).
If you've been using v0 in production, you can now safely migrate to v1. Check out our migration guide for more information.
As always, you can find us on GitHub and Discord to answer any questions.
1.0.0-next.8+1 #
Features #
- feat(notifications): implement push notification Flutter iOS module (#2707)
- feat(notifications): killed state notification handling and Analytics integration (#2747)
- feat(push): interfaces, category function and types added for push
Fixes #
- fix(core): formatting issues in notifications data types
- fix(notifications): Analytics naming updates, Android test fixes and token received bug fix (#2824)
- fix(notifications): analyzer reported issues
- fix(notifications): correct rebased codebase
- fix(notifications): killed state behavior correction, no longer calls lib/main.dart (#2759)
- fix(notifications): the luanch notification should be nullified on some occasions
- fix(notifications): type casting error and clean up example app (#2817)
1.0.0-next.8 #
Breaking Changes #
- chore(analytics)!: Remove Analytics Prefix (#2753)
- chore(analytics)!: export endpointManager, redo exports
- chore(auth)!: send Pinpoint Endpoint id to Cognito
- feat(storage)!: update upload APIs options to add metadata field (#2815)
- refactor(auth)!: Remove generic types (#2804)
- refactor(core)!: Dependency management
- refactor(storage)!: rename checkObjectExistence to validateObjectExistence
- refactor(storage)!: storage category APIs to use category level plugin options (#2754)
- chore(secure_storage)!: add factory constructor, mark AmplifySecureStorage as internal (#2607)
Fixes #
- fix(api): Auth provider registration
- fix(api): Include owner field in selection set (#2795)
- fix(api): Support model definition target name (#2814)
- fix(auth): Always allow repeated
confirmSignIn
attempts - fix(auth): Process sign-in events once
- fix(secure_storage): resolve conflict with win32 package (#2829)
Features #
- feat(storage): add generic StorageOperationCanceledException in core
- feat(storage): add handling of non-ascii object metadata values
- feat(storage): make access level optional for storage APIs (#2793)
- feat(storage): promote StorageTransferState to amplify_core
1.0.0-next.7 #
1.0.0-next.6 #
1.0.0-next.5+1 #
- Minor bug fixes and improvements
1.0.0-next.5 #
Breaking Changes #
- chore(auth)!: Change
AuthCodeDeliveryDetails.attributeKey
to be of typeAuthUserAttributeKey
- refactor(auth)!: Make attribute update step an enum
- refactor(auth)!: Make reset password step an enum
- refactor(auth)!: Make sign-in step an enum
- refactor(auth)!: Make sign-up step an enum
- refactor(auth)!: Remove category->plugin indirection for
getPlugin
- refactor(auth)!: State machine facade (#2482)
Features #
- feat(analytics): Use indexedDB on Web (#2600)
- feat(storage): enable pause and cancel APIs for download operations
Fixes #
- fix(api): Web Socket Multiple Requests Synchronously (#2567)
- fix(auth):
federateToIdentityPool
discrepancies
1.0.0-next.4 #
Breaking Changes #
- fix(auth)!: Fetch Auth Session offline behavior (#2585)
Fixes #
- fix(api): do not include null values in ModelMutations.create (#2504)
- fix(api): model helpers use targetNames in schemas with CPK enabled (#2559)
- fix(auth): SessionExpired Auth Hub event (#2609)
- fix(datastore): prevent unhandled exception crashing App rebuilding sync expression
Features #
- feat(analytics): Legacy data migration of Pinpoint Endpoint ID (#2489)
1.0.0-next.3 #
Breaking Changes #
- chore(auth)!: Remove
isPreferPrivateSession
fromCognitoSignOutWithWebUIOptions
(#2538) - refactor(auth)!: Align exception types
- refactor(auth)!: Remove intermediate request types (#2475)
- refactor(core)!: Migrate exception types
Fixes #
- fix(analytics): Secure storage on Android (#2530)
- fix(api): SubscriptionDataPayload error decoding type fix (#2483)
- fix(api): improve GQL subscription error visibility/recovery (#2507)
- fix(api): prevent GQL subscription race condition error after shutdown (#2494)
- fix(storage): update expected exception types in integ tests
1.0.0-next.2 #
1.0.0-next.1 #
Breaking Changes #
Three new categories have added support for Web + Desktop: API, Storage, and Analytics!
See our docs for guides on how to migrate to these new versions.
- chore(api,core): change API types (#2148)
- chore(storage): migrate interface and setup basic packages
Features #
- feat(api): GraphQL Custom Request Headers (#1938)
- feat(api): Subscription Reconnection (#2074)
- feat(api): authorizationMode property for GraphQLRequest (#2143)
- feat(core): add AWSFile cross platform file abstraction
- feat(storage): add custom prefix resolver support
- feat(storage): cancel SmithyOperation on upload file pause and cancel
- feat(storage): expose operation control APIs for upload data operation
- feat(storage): revise list API interface and add excludeSubPaths parameter
Fixes #
1.0.0-next.0+5 #
1.0.0-next.0+4 #
- Minor bug fixes and improvements
1.0.0-next.0+3 #
- Minor bug fixes and improvements
1.0.0-next.0+2 #
- Minor bug fixes and improvements
1.0.0-next.0+1 #
- Fix package analysis issues
1.0.0-next.0 (2022-08-02) #
Initial developer preview release for all platforms.
Developer Preview #
The Amplify Flutter libraries are being rewritten in Dart. This version is part of our developer preview for all platforms and is not intended for production usage. Please follow our Web and Desktop support tickets to monitor the status of supported categories. We will be releasing Web and Desktop support for all Amplify categories incrementally.
For production use cases please use the latest, non-tagged versions of amplify-flutter packages from pub.dev
. They offer a stable, production-ready experience for Android and iOS.
0.5.0 (2022-05-17) #
Breaking Changes #
-
Auth: Auth API Changes
-
Previously, the
Amplify.Auth.deleteUser
API would throwUnimplementedException
when it was called on Android platform. When this release, this API becomes functional and will delete currently signed in user on Android platform.How to Migrate:
- Remove unwanted calls of the
Amplify.Auth.deleteUser
API, if you were handling theUnimplementedException
exception for Android
- Remove unwanted calls of the
-
Custom Auth flows are now available with passwordless logins. To support this change, the password attribute is now optional in the
Auth.signIn
API. While this should not prove breaking in most cases, we are calling it out since it alters a very commonly used API.How to Migrate:
- Pass null to the
Auth.signIn
API only for passwordless login, using Cognito Custom Auth flows
- Pass null to the
-
Features #
- feat(auth): add deleteUser support for Android (#1540)
- feat(auth): enables custom auth flows (#1444)
- feat(datastore): Custom Conflict Handler (#1254)
- feat(datastore): emit subscriptionDataProcessed and syncReceived events (#1351)
- feat(datastore): Multi-auth (#1478)
- feat: AWS Signature V4 library (#1456)
Fixes #
- fix: support lists for .contains query predicate in observeQuery (#1233)
- fix(auth): Fix FlutterAuthProvider.kt (#1505)
- fix(core): Update QueryPagination page field to default to 0 (#1533)
- fix(authenticator): Fix confirm password validator (#1542)
- fix(aws_signature_v4): Various fixes (#1572)
Chores #
- chore(amplify_api): federated plugin (#1410)
- chore(amplify_flutter): migrate amplify_flutter to federated plugin (#1450)
- chore: make example Android Apps runnable with API 32+ (#1474)
- chore(auth): Templatize and update exception comments (#1476)
- chore(ci): Bump Xcode version
- chore: update android compileSdkVersion to 31
- chore: upgrade gradle plugin to 7.1.2
- chore: enable android codebase linter checks
- chore: replace 0.4.2-1 with 0.4.3 due to melos limitation (#1496)
- chore(aws): Bump min SDK version (#1551)
- chore: Lint fixes (#1471)
- chore(authenticator): Fix failing integration tests (#1545)
- chore: enable dependabot (#1568)
- chore: Flutter 3 fixes (#1580)
- chore: bump amplify-android version to 1.35.3 (#1586)
- chore: downgrade amplify-android to 1.33.0 (#1591)
0.4.5 (2022-04-13) #
-fix: bumps ios version and bumps api AuthProvider timeout (#1526)
0.4.4 (2022-04-06) #
- fix(api): JNI issues (#1509)
0.4.3 (2022-04-02) #
- chore: bump amplify-ios to 1.22.3
0.4.2 (2022-03-24) #
-
fix(api): model helpers query predicates correctly translates query by associated id (#1417)
-
chore(api): support decoding custom list request (#1420)
-
chore(datastore): enable query predicate integration tests for float values (#1454)
-
chore(analytics): switch to federated plugins (#1378)
-
fix(analytics): adds flutter sdk to example apps (#1465)
-
chore(auth): fix pubspec urls (#1424)
-
chore(auth): federated plugin (#1349)
-
chore(storage): federated plugin (#1407)
-
chore: bump amplify-android to 1.32.1 (#1448)
-
chore: bump amplify-ios to 1.22.0 (#1468)
0.4.1 (2022-02-28) #
- fix: Export category interfaces
0.4.0 (2022-02-17) #
- chore(flutter): Fix AtomicResultTest (#1363)
- fix(amplify_flutter): updates for latest flutter and dart versions #1333
- feat(amplify_flutter): allow customers to override AmplifyClass methods #1325
- fix(flutter): Password settings parsing #1323
- chore: bump Kotlin version to 1.6.10 (#1346)
Breaking Changes #
- If your app has a dependency on Kotlin, the value of
ext.kotlin_version
set inandroid/build.gradle
must be 1.5.31 or greater (1.6.10 recommended)
0.3.2 (2022-01-21) #
- chore: bump amplify-android to 1.31.2
0.3.1 (2022-01-20) #
- chore: bump amplify-ios to 1.18.3
0.3.0 (2022-01-20) #
Breaking Changes #
-
Flutter: Linting & clean up (#1202)
How to Migrate:
- Update all imports of
import 'package:amplify_flutter/amplify.dart';
to import'package:amplify_flutter/amplify_flutter.dart';
- Update all imports of
-
API: This version changes GraphQL subscription interface to use Streams. See the amplify_api page for additional information.
-
Auth: The
fetchAuthSession
API will throw a SignedOutException when the user has not signed in, and a SessionExpiredException when the tokens have expired. -
Auth: The
getCurrentUser
API will return an AuthUser if the user is still authenticated but the session has expired. -
DataStore:
ModelProvider
andModelField
interface changesHow to Migrate:
- Install the required version of
@aws-amplify/cli
as described on the amplify_datastore page - Run
amplify codegen models
to regenerate models
- Install the required version of
-
DataStore: This version introduces a breaking change to Android Apps as an existing bug writes
Double
andBoolean
values asTEXT
in local SQLite database. The fix corrects this behavior. Hence, directly applying this fix may raise SQL error while reading from and writing to local database.How to Migrate:
Invoke
Amplify.DataStore.clear()
on App start after upgrading to the latest version of Amplify Flutter. This API clears and recreates local database table with correct schema.NOTE: Data stored in local database and not synced to cloud will be lost, as local migration is not supported.
Features #
- Amplify Authenticator preview release!
- New
AmplifyConfig
type for fully-typed configurations - feat(api): GraphQL Subscription Stream (#905)
- feat(datastore): Add CustomType functionality (#847)
- feat(datastore): Add ModelField ReadOnly support (#599)
Fixes #
- fix(api): remove tabs from graphql document strings in android (#1178)
- fix(api): OIDC Fixes for REST/GraphQL
- fix(auth): throw SignedOutException (#893)
- fix(auth): fixes getCurrentUser disparity (#894)
- fix(auth): remove int.parse from AuthUserAttribute (#1169)
- fix(datastore): configure function triggers initial sync unexpectedly (#986)
- fix(datastore): fix error map from ios (#1126)
- break(datastore): cannot saving boolean as integer in SQLite (#895)
Chores #
- chore(core): Linting & clean up (#1202)
- chore(core): Add copyWith helpers (#1235)
0.2.10 (2021-11-23) #
Fixes #
- fix(auth): Fix coroutines crash (#1132)
- fix(auth): Remove duplicate AtomicResult (#1133)
0.2.9 (2021-11-17) #
- chore: upgrade amplify-android to 1.28.3-rc
0.2.8 (2021-11-12) #
Fixes #
- fix(api): "Reply already submitted" crashes (#1058)
- fix(auth): (Android) Dropped exceptions in hosted UI cause
signInWithWebUI
to not return (#1015) - fix(datastore): (Android) Fix DataStore release mode crash (#1064)
- fix(storage): DateTime formatting and parsing (#1044, #1062)
- fix(storage): Storage.list crash on null "options" (#1061)
0.2.7 (2021-11-08) #
0.2.6 (2021-10-25) #
0.2.5 (2021-10-14) #
Fixes #
- fix(datastore): Sync issues with owner-based auth
- fix(datastore): Ensure attaching nested model schema
- fix(datastore): Timeout period not increasing
- fix(datastore): Remove default pagination behavior on iOS
- fix(api): OIDC/Lambda changes for DataStore
- fix(auth): Add global sign out
- fix(auth): Support
preferPrivateSession
flag
0.2.3 (2021-09-09) #
Features #
- feat(auth): add options to updateAttribute, updateAttributes, resendUserAttributeConfirmationCode (#775)
- feat(auth): add support for options to resetPassword, confirmResetPassword (#743)
- feat(auth): add options to resendSignUpCode (#738)
Chores #
- chore: upgrade amplify-android 1.24.1 (#829)
Fixes #
- fix(api): OIDC/Lambda Fixes (#862)
0.2.2 (2021-08-04) #
Features #
- feat(auth): enables clientMetadata for signUp (#713)
- feat(auth): Auth Devices API (#735)
- feat(datastore): Populate belongs-to nested models (#658)
Fixes #
- fix(analytics): Session start not triggered on Android devices (#764)
- fix(api): prevent some fatal REST errors in Android (#661)
- fix(datastore): Query nested model causes column not found sql error (#761)
Chores #
- chore(api): add support for apiName to GraphQL requests (#553)
0.2.1 (2021-07-27) #
Chores #
- chore: upgrade amplify-android to 1.20.1 (#710)
- chore: enable formatting in CI w/ code changes (#570)
0.2.0 (2021-06-30) #
0.1.6 (2021-06-23) #
Features #
- feat: Add support of DataStore custom configuration (#610)
- feat: add updateUserAttributes (batch) (#601)
Fixes #
- fix: amplify-ios version bump (#648)
- fix: adds userAttributes to confirmSignIn (#607)
- fix: Add clientMetadata to confirmSignUp API options (#619)
Chores #
- chore: upgrade amplify-android to 1.19.0 (#650)
- chore: pin Amplify iOS to '~> 1.9.2' (#589)
0.1.5 (2021-05-17) #
0.1.3 (2021-04-21) #
0.1.1 (2021-03-29) #
0.1.0 (2021-02-15) #
0.0.2-dev.2 (2021-02-09) #
Features #
- feat: Implement the GraphQL Subscribe API (#338)
Chores #
- chore: Don't add API plugin by default for DataStore (#350)
- chore: Introduce new Temporal types (Date, DateTime, Time, Timestamp) for Dart codegen models (#307)
- chore: Updated amplify-android version 1.6.10 (#332)
- chore: Refactor error handling to use the new AmplifyException types (#314)
Bug Fixes #
- fix: MissingPluginException when android app restarts (#345)
- fix: Provide better error messages when configure() fails due to plugin's configuration not present (#355)