Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 49 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,50 @@
# RELEASES

## LinkKit 7.0.0 - 2026-06-09

LinkKit 7.0.0 is a major release introducing a modernized, session-based architecture and native SwiftUI support. This version significantly reduces the SDK footprint while offering more granular control over Link flows.

### ⚠️ Breaking Changes & Deprecations

* **Session-based API**: The legacy `Handler` API has been replaced by specialized `Session` objects (e.g., `PlaidLinkSession`, `PlaidLayerSession`).
* **CocoaPods Retirement**: CocoaPods is no longer a supported distribution method. Please migrate to **Swift Package Manager (SPM)** to continue receiving updates.
* **Swift-Only Core**: The core `LinkKit` module is now Swift-only. For Objective-C support, you must explicitly import the new `LinkKitObjC` module.

### Requirements

| Name | Version |
|------|---------|
| Xcode | >= 16.1.0 |
| iOS | >= 15.0 |
| Swift | >= 5.10 |

### Key Enhancements

* **SDK Footprint Reduction**: Reduced the executable size from ~6.4MB to **2.5MB**, optimizing app bundle sizes.
* **Native SwiftUI Support**: Introduces native modifiers like `.plaidLink(isPresented:token:...)` and the `.sheet()` method on session objects, removing the need for `UIViewControllerRepresentable`.
* **Pre-Initialization & `onLoad`**: The `onLoad` callback is now a first-class citizen in `LinkTokenConfiguration`. You can now initialize sessions in the background and only present UI when the SDK is "Ready."
* **Modernized FinanceKit Sync**: Moved FinanceKit functionality to `PlaidFinanceKit` with support for **async/await** and a new `SyncBehavior` enum.

### Feature Updates

#### Standard Link
- Unified `LinkTokenConfiguration` where `onSuccess`, `onExit`, `onEvent`, and `onLoad` are all defined at initialization.
- Replaced `Plaid.create` result-switching with a throwing `Plaid.createPlaidLinkSession` method.

#### Plaid Layer
- Introduced `LayerTokenConfiguration` and `PlaidLayerSession`.
- Added `session.submit(data:)` to programmatically pass user information (Phone, DOB) to an active Layer session.

#### Headless Link
- Optimized `PlaidHeadlessSession` which removes the need for `noLoadingState` flags; the session is entirely invisible until programmatically started.

#### Embedded Link
- New `EmbeddedSearchView` (SwiftUI) and `EmbeddedSearchUIView` (UIKit) provide a "search-first" native experience without manual view wrapping.

---

