From 2f4b50f5e6ccfcdbe3c93a5c183479cdecb42249 Mon Sep 17 00:00:00 2001 From: dtroupe Date: Thu, 12 Sep 2024 11:39:30 -0700 Subject: [PATCH 1/5] prep version bump --- README.md | 1 + android/src/main/AndroidManifest.xml | 2 +- ios/RNLinksdk.mm | 2 +- package.json | 2 +- react-native-plaid-link-sdk.podspec | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1df4b455..5ad4da60 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,7 @@ While these older versions are expected to continue to work without disruption, | Plaid SDK Version | Min React Native Version | Android SDK | Android Min Version | Android Compile Version| iOS SDK | iOS Min Version | Status | |-------------------|--------------------------|-------------|---------------------|------------------------|---------|-----------------|-------------------------------| +| 11.13.0 | * | [4.6.2+] | 21 | 34 | >=5.6.1 | 14.0 | Active, supports Xcode 15.0.1 | | 11.12.1 | * | [4.6.0+] | 21 | 34 | >=5.6.0 | 14.0 | Active, supports Xcode 15.0.1 | | 11.12.0 | * | [4.6.0+] | 21 | 34 | >=5.6.0 | 14.0 | Active, supports Xcode 15.0.1 | | 11.11.2 | * | [4.5.1+] | 21 | 34 | >=5.6.0 | 14.0 | Active, supports Xcode 15.0.1 | diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 44c0bc6a..6ef39b94 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -4,7 +4,7 @@ + android:value="11.13.0" /> diff --git a/ios/RNLinksdk.mm b/ios/RNLinksdk.mm index 105352fd..593397f8 100644 --- a/ios/RNLinksdk.mm +++ b/ios/RNLinksdk.mm @@ -28,7 +28,7 @@ @implementation RNLinksdk RCT_EXPORT_MODULE(); + (NSString*)sdkVersion { - return @"11.12.1"; // SDK_VERSION + return @"11.13.0"; // SDK_VERSION } + (NSString*)objCBridgeVersion { diff --git a/package.json b/package.json index 8ce0dd7e..315de1e7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-plaid-link-sdk", - "version": "11.12.1", + "version": "11.13.0", "description": "React Native Plaid Link SDK", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/react-native-plaid-link-sdk.podspec b/react-native-plaid-link-sdk.podspec index 76c837eb..0922b886 100644 --- a/react-native-plaid-link-sdk.podspec +++ b/react-native-plaid-link-sdk.podspec @@ -35,5 +35,5 @@ Pod::Spec.new do |s| end s.dependency 'React-Core' - s.dependency 'Plaid', '~> 5.6.0' + s.dependency 'Plaid', '~> 5.6.1' end From 4b5174fa058ba1df2efc51dfbbf95515cd7b6e51 Mon Sep 17 00:00:00 2001 From: dtroupe Date: Thu, 12 Sep 2024 11:47:37 -0700 Subject: [PATCH 2/5] more release prep --- CHANGELOG.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f4b068c..9e451015 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,49 @@ # RELEASES +## LinkKit V11.13.0 — 2024-09-13 + +### React Native + +#### Requirements + +This SDK now works with any supported version of React Native. + +#### Changes + +- Update Android and iOS SDKs. + +### Android + +Android SDK [4.6.1](https://github.com/plaid/plaid-link-android/releases/tag/v4.6.1) + +#### Changes +- + +#### Requirements + +| Name | Version | +|------|---------| +| Android Studio | 4.0+ | +| Kotlin | 1.8+ | + +### iOS + +iOS SDK [5.6.1](https://github.com/plaid/plaid-link-ios/releases/tag/5.6.1) + +#### Changes + +- Add missing event names submitEmail, skipSubmitEmail, rememberMeEnabled, rememberMeDisabled, rememberMeHoldout, selectSavedInstitution, selectSavedAccount, autoSelectSavedInstitution, plaidCheckPane. +- Add missing view names submitEmail and verifyEmail. +- Add haptics support. +- Fix Embedded search view dynamic resizing. + +#### Requirements + +| Name | Version | +|------|---------| +| Xcode | >= 15.0.1 | +| iOS | >= 14.0 | + ## LinkKit V11.12.1 — 2024-08-23 ### React Native diff --git a/README.md b/README.md index 5ad4da60..0c1944b8 100644 --- a/README.md +++ b/README.md @@ -184,7 +184,7 @@ While these older versions are expected to continue to work without disruption, | Plaid SDK Version | Min React Native Version | Android SDK | Android Min Version | Android Compile Version| iOS SDK | iOS Min Version | Status | |-------------------|--------------------------|-------------|---------------------|------------------------|---------|-----------------|-------------------------------| -| 11.13.0 | * | [4.6.2+] | 21 | 34 | >=5.6.1 | 14.0 | Active, supports Xcode 15.0.1 | +| 11.13.0 | * | [4.6.1+] | 21 | 34 | >=5.6.1 | 14.0 | Active, supports Xcode 15.0.1 | | 11.12.1 | * | [4.6.0+] | 21 | 34 | >=5.6.0 | 14.0 | Active, supports Xcode 15.0.1 | | 11.12.0 | * | [4.6.0+] | 21 | 34 | >=5.6.0 | 14.0 | Active, supports Xcode 15.0.1 | | 11.11.2 | * | [4.5.1+] | 21 | 34 | >=5.6.0 | 14.0 | Active, supports Xcode 15.0.1 | From 381d3fff43a7a0f6916d3a9cfb68a8073ba5b592 Mon Sep 17 00:00:00 2001 From: dtroupe Date: Thu, 12 Sep 2024 13:18:40 -0700 Subject: [PATCH 3/5] add missing events and view names on iOS --- ios/RNLinksdk.mm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/ios/RNLinksdk.mm b/ios/RNLinksdk.mm index 593397f8..9c7538a3 100644 --- a/ios/RNLinksdk.mm +++ b/ios/RNLinksdk.mm @@ -485,6 +485,24 @@ + (NSString *)stringForEventName:(PLKEventName *)eventName { return @"LAYER_READY"; case PLKEventNameValueLayerNotAvailable: return @"LAYER_NOT_AVAILABLE"; + case PLKEventNameValueSubmitEmail: + return @"SUBMIT_EMAIL"; + case PLKEventNameValueSkipSubmitEmail: + return @"SKIP_SUBMIT_EMAIL"; + case PLKEventNameValueRememberMeEnabled: + return @"REMEMBER_ME_ENABLED"; + case PLKEventNameValueRememberMeDisabled: + return @"REMEMBER_ME_DISABLED"; + case PLKEventNameValueRememberMeHoldout: + return @"REMEMBER_ME_HOLDOUT"; + case PLKEventNameValueSelectSavedInstitution: + return @"SELECT_SAVED_INSTITUTION"; + case PLKEventNameValueSelectSavedAccount: + return @"SELECT_SAVED_ACCOUNT"; + case PLKEventNameValueAutoSelectSavedInstitution: + return @"AUTO_SELECT_SAVED_INSTITUTION"; + case PLKEventNameValuePlaidCheckPane: + return @"PLAID_CHECK_PANE"; } return @"unknown"; } @@ -632,6 +650,10 @@ + (NSString *)stringForViewName:(PLKViewName *)viewName { return @"SELECT_SAVED_ACCOUNT"; case PLKViewNameValueProfileDataReview: return @"PROFILE_DATA_REVIEW"; + case PLKViewNameValueSubmitEmail: + return @"SUBMIT_EMAIL"; + case PLKViewNameValueVerifyEmail: + return @"VERIFY_EMAIL"; } return @"unknown"; From 9201ae1535aac9454b28dda6b1fead710239ba46 Mon Sep 17 00:00:00 2001 From: dtroupe Date: Fri, 13 Sep 2024 11:26:18 -0700 Subject: [PATCH 4/5] update android SDK --- android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/build.gradle b/android/build.gradle index e882ad60..ffab6f82 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -106,7 +106,7 @@ repositories { dependencies { implementation "com.facebook.react:react-native:+" - implementation "com.plaid.link:sdk-core:4.6.0" + implementation "com.plaid.link:sdk-core:4.6.1" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation "com.jakewharton.rxrelay2:rxrelay:2.1.1" } From 14faa1eab14143fe0f88bce3c53e24a079d72a86 Mon Sep 17 00:00:00 2001 From: dtroupe Date: Fri, 13 Sep 2024 12:00:04 -0700 Subject: [PATCH 5/5] add event and view names --- src/Types.ts | 55 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/src/Types.ts b/src/Types.ts index 4b34b399..38bb59d9 100644 --- a/src/Types.ts +++ b/src/Types.ts @@ -438,54 +438,63 @@ export interface LinkEventMetadata { } export enum LinkEventName { - BANK_INCOME_INSIGHTS_COMPLETED = "BANK_INCOME_INSIGHTS_COMPLETED", + AUTO_SELECT_SAVED_INSTITUTION = 'AUTO_SELECT_SAVED_INSTITUTION', + BANK_INCOME_INSIGHTS_COMPLETED = 'BANK_INCOME_INSIGHTS_COMPLETED', CLOSE_OAUTH = 'CLOSE_OAUTH', + CONNECT_NEW_INSTITUTION = 'CONNECT_NEW_INSTITUTION', ERROR = 'ERROR', EXIT = 'EXIT', FAIL_OAUTH = 'FAIL_OAUTH', HANDOFF = 'HANDOFF', - IDENTITY_VERIFICATION_START_STEP = 'IDENTITY_VERIFICATION_START_STEP', - IDENTITY_VERIFICATION_PASS_STEP = 'IDENTITY_VERIFICATION_PASS_STEP', - IDENTITY_VERIFICATION_FAIL_STEP = 'IDENTITY_VERIFICATION_FAIL_STEP', - IDENTITY_VERIFICATION_PENDING_REVIEW_STEP = 'IDENTITY_VERIFICATION_PENDING_REVIEW_STEP', - IDENTITY_VERIFICATION_PENDING_REVIEW_SESSION = 'IDENTITY_VERIFICATION_PENDING_REVIEW_SESSION', + IDENTITY_VERIFICATION_CLOSE_UI = 'IDENTITY_VERIFICATION_CLOSE_UI', IDENTITY_VERIFICATION_CREATE_SESSION = 'IDENTITY_VERIFICATION_CREATE_SESSION', - IDENTITY_VERIFICATION_RESUME_SESSION = 'IDENTITY_VERIFICATION_RESUME_SESSION', - IDENTITY_VERIFICATION_PASS_SESSION = 'IDENTITY_VERIFICATION_PASS_SESSION', IDENTITY_VERIFICATION_FAIL_SESSION = 'IDENTITY_VERIFICATION_FAIL_SESSION', + IDENTITY_VERIFICATION_FAIL_STEP = 'IDENTITY_VERIFICATION_FAIL_STEP', IDENTITY_VERIFICATION_OPEN_UI = 'IDENTITY_VERIFICATION_OPEN_UI', + IDENTITY_VERIFICATION_PASS_SESSION = 'IDENTITY_VERIFICATION_PASS_SESSION', + IDENTITY_VERIFICATION_PASS_STEP = 'IDENTITY_VERIFICATION_PASS_STEP', + IDENTITY_VERIFICATION_PENDING_REVIEW_SESSION = 'IDENTITY_VERIFICATION_PENDING_REVIEW_SESSION', + IDENTITY_VERIFICATION_PENDING_REVIEW_STEP = 'IDENTITY_VERIFICATION_PENDING_REVIEW_STEP', + IDENTITY_VERIFICATION_RESUME_SESSION = 'IDENTITY_VERIFICATION_RESUME_SESSION', IDENTITY_VERIFICATION_RESUME_UI = 'IDENTITY_VERIFICATION_RESUME_UI', - IDENTITY_VERIFICATION_CLOSE_UI = 'IDENTITY_VERIFICATION_CLOSE_UI', - LAYER_READY = `LAYER_READY`, - LAYER_NOT_AVAILABLE = `LAYER_NOT_AVAILABLE`, + IDENTITY_VERIFICATION_START_STEP = 'IDENTITY_VERIFICATION_START_STEP', + LAYER_NOT_AVAILABLE = 'LAYER_NOT_AVAILABLE', + LAYER_READY = 'LAYER_READY', MATCHED_CONSENT = 'MATCHED_CONSENT', MATCHED_SELECT_INSTITUTION = 'MATCHED_SELECT_INSTITUTION', MATCHED_SELECT_VERIFY_METHOD = 'MATCHED_SELECT_VERIFY_METHOD', OPEN = 'OPEN', OPEN_MY_PLAID = 'OPEN_MY_PLAID', OPEN_OAUTH = 'OPEN_OAUTH', - PROFILE_ELIGIBILITY_CHECK_READY = 'PROFILE_ELIGIBILITY_CHECK_READY', + PLAID_CHECK_PANE = 'PLAID_CHECK_PANE', PROFILE_ELIGIBILITY_CHECK_ERROR = 'PROFILE_ELIGIBILITY_CHECK_ERROR', + PROFILE_ELIGIBILITY_CHECK_READY = 'PROFILE_ELIGIBILITY_CHECK_READY', + REMEMBER_ME_DISABLED = 'REMEMBER_ME_DISABLED', + REMEMBER_ME_ENABLED = 'REMEMBER_ME_ENABLED', + REMEMBER_ME_HOLDOUT = 'REMEMBER_ME_HOLDOUT', SEARCH_INSTITUTION = 'SEARCH_INSTITUTION', + SELECT_AUTH_TYPE = 'SELECT_AUTH_TYPE', + SELECT_BRAND = 'SELECT_BRAND', SELECT_DEGRADED_INSTITUTION = 'SELECT_DEGRADED_INSTITUTION', SELECT_DOWN_INSTITUTION = 'SELECT_DOWN_INSTITUTION', SELECT_FILTERED_INSTITUTION = 'SELECT_FILTERED_INSTITUTION', SELECT_INSTITUTION = 'SELECT_INSTITUTION', - SELECT_BRAND = 'SELECT_BRAND', - SELECT_AUTH_TYPE = 'SELECT_AUTH_TYPE', + SELECT_SAVED_ACCOUNT = 'SELECT_SAVED_ACCOUNT', + SELECT_SAVED_INSTITUTION = 'SELECT_SAVED_INSTITUTION', + SKIP_SUBMIT_EMAIL = 'SKIP_SUBMIT_EMAIL', + SKIP_SUBMIT_PHONE = 'SKIP_SUBMIT_PHONE', SUBMIT_ACCOUNT_NUMBER = 'SUBMIT_ACCOUNT_NUMBER', + SUBMIT_CREDENTIALS = 'SUBMIT_CREDENTIALS', SUBMIT_DOCUMENTS = 'SUBMIT_DOCUMENTS', - SUBMIT_DOCUMENTS_SUCCESS = 'SUBMIT_DOCUMENTS_SUCCESS', SUBMIT_DOCUMENTS_ERROR = 'SUBMIT_DOCUMENTS_ERROR', - SUBMIT_ROUTING_NUMBER = 'SUBMIT_ROUTING_NUMBER', - VIEW_DATA_TYPES = 'VIEW_DATA_TYPES', - SUBMIT_PHONE = 'SUBMIT_PHONE', - SKIP_SUBMIT_PHONE = 'SKIP_SUBMIT_PHONE', - VERIFY_PHONE = 'VERIFY_PHONE', - SUBMIT_CREDENTIALS = 'SUBMIT_CREDENTIALS', + SUBMIT_DOCUMENTS_SUCCESS = 'SUBMIT_DOCUMENTS_SUCCESS', + SUBMIT_EMAIL = 'SUBMIT_EMAIL', SUBMIT_MFA = 'SUBMIT_MFA', + SUBMIT_PHONE = 'SUBMIT_PHONE', + SUBMIT_ROUTING_NUMBER = 'SUBMIT_ROUTING_NUMBER', TRANSITION_VIEW = 'TRANSITION_VIEW', - CONNECT_NEW_INSTITUTION = 'CONNECT_NEW_INSTITUTION', + VERIFY_PHONE = 'VERIFY_PHONE', + VIEW_DATA_TYPES = 'VIEW_DATA_TYPES', } export enum LinkEventViewName { @@ -513,6 +522,7 @@ export enum LinkEventViewName { SCREENING = 'SCREENING', SELECT_ACCOUNT = 'SELECT_ACCOUNT', SELECT_AUTH_TYPE = 'SELECT_AUTH_TYPE', + SUBMIT_EMAIL = "SUBMIT_EMAIL", SUBMIT_PHONE = 'SUBMIT_PHONE', VERIFY_PHONE = 'VERIFY_PHONE', SELECT_SAVED_INSTITUTION = 'SELECT_SAVED_INSTITUTION', @@ -523,6 +533,7 @@ export enum LinkEventViewName { SUBMIT_DOCUMENTS_SUCCESS = 'SUBMIT_DOCUMENTS_SUCCESS', SUBMIT_DOCUMENTS_ERROR = 'SUBMIT_DOCUMENTS_ERROR', UPLOAD_DOCUMENTS = 'UPLOAD_DOCUMENTS', + VERIFY_EMAIL = "VERIFY_EMAIL", VERIFY_SMS = 'VERIFY_SMS', }