Skip to content

Commit 2b21cf7

Browse files
[Release] - 12.3.0 (#792)
1 parent 8260c64 commit 2b21cf7

File tree

9 files changed

+84
-5
lines changed

9 files changed

+84
-5
lines changed

CHANGELOG.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,65 @@
11
# RELEASES
22

3+
## LinkKit V12.3.0 — 2025-07-24
4+
5+
#### Requirements
6+
7+
This SDK now works with any supported version of React Native.
8+
9+
### Android
10+
11+
Android SDK [5.2.0](https://github.com/plaid/plaid-link-android/releases/tag/v5.2.0)
12+
13+
### Additions
14+
15+
- Add ISSUE_FOLLOWED, IDENTITY_MATCH_PASSED, and IDENTITY_MATCH_FAILED event names and issue_id event metadata field.
16+
17+
### Changes
18+
19+
- Improve destroy() API behavior in edge cases.
20+
21+
### Removals
22+
23+
- Reduce SDK size by 11.5% down from 5.0MB to 4.5MB.
24+
- Remove the androidx.recyclerview:recyclerview, androidx.constraintlayout:constraintlayout, and io.coil-kt:coil dependencies.
25+
26+
#### Requirements
27+
28+
| Name | Version |
29+
|------|---------|
30+
| Android Studio | 4.0+ |
31+
| Kotlin | 1.9.25+ (Kotlin integrations only) |
32+
33+
### iOS
34+
35+
iOS SDK [6.3.0](https://github.com/plaid/plaid-link-ios/releases/tag/6.3.0)
36+
37+
### SwiftUI API Enhancements
38+
39+
- Added `makePlaidLinkSheet()` to `Handler`: a convenience method that returns a `View` to present LinkKit using `.fullScreenCover` in SwiftUI applications.
40+
- Added `plaidLink(isPresented:handler:)`: a SwiftUI view modifier to attach LinkKit to any `View`, such as a `Button`, using a pre-configured handler.
41+
- Added `plaidLink(isPresented:token:onSuccess:onExit:onEvent:onLoad:errorView:)`: a flexible SwiftUI modifier for creating LinkKit sessions with just a link token and callbacks—no `Handler` required.
42+
43+
### Testing
44+
45+
- Improved FinanceKit testing capabilities in Sandbox.
46+
47+
### Event Tracking Improvements
48+
49+
- Added event names:
50+
- `IDENTITY_MATCH_PASSED`
51+
- `IDENTITY_MATCH_FAILED`
52+
- `ISSUE_FOLLOWED`
53+
- `SELECT_ACCOUNT`
54+
55+
#### Requirements
56+
57+
| Name | Version |
58+
|------|---------|
59+
| Xcode | >= 16.1.0 |
60+
| iOS | >= 14.0 |
61+
62+
363
## LinkKit V12.2.1 — 2025-06-21
464

565
#### Requirements

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ While these older versions are expected to continue to work without disruption,
206206

207207
| Plaid SDK Version | Min React Native Version | Android SDK | Android Min Version | Android Compile Version| iOS SDK | iOS Min Version | Status |
208208
|-------------------|--------------------------|-------------|---------------------|------------------------|---------|-----------------|-------------------------------|
209+
| 12.3.0 | * | [5.2.0+] | 21 | 34 | >=6.3.0 | 14.0 | Active, supports Xcode 16.1.0 |
209210
| 12.2.1 | * | [5.1.1+] | 21 | 34 | >=6.2.1 | 14.0 | Active, supports Xcode 16.1.0 |
210211
| 12.2.0 | * | [5.1.1+] | 21 | 34 | >=6.2.1 | 14.0 | Active, supports Xcode 16.1.0 |
211212
| 12.1.1 | * | [5.0.0+] | 21 | 34 | >=6.1.0 | 14.0 | Active, supports Xcode 16.1.0 |

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,6 @@ repositories {
106106

107107
dependencies {
108108
implementation "com.facebook.react:react-native:+"
109-
implementation "com.plaid.link:sdk-core:5.1.1"
109+
implementation "com.plaid.link:sdk-core:5.2.0"
110110
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
111111
}

android/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<application>
55
<meta-data
66
android:name="com.plaid.link.react_native"
7-
android:value="12.2.1" />
7+
android:value="12.3.0" />
88
</application>
99

1010
</manifest>

android/src/main/java/com/plaid/gson/RNEventMetadataAdapter.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class RNEventMetadataAdapter : JsonSerializer<LinkEventMetadata> {
3636
addProperty("linkSessionId", src.linkSessionId)
3737
addProperty("mfaType", src.mfaType)
3838
addProperty("requestId", src.requestId)
39+
addProperty("issueId", src.issueId)
3940
addProperty("timestamp", src.timestamp)
4041
addProperty("viewName", src.viewName?.jsonValue ?: "")
4142
addProperty("metadata_json", src.metadataJson)

ios/RNLinksdk.mm

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ @implementation RNLinksdk
2828
RCT_EXPORT_MODULE();
2929

3030
+ (NSString*)sdkVersion {
31-
return @"12.2.1"; // SDK_VERSION
31+
return @"12.3.0"; // SDK_VERSION
3232
}
3333

3434
+ (NSString*)objCBridgeVersion {
@@ -350,6 +350,7 @@ + (NSDictionary *)dictionaryFromEvent:(PLKLinkEvent *)event {
350350
@"linkSessionId": metadata.linkSessionID ?: @"",
351351
@"mfaType": [self stringForMfaType:metadata.mfaType] ?: @"",
352352
@"requestId": metadata.requestID ?: @"",
353+
@"issueId": metadata.issueID ?: @"",
353354
@"timestamp": [self iso8601StringFromDate:metadata.timestamp] ?: @"",
354355
@"viewName": [self stringForViewName:metadata.viewName] ?: @"",
355356
@"metadata_json": metadata.metadataJSON ?: @"",
@@ -522,6 +523,16 @@ + (NSString *)stringForEventName:(PLKEventName *)eventName {
522523
return @"AUTO_SELECT_SAVED_INSTITUTION";
523524
case PLKEventNameValuePlaidCheckPane:
524525
return @"PLAID_CHECK_PANE";
526+
case PLKEventNameValueAutoSubmitPhone:
527+
return @"AUTO_SUBMIT_PHONE";
528+
case PLKEventNameValueIdentityMatchPassed:
529+
return @"IDENTITY_MATCH_PASSED";
530+
case PLKEventNameValueIdentityMatchFailed:
531+
return @"IDENTITY_MATCH_FAILED";
532+
case PLKEventNameValueIssueFollowed:
533+
return @"ISSUE_FOLLOWED";
534+
case PLKEventNameValueSelectAccount:
535+
return @"SELECT_ACCOUNT";
525536
}
526537
return @"unknown";
527538
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-plaid-link-sdk",
3-
"version": "12.2.1",
3+
"version": "12.3.0",
44
"description": "React Native Plaid Link SDK",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

react-native-plaid-link-sdk.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ Pod::Spec.new do |s|
3535
end
3636

3737
s.dependency 'React-Core'
38-
s.dependency 'Plaid', '~> 6.2.1'
38+
s.dependency 'Plaid', '~> 6.3.0'
3939
end

src/Types.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,13 +439,16 @@ export interface LinkEventMetadata {
439439

440440
export enum LinkEventName {
441441
AUTO_SELECT_SAVED_INSTITUTION = 'AUTO_SELECT_SAVED_INSTITUTION',
442+
AUTO_SUBMIT_PHONE = 'AUTO_SUBMIT_PHONE',
442443
BANK_INCOME_INSIGHTS_COMPLETED = 'BANK_INCOME_INSIGHTS_COMPLETED',
443444
CLOSE_OAUTH = 'CLOSE_OAUTH',
444445
CONNECT_NEW_INSTITUTION = 'CONNECT_NEW_INSTITUTION',
445446
ERROR = 'ERROR',
446447
EXIT = 'EXIT',
447448
FAIL_OAUTH = 'FAIL_OAUTH',
448449
HANDOFF = 'HANDOFF',
450+
IDENTITY_MATCH_PASSED = 'IDENTITY_MATCH_PASSED',
451+
IDENTITY_MATCH_FAILED = 'IDENTITY_MATCH_FAILED',
449452
IDENTITY_VERIFICATION_CLOSE_UI = 'IDENTITY_VERIFICATION_CLOSE_UI',
450453
IDENTITY_VERIFICATION_CREATE_SESSION = 'IDENTITY_VERIFICATION_CREATE_SESSION',
451454
IDENTITY_VERIFICATION_FAIL_SESSION = 'IDENTITY_VERIFICATION_FAIL_SESSION',
@@ -458,6 +461,7 @@ export enum LinkEventName {
458461
IDENTITY_VERIFICATION_RESUME_SESSION = 'IDENTITY_VERIFICATION_RESUME_SESSION',
459462
IDENTITY_VERIFICATION_RESUME_UI = 'IDENTITY_VERIFICATION_RESUME_UI',
460463
IDENTITY_VERIFICATION_START_STEP = 'IDENTITY_VERIFICATION_START_STEP',
464+
ISSUE_FOLLOWED = 'ISSUE_FOLLOWED',
461465
LAYER_NOT_AVAILABLE = 'LAYER_NOT_AVAILABLE',
462466
LAYER_READY = 'LAYER_READY',
463467
MATCHED_CONSENT = 'MATCHED_CONSENT',
@@ -473,6 +477,7 @@ export enum LinkEventName {
473477
REMEMBER_ME_ENABLED = 'REMEMBER_ME_ENABLED',
474478
REMEMBER_ME_HOLDOUT = 'REMEMBER_ME_HOLDOUT',
475479
SEARCH_INSTITUTION = 'SEARCH_INSTITUTION',
480+
SELECT_ACCOUNT = 'SELECT_ACCOUNT',
476481
SELECT_AUTH_TYPE = 'SELECT_AUTH_TYPE',
477482
SELECT_BRAND = 'SELECT_BRAND',
478483
SELECT_DEGRADED_INSTITUTION = 'SELECT_DEGRADED_INSTITUTION',
@@ -491,6 +496,7 @@ export enum LinkEventName {
491496
SUBMIT_EMAIL = 'SUBMIT_EMAIL',
492497
SUBMIT_MFA = 'SUBMIT_MFA',
493498
SUBMIT_PHONE = 'SUBMIT_PHONE',
499+
SUBMIT_OTP = 'SUBMIT_OTP',
494500
SUBMIT_ROUTING_NUMBER = 'SUBMIT_ROUTING_NUMBER',
495501
TRANSITION_VIEW = 'TRANSITION_VIEW',
496502
VERIFY_PHONE = 'VERIFY_PHONE',

0 commit comments

Comments
 (0)