# Versioning and change log This log details any breaking and non-breaking API changes we have released for our Checkout iOS SDK. Prerequisite Make yourself familiar with our [API principles](/products/reference/api-principles) to ensure a resilient integration. ## Versioning log ### Version 5 (30 October 2025) details summary Co-branded cards and simplified validation initialization * **Co-branded cards** [This feature](/products/checkout/ios/co-branded-cards) gives your customers a choice of card brands they can pay with in line with the [European Union (EU) Interchange Fee Regulation (IFR) 2015/751](https://eur-lex.europa.eu/eli/reg/2015/751). * **Simplified validation initializer** We have moved all available functions under `AccessCheckoutClient` to [initialize validation](/products/checkout/ios/card-validator#function-and-parameter-descriptions) and create sessions. Before you had to use both the `AccessCheckoutValidationInitialiser` and `AccessCheckoutClient`. ### Version 4 (23 August 2024) details summary PCI-SSF compliance #### PCI-SSF assessment and certification The [Checkout iOS SDK](/products/checkout/ios/v4) has gone through a thorough assessment against the PCI-SSF standard and is now certified PCI-SSF compliant. This will help you reduce the scope of your own PCI assessments. #### Minimum version requirements: - The minimum iOS version supported by the SDK for the purpose of providing a PCI-SSF compliant solution is iOS 15. - Although the SDK supports iOS 12 to iOS 14 it is not PCI-SSF compliant for these versions. This is because Apple has stopped supporting/delivering security fixes for these versions. #### Version 3 functionality we have removed in version 4: - Support for using `UITextField`. `AccessCheckoutUITextField` must be used instead. This component is dedicated to capturing and encapsulating your customer's card details to minimize your exposure to PCI data. - Support for passing card details directly to create an instance of `CardDetails`. - Support for using `merchantId()` in `AccessCheckoutClientBuilder` to pass your Checkout ID. This is replaced by `checkoutId()`. #### Licensing The Access Checkout iOS SDK license is now a proprietary license (previously open source). This is for the purpose of protecting you against a risk of breaking changes in case where the Worldpay APIs, consumed by the SDK, are to change in the future. ### Version 3 (22 January 2024) details summary PCI and Payments API support #### Support for enhanced card sessions - The SDK now returns a card session URL in the form of `https://access.worldpay.com/sessions/...`. Previously, the card session URL looked like this: `https://access.worldpay.com/verifiedTokens/sessions/...`. The format of the new card session URL supports our new upcoming Payments API, whilst also remaining compatible with our Verified Tokens API. #### Support for SAQ-A compliance - We have added a new UI component (`AccessCheckoutUITextField`) dedicated to capturing and encapsulating your customer's card details to minimize your exposure to PCI data At a high level, you now pass references of instances of this UI component to our SDK. The SDK ensures you don't have to manipulate card details directly. This allows your application to be assessed against the PCI SAQ-A standard. #### Version 2 functionality that is deprecated in version 3: - Support for using `UITextField` (planned removal in version 4). - Support for directly passing card details to create an instance of `CardDetails` (planned removal in version 4). - Support for using `merchantId()` in `AccessCheckoutClientBuilder` to pass your Checkout ID is deprecated and replaced by `checkoutId()` (planned removal of `merchantId()` in version 4). #### Minimum version requirements - The minimum version supported is `iOS 12`. ### Version 2 (30 July 2020) details summary Simplified integration Version 2 has a simplified integration and caters for CVC session creation for our [Android](/products/checkout/android/v3) and [iOS](/products/checkout/ios/v3) SDK. ## Change log (non-breaking changes) #### New optional configurations (09 June 2025) details summary More details In the `AccessCheckoutUITextField`, we have added: * support for [`textContentType`](/products/checkout/ios/optional-configuration#properties) - this property allows to inform the system about the expected content type * support for [`inputAccessoryView`](/products/checkout/ios/optional-configuration#properties) - this property attaches an accessory view to the system keyboard * a new method [`setOnFocusChangedListener`](/products/checkout/ios/optional-configuration#methods) - allowing the UI to benefit from dynamic customization We have also fixed validation behavior to align with our other mobile SDKs to ensure a consistent user experience across our SDKs. #### Swift package manager support (version 2.4.0 onwards) (15 June 2022) details summary More details [Swift Package Manager](/products/checkout/ios/v3#swift-package-manager) support is now available for our iOS SDK version 2.4.0 onwards. #### PAN formatting (06 September 2021) details summary More details [PAN formatting](/products/checkout/ios/v3/card-validator#pan-formatting) allows you to format the card in your checkout form as the customer types. #### Card brand configuration (15 March 2021) details summary More details The [card brand configuration](/products/checkout/ios/v3/card-validator#card-brand-restriction-optional-) allows you to restrict the cards that you accept on your checkout form. #### Customization for validator (11 January 2021) details summary More details The new version of the iOS SDK is 2.1.0 to add support for `UITextField`s in the [validation feature](/products/checkout/ios/v3/card-validator). #### CVC session increased lifespan (all versions) (19 October 2020) details summary More details We have increased the lifespan of the CVC session from one minute to 15 minutes.