Plaid Link Android SDK 6.0.0 Release Notes
6.0.0 is a Kotlin rewrite of the SDK with a session-based API. You create a typed session per flow (createPlaidLinkSession, createPlaidLayerSession, createPlaidHeadlessSession, createPlaidEmbeddedLinkView), open it through the OpenPlaidLink ActivityResultContract, and receive a typed LinkResult from the launcher callback. Events arrive through a single global listener. There are no @Deprecated 5.x shims; see the migration guide for before/after code for every flow.
What's new
- The SDK AAR is about 74% smaller (~4.5 MB → 1.2 MB).
onLoadcallback: pre-initialize a session in the background and open Link once it's loaded, preventing jarring loading indicators.- More reliable
LinkEventdelivery and improved internal logging for diagnosing session failures. - A session is single-use; build a fresh one per open. The server decides a token's flow type when the session preloads, so opening a token with the wrong session type fails fast (for example, a standard token opened as a headless session returns
LinkErrorCode.SdkError.SESSION_TYPE_MISMATCH).
Breaking changes
See the migration guide for full details and code.
Plaid.create/PlaidHandler/FastOpenPlaidLinkremoved. Create a typed session withcreatePlaid*Sessionand open it withOpenPlaidLink(contract input retyped toPlaidSession).LinkResultHandlerremoved. Use theOpenPlaidLinklauncher callback for the launcher path, orPlaid.parseResult(requestCode, resultCode, data)for the classicopen(Activity)path.open(Fragment)is removed;open(Activity)delivers to the host Activity'sonActivityResult, and for Fragment-scoped results you registerOpenPlaidLinkwithregisterForActivityResult.LinkResultis the type returned by the launcher callback; branch onLinkSuccessandLinkExit. Failures surface as typedLinkErrorCode/LinkErrorType.- Configuration slimmed to a token plus optional
onLoad.logLevelis removed with no replacement;noLoadingStateis removed in favor ofcreatePlaidHeadlessSession. AddsLayerTokenConfigurationandEmbeddedLinkTokenConfiguration. LinkEventListeneris now afun interface(was atypealias). Lambdas passed directly toPlaid.setLinkEventListenerstill work, but assigning a lambda to aLinkEventListenervariable no longer compiles. From Java,onEventreturnsvoid.- Exception hierarchy collapsed from 16 types to 2. Code that caught the old config-validation exceptions won't compile.
Requirements
| Name | Version |
|---|---|
| Android minSdk | 26 (Android 8.0) — raised from 21 in 5.x |
| compileSdk | 36 |
| Java | 11+ source/target (example app uses 17) |
| Kotlin | 2.x |