**Note:** For detailed code examples and step-by-step instructions on transitioning your implementation, please refer to our [v7.0.0 Migration Guide](https://github.com/plaid/plaid-link-ios/blob/master/v7-migration-guide.md).

# LinkKit 7.0.0-beta4 - 2026-05-15

LinkKit 7.0.0 is a major release introducing a modernized, session-based architecture and native SwiftUI support. This version significantly reduces the SDK footprint while offering more granular control over Link flows.
Expand Down Expand Up @@ -43,7 +88,7 @@ LinkKit 7.0.0 is a major release introducing a modernized, session-based archite

---

**Note:** For detailed code examples and step-by-step instructions on transitioning your implementation, please refer to our [v7.0.0 Migration Guide](#).
**Note:** For detailed code examples and step-by-step instructions on transitioning your implementation, please refer to our [v7.0.0 Migration Guide](https://github.com/plaid/plaid-link-ios/blob/master/v7-migration-guide.md).

# LinkKit 7.0.0-beta3 - 2026-03-23

Expand Down Expand Up @@ -88,7 +133,7 @@ LinkKit 7.0.0 is a major release introducing a modernized, session-based archite

---

**Note:** For detailed code examples and step-by-step instructions on transitioning your implementation, please refer to our [v7.0.0 Migration Guide](#).
**Note:** For detailed code examples and step-by-step instructions on transitioning your implementation, please refer to our [v7.0.0 Migration Guide](https://github.com/plaid/plaid-link-ios/blob/master/v7-migration-guide.md).

# LinkKit 7.0.0-beta2 - 2026-03-12

Expand Down Expand Up @@ -133,7 +178,7 @@ LinkKit 7.0.0 is a major release introducing a modernized, session-based archite

---

**Note:** For detailed code examples and step-by-step instructions on transitioning your implementation, please refer to our [v7.0.0 Migration Guide](#).
**Note:** For detailed code examples and step-by-step instructions on transitioning your implementation, please refer to our [v7.0.0 Migration Guide](https://github.com/plaid/plaid-link-ios/blob/master/v7-migration-guide.md).


# LinkKit 7.0.0-beta1 - 2026-02-27
Expand Down Expand Up @@ -179,7 +224,7 @@ LinkKit 7.0.0 is a major release introducing a modernized, session-based archite

---

**Note:** For detailed code examples and step-by-step instructions on transitioning your implementation, please refer to our [v7.0.0 Migration Guide](#).
**Note:** For detailed code examples and step-by-step instructions on transitioning your implementation, please refer to our [v7.0.0 Migration Guide](https://github.com/plaid/plaid-link-ios/blob/master/v7-migration-guide.md).

## LinkKit 6.4.7 - 2026-03-19
### Requirements
Expand Down
10 changes: 5 additions & 5 deletions LinkKit.xcframework/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,32 @@
<key>BinaryPath</key>
<string>LinkKit.framework/LinkKit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>LinkKit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>LinkKit.framework/LinkKit</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>LinkKit.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
Expand Down
Binary file modified LinkKit.xcframework/ios-arm64/LinkKit.framework/Info.plist
Binary file not shown.
Binary file modified LinkKit.xcframework/ios-arm64/LinkKit.framework/LinkKit
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
</data>
<key>Info.plist</key>
<data>
ZAQkmG5RawS0ogREDoLDWqiRkI0=
CCtLF/Sq9kGzANP7WX3EbJBgeYs=
</data>
<key>Modules/LinkKit.swiftmodule/arm64-apple-ios.abi.json</key>
<data>
Expand All @@ -34,7 +34,7 @@
</data>
<key>Modules/LinkKit.swiftmodule/arm64-apple-ios.swiftmodule</key>
<data>
nVR89KyqcvwC8qYR+x9UbCUbP28=
Fn18Kk2T3pfmEctYDq9vjfF0Tkw=
</data>
<key>Modules/module.modulemap</key>
<data>
Expand Down Expand Up @@ -93,7 +93,7 @@
<dict>
<key>hash2</key>
<data>
pBQ4AbR/cU3ku9xEGFL+MrWitJIlgNDuPbBm3A+puT4=
1PE1LbGRuPPBhIcvlGo7kow10ukFXfRFNblUmafFp/8=
</data>
</dict>
<key>Modules/module.modulemap</key>
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>4020.1778793837</string>
<string>4031.1781030446</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
Expand All @@ -47,9 +47,9 @@
<key>SCMBuildBranch</key>
<string>HEAD</string>
<key>SCMBuildNumber</key>
<string>1778793837</string>
<string>1781030446</string>
<key>SCMBuildRevision</key>
<string>841fd5346</string>
<string>6aa367050</string>
<key>UIDeviceFamily</key>
<array>
<integer>2</integer>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<dict>
<key>Resources/Info.plist</key>
<data>
yax60/uQf9nOLve7IXvxPmj+bxk=
a3aebBumpoVluQSBABdehBM517I=
</data>
<key>Resources/PrivacyInfo.xcprivacy</key>
<data>
Expand Down Expand Up @@ -61,7 +61,7 @@
<dict>
<key>hash2</key>
<data>
1G+atN38NcG6UzgbFE1tuc7Ssrb7w2uLOVlfY9Tsr/Q=
EsDgLKNiEwLqJpvxGFyypIc06fYwkt7YMJw/Kc6IBnA=
</data>
</dict>
<key>Modules/LinkKit.swiftmodule/x86_64-apple-ios-macabi.abi.json</key>
Expand Down Expand Up @@ -96,7 +96,7 @@
<dict>
<key>hash2</key>
<data>
byCtXHqshf3q/jzy81JkDtb7+6FxGSH60soNn8BuFlw=
v60ab9pnGtJvJLQ9XG7zN48fGLj2iuZI5GO81BHIVqU=
</data>
</dict>
<key>Modules/module.modulemap</key>
Expand All @@ -110,7 +110,7 @@
<dict>
<key>hash2</key>
<data>
KfL9fGjMMwtBCPWWJ1iu11WUPZqiuhaCj1VQ7LSBI9Y=
ZB81yQ66UD+iAai/swst7OYDdbcn4rQPVnUfAvY9y4o=
</data>
</dict>
<key>Resources/PrivacyInfo.xcprivacy</key>
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
</data>
<key>Info.plist</key>
<data>
RH7lBCtThSEM8QOFY6bmFkQkMLk=
AgyYZj3go9s4dzNj5L+QQMHnTOA=
</data>
<key>Modules/LinkKit.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
<data>
Expand All @@ -34,7 +34,7 @@
</data>
<key>Modules/LinkKit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data>
v/R5emF1ZTv81h6yfV+fSfLMENU=
mzLlm7/nmMjRGNrgnTNepzSTKC8=
</data>
<key>Modules/LinkKit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<data>
Expand All @@ -54,7 +54,7 @@
</data>
<key>Modules/LinkKit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<data>
p/QXdCmZJ4SZ819E6DwkWLb1X6U=
G3EhoV6vT0GmydyoqIumSrhg0vQ=
</data>
<key>Modules/module.modulemap</key>
<data>
Expand Down Expand Up @@ -113,7 +113,7 @@
<dict>
<key>hash2</key>
<data>
NoQdr2jIzjHDvkbD0q2UqgstwYWRpZVVaRq5pMsmQVs=
J+O5khoK25tAydT9tgkYKawUxeHr6oDTFq6NDmoye/U=
</data>
</dict>
<key>Modules/LinkKit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
Expand Down Expand Up @@ -148,7 +148,7 @@
<dict>
<key>hash2</key>
<data>
4HAmbkyYX2T5J3Bs7qUWxxJjgxZhPnZJD+eqD8W4/MY=
TAHp1Do9hxAzw2V4/Y4RxvU7DNpPhHkXyMl67e910MU=
</data>
</dict>
<key>Modules/module.modulemap</key>
Expand Down
Loading