Name | Version |
---|---|
Xcode | >= 14.0 |
iOS | >= 11.0 |
- This version of LinkKit was built & validated on an Xcode 14 toolchain
- LinkKit now supports Mac Catalyst
Name | Version |
---|---|
Xcode | >= 13.0 |
iOS | >= 11.0 |
- Bug fixes and performance tuning.
Name | Version |
---|---|
Xcode | >= 13.0 |
iOS | >= 11.0 |
- Added events for Identity Verification. See https://plaid.com/docs/link/ios/#link-ios-onevent-linkEvent-eventName
- Added camera support for Identity Verification. If using this product, applications must add a
NSCameraUsageDescription
entry to their plist. - Added
oauth
event type.
Name | Version |
---|---|
Xcode | >= 13.0 |
iOS | >= 11.0 |
- This version of LinkKit was built & validated on an Xcode 13 toolchain
- Fixes issue where parsing of
requires_account_selection
onExit status code was not performed correctly.
-
Add support for
SELECT_DEGRADED_INSTITUTION
andSELECT_DOWN_INSTITUTION
events, which indicate the user has selected an institution with a connection health status ofdegraded
ordown
, and encountered a corresponding warning modal. -
Add new onExit status code
requires_account_selection
that is sent when Link is exited from the Account Select pane
- Add
SUBMIT_DOCUMENTS
,SUBMIT_DOCUMENTS_SUCCESS
, andSUBMIT_DOCUMENTS_ERROR
view name for onEvent metadata
- Improve resilience of OAuth based Link flows. LinkKit will attempt to mitigate faulty LinkKit integrations in regards to OAuth continuation or universal link handling in order to guide users through a successful Link flow.
-
Add support for the
BANK_INCOME_INSIGHTS_COMPLETED
event, which indicates the user has completed the Assets + Bank Income Insights flow. -
Add support for integrating LinkKit via Swift Package Manager
-
Fix issue where account linking could get stuck on the institution's setup page for
USER_SETUP_REQUIRED
andITEM_LOCKED
errors. -
Fix issue where webview popup is displayed when a link is opened externally in a browser.
-
Improve handling of external links and webview popup navigation.
- Fix issue where
noLoadingState
flag was not properly bridged for Objective-C integrations.
- Add optional
noLoadingState
parameter toLinkTokenConfiguration
to enable integrating applications to display a custom activity indicator until LinkKit is ready to present UI.
- Fix
+
appearing instead of blank space in onEvent metadata fields, e.g. account and institution name.
-
Fix issue where LinkKit always returned an error when LinkKit was included in an application, that was distributed with Xcode 13 and the new Manage Version and Build Number App Store Connect distribution option selected.
-
Fix issue where 2 back buttons could be displayed erroneously during recaptcha verification or federated authentication.
-
Improve handling of OAuth redirect URIs.
ℹ️ The following issues exist in this version and will be addressed with the next release.
- LinkKit will always show an error when the new Xcode 13 Manage Version and Build Number App Store Connect distribution option was used. To mitigate the issue please avoid use of said option or use Xcode 12 for app distribution.
- Add
UPLOAD_DOCUMENTS
view name for onEvent metadata
- Fix account filter and custom initializer regression for public key based integrations introduced in 2.2.0.
ℹ️ The following issues exist in this version and will be addressed with the next release.
- Custom Initializers do not work with 2.2.0. This has been resolved in 2.2.1.
- LinkKit will now show an error to the end-user when there are network communication issues.
- LinkKit will now show a back button in a navigation bar for an institutions OAuth login URL.
- LinkKit added back support for Payment Initiation flows.
- Fixes issue where onSuccess and onExit would be invoked before the presented View Controller was dismissed
- Addresses an issue present in 2.1.1 and 2.1.0 where using OAuth with a financial institution that does not support App-to-App OAuth, or when the user does not have that institution's app installed, LinkKit will open the OAuth flow in the user's default browser as opposed to a webview internal to the SDK.
ℹ️ The following issues exist in this version and will be addressed in LinkKit 2.1.2.
- When using OAuth with a financial institution that does not support App-to-App OAuth, or when the user does not have that institution's app installed, LinkKit will open the OAuth flow in the user's default browser as opposed to a webview internal to the SDK.
- Fix issue where item-no-error was not returned from the SDK
- Fix issue where opening Link using a
.viewController
presentation method did not support dismissing UINavigationControllers correctly
ℹ️ The following issues exist in this version and will be addressed in LinkKit 2.1.2.
- When using OAuth with a financial institution that does not support App-to-App OAuth, or when the user does not have that institution's app installed, LinkKit will open the OAuth flow in the user's default browser as opposed to a webview internal to the SDK.
- Add
DismissalHandler
closure tocustom
PresentationMethod
to control dismissing Plaid Link.
- Replace
continueFrom(redirectUri:)
withcontinue(from:)
, and deprecate the former - Fix issue where the accounts array could sometimes be missing accounts
- The navigation links on top of the End User Privacy Policy now jump to the respective sections instead of opening in Mobile Safari.
- Tapping email address links in the End User Privacy now opens the default mail application.
- When an action is required on the account the user taken to the institution's appropriate page in the configured default browser instead of within Link.
- Improve performance of
LinkKit.Handler.open(...)
- Fix issue with symbols lookup in lldb
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
- Fix spelling of PLKSuccessMetadata.institution
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
- Fix the Objective-C -> Swift bridge's handling of PLKLinkPublicKeyConfiguration
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
- Rename static SwiftProto dependency to avoid conflicting symbols at run time
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
- Add deposit switch product
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
- Provide full raw json error metadata in onExit
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
- Correctly handle redirect URIs with no path component
- Improve error messaging on configuration validation
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
- Correctly set errorCode in metadata
- Correctly set accountMask in metadata
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
- Fix resetting the password from the credential pane
- Fix links in privacy policy
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
- Fix missing symbols error when using the Objective-C bridge, e.g. through React Native.
- Correctly sent
OPEN
event. Due to an internal issue theHANDOFF
event was sent instead.
ℹ️ The following issues exist in this version and will be addressed with the next release.
- When integrating with using React-Native Release builds will show missing symbols.
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
ℹ️ The following issues exist in this version and will be addressed with the next release.
-
Resetting the password from the credential pane is currently non-functional.
-
Link token based flows that do not have the
redirect_uri
set correctly upon creation will not redirect back to Link to complete the flow.
Name | Version |
---|---|
Xcode | >= 11.5 |
iOS | >= 11.0 |
For details about migrating from LinkKit 1.x to 2.x please see the migration guide.
ℹ️ Unfortunately a wrong LinkKit binary was released as 2.0.0, please use version 2.0.1 as the following issues exist in this version and will be addressed with the next release.
- LinkKit may crash in certain scenarios like link-token based payment initiation.
LinkKit 2.x marks the next generation of the Plaid Link for iOS SDK. It brings support for new features such as Link token based Payment Initation and unifies the Plaid Link mobile APIs across platforms while taking advantage of features available to iOS 11 and up.
Please see known issues below and use version 2.0.6 instead.
- Fix issue with null account data in handoff metadata when linking with account numbers
- Fix issue with null error info and
request_id
in handoff metadata
- Fix issue with null account_id in returned metadata
- Fix issue with OAuth redirect during the patch flow
- Bug fix to allow using institutionId and oauth together when initializing Link with a Link token.
- Bug fixes and stability.
- Add events for OAuth flow
- Update language used in the manual microdeposit flow
- Fix issue with the OAuth flow when re-using the same PLKConfiguration instance
- Improve Link Token flow
- Improve Plaid Link flow event reporting for certain flows
- Fix issue with institution search when using account filtering and only the auth product.
- Fix crash when some users are presented with a recaptcha challenge
- Fix issue with copy customizations for non-English languages
- Fix a critical issue for certain rare use cases
- Added a name pane after the introductory pane to prompt the user to enter their name in the manual microdeposit flow.
- Added a class type pane after the name pane for the user to select the account class type in the manual microdeposit flow.
- Added an authorization pane at the end of the manual microdeposits flow to present the legal policy for crediting and debiting an end-user's account asking to authorize these credits and debits.
- Fix crash when the
UINavigationController.topViewController
was accessed from a background thread. - Out-of-process webviews now open to https://secure.plaid.com rather than https://cdn.plaid.com.
- Open institution's account setup url when necessary.
- Updated the automated microdeposits workflow to now include the name pane and class type pane.
- Manual microdeposits no longer require the user legal name or email address from the end-user.
- Removed the legal policy from the microdeposits introductory pane.
- Bug fixes and stability.
- Additional lines of text are now allowed for customized empty search help text.
- Fixed crash in some cases where a client name was not specified in the configuration.
- The select account pane no longer erroneously shows up in credential update flows.
- Fix for some institutions not showing up in non-english builds.
- Updated links to privacy policies.
- New text clarifying EU app-to-app flows.
- When configured with a non-production environment Plaid Link for iOS will now show an alert and a log message when the SDK is considered to be outdated.
- Fix cases where certain microdeposits would fail to verify.
- Added CONSENT as a possible
view_name
metadata value for theOPEN
event. Details here https://plaid.com/docs/#metadata-view_name
- Fix issue with manual microdeposits, where the flow failed when users went back and changed the amount entered first
- Fix account select UI for regular flow regression, where the available account options were not properly visible
- Fix issue with OAuth flow when invoked using custom initializer, where the LinkKit would crash when federated authentication was cancelled and retried
- Fix issue where the OPEN event would not be sent in some cases.
- Added "warning" and "force" Alert for deprecated SDK versions. Also added a warning "log" for deprecation notices.
- Fix issue where the OPEN event would not be sent in some cases.
ℹ️ As of this version LinkKit requires Xcode 11
- Better user messaging for financial institutions experiencing connectivity issues.
- Fix account select UI for Open Banking flows, where the available account options were not properly visible
- Fix issues with account linking after recaptcha validation
- Add external events
SUBMIT_CREDENTIALS
andSUBMIT_MFA
(for details see https://plaid.com/docs/#onevent-callback) - Add balance localization support for the Select Account pane.
- Fix issue with account linking in Europe after recaptcha validation
- Fixes crash in some cases when the back button is tapped in quick succession.
- Override LinkKit user interface style with light style until support dark mode is complete
- Fix AppStore validation errors by exchanging use of deprecated UIWebView with WKWebView in third-party password manager integration code
ℹ️ The following issues currently exist in LinkKit and will be addressed with the next release planned for the mid-September 2019
- Applications integrating LinkKit may get rejected by the App Store due to use of deprecated API (
UIWebView
) in third-party password manager integration code
- Improve account link flow for non-US institutions
- Fix crash during account select flow
- Fix displaying external links from within the privacy policy pane
- Add new optional configuration property
language
, to specify the language in which the UI will be displayed.
- Fix issue with
countryCodes
when using shared configuration via Info.plist - Improve institution search results when searching for institutions supporting transactions
- Fix issue where the end-user was not taken back to enter their credentials when providing an invalid username during the patch flow.
- Disable pinch to zoom when viewing the privacy policy.
- Support for APIv1 is now officially deprecated and unavailable. When Linkkit is configured with APIv1 it returns an error.
- Add new optional configuration property
countryCodes
to limit selectable institutions and institution search results to institutions available in the given countries
- Fix issue with automated microdeposits, which were only enabled when the configured product was
auth
- Fix issue where institutions were displayed on the institutionSelect- and institutionSearchPane that did not support the configured products
- Allow opt-in of account linking via microdeposits by configuring
userLegalName
anduserEmailAddress
; before public keys enabled for the latest auth features were required to provideuserLegalName
anduserEmailAddress
- Fix issue with account verification via manual microdeposits
- Fix issue with multiple institution logos displayed when blurring views with sensitive information once the app switcher is activated
ℹ️ The following issues currently exist in LinkKit and will be addressed with the next release planned for the end of February 2019
- When verifying an account via manual microdeposits Plaid Link for iOS stalls after confirming the account number
- Add support for the latest Auth features. Read the blog post, and reach out to [email protected] to enable your account and begin testing
- Add haptic feedback for selection changes and validation errors
- Add account number confirmation step when asking the end-user to enter their account and routing number
- Add retry for account routing number entry
- Improve account routing number messaging on validation errors
- Improve VoiceOver support
- Fix unknown account subtype in metadata in the
PLKPlaidLinkViewDelegate
calls (#294) - Fix multiple account selection indicator
- Fix grammar and spelling mistakes in header comments
- Fix access for optional
webhook
andclientName
configuration properties (#284) - Improve compatibility with iOS 8
- Improve VoiceOver accessibility by focussing on primary element when views appear, setting more specific accessibility labels, hints, and traits for existing elements, and hiding irrelevant elements.
- Improve handling of blur effect on application suspend / resume when other modal view controllers as for the Reset password flow are presented / dismissed.
- Include all available accounts metadata in the
linkViewController:didSucceedWithPublicToken:metadata
delegate calls (#239)
ℹ️ The following issues currently exist in LinkKit and will be addressed with the next release planned for the middle of October 2018.
- If the Reset password button on the credentials pane is tapped at the same time that the application goes into the background, the blur effect, which hides sensitive information from views, is not removed once the application becomes active again.
- Add support for iOS 12 security code auto-fill
- Fix issue where customizing the copy of button on the consent pane did not update the copy of the text below accordingly
- The metadata in the
linkViewController:didHandleEvent:metadata
callback method now includes data of the selected institution in every event if present - Allow the
dismissViewControllerAnimated:completion:
to be called on thePLKPlaidLinkViewController
object (addresses #254). Yet we recommend callingdismissViewControllerAnimated:completion:
on the object that presented thePLKPlaidLinkViewController
or on thepresentingViewController
property of thelinkViewController
object passed to thePLKPlaidLinkViewDelegate
methods.
ℹ️ The following issues currently exist in LinkKit and will be addressed with the next release planned for the middle of September 2018.
- When customizing the copy of button on the consent pane the copy of the text below is not updated accordingly
- Add support for customization of the headline, submit button, and highlight color on the initial consentPane
- Add support for alphanumeric MFA codes
- Add support for react native
- Remove sensitive information from views before moving to the background
- Fix issue where the
Restart
action on the result pane exited the flow instead of going back to the institution select pane. (addresses #256). - Fix issue where LinkKit can crash during device based mfa (addresses #252).
- Improve animation of blur effect during application suspend / resume
ℹ️ The following issues currently exist in LinkKit 1.1.10 and older and are fixed in LinkKit 1.1.11
- LinkKit can crash during device based mfa. For further details see #252.
- Plaid Link for iOS now asks end users for their consent to Plaid's privacy policy
- Fix issue that could crash LinkKit in sandbox mode when viewing the development mode information
- Fix issue where the last active pane instead of the institution select pane would be shown when the same instance of
PLKPlaidLinkViewController
was re-used - Present institution website after "Unlock account" is tapped on the result pane for a locked item
- Improve compatability with iOS 8
- Fix issue where the search pane would be shown instead of the institution select pane when going back from the credentials pane
- Visual user interface modification to create more similarity between Plaid Link for web and iOS
- Fix issue with credentials validation that requires a PIN code when using a third-party password manager
- Fix status bar style for applications that disable view controller-based status bar appearance
- All delegate methods of the
PLKPlaidLinkViewDelegate
protocol are now called on the main thread - Visual user interface modification to create more similarity between Plaid Link for web and iOS
- Move the third-party password manager button from the username field to the password field
- Remove back bar button item on credential pane when retrying credentials using custom initializer flow
- Add customizable exit button below search results (addresses #228).
- For the select account flow the account mask, type, and subtype are now returned in the metadata of the
linkViewController:didSucceedWithPublicToken:metadata
handler.
- Deprecate
kPLKMetadataInstitutionType
constant in favor ofkPLKMetadataType
andkPLKMetadataInstitution_Type
in favor ofkPLKAPIv1MetadataInstitutionType
- Remove the Success view when Select Accout is enabled in the Plaid Dashboard, to match the behaviour in Link Web
- Add warning log message when third-party password manager support is not setup properly
- Values for
PLKPLAIDLINK_DIAGNOSTICS
log level to accommodate for newly added warning log level - Fix sandbox only crash when submitting credentials after having viewed the development mode info view (#234)
- Fix crash when customized institution select pane contained certain institutions (#235)
ℹ️ The following issues currently exist in LinkKit and will be addressed with the next release planned for beginning of March 2018.
-
LinkKit can crash when the Institution Select pane has been customized with certain longtail institutions with long names. Unfortunately this is a production issue and we recommend removing these institutions from the customized Institution Select pane until the next version of LinkKit has been integrated in your application. For further details see
plaid/link#235
-
LinkKit crashes when using custom initializers and navigating back from the development mode info pane to the credentials pane and then submitting credentials. This is a sandbox / development only related issue and cannot occur in production context where the development mode info page is not available. For further details see
plaid/link#234
- Improve error handling when initializing LinkKit
- When retrying a login the previously entered username will remain in the username input field.
- Fix bug where password manager action sheet could be invoked even though password manager button in credential field was invisible
- Visual user interface modification to create more similarity between Plaid Link for web and iOS.
- Add support for password managers to allow users to use application extensions provided by password manager applications to fill in the account credentials. Please note that the application integrating LinkKit must add
org-appextension-feature-password-management
toLSApplicationQueriesSchemes
in itsInfo.plist
- Visual user interface modification to create more similarity between Plaid Link for web and iOS.
- Fix issue that prevented bank accounts to be successfully linked when using non-sandbox keys in the Tartan environment with the legacy API.
- Allow customization of "top" institutions if the corresponding option is enabled in the Dashboard
- Add consistency to visual appearance of buttons in highlighted state
- Fix single account pre-selection, where
didExitWithError:metadata:
was called instead ofdidSucceedWithPublicToken:metadata:
when the pre-selected was not tapped despite of already being selected - Add support for alphanumeric mfa codes
- Deprecate
selectAccount
parameter onPLKConfiguration
in favour of the Select Account view customization available from the Dashboard https://dashboard.plaid.com/link/account-select or thekPLKCustomizationEnabledKey
customization forkPLKAccountSelectPaneKey
when usingPLKConfiguration.customizeWithDictionary:
. TheselectAccount
parameter will be removed in a future release.
- Fix Apple review rejections of applications using Plaid Link iOS due to LinkKit.framework containing GCC and LLVM Instrumentation (see Technical Q&A QA1964).
- Fix view controller animation transition when the
backBarButtonItem
was tapped.
- Add support for iPhone X
- Allow selecting multiple accounts if the corresponding option is enabled in the Dashboard
- Add
kPLKMetadataAccountsKey
tometadata
returned in thePLKPlaidLinkViewDelegate
methods - Add
kPLKMetadataLinkSessionIdKey
tometadata
returned in thePLKPlaidLinkViewDelegate
methods - Add APIv2 error codes to the
NSError.userInfo
passed to thelinkViewController:didExitWithError:metadata:
PLKPlaidLinkViewDelegate
method (#208) - Extend
PLKPlaidLinkViewDelegate
protocol withlinkViewController:didHandleEvent:metadata
, see https://www.plaid.com/docs/api/#onevent-callback for details.
- Automatically select an account if there is only one available
- Replace
kPLKMetadataRequestIdKey
withkPLKMetadataLinkRequestIdKey
inmetadata
returned in thePLKPlaidLinkViewDelegate
methods when using APIv1
- Remove right
×
exit button from navigation bar on connected pane and select account pane
- Fix issue where an empty select account pane was shown instead of an error message stating that no eligible ACH accounts were available
- Improve search results when using APIv1
- Add support for three or more MFA selection options
- Tapping on sample credentials in the development mode view copies them to the pasteboard
- Immediately notify users when attempting to patch an item without any errors
- Correctly pass errors to the
PLKPlaidLinkViewDelegate
after recaptcha validation (#191) - Enable scrolling for long questions on MFA view.
- Correctly set
metadata.status
tokPLKStatusInstitutionNotFound
when the user tapped the exit button shown when the institution search yielded no results (#190) - Use application name as set in Info.plist (
kCFBundleNameKey
) whenclientName
is not configured #189) - Correctly set returned institution metadata to
null
when Link exits from institution selection #185) - Improve animation when dismissing
PLKPlaidLinkViewController
with a subview being thefirstResponder
- Improve accessibility on back button
- Prefix method names on UIKit and Foundation categories with
plk_
to prevent method name clashes (#195)
- Fix interactive area of exit button (#185)
- Fix issue where the logo for certain institutions was not shown in the search results
- Add copy customization which allows to change the text of certain user interface elements in the Link flow
- Add exit button when searching for an institution yielded no results so people can directly exit out of Link iOS
- Fix issue with configured webhook when using APIv2
- Add phone MFA type
- Fix APIv1 select account flow in which users were incorrectly asked to select their account (#169)
- Gracefully handle Link internal issues that previously could lead to crashes (#169)
- Return
institution_id
in metadata when using APIv2 (#172) - Show institution name in title bar (#173)
- Improve iOS 9 compatibility (#169)
- Show placeholders in the select account view when additional account information is unavailable
- Return to the institution select view when an instituion's mfa method is not supported
- Improve positioning of institution logo
- Call exit handler
linkViewController:didExitWithError:metadata:
instead of success handlerlinkViewController:didSucceedWithPublicToken:metadata
when exiting update mode from the credentials view (#148). - Correct header documentation regarding pre-selecting an institution;
initWithInstitution:delegate:
andinitWithInstitution:configuration:delegate
(#154). - Show alphanumeric keyboard for PIN entry when in development mode.
- Improve wording of
NSInvalidArgumentException
which is thrown when anenv
incompatible with theapiVersion
is configured (see README.md for details).
- Institution
huntington
- Fix issue with credentials authentication when an institution requires a PIN
- Use default api version when none specified
- Fix compiler warnings in LinkDemo-Swift project
- Institutions
citizens
andregions
- Sandbox environment for APIv2
- Tartan environment for APIv1
- CHANGELOG.md
- Update documentation regarding environments (see README.md for details)
- Update development mode information regarding selections MFA
LINK_ENV
build settings in Xcode demo projects- Redesign demo application welcome view
- User interface font size
- Testing environment for APIv1 and APIv2
- Development environment for APIv1 (NOTE: configuring the
Development
environment forAPIv1
will result in an exception)
- Development mode information
- LinkKit.framework
- Xcode demo projects (LinkDemo-ObjC, LinkDemo-Swift, LinkDemo-Swift2)