The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
# New
- The `PrivacyInfo.xcprivacy` lists all the data collected by Drop-In and Components.
- In the country/region picker for the payment form, you can now choose if the images of flags are shown using `showCountryFlags`.
### Components
```
let cardConfiguration = CardComponent.Configuration()
cardConfiguration.style.addressStyle.showCountryFlags = true/false
let cardComponent = CardComponent(paymentMethod: paymentMethod,
context: context,
configuration: cardConfiguration)
```
### Drop-In
```
var style = DropInComponent.Style()
style.formComponent.addressStyle.showCountryFlags = cardSettings.showsCountryFlags
let dropInConfiguration = DropInComponent.Configuration(style: style)
let dropInComponent = DropInComponent(paymentMethods: paymentMethods,
context: context,
configuration: dropInConfiguration)
```
# Changed
- 3D Secure 2 SDK version: 2.4.1
# Fixed
- When `clientKey` is invalid or mismatched with the environment, `PublicKeyProvider` now returns a corresponding error message.
# New
- The `PrivacyInfo.xcprivacy` lists all the data collected by Drop-In and Components.
# Changed
- 3D Secure 2 SDK version: 2.4.1
## Fixes
- For stored card payments using Drop-in, the pay button is now enabled correctly when entering the security code with the [Traditional Chinese Cantonese keyboard](https://developer.apple.com/forums/thread/741038).
## Improved
- For all payment methods that include input fields for the shopper's address, the address input fields are now on a separate screen. This declutters the payment screen to improve user experience.
## Changed
- Custom conformances to [`PaymentMethod`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/paymentmethod/) and [`StoredPaymentMethod`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/storedpaymentmethod/) are now required to be [`Encodable`](https://developer.apple.com/documentation/swift/encodable).
## Fixed
- For Apple Pay, when the `allowOnboarding` property of `ApplePayConfiguration.init` is set to **true**, the onboarding check now runs correctly.
- In landscape mode, the search bar height no longer expands and obstructs other visual elements like the issuer list on the screen.
- For stored card payments using Drop-in, the pay button is now enabled correctly when entering the security code with the [Traditional Chinese Cantonese keyboard](https://developer.apple.com/forums/thread/741038).
## New
- When you offer installment payments, you can now show the number of installments and the amount of each installment in the picker. For example, **3x $20**.
- For Sessions flow, when you make a `/sessions` request, include [`showInstallmentAmount`](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions#request-showInstallmentAmount):
**true** and [`installmentOptions`](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions#request-installmentOptions).
We use these values to show installment options in the picker.
- For Advanced flow, in the `InstallmentConfiguration` object, set `showInstallmentAmount` to **true** when you initialize it.
- Support for [library evolution](https://www.swift.org/blog/library-evolution/)
## Changed
For cards, the address lookup feature now supports a 2-step lookup process (for example, used by the Google Maps API):
- First, it allows providing suggested addresses (that might be incomplete)
- Then, optionally, it allows making another API request to complete the suggestions.
You must change the callback as follows:
| 5.4.1 or earlier | 5.5.0 |
|-------------------------|--------------------------------|
| .lookup(LookupProvider) | .lookup(AddressLookupProvider) |
## Fixed
- When the shopper's phone number is included in the `shopperInformation` object, the pre-filled phone number prefix on the payment form automatically updates to match the correct country code.
- Drop-in now updates the payment method list after the shopper applies a gift card, in case the available payment methods change because of the updated payment amount.
- When you define custom localizations in your app bundle using Localizable.strings, they are now applied correctly.
- The Bizum payment method is no longer shown as an available payment method.
## Fixes
- Xcode 15 compatibility for encryption
# Fixed
* For Apple Pay using Drop-in, the Apple Pay payment form is now properly dismissed when the shopper cancels the payment.
> [!IMPORTANT]
> **Known Issue**: For Apple Pay using Drop-in, the Apple Pay payment form is not dismissed when the shopper cancels the payment.
> Please consider updating to [5.4.1](https://github.com/Adyen/adyen-ios/releases/tag/5.4.1)
# New:
* For redirect payment methods, when the shopper opens the current payment web page in the default browser by tapping the toolbar button, `RedirectComponent` now triggers `ActionComponentDelegate.didOpenExternalApplication`.
* Bancontact cards are now supported in the `CardComponent`
* Dual-branded Bancontact cards now allow brand selection in the `BCMCComponent`
# Changed:
* Support for [Xcode 15](https://developer.apple.com/xcode/).
* iOS 11 is no longer supported because it's [not supported by Xcode 15](https://developer.apple.com/support/xcode/).
* CashApp Pay SDK Version: 0.5.1
* The [minor units](https://docs.adyen.com/development-resources/currency-codes/) for
the following currencies:
| Currency code | Minor units |
|----------------|-------------|
| ISK | 2 |
| RSD | 2 |
| MRU | 2 |
| GHS | 2 |
# Fixed:
* A problem no longer occurs where, when the shopper cancelled a payment in progress, `DropInComponentDelegate` didn't call `didCancel`.
- Cash App payments are no longer refused because of the missing `customerId` field in the `/payments/details` request.
- For payment methods with input forms where the billing address section is separated from the personal details section, the **Billing address** header has been added.
- The `SwiftUI` helper now supports `AlertViewController`.
- The `formValueItemView` no longer has a memory leak.
> [!IMPORTANT]
> **This release is not compatible with Xcode 15**
> Please consider updating to [4.11.1](https://github.com/Adyen/adyen-ios/releases/tag/4.11.1) or newer
## Changed
* 3D Secure 2 SDK version: 2.3.3
* Added support for [Xcode 15](https://developer.apple.com/xcode/)
* `@Observable` renamed to `@AdyenObservable`.
* iOS 11 is no longer supported because it's [not supported by Xcode 15](https://developer.apple.com/support/xcode/)
> [!IMPORTANT]
> **This release is not compatible with Xcode 15**
> Please consider updating to [4.11.1](https://github.com/Adyen/adyen-ios/releases/tag/4.11.1) or newer
## New
* Bancontact cards are now supported in the `CardComponent`
* Dual-branded Bancontact cards now allow brand selection in the `BCMCComponent`
## Changed
- 3D Secure 2 SDK version: 2.3.2. Includes enhancements to authentication flows and improved error handling during the in-app 3D Secure 2 challenge.
- The [minor units](https://docs.adyen.com/development-resources/currency-codes/) for the following currencies:
| Currency code | Minor units |
|----------------|-------------|
| ISK | 2 |
| RSD | 2 |
| MRU | 2 |
| GHS | 2 |