---
title: "Release notes"
description: "Software updates for payment terminals and for Tap to Pay and card reader solutions."
url: "https://docs.adyen.com/point-of-sale/firmware-release-notes"
source_url: "https://docs.adyen.com/point-of-sale/firmware-release-notes.md"
canonical: "https://docs.adyen.com/point-of-sale/firmware-release-notes"
section: "release_note"
last_modified: "2025-11-27T11:34:00+01:00"
language: "en"
---

# Release notes

Software updates for payment terminals and for Tap to Pay and card reader solutions.

You can find the release notes for the following categories:

* **Terminal software** release notes for the following payment terminals:

  * Verifone Engage: e280m, e285p, e285, M400, P400 Plus, UX300, UX410, V210, V240m Plus, V400c Plus, V400m
  * Android: AMS1, M450, P630, S1E, S1E Barcode, S1E2L, S1E4Pro, S1F2, SFO1, S1U2, S1F4Pro

  Because of the [transition to PCI PTS 6](https://help.adyen.com/guides/the-complete-guide-to-pci-6/what-are-the-key-timelines-and-milestones), the firmware version [1.120](/point-of-sale/firmware-release-notes#releaseNote=2025-08-12-terminal-software-1.120) is the last major update for the Verifone Engage terminals.

  For older payment terminals from the Verifone Verix (eVo terminals) and Verifone Engage ranges, see [Legacy release notes](/point-of-sale/legacy-release-notes).

  If you are on the manual update strategy, make sure that your terminals are [updated](/point-of-sale/release-updating) to one of the latest three [Long Term Support](/point-of-sale/release-updating#lts) versions: [v1.126](/point-of-sale/firmware-release-notes/#releaseNote=2026-01-30-terminal-software-1.126), [v1.120](/point-of-sale/firmware-release-notes#releaseNote=2025-08-12-terminal-software-1.120), or [v1.117](/point-of-sale/firmware-release-notes#releaseNote=2025-05-19-terminal-software-1.117). For the upcoming LTS versions, see the [Long Term Support](/point-of-sale/release-updating#lts) release schedule.

* **Android SDK on mobile** release notes for the Android [Tap to Pay](/point-of-sale/mobile-android/build/tap-to-pay/), [Card reader](/point-of-sale/mobile-android/build/card-reader) and [Android payments app](/point-of-sale/mobile-android/build/payments-app) integrations.

* **iOS SDK on mobile** release notes for the iOS [Tap to Pay](/point-of-sale/mobile-ios/build/tap-to-pay/) and [Card reader](/point-of-sale/mobile-ios/build/card-reader) integrations.

[![](/user/themes/adyen-docs/assets/icons/rss.svg) Get updates by RSS](/point-of-sale/firmware-release-notes.xml)

## Available filters

Category..., Type..., Version..., Release date...

## 2026-05-15 — Terminal software — Version 1.130

### Improved: general

* We optimized the gift card balance inquiry process by eliminating redundant requests.

### New: android\_terminals

* [Single key press rating](/point-of-sale/shopper-engagement/shopper-input/rating/rating-single-press) is now available on AMS1, S1F2, S1F2L, S1E2L, and SFO1 payment terminals. You can now also customize the rating screen with additional text fields, such as a skip label and a footer text.

### Improved: android\_terminals

* We improved the consistency of currency display on the tipping and installments screens on payment terminals.

### Fixed: android\_terminals

* We fixed the issue where the virtual keyboard showed an autocorrect bar and allowed emoji input on the postcode and house number screens during [MOTO](/point-of-sale/mail-and-telephone-order-moto) payments on some payment terminals.
* We fixed the issue where payment terminals returned a successful response to a [display request to show the home screen](/point-of-sale/shopper-engagement/display-data/idle-display), but did not switch to the home screen.

## 2026-05-11 — iOS SDK on mobile — Version 3.16.0

*\<p>SDK expiry: 25 October, 2026. \<br> SDK removal: 25 October, 2027. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

This release was built with Xcode 26.2

### New

* You can now query the outcome of recent transactions. See [Verify transaction status](/point-of-sale/basic-tapi-integration/verify-transaction-status) for details. This feature is in beta. Contact your Adyen account manager for more information.
* We added `bluetoothFirmwareVersion` and `reloadBatteryInfo()` to `ADYConnectedDevice`.

### Improved

* [Diagnosis requests](/point-of-sale/diagnostics/request-diagnosis) now retry sending transactions that previously failed to capture, and return the result in the new `asyncCaptureStatus` field.
* Error messages are now localized for all [supported languages](/point-of-sale/mobile-ios/manage/#change-the-language).

### Fixed

* We fixed an issue where Tap to Pay transactions could fail to start after a [`noReaderSession`](https://developer.apple.com/documentation/proximityreader/paymentcardreadersession/readerror/noreadersession) error.

## 2026-05-11 — Android SDK on mobile — Version 2.16.0

*\<p>SDK expiry: 28 October, 2026. \<br> SDK removal: 28 October, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* You can now position the NFC indicator anywhere on the screen in Kiosk mode using `TapToPayKioskAnimationType.front(xBias, yBias)`.

### Improved

* We extended the SDK initialization timeout to 60 seconds and improved diagnostics for slow initialization.

### Fixed

* We fixed a crash that could occur in the USB permission activity when the SDK process was not yet bound.

### Fixed

* We resolved long delays observed when cancelling a transaction during mutual authentication on NYC1 readers.

## 2026-04-28 — Android Payments app — Version 1.3.0

*\<p>Support for this version expires on 29 August, 2026.\</p>*

### New

* The SDK now supports Finnish. See [Change the language for details](https://docs.adyen.com/point-of-sale/mobile-android/manage#change-the-language).
* The NFC tap indicator for Kiosk mode now supports `TopLeft` and `TopRight` [alignment options](/point-of-sale/mobile-android/build/tap-to-pay#transaction-ui-options) in addition to existing positions.

## 2026-04-20 — Android SDK on mobile — Version 2.15.0

*\<p>SDK expiry: 28 September, 2026. \<br> SDK removal: 28 September, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* The SDK is now compiled with Kotlin version 2.2.21.

### New

* We added new error messages:

  * `InitializationFailure.AuthenticationServiceNotFound`
  * `CardReaderConnectionError.CancelledByNewRequest`

### Improved

* We improved the handling of sequential connection requests. When switching or reconnecting NYC1 card readers, the SDK now explicitly cancels any pending attempts to ensure new connections are initiated immediately and reliably.
* We improved the configuration speed for NYC1 card readers. For readers using firmware version 3.X.00.67 or higher, configuration load times have been reduced from 30 seconds to 10 seconds.

### Fixed

* We fixed an issue where AdditionalData returned by the SDK did not honor the Base64 encoding setting during reader-initiated errors.
* We resolved an issue where the SDK could crash on startup when attempting to start a foreground service without a valid notification icon.

## 2026-04-14 — iOS SDK on mobile — Version 3.15.1

*\<p>SDK expiry: 28 September, 2026. \<br> SDK removal: 28 September, 2027. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

This release was built with Xcode 26

### New

* The SDK now supports Finnish. See [Change the language for details](https://docs.adyen.com/point-of-sale/mobile-ios/manage#change-the-language).

### Improved

* We improved recovery instructions when the NYC1 card reader fails to connect through Bluetooth.

### Fixed

* We fixed an issue where `DiagnosisRequest` incorrectly reported Store and Forward as active after the SDK re-established a connection.

## 2026-04-10 — Terminal software — Version 1.129

### New: general

* We now support [Brazilian meal voucher](/point-of-sale/alternative-payment-methods/brazil-vouchers) functionality on PCI PTS 6 terminals.

### Fixed: android\_terminals

* We fixed the issue where terminals did not go back to their primary language after a transaction was completed or canceled.
* We fixed the issue of the GIF support on payments terminals. GIFs now plays for the exact number of loops you have set in the design.

### Fixed: tapi

* We fixed the issue where terminals did not show the title text after the transaction completed.

## 2026-03-23 — Android Payments app — Version 1.2.0

*\<p>Support for this version expires on 8 August, 2026.\</p>*

### New

* The Payments app now supports Dutch. See [Change the language](/point-of-sale/mobile-android/manage#change-the-language) for details. Support for other languages and localization features will be added in future releases.

## 2026-03-20 — Terminal software — Version 1.128

### Fixed: android\_terminals

* We fixed the issue where the Adyen application became unassigned on some payment terminals after updating to the software version.

## 2026-03-18 — iOS SDK on mobile — Version 3.15.0

*\<p>SDK expiry: 31 August, 2026. \<br> SDK removal: 31 August, 2027. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

This release was built with Xcode 26.

### Deprecated

* We deprecated the following `ConnectedDevice` properties:

  * `batteryCapacity`
  * `isCharging`

### New

* The SDK now supports French and Dutch. See [Change the language for details](/point-of-sale/mobile-ios/manage#change-the-language). Support for other languages and localization features will be added in future releases.

### Improved

* The device management screen now only shows nearby NYC1 card readers in the **previously paired** section.
* A diagnosis request now also returns the number of pending captures.

### Changed

* Removed battery percentage from `DeviceManager` APIs when NYC1 is charging.
* Added new enum ChargingState to encapsulate the behavior where the device provides no battery percentage while charging.

### Fixed

* We fixed an issue where Hungarian Forint (HUF) amounts were incorrectly formatted on iOS version 26.4 Beta.
* We resolved an issue where connectivity problems could occur after initially canceling a bluetooth pairing operation.
* We fixed a disconnect error that could occur immediately after a successful Bluetooth pairing.
* We resolved Bluetooth firmware updates for NYC1-SCR card readers.
* We fixed an issue where in some cases the device manager unexpectedly crashed.
* We resolved an issue where in some cases, when starting a Tap to Pay transaction the UI didn't show the initialization progress.

### Known Issues

* In some scenarios, firmware updates can fail, if both the NYC1 system version and the firmware version are updated.

## 2026-03-16 — Android SDK on mobile — Version 2.14.0

*\<p>SDK expiry: 29 August, 2026. \<br> SDK removal: 29 August, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* From this version, the SDK uses a `dataSync` foreground service to ensure financially critical transaction syncing. When uploading to the Google Play Store, you must now [provide a specific service declaration](/point-of-sale/mobile-android/manage#declaration) to avoid app rejection.

### New

* The NFC tap indicator for Kiosk mode now supports `TopLeft` and `TopRight` [alignment options](/point-of-sale/mobile-android/build/tap-to-pay#transaction-ui-options) in addition to existing positions.
* The response returned from [`performDiagnosis`](/point-of-sale/mobile-android/build/tap-to-pay#diagnosis) now includes the expiry date of the SDK.
* We introduced a foreground service and a JobScheduler-based mechanism for reliable background transaction data synchronization.
* The SDK now supports Finnish. See [Change the language](/point-of-sale/mobile-android/manage#change-the-language) for details. Support for other languages and localization features will be added in future releases.

### Improved

* The UI now shows **Processing** instead of **Authorizing** in some specific cases, aligning the display with the actual transaction state.

### Fixed

* We improved the NYC1 Dock firmware messaging.

## 2026-03-02 — Android SDK on mobile — Version 2.13.0

*\<p>SDK expiry: 8 August, 2026. \<br> SDK removal: 8 August, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* `BindingFailure` is now a class instead of an object, which allows the SDK to return an `additionalMessage` property with further information about the failure.
* We upgraded [Jetpack Compose BOM](https://developer.android.com/develop/ui/compose/bom/bom-mapping) to version 2025.12.01.

### New

* The SDK now supports Dutch. See [Change the language](/point-of-sale/mobile-android/manage#change-the-language) for details. Support for other languages and localization features will be added in future releases.

### Improved

* Already-paired NYC1 card readers are now shown under the discovered devices list while pairing.

### Fixed

* We fixed the issue that occurred when connecting to NYC1 devices with malformed Bluetooth names.
* We removed the battery percentage from showing while charging because it can be inaccurate.

## 2026-02-27 — Terminal software — Version 1.127

*\<p>This release is not available for S1U2 payment terminals.\</p>*

### Deprecated: android\_terminals

* Support for the previous design ends as of version 1.127.

### New: android\_terminals

* All Android terminals are now fully transitioned to the new UI design introduced in software version 1.120.

### Known Issues: android\_terminals

* After updating to the software version, the Adyen application becomes unassigned on some payment terminals.

## 2026-02-10 — Android Payments app — Version 1.1.0

*\<p>Support for this version expires on 6 June, 2026\</p>*

### New

* The SDK now supports French (France). See [Change the language](/point-of-sale/mobile-android/manage#change-the-language) for details. Support for other languages and localization features will be added in future releases.

### Improved

* We improved the SDK logic for binding with the application process, to prevent redundant attempts.

## 2026-02-05 — Android SDK on mobile — Version 2.12.0

*\<p>SDK expiry: 6 June, 2026. \<br> SDK removal: 6 June, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Improved

* We introduced a new `TIMEOUT` error for issues with NYC1 card readers readers.

## 2026-01-30 — Terminal software — Version 1.126

*\<p>Long Term Support version - Will be maintained with new patches until 15 Jun, 2026. \<br> LTS versions 1.126.3, 1.126.4, and 1.126.5 are not available for S1U2 payment terminals.\</p>*

### New: general

* v1.126.5

  We now support [Brazilian meal voucher](/point-of-sale/alternative-payment-methods/brazil-vouchers) functionality on PCI PTS 6 terminals.

### Fixed: general

* v1.126.8

  We fixed the issue where in some cases a successful payment response was missing after the payment was captured.

### New: android\_terminals

* v1.126.6

  The terminals now show only the surcharge amount on the surcharge confirmation screen.

### Improved: android\_terminals

* v1.126.6

  We optimized the gift card balance inquiry process by eliminating redundant requests.

### Fixed: android\_terminals

* v1.126.7

  We fixed the issue on P630 and M450 payment terminals where PIN bypass failed when used after a card acquisition.
* v1.126.7

  We fixed the issue where P630 and M450 payment terminals kept showing the input screen for longer than the set timeout.
* v1.126.7

  We fixed the issue where the payment response was not received while the payment succeeded for the shopper.
* v1.126.6

  We fixed the issue where refund configurations were not applying properly to SFO1 payment terminals, even after a reset.
* v1.126.6

  We fixed the issue where the Adyen application became unassigned on some payment terminals after updating to the following software versions: **v1.126.3**, **v1.126.4**, or **v1.126.5**.
* v1.126.6

  We fixed the issue where the first transaction was canceled after starting up the P630 and M450 payment terminals.
* v1.126.5

  We fixed the issue where the application incorrectly returned to the transaction history, leading to a crash when clicking on the transaction details.
* v1.126.4

  We fixed the issue where custom logos were not showing on printed receipts.
* v1.126.4

  We fixed the issue where terminals with barcode scanners would fail to process a transaction if the barcode scanner was activated and then immediately canceled.
* v1.126.4

  We fixed the issue where the chip inserted transaction using a credit card (Visa, Master, Discover) did not work on P630 terminals with Surcharge configured.
* v1.126.4

  We fixed the issue where in some cases terminals got stuck on the "Keep card inserted" screen after three failed insert attempts with a chip card.
* v1.126.4

  We fixed the issue where in some cases a remote troubleshooting session could not be started unless the Adyen application was running in the foreground.
* We fixed the issue where screen readers for languages without word spaces (such as Japanese) stopped reading after the payment amount, skipping the remaining instructions.
* We fixed the issue where making a payment request after activating the barcode scanner caused the terminal to fail to send a response on the following terminals: S1U2, S1E2L, and S1F2L. Canceling the request also would not resolve the issue.

### Known Issues: android\_terminals

* After updating to software versions 1.126.3, 1.126.4, and 1.126.5, the Adyen application becomes unassigned on some payment terminals.

### Fixed: opi

* We fixed the issue where for Oracle Simphony Pay-at-table transactions, the shopper could not select Card as a payment option on the terminal screen.

## 2026-01-26 — iOS SDK on mobile — Version 3.14.0

*\<p>SDK expiry: 8 July, 2026. \<br> SDK removal: 8 July, 2027. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* We mitigated some unexpected `AuthPending` scenarios and unexpected transaction cancellations through:

  * Improved transaction offload logic in frequency and behavior.
  * Preventing cancellation of a transaction after card data has been successfully read.
  * Improved stability and observability.

* We updated the language of the UI for NYC1 card reader operations for improved clarity during the device management flow:

  * The reader list heading for the NYC1 is now **Previously connected readers**.
  * The connection button is now **Connect a reader**.

* We removed the battery percentage from showing while charging because it can be inaccurate.

### Fixed

* We fixed an issue that could cause a crash during device discovery for the NYC1 card reader.
* We resolved an issue where in some cases NYC1 card readers were not discoverable.
* We mitigated an issue with bluetooth firmware updates.

## 2025-12-30 — Terminal software — Version 1.125

### Removed: android\_terminals

* In the **Settings** > **Display** menu on the terminal, we removed the setting to turn dark mode on and off. This was necessary to resolve the issue that after rebooting the terminal started in the wrong mode. You can now [configure light/dark mode](/point-of-sale/android-terminals/themes#create-a-theme) by creating a theme in the Customer Area and applying the theme to your terminals. If you do not use your own themes, the Adyen theme with dark mode applies.

### New: android\_terminals

* Support for the feature to [ask for a rating with a single key press](/point-of-sale/shopper-engagement/shopper-input/rating/rating-single-press) has been extended to the **M450** and **P630** Android payment terminals.

### Improved: android\_terminals

* We improved the support for Adyen Giving [donation options](/point-of-sale/donate#terminals) on **SFO1** terminals. Note that we do not recommend configuring donations on SFO1 terminals that are on a software version earlier than 1.125. To turn off Adyen Giving on specific terminals you can contact our Support team.

### Fixed: android\_terminals

We resolved the following issues:

* The selected **Dark mode** setting in the terminal Display menu to turn dark mode on or off was not retained when the terminal rebooted. See the "Removed" category of changes for more details.
* A background system application was occasionally visible on P630 and M450 terminal screens.
* In some cases terminals were stuck while updating to version 1.122 if the internet connection was lost.

### Known Issues: android\_terminals

* Making a payment request after activating the barcode scanner causes the terminal to fail to send a response on the following terminals: S1U2, S1E2L, and S1F2L. Canceling the request also does not resolve the issue.

### Known Issues: opi

* For Oracle Simphony Pay-at-table transactions, the shopper cannot select **Card** as a payment option on the terminal screen.

## 2025-12-30 — Android SDK on mobile — Version 2.11.0

*\<p>SDK expiry: 6 June, 2026. \<br> SDK removal: 6 June, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* The SDK now supports French (France). See [Change the language](/point-of-sale/mobile-android/manage#change-the-language) for details. Support for other languages and localization features will be added in future releases.

### Improved

* We improved the SDK logic for binding with the application process, to prevent redundant attempts.
* If the NYC1 card reader fails to read a payment card, the mobile device screen now shows an error message and instructions on how to resolve the issue.

## 2025-12-23 — Android Payments app — Version 1.0.1

*\<p>Support for this version expires on 9 April, 2026.\</p>*

### Breaking Changes

In the [reboarding flow](/point-of-sale/mobile-android/build/payments-app#reboard-the-app#initiate-reboarding), the response to the App Link that initiates reboarding has been streamlined:

* The `data` parameter is now always included.
* Previously, the parameters `boarded`, `installationId`, and `boardingRequestToken` were duplicated: they were provided as response parameters and as fields in the decoded `data` string. These fields have now been removed from the decoded `data` string.

## 2025-12-05 — Terminal software — Version 1.124

### New: android\_terminals

* [Accessibility mode](/point-of-sale/android-terminals/accessibility-mode/accessibility-from-terminal) for shoppers with visual impairments is now available on P630, M450, and SFO1 payment terminals.
* Fixed amount and round-up donation options are available for both the one-step and the two-step Adyen Giving flow.

### Fixed: android\_terminals

* We fixed the issue where transactions were immediately cancelled when the terminal received a request while waking up from sleep mode.

### New: tapi

* In Greece, it is now possible to temporarily process payments without an e-invoice signature. You can use [autonomous mode](/point-of-sale/basic-tapi-integration/make-a-payment/greece-tax#autonomous-mode) in case of a loss of connection to your e-invoicing system, to stay compliant with the Greek tax regulations.

## 2025-11-19 — Android SDK on mobile — Version 2.10.0

*\<p>SDK expiry: 10 May, 2026. \<br> SDK removal: 10 May, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* `InPersonPayments.initialised` has been removed after it was deprecated in version 2.6.0. Use `InPersonPayments.initialized` instead.
* `InPersonPayments.performTransaction(..)` now returns `Result<Unit>` instead of `Unit`.
* If you are using `Dynamic Module`, please be aware that you might need to update `org.jetbrains.kotlinx:kotlinx-coroutines-core` to 1.10.1.

### Improved

* For NYC1 transactions, we made some UI design improvements for the account selection screen.
* We improved the SDK logic for binding with the application process.

### Fixed

* We fixed an issue where Dock firmware updates would show a failure despite a successful update.

## 2025-11-12 — Android Payments app — Version 1.0.0

*\<p>Support for this version expires on 9 April, 2026.\</p>*

### Breaking Changes

* Deep links are now deprecated. To continue using the Android Payments App, you must [use App Links](/point-of-sale/mobile-android/build/payments-app#how-it-works).

### New

* It is now possible to [reboard the Android Payments app](/point-of-sale/mobile-android/build/payments-app#reboard-the-app). Reboarding enables you to switch to processing though a different store or merchant account using the same app instance and mobile device.

### Fixed

* We fixed an issue where transactions could get stuck in a pending state or fail security checks.
* We fixed an error that caused the SDK to incorrectly fail device security checks.

## 2025-11-04 — iOS SDK on mobile — Version 3.12.0

*\<p>SDK NYC1 PIN support expires on 25 April, 2026. After this point NYC1 PIN transactions will be blocked.\</p>*

### New

* It is now possible to [disable PIN support](/point-of-sale/mobile-ios/requirements#card-readers) on NYC1 card readers. You need to contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to disable PIN support.
* You can now add a logo via `ADYTransactionPresentationMode` Objective-C interface.

### Fixed

* We resolved the issue where calling `resetSession` caused the SDK to crash.
* We fixed an issue where a **Cancel** button was incorrectly shown on the mobile device screen after the shopper presented their card.
* We fixed an issue where in some cases transactions were incorrectly automatically refunded.

## 2025-11-03 — Terminal software — Version 1.123

### Improved: android\_terminals

* Payment terminals in Bulgaria now shows payment amounts in **EUR** and in **BGN** to meet local regulatory requirements.

### Fixed: android\_terminals

* We fixed an issue where not all merchant app launcher icons were shown on the terminal screen.
* We fixed an issue with [Mail Order/Telephone Order (MOTO)](https://docs.adyen.com/point-of-sale/mail-and-telephone-order-moto#avs) payments on P630 and M450 payment terminals. For the address verification service (AVS) check, shoppers could not add characters to their ZIP code and house number.

### Known Issues: android\_terminals

* The touchscreen stops responding after a transaction on S1U2 payment terminals from the batch S1U2-0005732350\*\*\*\*\*.

## 2025-11-03 — Android SDK on mobile — Version 2.9.0

*\<p>SDK expiry: 9 April, 2026. \<br> SDK removal: 9 April, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* We upgraded [Ktor](https://ktor.io/docs/releases.html) to version 3.2.3.

### New

* It is now possible to [disable PIN support](https://docs.adyen.com/point-of-sale/mobile-android/requirements#card-readers) on NYC1 card readers. You need to contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to disable PIN support.

### Improved

* The SDK now performs AES key-loading for enhanced security.

### Fixed

* We fixed an issue in the transaction storage mechanism that could cause transactions to get stuck in a pending state or fail security checks.
* We fixed an error that caused the SDK to incorrectly fail device security checks.

## 2025-10-21 — iOS SDK on mobile — Version 3.11.1

*\<p>SDK NYC1 PIN support expires on 12 April, 2026. After this point NYC1 PIN transactions will be blocked.\</p>*

If you have integrated with version 3.10.0, you need to update to this version. After this point NYC1 PIN transactions will be blocked.

### Fixed

* We fixed an issue where in some cases transactions were incorrectly cancelled.
* We fixed an issue where in certain situations the SDK got stuck in an invalid Store and Forward state and Tap To Pay transactions failed.
* We fixed an issue where on slow networks, stored requests would retry multiple times.
* We fixed a problem with our logging in poor network conditions that could result in degraded performance.

### Improved

* Under [Device Info](/point-of-sale/mobile-ios/understand#device-info) the field **Model** is now only present for NYC1 card readers that do not support PIN (SCR).\n- We optimized retries of stored requests when a network becomes available.\n

### New

* You can check the `connectedDevice.type` property to identify whether your card reader supports PIN transactions. Results can be:\n - **nyc1** (card reader supports PIN).\n - **nyc1SCR** (card reader does not support PIN).\n- We added new functions for the [management of the NYC1 USB dock](/point-of-sale/mobile-ios/build/card-reader?tab=build_a_custom_ui_1_2#manage-ui):\n - To check for updates using `DeviceManager.dockFirmwareUpdateSummary()`.\n - Initiate updates with `DeviceManager.startDockFirmwareUpdate()`.\n - Track the status of the connection of the dock using the `DeviceManager.connectedDock` property and the `onDockConnected/onDockDisconnected` delegate callbacks.\n

## 2025-10-03 — Terminal software — Version 1.122

*\<p>This release is not available for S1U2 payment terminals.\</p>*

### Fixed: general

* We fixed the issue where the **Purchase amount** did not always show on the receipt when it differed from the total amount, for example, when a tip was added.

### New: android\_terminals

* The following features are now available on the P630 and M450 payment terminals:

  * [Dynamic currency conversation (DCC)](/point-of-sale/currency-conversion/)
  * [Card acquisition](/point-of-sale/card-acquisition/)
  * [Custom cards](/point-of-sale/custom-cards/)
  * [Loyalty card](/point-of-sale/loyalty/)

### Improved: android\_terminals

* When you install an app on your payment terminal, the terminal screen now shows a visual representation of the installation progress.

* We improved the barcode scanning experience by:

  * Ensuring that during a scanning session the terminal screen always stays active and the barcode scanning app always remains in the foreground.
  * Reducing the time it takes for the barcode scanner to activate when pressing the barcode scanner button.

* We made improvements to the payment terminal user interface, such as the size of icons and buttons.

### Fixed: android\_terminals

* We fixed the issue where an input request screen remained on the terminal after the `MaxInputTime` was reached.
* We fixed the issue where no event notification was sent if no items were scanned during a barcode scanning sessions.

### Known Issues: android\_terminals

* The touchscreen stops responding after a transaction on S1U2 payment terminals from the batch S1U2-0005732350\*\*\*\*\*.

### New: tapi

* You can now change the default language on your terminal by including `CustomerLanguage` in a payment or card acquisition request.

## 2025-10-02 — Android SDK on mobile — Version 2.8.0

*\<p>Support for this version expires on 15 March, 2026. After this point Tap to Pay on Android and NYC1 PIN transactions will be blocked.\</p>*

### Breaking Changes

* We upgraded the Android Gradle plugin to version 8.13.0.
* The SDK is now compiled with Kotlin version 2.2.0.

### New

* We added support for Tap to Pay on Android transactions in Mexico.

### Improved

* We improved the speed of updating the configuration for the NYC1 card reader (when using an NYC1 with **System version** 3.X.0.67 or later).

## 2025-09-24 — Android Payments app — Version 0.11.0

*\<p>Support for this version expires on 1 March, 2026.\</p>*

### Improved

* We mande general improvements to the performance of the Android Payments app.

## 2025-09-09 — Terminal software — Version 1.121

*\<p>This release is not available for S1U2 payment terminals.\</p>*

### New: android\_terminals

* [Point-to-Point Encryption (P2PE)](https://docs.adyen.com/development-resources/e2ee-p2pe-comparison/) is now supported on M450 and P630 payment terminals.

### Fixed: android\_terminals

* We fixed the issue where a third-party Android barcode scanner app would permanently disable the Android default keyboard.
* We fixed the issue where in some cases contactless payments failed.
* We fixed the issue where S1E2L payment terminals lost their Wi-Fi profiles after updating to firmware v1.121.

### Known Issues: android\_terminals

* The touchscreen stops responding after a transaction on S1U2 payment terminals from the batch S1U2-0005732350\*\*\*\*\*.

## 2025-09-05 — Android SDK on mobile — Version 2.7.0

*\<p>SDK expiry: 1 March, 2026. \<br> SDK removal: 1 March, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* From this version you need to use `TransactionReversalRequest.createReversal(nexoRequest: String)` instead of `TransactionRequest` to create a reversal request.
  ```
  InPersonPayments.performReversal
  transactionRequestReversal = TransactionReversalRequest.createReversal(nexoRequest: String),
  )
  ```

### New

* We added a new device preparation call to allow for NYC1 warmup: `CardReaderManager.prepareDeviceForTransaction(cardReader: CardReader)`.

### Improved

* We improved transaction speed measurement and monitoring.

### Fixed

* We fixed critical crashes related to obfuscated builds and interaction with the payment engine.
* We resolved issues with event processing, including incorrect state management.

## 2025-08-18 — Android Payments app — Version 0.10.1

*\<p>Support for this version expires on 26 January, 2026\</p>*

### Improved

* We improved the speed of consecutive transactions for Tap to Pay.
* We implemented internal optimizations to reduce memory consumption in some cases.

### Fixed

* We resolved an issue where the PIN entry screen could enter an infinite loop, preventing transactions from completing.
* We addressed several underlying conditions that could cause a transaction to get stuck on the `Initializing...` screen.
* We resolved issues related to threat management where transactions could be intermittently blocked.

## 2025-08-13 — Android SDK on mobile — Version 2.6.1

*\<p>Support for this version expires on 26 Jan, 2026.\</p>*

### New

* The SDK now supports [16 KB page sizes](https://developer.android.com/guide/practices/page-sizes).

### Improved

* We improved the speed of consecutive transactions for Tap to Pay and card reader payments.
* We enhanced Java interoperability by adding `@JvmName` annotations to key methods, which prevents potential signature conflicts.
* The `InitializationFailure` class is now a public API (@PublicApi).
* We implemented internal optimizations to reduce memory consumption in some cases.

### Fixed

* We resolved an issue where the PIN entry screen could enter an infinite loop, preventing transactions from completing.
* We addressed several underlying conditions that could cause a transaction to get stuck on the `Initializing...` screen.
* We resolved issues related to threat management where transactions could be intermittently blocked.

## 2025-08-12 — Terminal software — Version 1.120

*\<p>Long Term Support version - Will be maintained with new patches until 23 Jan, 2026. \<br> LTS versions 1.120.3 and 1.120.4 are not available for S1U2 payment terminals.\</p>*

Note that because of the [transition to PCI PTS 6](https://help.adyen.com/guides/the-complete-guide-to-pci-6/what-are-the-key-timelines-and-milestones), this is the last major update for the Verifone Engage terminals.

### New: general

* v1.120.11

  We now support [Brazilian meal voucher](/point-of-sale/alternative-payment-methods/brazil-vouchers) functionality on PCI PTS 5 terminals.
* v1.120.4

  The receipt fields specifying payment method information now show full brand names, for example Mastercard instead of mc.
* It is now possible to block contactless transactions for [store and forward mode](https://docs.adyen.com/point-of-sale/offline-payment/#types-of-offline-payment). This allows your terminals to only accept chip transactions when it is offline. To enable and configure this feature, contact your Adyen Account Manager or our Support team.
* New payment method: **BLIK**. Shoppers in Poland can make secure payments with a [one-time numeric code](/point-of-sale/alternative-payment-methods/otc-digit-based-payments) generated from their BLIK banking app.

### Improved: general

* v1.120.12

  We optimized the gift card balance inquiry process by eliminating redundant requests.

### Fixed: general

* v1.120.8

  We fixed the issue on unattended terminals where shoppers were asked for a PIN even when their card did not support it.
* v1.120.7

  We fixed the issue where in some cases if the **Manual Key Entry (MKE)** transaction was made with Adyen Giving enabled, the receipt was printed twice.
* v1.120.7

  We fixed an issue on standalone terminals that caused the merchant reference (based on daily transaction count) to be incorrectly increased twice.
* v1.120.7

  We fixed an issue in the [Two-step donation flow](https://docs.adyen.com/point-of-sale/donate#two-step-flow) where transaction status requests sent **after** a cancelled donation, incorrectly returned the declined donation status and failed to include the successful sales transaction receipt.
* v1.120.5

  We fixed the issue where the [Dynamic Currency Conversion (DCC)\
  ](https://docs.adyen.com//point-of-sale/currency-conversion)feature could not be disabled.
* v1.120.5

  We fixed an issue where in some cases, even though the transactions were successful in the Customer Area, they were incorrectly marked as canceled in the Xstore POS because of a status update failure.
* v1.120.5

  We fixed the issue where a surcharge was applied to **Manual Key Entry (MKE)** transactions even when it was not configured for the issuing country.
* v1.120.5

  We fixed the issue where surcharge was incorrectly applied to some Germany-issued cards.
* v1.120.4

  We fixed the issue where PIN bypass transactions with Mastercard US and Maestro AID were not successfully completing as contactless transactions.

### New: android\_terminals

* v1.120.3

  The updated UI design is now available on live payment terminals. You can now use [theme customization](https://docs.adyen.com/point-of-sale/android-terminals/themes/) to change the terminal's appearance and shopper experience, including a new dark/light mode available in your Customer Area.
* Android terminals on Android 9 and 10 now support [WebView version](https://docs.adyen.com/point-of-sale/android-terminals/app-requirements/#webview-versions) 135.0.7049.38. Note that [WebSQL is deprecated](https://developer.android.com/about/versions/15/deprecations#websql-webview) in this version of WebView. If you need to revert to an earlier version of WebView, reach out to our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other).

### Fixed: android\_terminals

* v1.120.14

  We fixed the issue where in some cases Verifone Android terminals could not perform contactless transactions.
* v1.120.8

  We fixed the issue where some terminals could not process payments after a software update because the configuration failed to load.
* v1.120.8

  We fixed the issue where in some cases the SFO1 payment terminals could not be downgraded from v1.124 or higher to v1.120 or lower.
* v1.120.8

  We fixed the issue where in some cases Bancontact refund requests were declined using NFC on the following payment terminals: AMS1, S1F2, S1E2L, and S1U2.
* v1.120.8

  We fixed the issue where a background system application was occasionally visible on P630 and M450 terminal screens.
* v1.120.8

  We fixed the issue where transactions were immediately cancelled when the terminal received a request while waking up from sleep mode.
* v1.120.7

  We fixed an issue where the terminal screen would incorrectly appear after an NFC session was canceled, despite the `doInBackground` being enabled.
* v1.120.5

  We fixed an issue where, in some cases, Android terminals were not recognizing a card's eligibility for installments during a contactless transaction, requiring the shopper to use the contact chip instead.
* v1.120.5

  We fixed the issue where the touchscreen stopped responding after a transaction on S1U2 payment terminals from the batch S1U2-0005732350\*\*\*\*\*.
* v1.120.4

  We fixed the issue on SFO1 terminals where an interrupted contactless payment caused all other card entry modes to become disabled. The transaction can now be completed by using the insert or swipe method.
* v1.120.4

  We fixed the issue where in some cases on Android terminals the incorrect card identification happened for surcharge and offline transactions.
* v1.120.4

  We fixed the issue where S1E2L payment terminals lost their Wi-Fi profiles after updating to the firmware v1.120.3.
* v1.120.4

  We fixed the issue where Verifone Android terminals did not respond to Cancel or Abort requests from the POS before a card was presented. The payment could still be cancelled from the terminal's keyboard.

### Known Issues: android\_terminals

* After updating to firmware v1.120.3, S1E2L payment terminals lose their Wi-Fi profiles.
* The touchscreen stops responding after a transaction on S1U2 payment terminals from the batch S1U2-0005732350\*\*\*\*\*.

### Fixed: tapi

* v1.120.5

  We fixed an issue where duplicated `ReversalRequest`s with the same reference were processed as successful, when they should have correctly failed.

### Fixed: engage

* v1.120.7

  We fixed an issue where in some cases the payment terminal would discard its static IP address and revert to DHCP when adding a second Wi-Fi profile for certificate updates.
* v1.120.7

  We fixed an issue where in some cases the cellular connectivity icon was not showing in the payment terminal header when Wi-Fi was off.
* v1.120.4

  We fixed the issue where in some cases Engage terminals could take longer to process transactions.

### Fixed: opi

* v1.120.5

  We fixed the issue where, in some cases, the large font size of the **Spanish, French, and German** translations for email confirmation caused the form to fail to load.
* v1.120.4

  We fixed the issue where OPI integration transactions were incorrectly refused with a `fundingSource`: DEBIT.

## 2025-08-07 — iOS SDK on mobile — Version 3.9.2

*\<p>SDK expiry: 2 February, 2026. \<br> SDK removal: 2 February, 2027. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Fixed

* We fixed the issue where transactions with NYC1 would fail with error: `Unavailable Service, Invalid configuration for NYC1`. This would occur on the first run of the application after updating from v3.8.0 or below. To resolve this issue you can do one of the following:

  * Update to this SDK version (recommended).
  * Restart the application.
  * Delete the application and re-install it.
  * Call `PaymentService.resetSession()`.

## 2025-08-04 — iOS SDK on mobile — Version 3.9.1

*\<p>SDK expiry: 19 January, 2026. \<br> SDK removal: 19 January, 2027. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Known Issues

* If you have already updated your iOS POS app to use this version of the Mobile SDK, you might see the following error when you try to transact with NYC1 devices:\
  `Unavailable Service, Invalid configuration for NYC1`\
  To fix this issue, your can do one of the following:

  * Update [SDK version 3.9.2.](/point-of-sale/firmware-release-notes#releaseNote=2025-08-07-ios-sdk-on-mobile-3.9.2) (recommended).
  * Restart the application.
  * Delete the application and re-install it.
  * Call `PaymentService.resetSession()`.

### New

* [`performDiagnosis`](/point-of-sale/mobile-ios/build/tap-to-pay/#diagnosis) now throws an error when it is called while the app is not active.

### Fixed

* We fixed the issue where a crash occurred when starting two offline transactions at the same time.
* We resolved an issue, where in some cases a cancelled transaction would get stuck in AuthPending status
* We fixed the issue where UI operations would run off the main thread and threw a warning in Xcode.
* We resolved issues caused by operations running while the device was locked.
* We fixed the issue where Tap to Pay Store and Forward transactions were reported in `unconfirmedBatchCount` even though they were already processed.
* Performing a reversal now correctly exits Store and Forward mode.

## 2025-08-01 — Android Payments app — Version 0.10.0

*\<p>Support for this version expires on 5 Jan, 2026.\</p>*

### New

* To improve the guidance to shoppers, the UI shows the message "Keep this screen open" during transaction authorization.

### Improved

* We improved the management of transaction states, to reduce the number of cases where a transaction becomes stuck in an AuthPending state due to network interruptions or unexpected crashes.
* To improve the security and performance of the Android SDK solutions, we updated the data encryption algorithms.

## 2025-07-17 — Terminal software — Version 1.119

### New: general

* We introduce a new automatic [installment flow in Brazil](https://docs.adyen.com/point-of-sale/installments/brazil-installments/), in which the payment terminal automatically shows screens that let the shopper make their choices for credit card installment payments.

### Improved: general

* We now add a confirmation message at the end of the one-step Giving flow to inform shoppers whether they have made or declined a donation.

### New: android\_terminals

* You can now try out an updated UI design on test payment terminals. This new design offers customization for the terminal's appearance and shopper experience, including a new dark/light mode feature you can control directly from your payment terminal under Settings > Display > Theme.

### Fixed: android\_terminals

* We fixed the issue where the Adyen Payments app would sometimes be uninstalled after a release update. This occurred because a system verification process was interrupted by the terminal's reboot during the update. Your Adyen Payments app now remains correctly installed after updates.
* We fixed the issue where in some cases S1U2 terminals could get stuck after PIN entry.
* We fixed the issue where in some cases the card was not detected during contactless payment on SFO1 payment terminals.

### Fixed: engage

* We fixed the issue that prevented some terminals from automatically installing their assigned release firmware from their stores. In such a case, these terminals remained on a staging version. Terminals now consistently update to the correct release version.

## 2025-07-11 — Android SDK on mobile — Version 2.5.1

*\<p>SDK expiry: 5 January, 2026. \<br> SDK removal: 5 January, 2027. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Deprecated

* With regard to manually [checking the initialization of the SDK](/point-of-sale/mobile-android/build/tap-to-pay/#initialization-status-check): `InPersonPayments.initialised` was deprecated. Use `InPersonPayments.inititialized` instead.

### New

* To simplify [manual initialization of the SDK](/point-of-sale/mobile-android/build/tap-to-pay/#manage-automatic-initialization), we added two public methods:

  * `suspend InPersonPaymentsTools.getInitializationState()`: this function observes the initialization state of the SDK and pauses the calling coroutine until the SDK initialization finishes and reaches a success or failure state.
  * `suspend InPersonPaymentsTools.initializeManually()`: this function triggers initialization of the SDK and waits for the initialization to finish.

* To improve the guidance to end users, the built-in UI shows the message "Keep this screen open" during transaction authorization.

### Improved

* We improved the management of transaction states, to reduce the number of cases where a transaction becomes stuck in an **AuthPending** state due to network interruptions or unexpected SDK crashes. The SDK now tries to resynchronize with the backend when the network is restored, the application restarts, or the next transaction is completed.

* We improved the experience when updating the firmware of the NYC1 card reader.

* To improve the security and performance of the Android SDK solutions, we updated the data encryption algorithms.

### Fixed

* We resolved an issue where a popup appeared when the SDK was initialized.

## 2025-07-04 — Terminal software — Version 1.118

*\<p>This version is not available for SFO1 and S1U2 payment terminals.\</p>*

### New: android\_terminals

* To save battery power, we introduce a mechanism that allows AMS1, S1E2L, S1F2, and S1F2L terminals to go to sleep without losing any functionality. This means that any operations started while the terminal is sleeping will continue without any interruptions.
* You can now check your payment terminal's [WebView versions](/point-of-sale/android-terminals/app-requirements/#webview-versions) under **Settings** > **Device info** on the terminal.

### Fixed: android\_terminals

* We fixed the issue where the hidden Adyen UI incorrectly came to the foreground when an NFC session timed out.

### Known Issues: android\_terminals

* In some cases S1U2 terminals can get stuck after PIN entry.
* In some cases the payment card was not detected during contactless payment on SFO1 payment terminals.

## 2025-07-03 — Android Payments app — Version 0.9.1

*\<p>Support for this version expires on 2 Dec, 2025.\</p>*

### Deprecated

* This is the last version that supports deep links. Please [migrate to Android App Links](/point-of-sale/mobile-android/build/payments-app/#app-links-or-deep-links).

### Improved

* For Kiosk mode, we have updated the UI of the PIN pad buttons to a more squared shape from their previous rectangular design.

## 2025-06-30 — iOS SDK on mobile — Version 3.9.0

*\<p>SDK expiry: 20 December, 2025. \<br> SDK removal: 20 December, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Known Issues

* If you have already updated your iOS POS app to use this version of the Mobile SDK, you might see the following error when you try to transact with NYC1 devices:\
  `Unavailable Service, Invalid configuration for NYC1`\
  To fix this issue, your can do one of the following:

  * Update to [SDK version 3.9.2.](/point-of-sale/firmware-release-notes#releaseNote=2025-08-07-ios-sdk-on-mobile-3.9.2) (recommended).
  * Restart the application.
  * Delete the application and re-install it.
  * Call `PaymentService.resetSession()`.

### New

* We added support for [NYC1 dock](/point-of-sale/mobile-ios/understand#connecting-usb-dock). The minimum required NYC1 system version is 3.X.00.76.
* You can now [show instructions about how to use Tap to Pay on iPhone](/point-of-sale/mobile-ios/build/tap-to-pay#follow-ui-guidelines) on your device screen.

### Fixed

* Code coverage is now fully supported for older Xcode versions.

## 2025-06-10 — Android SDK on mobile — Version 2.4.0

*\<p>SDK expiry: 2 December, 2025. \<br> SDK removal: 2 December, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* Mobile solutions with a card reader now support PIN entry.

### Improved

* For Kiosk mode, we have updated the UI of the PIN pad buttons to a more squared shape from their previous rectangular design.

### Fixed

* We fixed the issue where in some cases Tap to Pay PIN transactions were cancelled when the phone was set to some non-English languages with special characters.

### Breaking Changes

* If you use minification, you need to add the following to your ProGuard file:
  ```
  -dontwarn com.adyen.ipp.saf.api.di.SafContainer
  ```

## 2025-06-09 — iOS SDK on mobile — Version 3.8.0

*\<p>SDK expiry: 3 December, 2025. \<br> SDK removal: 3 December, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

Note that this release was built with Xcode 16.3.

### New

* [Store & Forward offline payments](/point-of-sale/offline-payment/) for Tap to Pay are now supported in the US.

### Fixed

* The mobile SDK is now fully supported on iPad 11 tablets. Previously, it was not possible to apply NYC1 configuration updates on this generation of iPads.
* We fixed the issue where attempting to cancel an already authorized transaction could lead to an 'auth pending' status.
* We fixed the issue where in some cases chip card transactions got stuck during processing.
* The SDK no longer incorrectly reports attestation failures in certain scenarios.
* We fixed the issue that caused the SDK to crash if the NYC1 was left in discovery mode.
* We resolved and issue where in some cases NYC1 firmware updates failed to apply.
* We fixed the issue where previously known card readers were not listed in the device management UI under **My Readers**.
* In the device management UI, we fixed a styling issue, which caused the background not to be rendered correctly.

## 2025-05-28 — Android Payments app — Version 0.9.0

*\<p>Support for this version expires on 10 Nov, 2025.\</p>*

### Deprecated

* Support for deep links stops on 31 June, 2025. We recommend to [migrate to Android App Links](/point-of-sale/mobile-android/build/payments-app/#app-links-or-deep-links).

### New

* For Kiosk mode, we added configurable UI parameters in `MerchantUiParameters`. `TapToPayKioskAnimationType` provides more granular placement options for the NFC tap indicator. Please contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to discuss options and to enable them.

### Fixed

* We fixed the issue that occurred when sending the first onboarding request after the cache of the Android Payments app was cleared. We added a check for the initialization state before the installation ID is retrieved.
* We fixed the issue where the first transaction failed after onboarding. We added a warm-up call after onboarding.

## 2025-05-19 — Terminal software — Version 1.117

*\<p>Long Term Support version - LTS versions v.117.3 and v.117.5 are not available for SFO1 and S1U2 payment terminals.\</p>*

### Improved: general

* Mail Order/Telephone Order (MOTO) and Manual Key Entry (MKE) transactions now support [surcharges](/point-of-sale/surcharge). If you have previously created your own MOTO and MKE surcharge solution, you can [opt out](/point-of-sale/surcharge#opt-out-moto-mke) and continute to use your own solution.
* The Adyen terminal now applies Banker's Rounding (half-even) to all surcharge calculations. This method rounds a half to the nearest even digit, for example 2.5 becomes 2. This ensures that surcharge amounts are rounded in the same way as other financial components, such as when handling split payments.

### Fixed: general

* v1.117.8

  We fixed the issue where PIN bypass transactions with Mastercard US and Maestro AID were not successfully completed as contactless transactions.
* v1.117.8

  We fixed the issue where a surcharge was applied to Manual Key Entry (MKE) transactions even when it was not configured for the issuing country.
* v1.117.5

  We fixed the issue where in some cases the surcharge amount of a MOTO transaction was not shown as a separate line on the receipt.

### New: android\_terminals

* Point-to-Point Encryption (P2PE) is now supported on AMS1, S1F2, S1F2L, S1U2, and S1E2L payment terminals.
* [Accessibility mode](/point-of-sale/android-terminals/accessibility-mode/) for shoppers with visual impairments is available on AMS1, S1F2, S1F2L, S1U2, and S1E2L payment terminals. With this feature enabled, the payment terminal guides the shopper through the payment flow by reading out the instructions on the terminal screen.
* When a terminal that is connected to the network through its primary network connection has no internet access, it fails over to a cellular connection.

### Improved: android\_terminals

* The [surcharge confirmation screen](/point-of-sale/surcharge#how-it-works) on Android devices is now the same as on non-Android terminals.

### Fixed: android\_terminals

* v1.117.8

  We fixed the issue where in some cases P630 terminals could disconnect from the network after the firmware update.
* v1.117.8

  We fixed the issue on SFO1 terminals where an interrupted contactless payment caused all other card entry modes to become disabled. The transaction can now be completed by using the insert or swipe method.
* v1.117.6

  We fixed the issue where in some cases the NFC reader needed longer than expected to read a payment card.
* v1.117.6

  We fixed the issue where in some cases S1U2 terminals could get stuck after PIN entry.
* v1.117.6

  We fixed the issue where in some cases the card was not detected during contactless payment on SFO1 payment terminals.
* v1.117.5

  We fixed the issue where in some cases contactless PIN transactions got cancelled.
* v1.117.5

  We fixed the issue where during a [remote session](/point-of-sale/android-terminals/start-remote-session/) the duplicated terminal screen in the Customer Area turned black.
* v1.117.5

  We fixed the issue where a [single barcode scan using Terminal API](/point-of-sale/android-terminals/scan-barcode/single-session/) could not get cancelled.
* v1.117.5

  We fixed the issue where the payment screen on the terminal was shown with a delay if the payment request was sent while the terminal was in sleep mode.
* We fixed the issue where in case of a primary network failure the payment terminal was unable to properly switch to the secondary connection.

### Known Issues: android\_terminals

* In some cases S1U2 terminals can get stuck after PIN entry.

### Fixed: opi

* v1.117.5

  We fixed the issue where during split payments the tip amount was sent to the platform liable account instead of the submerchant account.

## 2025-05-15 — Android SDK on mobile — Version 2.3.1

*\<p>SDK expiry: 10 November, 2025. \<br> SDK removal: 10 November, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* We upgraded the Android Gradle plugin to version 8.9.0.
* We upgraded Room persistence library to version 2.7.0.

### New

* For Kiosk mode, we added configurable UI parameters in `MerchantUiParameters`. `TapToPayKioskAnimationType` provides more granular placement options for the NFC tap indicator
  ```
  val kioskModeUiParameters: MerchantUiParameters.KioskModeUiParameters =
          MerchantUiParameters.KioskModeUiParameters.create(
              tapToPayKioskAnimation = MerchantUiParameters.KioskModeUiParameters.TapToPayKioskAnimationType.front(
                  position = MerchantUiParameters.KioskModeUiParameters.TapToPayKioskAnimationType.Front.NfcFrontPosition.RightCenter,
              ),
          )
  ```
* After the shopper presents their card, the cancel button is hidden from the present card screen.

### Improved

* We improved the mechanism for automatically downloading the card reader configurations to improve the speed of the transaction flow.
* We have reduced the network request timeout to 30 seconds.
* We restricted the cipher suites used by the SDK. Refer to [Use the correct TLS configuration](/development-resources/integration-security-guide/#supported-tls) for more information.
* The SDK now requests USB permission automatically at startup for card readers that are connected through a USB cable.
* In case of a USB a connection loss, the NYC1 card reader now automatically reestablishes the connection with the mobile device.

### Fixed

* We fixed the issue where an incorrect PIN message was shown during a Tap to Pay transaction.
* We fixed the issue where in Kiosk mode the screen incorrectly auto-rotated when the system-level display size was increased.
* We fixed the issue where `HostStatus` did not return an array when doing a [diagnosis request](/point-of-sale/diagnostics/request-diagnosis/#test-host-system-reachable). It now contains `List<HostStatus>`.

### Known Issues

* PIN Entry can occasionally fail when the mobile device running the SDK is set to a language other than English or when using certain currencies. This issue exists on all releases of the SDK.

## 2025-05-13 — Android Payments app — Version 0.8.0

*\<p>Support for this version expires on 5 October, 2025.\</p>*

### Breaking Changes

* The minimum required Android OS version on the mobile device on which the Payments app is installed is Android 12.

### Deprecated

* Support for deep links stops on 31 June, 2025. We recommend to [migrate to Android App Links](/point-of-sale/mobile-android/build/payments-app/#app-links-or-deep-links).

### Improved

* You can now customize UI screen options. Please contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to discuss options and to enable them.
* The [short payment response](/point-of-sale/mobile-android/build/payments-app/#app-transactions) for integrations with browser-based POS apps now returns the `errorCondition` and a `traceParent` to share with Support for troubleshooting.

## 2025-04-21 — Terminal software — Version 1.116

### Fixed: general

* We fixed an issue where an approved referenced refund was not showing up in the **Totals** report.

### New: android\_terminals

* On Android terminals that have a built-in barcode scanner, like [S1E2L](/point-of-sale/user-manuals/s1e2l-user-manual/), you can now send a Terminal API request to start a [session for scanning multiple barcodes](/point-of-sale/android-terminals/scan-barcode/batch-session).

## 2025-04-16 — iOS SDK on mobile — Version 3.7.0

*\<p>SDK expiry: 4 October, 2025. \<br> SDK removal: 4 October, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* When you make a [diagnosis request](/point-of-sale/mobile-ios/build/card-reader/#diagnosis), you can now check:

  * The date when the installed SDK version expires.
  * If there are stored offline payments that have not been forwarded to Adyen yet. Additionally, the SDK will try to go online and forward these transaction, if you set `HostDiagnosisFlag` to **true**.
  * For threats to the security of the mobile device.

* To speed up the transaction, you can now [prepare the card reader](/point-of-sale/mobile-ios/build/card-reader#prepare-the-card-reader-for-transaction/) to update configuration and run security checks if needed outside the transaction flow.

* We added full support for Semantic Versioning (SemVer) for the merchant app version.

* We update the `DeviceManagement` UI to differentiate between NYC1 readers which support PIN (SCRP) and which do not support PIN (SCR).

### Fixed

* We fixed the issue where you received the following error message after clearing a session and initiated a transaction: "Cannot transact. Make sure you have a network connection and try again."
* We fixed the issue where NYC1 PIN transaction in store and forward mode did not support the full 24 hour offline transaction window.

## 2025-04-14 — Android SDK on mobile — Version 2.2.0

*\<p>SDK expiry: 25 October, 2025. \<br> SDK removal: 25 October, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* In an effort to make the SDK smaller, you now need to explicitly declare [gradle dependencies](/point-of-sale/mobile-android/build/tap-to-pay#add-sdk) if you want to use the Tap to Pay and/or card reader functionality. See examples below:

  **Tap to Pay**

  ```
  implementation("com.adyen.ipp:pos-mobile-debug:$version")
  implementation("com.adyen.ipp:payment-tap-to-pay-debug:$version")
  ```

  **Card Reader**

  ```
  implementation("com.adyen.ipp:pos-mobile-debug:$version")
  implementation("com.adyen.ipp:payment-card-reader-debug:$version")
  ```

  **Tap to Pay and Card Reader**

  ```
  implementation("com.adyen.ipp:pos-mobile-debug:$version")
  implementation("com.adyen.ipp:payment-tap-to-pay-debug:$version")
  implementation("com.adyen.ipp:payment-card-reader-debug:$version")
  ```

  Further, add `payment-tap-to-pay-live` and/or `payment-card-reader-live` for LIVE builds as needed.

* `InPersonPayments.initialised` now returns a `StateFlow<InitializationState>`. You can wait for the SDK to initialize now with`InPersonPayments.initialised.filter { it == InitializationState.SuccessfulInitialization }.first()`.

### New

* To speed up transactions, we added a new method `InPersonPayments.warmUp()` to be called before a transaction. See our [documentation](/point-of-sale/mobile-android/build/tap-to-pay/#use-warm-up) for more information on best practices.
* We changed the Kiosk Mode UI to increase the text size during a transaction and shrink the PIN input keyboard compared to the default UI. This reduces the security risk of an onlooker being able to read the shopper's PIN. The SDK automatically enables Kiosk Mode on any tablet with a screen that is larger than 9 inches in its current orientation.
* We added model information to the NYC1 device details screen to differentiate when connected to an NYC1 SCR or SCRP.
* We added a check for hardware key attestation on SDK initialization. The SDK will not initialize if the device does not meet the [hardware requirements](/point-of-sale/mobile-android/requirements/#hardware).

### Improved

* Calls to the SDK no longer block each other. The SDK will no longer wait for one call to return for the next to start.
* The response returned from `performDiagnosis` now includes a list of items in the `HostStatus` field to match existing terminal behavior.
* Some security-related errors now have clearer messaging when they block transactions.

### Fixed

* Calling an SDK function without initializing does not crash the POS app anymore. It returns a Kotlin exception instead.

### Removed

* We removed the Android 9 requirement for `InPersonPayments.shouldSkipAppInitialize()`.

### Known Issues

* In a Tap to Pay transaction, the "Present your card" screen text might show an incorrect text.

## 2025-04-11 — iOS SDK on mobile — Version 3.6.2

*\<p>SDK expiry: 8 October, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* We introduced two [new methods](/point-of-sale/mobile-ios/build/tap-to-pay#accept-terms) for accepting the Apple Terms and Conditions for Tap to Pay on iPhone. Previously, `warmUp()` prompted users to accept the Terms and Conditions. You can now call:

  * `isAccountLinkedForTapToPay()` to check if users still need to accept the Terms and Conditions.
  * `linkAccountForTapToPay()` to prompt the UI for accepting the Terms and Conditions.

### Fixed

* We fixed the issue where in some cases the SDK crashed during offline transactions.
* We fixed the issue where the card reader connection would freeze if no delegate was set.
* We fixed the issue where, in some cases, when using Tap to Pay on iPhone Screen Lock on iOS 18 devices, the transaction UI did not show the result after the device passcode was entered.

### Breaking Changes

* `warmUp()` does not trigger a prompt of the Terms and Conditions for Tap to Pay anymore. If your app relies on this behavior to have users accept the Terms and Conditions, please use [`linkAccountForTapToPay()`](/point-of-sale/mobile-ios/build/tap-to-pay#accept-terms) instead.

## 2025-03-24 — Terminal software — Version 1.115

### New: general

* The terminal screen now shows an animation while starting up.
* [Store-and-forward offline payments](/point-of-sale/offline-payment/#types-of-offline-payment) now support [authorization adjustment](/point-of-sale/pre-authorisation/).

### New: android\_terminals

* You will be able to restart the payment terminal from the [menu](/point-of-sale/menu-access/#payment-terminal-menus) **Settings** > **Power**.

### Improved: general

* For [surcharges](/point-of-sale/surcharge), there is a new Management API configuration parameter `excludeGratuityFromSurcharge` that you can use to ensure no charges are deducted from the tip amount.

## 2025-03-17 — Android SDK on mobile — Version 2.1.0

*\<p>SDK expiry: 8 September, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Improved

* Bluetooth firmware updates no longer appear when the card reader is connected through USB, ensuring that updates are only prompted when applicable.

### Fixed

* We resolved a race condition that could occur during authentication, ensuring a more reliable and consistent authentication process.

## 2025-02-25 — Terminal software — Version 1.114

*\<p>Not available for S1U2 payment terminals.\</p>*

### Fixed: android\_terminals

* v1.114.14

  We fixed the issue where in some cases contactless PIN transactions got cancelled.
* v1.114.13

  We fixed the issue where in some cases when performing a referenced refund, the terminal screen showed **Total amount** instead of **Refund amount**.
* v1.114.12

  We fixed the issue where, when a merchant app had multiple entry points, only the primary screen could be launched.
* We fixed the issue where it was not possible to board S1U2 terminals using the ethernet connection.
* We fixed the issue where the cellular modem rebooted every 20 minutes on S1F2 terminals with Android 9. This had caused a connectivity gap during which payments failed.

### New: general

* [Dynamic Currency Conversion (DCC)](/point-of-sale/currency-conversion/) is now available for contactless and NFC wallet payments.

### Improved: android\_terminals

* You can now accept payments processed via [NFC tags](/point-of-sale/nfc-tags/) on your Android app without having to switch to the Adyen UI.

### Fixed: engage

* v1.114.12

  We fixed the issue where text on the **Not now** button on the Round up [Giving](/point-of-sale/donate/) screen was not showing correctly.

### Fixed: general

* v1.114.13

  We fixed the issue where the tip amount in Pay at table split payments was reported incorrectly.
* v1.114.13

  We fixed the issue where in some cases a referenced refund of a standalone transaction did not show a ‘refunded’ icon in the transaction history and a receipt of the refunded transaction was not printed.

### New: android\_terminals

* v1.114.1

  Fast roaming is now available on S1E2L payment terminals.

### Known Issues: android\_terminals

* In some cases S1U2 terminals can get stuck after PIN entry.

## 2025-02-18 — iOS SDK on mobile — Version 3.5.0

*\<p>SDK expiry: 16 August, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* This release updates the minimum required Xcode version to Xcode version 16. Xcode version 15 is no longer supported.
* After you have made a NYC1 transaction with SDK version 3.5.0 and later, the card reader will no longer work with older SDK versions.
* To add SDK version 3.5.0 and later, you now need to [create an API credential in your Customer Area](/point-of-sale/mobile-ios/build/card-reader?tab=use_basic_authentication_to_add_the_sdk_0_1).

### New

* The placement of the PIN entry UI is now randomized to enhance security and comply with PCI requirements.
* You can now call `resetSession()` to reset the security check for NYC1 with PIN.

### Fixed

* We fixed the issue where in some cases the prompt to accept Apple's Terms of Use cancelled a transaction.
* We fixed the issue on iOS 17 devices where in some cases Tap to Pay PIN transactions were cancelled when using Tap to Pay iPhone Screen Lock.

### Known Issues

* When using Tap to Pay on iPhone Screen Lock on iOS 18 devices, the transaction UI might not show the result after the device passcode was entered.

## 2025-02-17 — Android SDK on mobile — Version 2.0.0

*\<p>SDK expiry: 10 August, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* The SDK is now compiled with Kotlin 2.1.0. When updating to SDK v2.0.0, you need to **upgrade your project to Kotlin 2.1.0**. It is possible that you also need to update other libraries like Dagger or Hilt for compatibility with Kotlin 2.1.0.

* Payment interface changes:

  * `PaymentInterfaceType.CardReader()` changed to `PaymentInterfaceType.createCardReaderType()`.
  * `PaymentInterfaceType.TapToPay()` changed to `PaymentInterfaceType.createTapToPayType()`.

* Package changes:

  * The package for `DeviceManagementActivity` changed from `com.adyen.ipp.cardreader.bluetooth.ui` to `com.adyen.ipp.cardreader.api.ui`.

  * The package for `AuthenticationProvider`, `AuthenticationResponse`, and `MerchantAuthenticationService` changed from `com.adyen.ipp.authentication` to `com.adyen.ipp.api.authentication`.

  * The package for `InPersonPayments` and `InPersonPaymentsInitializer` changed from `com.adyen.ipp` to `com.adyen.ipp.api`.

    If you use [manual app initialization](/point-of-sale/mobile-android/build/tap-to-pay#manage-automatic-initialization), you need to update your Android Manifest with the new package for `InPersonPaymentsInitializer`. Otherwise the app may still work, but incorrectly.

  * The package for `PaymentInterface`, `PaymentInterfaceType`, and `TransactionRequest` changed from `com.adyen.ipp.payment` to `com.adyen.ipp.api.payment`.

  * The package for `MerchantUiParameters` changed from `com.adyen.ipp.payment.ui.model` to `com.adyen.ipp.api.ui`.

* New factory methods to use instead of calling a constructor:

  * `AuthenticationResponse` has a new factory method `create(String)`. Use this method instead of calling the constructor.

  * `CardReaderUiParameters` has a new factory method `create`. Use this method instead of calling the constructor. Example usage:

    ```kotlin
    val position = Simplified.Position.Center
    val params = CardReaderUiParameters.create(CardReaderAnimationType.simplified(position))
    ```

  * `TapToPayUiParameters` has a new factory method `create`. Use this method instead of calling the constructor. Example usage:

    ```kotlin
    val position = TapToPayAnimationType.front(NfcFrontPosition.TopCenter)
    val params = TapToPayUiParameters.create(position)
    ```

* `TransactionRequestReversal.create(String)` changed to `TransactionRequest.createReversal(String)`.

* The DeviceManager function `connectedDeviceState` changed to `connectionState`. This returns the currently connected device.

### New

* When initiating an unreferenced refund, the simplified transaction screen now shows **Refund**. This helps your staff and customers distinguish this type of refund from a payment.

### Improved

* For Tap to Pay transactions, card reads are now faster.
* The size of the SDK has been reduced.

## 2025-01-24 — Terminal software — Version 1.113

### New: general

* It is now possible to configure [manual key entry (MKE)](/point-of-sale/enter-payment-manually/#configure-mke/) for [Store-and-forward payments](/point-of-sale/offline-payment/).

### Fixed: general

* We fixed the issue where in some cases payments with Interac cards failed.

### Fixed: android\_terminals

* We fixed the issue that reset the card selection when activating accessibility on the present card screen.

### New: android\_terminals

* When an auto-launch application crashes on payment terminals that are in kiosk mode, the app will now relaunch automatically.

### Known Issues: android\_terminals

* The cellular modem reboots every 20 minutes on S1F2 terminals with Android 9, which causes the terminal to be without cellular connectivity for up to two minutes. Payments made during this connectivity gap fail.

## 2025-01-22 — iOS SDK on mobile — Version 3.4.0

*\<p>SDK expiry: 12 July, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Fixed

* We fixed the issue that in some cases caused transactions running on the iOS simulator to temporarily fail.

### Known Issues

* NYC1 PIN transactions can fail when they are performed on the same NYC1 device using different versions of the SDK. The transactions succeed when the session is reset. This issue affects all versions that have PIN functionality.

## 2025-01-16 — Android SDK on mobile — Version 1.6.0

*\<p>SDK expiry: 7 July, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Changed

* The package for `MerchantAuthenticationService` is now `com.adyen.ipp.api.authentication.MerchantAuthenticationService`.

* The following classes have been deprecated from the `com.adyen.ipp` package and are now included in the `com.adyen.ipp.api` package:

  * `InPersonPayments`
  * `InPersonPaymentsInitializer`
  * `InPersonPaymentsTools`
  * `PaymentCallback`
  * `PaymentResultContract`

* The function `InPersonPayments.performReversal` has been simplified and now only takes a `TransactionRequestReversal` as an argument and directly returns a `Result<PaymentResult>`.

* The placement of the PIN entry UI is now randomized to enhance security and comply with PCI requirements.

* To improve the authentication process, the SDK now efficiently invokes the implementation of `MerchantAuthenticationService` only when needed, and runs seamlessly in the background.

### Fixed

* We fixed the issue where the SDK crashed when the `LogsObserver could not be found` error occured.

### Known Issues

* The transaction screen on the NYC1 sometimes freezes when the card reader uses a fallback for the card entry method. This happens, for example, when the shopper taps their card too quickly to be read several times in a row and the SDK falls back to only allowing inserting or swiping the card. The transaction can still be cancelled or will time out as normal, but the screen remains frozen.

## 2025-01-02 — iOS SDK on mobile — Version 3.3.2

*\<p>SDK expiry: 28 June, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Fixed

* We fixed the issue where NYC1 Store and Forward transactions failed after updating the SDK from version 3.2.0 to version 3.3.0 or later.
* We fixed the issue where in some cases the SDK reported failed NYC1 firmware updates as successful. You now receive an error message when the firmware is not the expected version after an update.

## 2024-12-30 — Terminal software — Version 1.112

### Fixed: android\_terminals

* We fixed the issue where installer notifications on the terminal did not align with the selected display notification settings in the Customer Area.

### New: opi

* When surcharge applies for Simphony transactions in New Zealand and Australia, the OPI response now returns the surcharge amount in the field`CCSurchargeAmount`.
* It is now possible to perform referenced refunds on Oracle Opera transactions in Brazil and Mexico. Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to enable this feature.

### Known Issues: android\_terminals

* The cellular modem reboots every 20 minutes on S1F2 terminals with Android 9, which causes the terminal to be without cellular connectivity for up to two minutes. Payments made during this connectivity gap fail.

### New: general

* The instrument selection screen that replaces the present card screen is now generally available. It was previously only available in pilot mode.

## 2024-12-19 — Android SDK on mobile — Version 1.5.1

*\<p>SDK expiry: 15 June, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* It is now possible to use the PIN screen in landscape mode.

### Changed

* We upgraded the Android Gradle plugin to version 8.7.2.
* The SDK now compiles targeting Android 15 (SDK 35).
* We improved the error message for newly issued payment cards that require chip entry for activation. Previously, the message only indicated that the transaction was cancelled.
* We further improved the device management UI, which informs you that Bluetooth firmware updates require a Bluetooth connection
* Hardware features are now explicitly declared as *not required* in the AndroidManifest.xml.

### Fixed

* We fixed the issue where tablets were forced into portrait orientation for T2P transactions.
* We fixed the issue where transactions were cancelled on rotation.
* We fixed the issue where the arrow size was incorrect for NYC1 simplified UI.
* We fixed the issue were the wallet icons were missing on the NYC1 present card screen.

## 2024-12-11 — Terminal software — Version 1.111

### New: general

* It is now possible to specify payment cards, for which the shopper can [bypass the PIN entry](/point-of-sale/cardholder-verification-methods/#pin-bypass) on the terminal screen.

### Fixed: general

* We fixed the issue where the payment terminal did not automatically select Interac on co-badged cards in Canada. Instead, the terminal had asked the shopper to select a payment method.

### Known Issues: engage

* MIFARE Classic card payments fail and return the error `Read EMV chip failed`.

### Known Issues: android\_terminals

* The cellular modem reboots every 20 minutes on S1F2 terminals with Android 9, which causes the terminal to be without cellular connectivity for up to two minutes. Payments made during this connectivity gap fail.

## 2024-11-29 — iOS SDK on mobile — Version 3.3.1

*\<p>SDK expiry: 25 May, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Fixed

* We fixed the issue where in some cases the UI for the instructions to reset the reader didn't render correctly.

## 2024-11-27 — Android SDK on mobile — Version 1.4.0

*\<p>SDK expiry: 14 May, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* We added a public methods to initiate a diagnosis request:

  * `registerForDiagnosisResult(caller: ActivityResultCaller, callback: DiagnosisCallback): ActivityResultLauncher<Intent>`
  * `performDiagnosis(context: Context, diagnosisLauncher: ActivityResultLauncher<Intent>, diagnosisRequest: DiagnosisRequest)`

### Changed

* The device management UI now informs you that Bluetooth firmware updates require a Bluetooth connection.
* Deprecated `DeviceManager.firmwareUpdateSummary()` in favour of `DeviceManager.firmwareUpdateStatus(): Result<FirmwareUpdateStatus>`, return type is now a sealed interface of the combinations of possible scenarios.

### Fixed

* We fixed the issue where in some cases consecutive Tap to Pay transactions failed.
* We fixed the issue where slow the SDK initialization failed on slow mobile devices.
* We fixed the issue where `ClassNotFoundException` occurred when calling `deviceManager.startFirmwareUpdate()`.
* We fixed the issue where exiting the PIN screen due to security measures showed the message **Transaction canceled** instead of **Internal Error**.

## 2024-11-06 — Terminal software — Version 1.110

### Fixed: android\_terminals

* We fixed the issue where the result of a barcode scan did not output uppercase spelling when it should.

### Known Issues: android\_terminals

* The cellular modem reboots every 20 minutes on S1F2 terminals with Android 9, which causes the terminal to be without cellular connectivity for up to two minutes. Payments made during this connectivity gap fail.

## 2024-11-01 — iOS SDK on mobile — Version 3.3.0

*\<p>SDK expiry: 28 April, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* It is now possible to make hardware [diagnosis requests](/point-of-sale/diagnostics/request-diagnosis).
* It is now possible to use PIN for NYC1 [Store and Forward offline payments](/point-of-sale/offline-payment#-offline-payments-).

### Fixed

* We fixed the issue where in some cases a transaction was unexpectedly cancelled.

## 2024-10-25 — Android SDK on mobile — Version 1.3.0

*\<p>SDK expiry: 12 April, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* We have renamed `AdyenCardReaders.deviceManager` to [`AdyenCardReaders.getInstance(context).deviceManager`](/point-of-sale/mobile-android/build/card-reader#4-manage-the-ui).

### New

* You can now use `InPersonPayments.initialised` to [check if the SDK was initialized](/point-of-sale/mobile-android/build/card-reader#initialization-status-check).
* We added `TapToPayUiParameters` and `CardReaderUiParameters` to allow you to offer different [UI options](/point-of-sale/mobile-android/build/card-reader#payment) for the present card screen for tap to pay and card reader.

### Improved

* The SDK was compiled with jvm target 8. It means that JDK 17 is not required anymore to build the project.

### Breaking Changes

* We fixed the issue where **DeviceManager** crashed when SDK was not initialized.
* We fixed the issue where a transaction was cancelled when the card was presented a second time during PIN entry.

## 2024-10-14 — Terminal software — Version 1.109

### New: general

* You can now enable Adyen's [Auto Rescue](/point-of-sale/offline-payment/#enabling-offline-payments) mechanism to automatically retry failed store-and-forward payments to increase authorization rates.
* When a shopper presents a [co-badged card](/point-of-sale/aid-selection-rules), they can select the new **Card option** button on the terminal screen to select their preferred payment method.

### New: engage

* Shoppers can now perform all [gift card actions](/point-of-sale/standalone/standalone-use/#gift-cards) on standalone payment terminals.
* For Mifare Ultralight AES cards, you can now specify the `ultralightAESKeyId` in the `NFCData` field to access different parts of the card's data.

### New: android\_terminals

* On Android terminals with a built-in [barcode scanner](/point-of-sale/android-terminals/scan-barcode), like S1E2L, you can now specify a prefix to be added to the scanned barcode content.
* When you press the [barcode scanner button](/point-of-sale/android-terminals/scan-barcode) on Android terminals with a built-in barcode scanner, the barcode content can now be sent as simulated keyboard events.
* You can now [upload logos and videos](/point-of-sale/menu-access) to show on the screen of the SFO1 payment terminal during steps of the shopper interaction.
* You can now customize [virtual receipts](/point-of-sale/shopper-engagement/display-data/display-receipt/) on the SFO1 payment terminal.

### Fixed: android\_terminals

* v1.109.7

  We fixed the issue where the user interface elements of some merchant apps were not rendering correctly.
* v1.109.8

  We fixed the issue where the result of a barcode scan did not output uppercase spelling when it should.

### Fixed: general

* v1.109.8

  We fixed the issue where in some cases it was not possible to cancel Pay-at-table transactions.
* v1.109.10

  We fixed the issue where, when using Oracle Opera, a pre-auth transaction failed when it was followed by the transaction type **Sales Complete**.
* v1.109.10

  We fixed the issue where MOTO could not be disabled.
* v1.109.10

  We fixed the issue where it was impossible to make a recurring MOTO CVC payment.
* v1.109.10

  We fixed the issue where in some cases loyalty card payments were processed as regular payments.
* v1.109.11

  We fixed the issue where in some cases transactions with Interac cards failed. In the payments overview page, these failed payments were listed as *Unknown card* with refusal reason *Declined offline*.
* v1.109.12

  We fixed the issue where the payment terminal did not automatically select Interac on co-badged cards in Canada during a card acquisition. Instead the terminal asked the shopper to select a payment method.

### Fixed: engage

* v1.109.8

  We fixed the issue where updating the terminal firmware software from the terminal menu did not work.

### Known Issues: android\_terminals

* The cellular modem reboots every 20 minutes on S1F2 terminals with Android 9, which causes the terminal to be without cellular connectivity for up to two minutes. Payments made during this connectivity gap fail.

### Fixed: android\_terminals

* v1.109.12

  We fixed the issue where S1F2 payment terminals with a third-party SIM card in the second SIM slot requested network connection with the incorrect Access Point Name (APN).
* v1.109.12

  We fixed the issue where the cellular modem rebooted every 20 minutes on S1F2 terminals with Android 9, which caused the terminal to be without cellular connectivity for up to two minutes. Payments made during this connectivity gap failed.
* v1.109.12

  We fixed the issue where in some cases contactless Girocard transactions failed on S1E, S1E2L, S1F2L, and S1U2 payment terminals.
* v1.109.12

  We fixed the issue where on AMS1 payment terminals the **Scan QR** button disappears from the instrument selection screen when the co-badged cards compliance feature was turned on. This occurred on terminals that had their language set to German, Italian, or French.

### Known Issues: general

* v1.109.6

  We fixed the issue where the payment terminal did not automatically select Interac on co-badged cards in Canada during a card acquisition. Instead the terminal asked the shopper to select a payment method.

## 2024-10-07 — Android SDK on mobile — Version 1.2.0

*\<p>SDK expiry: 25 March, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* You can now use [`InPersonPayments.setAuthenticationServiceClass().`](/point-of-sale/mobile-android/build/tap-to-pay#enable-transactions) to manually set the `MerchantAuthenticationService` if the SDK fails to detect it.

### Fixed

* We fixed the issue where the SDK crashed during auto resolve of the authentication service phase.
* We fixed the issue where the SDK crashed on the Device Manager screen if permissions were revoked.
* We fixed the issue where the PIN entry field was upside down.
* We fixed the issue where in some cases the screen rotation was not working as expected.

## 2024-10-01 — iOS SDK on mobile — Version 3.2.0

*\<p>SDK expiry: 25 March, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-ios/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Breaking Changes

* It is no longer possible to use TEST and LIVE environments from a single app target. Each app target must now [connect to a specific environment](/point-of-sale/mobile-ios/build/card-reader#add-sdk/).

### New

* You can now use [Store and Forward](/point-of-sale/offline-payment#-offline-payments-) to continue accepting mobile payments using a card reader when your integration is offline.
* You can now use PIN for card reader payments.
* Your device now must have a screen lock passcode configured to make card reader payments. Refer to our [Troubleshooting guide](/point-of-sale/mobile-ios/troubleshooting) for possible errors related to security requirements.
* You can now make card acquisitions for magstripe payments with non-ISO [custom cards](/point-of-sale/custom-cards/#-custom-cards-).

### Improved

* We improved the messaging of our [error messages](/point-of-sale/mobile-ios/troubleshooting).

## 2024-09-09 — Terminal software — Version 1.108

### New: engage

* You can now [reassign](https://docs.adyen.com/point-of-sale/managing-terminals/assign-terminals/) payment terminals from one store to another using the same [one-time boarding password](/point-of-sale/managing-terminals/board-terminal/#board-with-otp).
* We added the option to reassign a payment terminal to another store from the **Settings** menu of the terminal under **Configuration** > **Reassign device**.

### New: android\_terminals

* You can now check the Access Point Name (APN) in the terminal menu settings under **Network** > **Cellular**.

### Fixed: android\_terminals

* We fixed the issue where the tipping screen showed the predefined tipping options as the percentage as well as the amount.

### New: general

* In Japan, the payment response now includes installments information. Before, installments information were only included in `additionalData`.
* You can now configure the [Adyen Giving feature](/point-of-sale/donate) in your Customer Area under **Giving** > **Campaigns** to use a single tap or double tap flow. Shoppers can now choose to donate a fixed amount or to round-up the amount of their original purchase.
* We introduced a new instrument selection screen to adhere to co-badged cards compliance in pilot mode. When this feature is enabled, it replaces the present card screen.

### Fixed: general

* We fixed the issue where Store and Forward transactions that were created on a software version lower than version 1.103 could not be processed after updating to a later software version. The stored transactions were discarded after 2 months.

### Known Issues: android\_terminals

* This version is not stable for Android payment terminals. The user interface elements of some merchant apps are not rendering correctly.
* The cellular modem reboots every 20 minutes on S1F2 terminals with Android 9, which causes the terminal to be without cellular connectivity for up to two minutes. Payments made during this connectivity gap fail.

## 2024-08-30 — Android SDK on mobile — Version 1.1.1

*\<p>SDK expiry: 22 February, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### Fixed

* We fixed the issue on devices that run Android 13, where the SDK crashed when you cancelled a transaction and then started a new transaction.

## 2024-08-26 — Android SDK on mobile — Version 1.1.0

*\<p>SDK expiry: 22 February, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* You can now [use a method to evaluate](/point-of-sale/mobile-android/build/tap-to-pay#manage-pos-app-dependency-initialization) whether it can be beneficial to skip the re-execution of code, for example the initialization of your dependency graph or analytics libraries.
* To use the vibration feature, the SDK now requests the permission `android.permission.VIBRATE`.

### Improved

* We have improved the Tap to Pay transaction speed.

### Changed

* We have disabled the default card detection sound on your mobile device during Tap to Pay transactions.
* We have updated the [androidx.lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.2) to version 2.8.2.

### Known Issues

* On devices that run Android 13 might cause the SDK to crash, when you cancel a transaction and then start a new transaction.

## 2024-08-13 — Terminal software — Version 1.107

### New: android\_terminals

* You can now [reassign](/point-of-sale/managing-terminals/assign-terminals/) payment terminals from one store to another using the same [one-time boarding password](/point-of-sale/managing-terminals/board-terminal/#board-with-otp).
* We added the option to reassign a payment terminal to another store from the **Settings** menu of the terminal under **Configuration** > **Reassign device**.
* When using accessibility mode, Android payment terminals now provide audio feedback about how many PIN digits have been entered.

### Fixed: android\_terminals

* We fixed the issue where a diagnostics call to an Android terminal did not return the correct IP address of the terminal.
* We fixed the issue where there was no `endMaintenance` event notification to inform about a finished maintenance call on S1U2 and S1F2L payment terminals.

### Deprecated: android\_terminals

* The Support for S1E and S1EL payment terminals ends with this software version. If you need help selecting alternative terminal models, contact your Adyen Account Manager.

### New: engage

* In Estonia, you can now accept the shoppers' national ID cards as a loyalty card on non-Android payment terminals.

### New: tapi

* v1.107.7

  To stay compliant with Greek tax regulations, we have enabled an integration with licensed e-invoicing systems that connect to the Greek Ministry of Finance.

### New: opi

* v1.107.7

  To stay compliant with Greek tax regulation, we have enabled an integration with licensed e-invoicing systems that connect to the Greek Ministry of Finance.

### Known Issues: general

* [Store and Forward](/point-of-sale/offline-payment) transactions that were created on a software version lower than version 1.103 cannot be processed when updating to a later software version. The stored transactions will be discarded after 2 months.

### Known Issues: android\_terminals

* The tipping screen shows the predefined tipping options as the percentage as well as the amount. This issue will addressed in the upcoming version.

### Fixed: general

* We fixed the issue where Adyen Giving donations could not be captured after the donation were processed.

## 2024-07-15 — Terminal software — Version 1.106

### New: general

* For [gift card transactions](/point-of-sale/gift-cards-terminal-api/), you can now use [Manual Key Entry](/point-of-sale/enter-payment-manually/) as an automatic fallback when swiping a card fails.

### New: android\_terminals

* In Estonia, you can now use Android payment terminals to accept the national ID cards of the shoppers as loyalty cards.

### Improved: android\_terminals

* When using terminals in [Kiosk mode](/point-of-sale/user-manuals/ams1-user-manual/#kiosk-mode), the [lock task mode](https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode) that hides the Android navigation bar is no longer enabled by default.

### Known Issues: general

* [Store and Forward](/point-of-sale/offline-payment) transactions that were created on a software version lower than version 1.103 cannot be processed when updating to a later software version. The stored transactions will be discarded after 2 months.
* Adyen Giving donations cannot be captured after processing the donation.

## 2024-07-10 — Android SDK on mobile — Version 1.0.0

*\<p>SDK expiry: 31 January, 2025. \<br> SDK removal: 8 September, 2026. \<br> \<a href="/point-of-sale/mobile-android/manage#keep-the-mobile-sdk-up-to-date">Learn more\</a>\</p>*

### New

* When the app goes to the background while a transaction is in progress, the transaction is canceled.
* We implemented an internal architectural change to ensure that the Android POS mobile SDK [runs on a separate process](https://developer.android.com/guide/components/processes-and-threads).
* We improved the security of the solution in several ways, in view of the Mobile Payments on COTS (MPOC) certification of our solution. There is nothing you need to do, and you will not notice any differences.
* The SDK is now [minified using R8](https://developer.android.com/build/shrink-code).

### Fixed

* Using an incorrect timestamp format no longer causes the application to crash.
* We fixed issues with Tap to Pay on Android where sometimes the amount didn't show and reading the payment card failed.
* We fixed a problem where the Installation ID refreshed unexpectedly.

## 2024-06-17 — Terminal software — Version 1.105

### New: general

* When [pre-authorizing](/point-of-sale/pre-authorisation#smart-pre-auth) a payment, you can now configure your terminal to automatically block specific types of payment cards, for example prepaid cards.

### Fixed: android\_terminals

* We fixed the issue where S1E2L and AMS1 payment terminals got stuck in a boot loop when their battery charge level was 5 percent or lower.
* v1.105.8

  We fixed the issue where Android payment terminals got stuck on the start-up screen when failing to update to a later software version.
* v1.105.8

  We fixed the issue where the buttons on the terminal screen used to select a credit or debit card option showed incorrect text.
* v1.105.10

  We fixed the issue where in some cases the time to start up a payment terminal took longer than expected after a configuration update.

### New: android\_terminals

* When a payment terminal gets stuck during start up, the terminal screen now shows an error message and a **Retry** button.
* When [boarding a payment terminal with a one-time password](/point-of-sale/managing-terminals/board-terminal/#board-with-otp) fails, the terminal screen now shows the **Settings** button.
* You can now use [Apple Wallet pass payment flows](/point-of-sale/loyalty/wallet-passes) for contactless and NFC wallet payments on Castles Android terminals. The Verifone Android terminals (P630 and M450) are not supported yet.
* Android terminals on Android 10 now support [WebView version 123.0.6312.0](/point-of-sale/android-terminals/app-requirements/#restrictions).
* The status bar of test payment terminals now show a test icon.

### Fixed: opi

* v1.105.8

  We fixed the issue where refunding or cancelling certain OPI transactions failed when they included manual key entry, tipping, or tax-free shopping flows.
* v1.105.10

  We fixed the issue where funds were not received from the shopper’s payment card when the transaction was initiated by OPI Retail or Oracle Simphony and the receipt was in Chinese language. This also caused the payment terminal to crash.

### Fixed: engage

* v1.105.8

  On P400 Plus payment terminal, we fixed the issue where the touchscreen was not responding when trying to tip.
* v1.105.8

  We fixed the issue where the terminal screen turned off when a payment request was sent.
* v1.105.9

  We fixed the issue where users could access the Transactions menu without a passcode.

### Fixed: general

* v1.105.10

  We fixed the issue where recurring payments failed when using MKE as the entry method.
* v1.105.10

  We fixed the issue where in Japan VISA cards not issued in Japan showed on the payment terminal screen as payment options.
* v1.105.11

  We fixed the issue where Store and Forward transactions that were created on a software version lower than version 1.103 could not be processed after updating to a later software version. The stored transactions were discarded after 2 months.
* v1.105.12

  When putting cards in the penalty box, we fixed the issue where the incorrect card AID was banned.

## 2024-05-21 — Android SDK on mobile — Version 0.9.1

### Breaking Changes

* We have renamed `AuthenticationService` to `MerchantAuthenticationService`.

* We have removed `InPersonPayments.initialize(application = application)`. The Adyen POS Mobile SDK now initializes automatically, using the [Android App Startup library](https://developer.android.com/topic/libraries/app-startup). You no longer need to call `InPersonPayments.initialize(application = application)` to:

  * Enable the payments functionality for [Tap to Pay](/point-of-sale/mobile-android/build/tap-to-pay#enable-transactions) and the [NYC1 card reader](/point-of-sale/mobile-ios/build/card-reader#handle-a-payment).
  * Use the NYC1 card reader [device management screens](/point-of-sale/mobile-android/understand#ui-for-card-reader-operations) built into the SDK.
  * [Build your own UI](/point-of-sale/mobile-android/build/card-reader#4-manage-the-ui/) for NYC1 card reader device management.

* `PaymentCallback` declaration will now return the `PaymentResult` [wrapped in a Kotlin Result](/point-of-sale/mobile-android/build/tap-to-pay#payment/) class `Result<PaymentResult>`.

* Most `InPersonPayments` methods now return `kotlin.Result`.

* `InPersonPayments.performTransaction` has been changed:

  * we removed param `authenticationServiceClass`.
  * `merchantUiParameters` is now required and no longer optional.

* To [handle a refund](/point-of-sale/mobile-android/build/card-reader#refund) you now have to:

  * Register a listener for the `PaymentResult` and pass the `refundResult` to your POS app.
  * Use the [new method](/point-of-sale/mobile-ios/build/tap-to-pay#referenced-refund) to invoke `InPersonPayments.performReversal()`.

### New

* The Adyen POS Mobile SDK now initializes automatically, using the [Android App Startup library](https://developer.android.com/topic/libraries/app-startup). It is possible to [disable the automatic initialization](/point-of-sale/mobile-android/build/tap-to-pay#manage-automatic-initialization/).
* The **Amount** field on payment screens is now localized to the device Locale. For example, the decimal separator used in the **Amount** field on the payment screen adapts automatically based on your location.
* You can now show a logo on the Tap to Pay screen.
* The Card reading animation is now located at the bottom of the Tap to Pay payment screen.

### Fixed

* We fixed the issue where Google Pixel phones that run the latest Android 14 software update showed a black screen after initiating a Tap to Pay payment.
* The Adyen POS Mobile SDK now works for Android Work Profile users.

## 2024-05-17 — Terminal software — Version 1.104

### New: general

* When boarding with a one-time password, the payment terminal now tries to download the configuration for a limited amount of time. After the set limit, the terminal stops making call to Adyen and prompts your user to press **Retry** on the terminal screen.

### New: opi

* For Pay at table, in your Customer Area you can now select either the **Table number** or **Check number** to retrieve the customer's bill on the payment terminal screens.

### Known Issues: android\_terminals

* S1E2L and AMS1 payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

### Fixed: engage

* We fixed the issue where the transaction data could be accessed from the terminal menu without entering the **Transactions** passcode. You can [manage your passcodes](/point-of-sale/menu-access/#manage-passcodes) in the Customer Area or by using API calls.

### Known Issues: opi

* Refunding or cancelling OPI transactions might fail when they include manual key entry, tipping, or tax-free shopping flows.

### Known Issues: general

* [Store and Forward](/point-of-sale/offline-payment) transactions that were created on a software version lower than version 1.103 cannot be processed when updating to a later software version. The stored transactions will be discarded after 2 months.

## 2024-04-19 — Terminal software — Version 1.103

### New: general

* You can now exclude products and charges from the total amount that are not [eligible for tipping](/point-of-sale/tipping/tipping-from-terminal/change-amount-to-tip-on). The terminal screen then shows the amount that the shopper can choose to tip on separately from the total amount.

### Fixed: android\_terminals

* In the terminal settings menu, we have fixed the issue where toggling **DHCP** on and off removed all previously stored IP addresses.

### New: android\_terminals

* From the menu of S1U2 and S1E2L payment terminals, you can now [manage the performance](/point-of-sale/menu-access#app-maintenance) of your Android apps. You can, for example, force quit an unresponsive app, or clear the cache and storage of an app.
* Fast roaming is now available on S1F2 payment terminals.

### Known Issues: android\_terminals

* S1E2L and AMS1 payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

### Known Issues: opi

* Refunding or cancelling OPI transactions might fail when they include manual key entry, tipping, or tax-free shopping flows.

### Known Issues: general

* [Store and Forward](/point-of-sale/offline-payment) transactions that were created on a software version lower than version 1.103 cannot be processed when updating to a later software version. The stored transactions will be discarded after 2 months.

## 2024-03-25 — Android SDK on mobile — Version 0.8.0

### New

* We added `android:allowBackup="false"` to the AndroidManifest.xml to prevent the creation of an automated data backup. For security reasons, we recommend that you not override this setting.

### Fixed

* We fixed the issue where in some cases `AdyenCardReaders.deviceManager.activeDeviceInfo` returned `DeviceInfo` class members that were incorrectly marked as not for public use.

### Known Issues

* Google Pixel phones that run the latest[Android 14 software update](https://support.google.com/pixelphone/thread/262118597/google-pixel-update-mar-2024?hl=en) show a black screen when initiating a Tap to Pay payment.

## 2024-03-22 — Terminal software — Version 1.102

### Removed: general

* We have removed [classic libraries](/point-of-sale/classic-library-deprecation). If you need support, contact your Adyen Account Manager.

### Improved: android\_terminals

* On Android terminals that have a built-in barcode scanner, like [S1E2L](/point-of-sale/user-manuals/s1e2l-user-manual#barcode-scanning), you can now specify the type of separator for the scanned barcode content. You can pass the content of each scanned barcode in a new line, or specify the character to use a separator.

### New: general

* You can now make a request to the [/terminals](https://docs.adyen.com/api-explorer/Management/latest/get/terminals) endpoint to get the [restartLocalTime](https://docs.adyen.com/api-explorer/Management/latest/get/terminals#responses-200-data-restartLocalTime) which is when your payment terminals are set to reboot during the restart hour.

### New: android\_terminals

* For Mail Order/Telephone Order (MOTO) payments it is no longer possible to skip providing the shopper's information such as the postal code.

### Known Issues: android\_terminals

* S1E2L and AMS1 payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

## 2024-03-05 — Terminal software — Version 1.101

### Changed: general

* When overriding the [preconfigured tipping options](/point-of-sale/tipping/tipping-from-terminal/override-tipping-configuration#make-a-payment-to-override-existing-tipping), we changed the structure of the `Operation` JSON object passed in the `SaleToPOIData`.

### Known Issues: android\_terminals

* The signatures of the receipts of transactions are only partially visible on the Payment details page in your Customer Area. In some cases, the receipt of a transaction is missing.
* S1E2L and AMS1 payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

### Deprecated: general

* Support for [classic library integration](/point-of-sale/classic-library-deprecation/) ends with this software version. If you are still using the classic library integration, we recommend that you use the LTS version 1.100. If you need support, contact your Adyen Account Manager.

## 2024-02-15 — Android SDK on mobile — Version 0.7.5

### Removed

* In `DeviceManager`, we removed:

  * `INSTANCE`.
  * `checkAvailableFirmwareUpdates(deviceInfo: DeviceInfo)`. Use `firmwareUpdateSummary()` instead.
  * `startAllFirmwareUpdates()`. Use `startFirmwareUpdate()` instead.
  * `getPairedDevices()`. Use `getKnownDevices()` instead.

### Known Issues

* In some cases, `AdyenCardReaders.deviceManager.activeDeviceInfo` returns `DeviceInfo` class members that are incorrectly marked as not for public use. Add `@SuppressLint("RestrictedApi")` to your code to suppress this warning message.

## 2024-02-02 — Terminal software — Version 1.100

### New

* The payment terminal can now [store the security code of gift cards](/point-of-sale/gift-cards-terminal-api/#pin-options) for a limited amount of time after first entry, so customers do not have to enter it again during the transaction.

### Fixed: general

* v1.100.7

  We fixed the issue where the gift card load reversal failed, when the load request was completed on a different terminal.

### Known Issues: general

* This version supports an outdated format of the feature that lets you override the existing tipping options by specifying them in the payment request. A new format will be introduced in an upcoming release.

### Fixed: android\_terminals

* v1.100.10

  We fixed the issue where Android terminal failed to start the payments app properly after reboot.
* v1.100.8

  We fixed the issue where terminals got stuck after being reassigned during the boarding process.
* v1.100.7

  We fixed the issue where in some cases the payment terminal made multiple authorisation calls on a single transaction and blocked the shopper’s card.

### Fixed: android\_terminals

* v1.100.7

  We fixed the issue where the customer signature was only partially visible on the Payment details page in your Customer Area.

### Fixed: android\_terminals

* v1.100.7

  We fixed the issue where in some cases the transaction receipt was missing on the Payment details page in your Customer Area.
* v1.100.7

  We fixed the issue where the button to view the last known Totals report was missing from the payment terminal menu after the Totals were reset at the [reset hour](https://docs.adyen.com/point-of-sale/standalone/standalone-use/#resetting-automatically).

### Known Issues: android\_terminals

* S1E2L and AMS1 payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

### Fixed: engage

* v1.100.10

  We fixed the issue where the terminal screen turned off when a payment request is sent.
* v1.100.7

  We fixed the issue where in some cases the payment terminal randomly showed a black screen.

### Fixed: engage

* v1.100.7

  We fixed the issue where, after using a standalone merchant reference and canceling the transaction on the amount input screen, the same reference was used automatically for the next transaction.

## 2024-01-11 — Android SDK on mobile — Version 0.6.1

### Deprecated

* In `DeviceManager`, we removed `startAllFirmwareUpdates()`. To implement the available card reader firmware updates, use `startFirmwareUpdate()` instead.

### New

* In `DeviceManager`, we added `startFimwareUpdate()` to implement the available card reader firmware updates. This replaces `startAllFirmwareUpdates()`.

### Improved

* We made some improvements to the performance and stability of the SDK.
* We enabled edge-to-edge mode for multiple activities. This mode allows your application’s content to extend to the full screen, utilizing the entire display area without any additional padding or margins.
* We enabled immersive mode, which allows you to hide the navigation bar on the payment screen.

### Fixed

* On Android 14, we fixed the issue where the SDK stopped working when an unsupported card was presented.
* We fixed the issue where the UI froze when closing an error message.
* We fixed the issue where in some cases cancelled Tap to Pay transactions were incorrectly approved.
* We fixed the issue where you could not go back to the previous screen while pairing a card reader.
* We fixed the issue where, when trying to close an error message, the UI froze.
* When starting a NYC1 transaction too fast, we now show a more informative error message: "Check if no card is inserted and try again". Previously, we showed "internal error".

## 2023-12-22 — Terminal software — Version 1.99

*\<p>To update your payment terminals to this version, contact our Support Team.\</p>*

### New: android\_terminals

* On Android terminals that have a built-in barcode scanner, you can now activate the barcode scanner by [pressing the side button](/point-of-sale/user-manuals/s1e2l-user-manual#barcode-scanning). A successful scan enters the content of the barcode directly into the input box in your app.

### Known Issues: android\_terminals

* The signatures of the receipts of transactions are only partially visible on the Payment details page in your Customer Area. In some cases, the receipt of a transaction is missing.
* S1E2L and AMS1 payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

## 2023-12-11 — Terminal software — Version 1.97

*\<p>This version is no longer stable. To use feature from this version, update to v1.99.\</p>*

### New: general

* You can now use Adyen payment terminals to [read cards that are not compliant with PCI DSS](/point-of-sale/custom-cards), such as employee benefit cards.

### Known Issues: android\_terminals

* The receipts of transactions on the Payment details page in your Customer Area have no signature. In some cases, the receipt of a transaction is missing.
* S1E2L and AMS1 payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

## 2023-11-23 — Terminal software — Version 1.96

*\<p>To update your payment terminals to this version, contact our Support Team. Your terminals should not be more than five versions behind the latest release.\</p>*

### New: tapi

* In Japan, when a transaction fails, the payment terminal now presents the shoppers with an instruction on how to resolve the failed transaction.

### Fixed: android\_terminals

* We fixed the issue where the printed receipt showed “NULL” in the receipt header when you did not populate **Header line 1** and **Header line 2** under **Customer Area** > **Terminal Settings** > **Receipts**.
* We fixed the issue where contactless EFTPOS transactions fail on AMS1 payment terminals if PIN entry is required.

### Known Issues: general

* For contact payments surcharges are not applied which means that the surcharge fee is not transferred to the shopper.

### Known Issues: android\_terminals

* The function button on the back of the S1U2, which is needed to access the device settings, is unresponsive.
* The receipts of transactions on the Payment details page in your Customer Area have no signature. In some cases, the receipt of a transaction is missing.
* S1E2L and AMS1 payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

## 2023-11-15 — iOS SDK on mobile — Version 2.1.2

### Deprecated

* `firmwareupdateavailable` has been deprecated. If you built your own custom UI for device management, use the new `firmwareUpdateSummary` variable to check if there are firmware updates available for the card reader.

* The AdyenPOSError types `bluetoothFirmwareUpdateError`, `firmwareDownloadError`, and `firmwareUpdateError(message: )` have been deprecated. If you built your own custom UI for device management, use the new public error type `AdyenPOSError.firmwareError(reason: )` instead.

### New

* When checking for available firmware updates for the card reader, the built-in device management UI now indicates if a Bluetooth connection is required for the update, and shows the date by which transactions will be refused if the card reader is not updated to this firmware version.

  If you built your own custom UI, use the new public variable `firmwareUpdateSummary` to check for any available firmware updates.

  See [Manage card reader firmware](/point-of-sale/mobile-ios/manage#keep-the-card-reader-up-to-date).

* We added a new public error type `AdyenPOSError.firmwareError(reason: )` to provide information about errors that occurred with the firmware management of the card reader.

### Fixed

* We fixed issues with performing firmware updates on iOS version 17.0.x.

## 2023-11-15 — Android SDK on mobile — Version 0.5.0

### Deprecated

If you implemented a custom UI for device management, note that in the `DeviceManager`, the `checkAvailableFirmwareUpdates()` method and the classes `DeviceUpdate` and `DeviceUpdateType` are deprecated. Use the new method `firmwareUpdateSummary(): Result<AvailableFirmwareUpdate>` instead.

### New

See [Manage card reader firmware](/point-of-sale/mobile-ios/manage#keep-the-card-reader-up-to-date):

* When checking for available firmware updates for the card reader, we check the date by which transactions will be refused if the card reader is not updated to this firmware version.

  If you created a custom UI for device management, use the new method `firmwareUpdateSummary(): Result<AvailableFirmwareUpdate>` to implement this in your UI.

- During firmware updates, we check if an update failed because the card reader was connected through USB and the update required a Bluetooth connection.

  If you created a custom UI for device management, check `startAllFirmwareUpdates()` for the new `UpdateRequiresBluetooth` error state.

### Breaking Changes

For the **card reader solution**, you should now use the same package dependencies in your `build.gradle` file as for the Tap to Pay solution:

```groovy
releaseImplementation 'com.adyen.ipp:pos-mobile-release:$version'
debugImplementation 'com.adyen.ipp:pos-mobile-debug:$version'
```

### Known Issues

* On Android 14, the SDK stops working when an unsupported card is presented.

* When pairing a card reader, going back to the previous screen doesn't work.

* To use minification (`isMinifyEnabled`/`minifyEndabled`) in your application, you have to add the following lines to `proguard-rules.pro`:\
  `-keep class kotlinx.parcelize.** { * ;}`\
  `-keep class org.slf4j.impl.StaticMDCBinder { *; }`

### Fixed

* We fixed an issue where setting `targetSdkVersion` to **34** in your app caused the Device Management screens to crash on Android 14 devices.

* The feature to configure how long the success screen should be shown, works as expected again.

## 2023-10-18 — Terminal software — Version 1.95

*\<p>Your terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* In the US, all payment terminals can now accept EMV Quick Chip transactions. This allows shoppers to insert and remove their EMV chip cards at checkout while the scanning of the goods is still in process.

### Improved: engage

* You no longer have to contact Support to update UX300 and UX410 payment terminals to the latest software version.

### New: android\_terminals

* We have introduced the [S1U2 payment terminal](/point-of-sale/user-manuals/s1u2-user-manual/) to our terminal range.

### Known Issues: android\_terminals

* The receipts of transactions on the Payment details page in your Customer Area have no signature. In some cases, the receipt of a transaction is missing.
* S1E2L payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

### Known Issues: engage

* UX400 payment terminals refuse transactions after updating to software version 1.95.5.

### Fixed: android\_terminals

* We fixed the issue where the timestamp on items in the transaction history shows UTC time instead of the actual time.

### Known Issues: general

* When updating to this version, the terminal files migration can get interrupted by another process. The payment terminal then shows a *Transaction interrupted* error message. On unattended payment terminals the *Cancel* button must be pressed to close this message.

## 2023-10-13 — Android SDK on mobile — Version 0.4.2

### Breaking Changes

Make sure that you use the correct release package: `-debug` versions of the SDK can only access the Test environment, and `-release` versions can only access the Live environment.

### New

* We implemented completion retry logic: if the authorization succeeded but the capture didn't, we retry capturing the payment later.

* We added a firmware updates feature. With this first iteration of the feature, you can use the following Device Manager functions:

  * `checkAvailableFirmwareUpdates()`: checks if the card reader manufacturer released new firmware updates.
  * `startAllFirmwareUpdates()`: implements the available card reader firmware updates.

* If a card is left inside the card reader, the reader beeps four times and no new transactions are possible until the card is removed.

* We implemented sounds for Tap to Pay transactions.

### Improved

* We now show more informative messages in the UI when a transaction is declined. For example, "Card not supported" instead of just "Declined".

* We improved the transaction speed, and implemented some general improvements of the payment flow.

### Fixed

* Tap to Pay transactions on devices using an armv7 based processor are now supported, on both the debug version and the release version of the SDK.

* We removed the ACCESS\_BACKGROUND\_LOCATION permission. If you previously added extra lines about this permission to your AndroidManifest.xml as described for v.0.3.1, you can now remove those lines.

* We removed the QUERY\_ALL\_PACKAGES permission.

### Known Issues

* To use minification (`isMinifyEnabled`/`minifyEndabled`) in your application, you have to add the following lines to `proguard-rules.pro`:\
  `-keep class kotlinx.parcelize.** { * ;}`\
  `-keep class org.slf4j.impl.StaticMDCBinder { *; }`

* The feature to configure how long the success screen should be shown, doesn't work as expected.

## 2023-09-16 — Terminal software — Version 1.94

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. Your terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* In a local integration, you can now configure terminals to [notify you when their IP address changes](/point-of-sale/design-your-integration/network-and-connectivity/network-configuration/#configuring-the-terminal-IP-address). The terminal sends a webhook to the endpoint that you choose with the ID and the new IP address of the terminal.

### New: general

* You can now use a one-time password (OTP) to get the unique ID of a terminal to assign it to the correct store.

### New: engage

* When pre-authorising a payment, you can now configure your terminals to [automatically detect](/point-of-sale/pre-authorisation/#smart-pre-auth) if a payment method does not support authorization adjustment. The terminal then presents the customer with an option to choose a payment method that supports authorization adjustment.

### Fixed: engage

We have fixed the issue where UX300 terminals lost network connection after the nightly reboot.

### New: tapi

* You can now split a landscape display of a payment terminal, such as the M400, to show two display requests.

### New: android\_terminals

* You can now use a [kiosk mode](/point-of-sale/user-manuals/ams1-user-manual/#kiosk-mode) on payment terminals to:

  * Make an Android app that you uploaded to Adyen the default app on the terminal.
  * Hide the Android navigation buttons from the home screen.
  * Hide the Settings and Transactions menus buttons from the home screen.

### Known Issues: android\_terminals

* The receipts of transactions on the Payment details page in your Customer Area have no signature. In some cases, the receipt of a transaction is missing.
* The timestamp on items in the transaction history is two hours ahead of the actual time.
* The printed receipt shows “NULL” in the receipt header when you do not populate **Header line 1** and **Header line 2** under **Customer Area** > **Terminal Settings** > **Receipts**.
* S1F2 payment terminals lose connection to the Wi-Fi network after a software update, or after an update of the logo on the terminal screen.
* S1E2L payment terminals get stuck in a boot loop when their battery charge level is five percent or lower.

### Fixed: general

* v1.94.10

  We have fixed the issue where transactions continued to be processed as Store and Forward payments even after the payment terminal had re-connected to the network.

### Known Issues: general

* When updating to this version, the terminal files migration can get interrupted by another process. The payment terminal then shows a *Transaction interrupted* error message. On unattended payment terminals the *Cancel* button must be pressed to close this message.

## 2023-08-24 — Android SDK on mobile — Version 0.3.1

### New

* We now support live Tap to Pay on Android transactions.
* In `DeviceManager` we added `getKnownDevices()`. This replaces `getPairedDevices`.
* For the NYC1 card reader, we now show the Bluetooth version in the details screen, and in `HardwareSoftwareInfo` (in `activeDeviceInfo` in `DeviceManager`).

### Improved

* When updating the NYC1 card reader: if both a system update and a firmware update are available, selecting **Update firmware** implements both updates.
* We made some improvements to the Tap to Pay payment flow.
* Error messages about network issues during a transaction are now clearer.

### Deprecated

In `DeviceManager`:

* We removed `connect(discoveredDevice: DiscoveredDevice)`.
* We deprecated `getPairedDevices`. Use `getKnownDevices()` instead.

### Known Issues

* To use minification (`isMinifyEnabled`/`minifyEndabled`) in your application, you have to add the following lines to `proguard-rules.pro`:\
  `-keep class org.json.** {*;}`\
  `-keep class kotlinx.coroutines.** {*;}`

* If you do not use `android.permission.ACCESS_BACKGROUND_LOCATION` for your application, you must add the following lines to your AndroidManifest.xml file:

  ```kotlin
  <uses-permission
        android:name=\"android.permission.ACCESS_BACKGROUND_LOCATION\"
        tools:node=\"remove\" />  
  ```

* The `release` version of the SDK is not able to perform Tap to Pay transactions on devices using an `armv7` based processor.

## 2023-08-21 — Terminal software — Version 1.93

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. Your terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* When collecting shopper input on a terminal, you can now mask the input data on the terminal screen.
* You can now use a third-party SIM card in addition to the pre-installed Adyen SIM card in AMS1, S1U2, S1F2L, and S1EL2 payment terminals.

### Improved: general

* When applying [surcharges](/point-of-sale/surcharge):

  * We enabled rounding up the payment amount up to three decimals instead of two.
  * The payment response now includes the surcharge amount in the `TotalFeesAmount` field.

### Improved: engage

* You will now get notified when Anti-removal switches (ARS) are triggered on UX300 and UX400 payment terminals.

### Removed: engage

* We no longer support managed engagement.

### Known Issues: general

* EMV offline transactions get discarded after three days without internet connection.
* The payment terminal’s approved screen shows longer than expected.
* Transactions continue to be processed as Store and Forward payments even after the payment terminal has re-connected to the network.
* When updating to this version, the terminal files migration can get interrupted by another process. The payment terminal then shows a *Transaction interrupted* error message. On unattended payment terminals the *Cancel* button must be pressed to close this message.

### Known Issues: android\_terminals

* Merchant app installation fails on S1E and S1EL payment terminals.
* S1F2 payment terminals lose connection to the Wi-Fi network after a software update, or after an update of the logo on the terminal screen.

### Known Issues: android\_terminals

* We fixed the issue where the timestamp on items in the transaction history shows UTC time instead of the actual time.

## 2023-08-02 — iOS SDK on mobile — Version 2.0.1

### New

* The iOS POS Mobile SDK has been tested and validated with iOS v17.
* Using a new `successScreenTimeout` parameter, you can determine [how long to show the screen that indicates the transaction succeeded](/point-of-sale/mobile-ios/build/tap-to-pay#handle-a-payment#handle-a-payment).

### Improved

* The NYC1 card reader will play a warning sound if the card is left in the reader after the transaction is completed.
* Bluetooth disconnection of the NYC1 card reader is now handled gracefully.
* Transactions are cancelled when the POS app is pushed to the background, the screen is locked, or the POS app is closed during the transaction.
* To prevent errors when a customer takes too long to tap a card, the Tap to Pay user interface is automatically closed after 100 seconds.

### Deprecated

* `AdyenPOSError.paymentInterfaceNotSupported` is deprecated.

### Fixed

* For the NYC1 card reader, the charging indicator and battery capacity values are now refreshed every time the Device management screen is opened.
* If the transaction is cancelled quickly, we no longer show the Apple interface for Tap to Pay.
* The camera on an iPad now rotates correctly in landscape mode when connecting to an NYC1 card reader.
* In certain edge cases where an error occurs after the transaction is approved, we no longer show an error screen.

## 2023-07-14 — Android SDK on mobile — Version 0.3.0

### New

* We now support [Tap to Pay on Android](/point-of-sale/mobile-android/build/tap-to-pay).
* Using a new `merchantUiParameters` parameter, you can set an `autoDismissDelay` to determine how long to show the screen that indicates the transaction succeeded.

### Known Issues

* The `release` build is not able to perform Tap to Pay transactions on devices using an `armv7` based processor.

## 2023-06-28 — Android SDK on mobile — Version 0.2.4

### Breaking Changes

* The minimum required SDK version (`minSdkVersion`) has changed from 29 to 30.

### New

* The SDK checks if the mobile device meets the minimum requirements for Android version and security patch.
* We implemented a retry mechanism to reconnect to the NYC1 card reader if the Bluetooth connection fails.
* You can now use the `InPersonPayments.version` field to see the version of the SDK.

### Improved

* We removed the NFC feature requirement from the Manifest.

### Fixed

* We fixed an issue related to canceling a transaction.

## 2023-06-23 — Terminal software — Version 1.91

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. Terminals should not be more than five versions behind the latest release. Terminals should not be more than five versions behind the latest release.\</p>*

### Improved: tapi

* If there is a communication or technical issue, you can now [get the ServiceID](/point-of-sale/basic-tapi-integration/cancel-a-transaction#get-service-id) of the in-progress payment or card acquisition request. You can then use that ServiceID to cancel that in-progress request.

### Improved: tapi

* If you want to tokenize a card, you can no longer include both the [old and the new tokenization parameters](/point-of-sale/recurring-payments#migration-from-old-tokenization-parameters) in your payment request.

### New: android\_terminals

* We now support accepting payment [surcharges](/point-of-sale/surcharge) on Android payment terminals.

### Fixed: engage

* We fixed the issue on UX300 payment terminals where the screen showed an error message instead of the result of card acquisition.
* v1.91.18

  We fixed an issue that slowed down the performance of the terminals.

### Known Issues: android\_terminals

* The timestamp on items in the transaction history show UTC time instead of the actual time.

### Fixed: general

* We fixed the issue where transactions were declined when using magnetic stripe on eftpos cards.
* v1.91.18

  We fixed the issue where offline Store and Forward transactions were rejected after three days without internet connection.
* v1.91.20

  We fixed the issue where transactions were still processed as Store and Forward payments even after the payment terminal had re-connected to the network.
* v1.91.20

  We fixed the issue where EMV offline transactions were discarded after three days without internet connection.
* v1.91.20

  We fixed the issue where transactions canceled before presenting the card were showing in the Customer Area under **Payments**.
* v1.91.20

  We fixed the issue where in some scenarios the payment terminal’s approved screen showed longer than expected.
* v1.91.21

  We fixed the issue where the terminal files migration could get interrupted by another process when updating to this version. The payment terminal then showed a *Transaction interrupted* error message. On unattended payment terminals, the *Cancel* button had to be pressed to close this message.
* v1.91.21

  We fixed the issue where, in some cases, a transaction could not be canceled by pressing **Cancel** on the terminal screen.

### Fixed: android\_terminals

* We fixed the issue where the first transaction after the installation of a merchant app failed.
* We fixed the issue where contact chip transactions were declined when using surcharge.
* v1.91.18

  We fixed the issue where you could not update or retrieve Wi-Fi or SIM card information for S1F2 and S1F2L payment terminals.
* v1.91.20

  We fixed the issue where S1F2 payment terminals lost connection to the Wi-Fi network after a software update, or after an update of the logo on the terminal screen.

## 2023-06-07 — Android SDK on mobile — Version 0.2.3

### New

* For security issues that end users can easily fix themselves, we now show instructions on how to proceed. For example, if the mobile device is on an unsecured network, an instruction appears to connect to a secured Wi-Fi network and try again.

### Improved

* We improved the error handling when there are issues with Bluetooth permissions.

### Fixed

* We fixed an issue with canceling a transaction while the mobile device was still connected to the NYC1 card reader.

## 2023-05-24 — Terminal software — Version 1.90

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. Terminals should not be more than five versions behind the latest release.\</p>*

### Fixed: general

* We fixed the issue where certain Visa payment cards in Canada and the US were rejected because they were identified as SVS gift cards.

### Improved: engage

* Starting with this version, all payment terminals are automatically upgraded to the [new menu structure](/point-of-sale/menu-access#engage-terminal-menus).

### Fixed: engage

* We fixed the issue on UX410 payment terminals where using contactless magstripe cards failed the card acquisition and stopped the terminal from transacting until the next reboot.

* We fixed the issue where the totals fail to reset when you [log out of your terminal](/point-of-sale/reconciling-totals/log-in-and-log-out/#logout-request).

### Removed: android\_terminals

* You can no longer include HTML tags in the body of input requests.

### Known Issues: engage

* This version is not available for V400m terminals.

* Payment terminals updating from v1.75 will first update to v1.86 before updating to the later versions.

### Known Issues: android\_terminals

* This version is not available for AMS1, S1F2, and S1F2L terminals.

* You cannot update or retrieve Wi-Fi or SIM card information for S1F2 and S1F2L payment terminals.

* Contact chip transactions are declined when using surcharge.

## 2023-05-11 — iOS SDK on mobile — Version 2.0.0

### Breaking Changes

* The minimum required iOS version has changed to 16.4.
* We removed the deprecated `Transaction` type alias.

### Improved

* We improved the speed and reliability of Tap to Pay on iPhone transactions.
* Error messages for Tap to Pay on iPhone are now clearer.
* When a card reader is unpaired in the system settings of the mobile device, the card reader no longer automatically reconnects.

### New

* We made a sample app *POSSampleApp* available.
* The SDK supports [referenced refunds](/point-of-sale/mobile-ios/build/card-reader#referenced-refund/) (reversals).

## 2023-04-21 — Terminal software — Version 1.89

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. Terminals should not be more than five versions behind the latest release.\</p>*

### New: tapi

* You can now [split the screen](/point-of-sale/shopper-engagement/split-screen) of a landscape payment terminal to show an input and a display request at the same time.

### Fixed: engage

* The screen of the e285p payment terminal no longer keeps turning on and off when connected to Wi-Fi.

### Removed: engage

* You can no longer include HTML tags in the body of input requests.

### Fixed: engage

* We fixed the issue of Pay at table button not showing on the screen of payment terminals that use the [old menu structure](/point-of-sale/menu-access#engage-terminal-menus).

### Known Issues: engage

* Payment terminals updating from v1.75 and earlier versions will first update to v1.86 before updating to this version.

### Fixed: android\_terminals

* We fixed the issue where canceling the payment request during PIN entry made the payment terminal unresponsive.

### Known Issues: general

* In Canada and the US, certain Visa payment cards are rejected because they are identified as SVS gift cards.

### Known Issues: engage

* This version is not available for V400m and payment terminals that are on a manual update strategy.

### Known Issues: android\_terminals

* Contact chip transactions are declined when using surcharge.

## 2023-03-24 — Terminal software — Version 1.88

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. Terminals should not be more than five versions behind the latest release.\</p>*

### Fixed: tapi

* We fixed the issue where HTML tags showed on the terminal screen during display requests.

### Fixed: tapi

* We fixed the issue where the payment terminal was not able to send the current status of the ongoing Adyen Giving transaction.

### Fixed: opi

* We fixed the issue where HTML tags showed on the terminal screen during display requests.

### Known Issues: engage

* When connected to Wi-Fi, the screen of e285p payment terminal keeps turning on and off.

### Known Issues: engage

* The Pay at table button does not show on the screen of payment terminals that use the [old menu structure](/point-of-sale/menu-access#old-menu-structure).\
  If you are using Pay at table, with either Terminal API or OPI integration, consider enabling the [new menu structure](/point-of-sale/menu-access#engage-terminal-menus) or updating to v1.89.

### Known Issues: android\_terminals

* Canceling the payment request during PIN entry makes the payment terminal unresponsive. The terminal needs to be restarted to transact again.

* Contact chip transactions are declined when using surcharge.

### Known Issues: general

* In Canada and the US, certain Visa payment cards are rejected because they are identified as SVS gift cards.

## 2023-02-24 — Terminal software — Version 1.87

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. Terminals should not be more than five versions behind the latest release.\</p>*

### Fixed: tapi

* We fixed the issue where sending the Abort Request without the `MessageCategory` field made the terminal reboot.

### Fixed: tapi

* We fixed the issue where additional characters were passed as part of the scanned barcode data in the `additonalData` of the Terminal API response.

### Improved: tapi

* For Pay at table, you can now select in your Customer Area to show or hide the notification button on the payment terminal screen.\
  When the notification button is hidden, you start a transaction by selecting the **Confirm** key **![](/images/6/9/3/7/8/6937831b6e8ba90eddeddde32c67f49162760228-confirm2x.png)**\
  on the keypad.

### Improved: opi

* For Pay at table, you can now select in your Customer Area to show or hide the Pay\@Table button on the payment terminal screen.\
  When the Pay\@Table button is hidden, you start a transaction by selecting the **Confirm** key **![](/images/6/9/3/7/8/6937831b6e8ba90eddeddde32c67f49162760228-confirm2x.png)**\
  on the keypad.

### Known Issues: engage

* When connected to Wi-Fi, the screen of e285p payment terminal keeps turning on and off.

### Known Issues: engage

* The Pay at table button does not show on the screen of payment terminals that use the [old menu structure](/point-of-sale/menu-access#old-menu-structure).\
  If you are using Pay at table, with either Terminal API or OPI integration, consider enabling the [new menu structure](/point-of-sale/menu-access#engage-terminal-menus) or updating to v1.89.

### Known Issues: android\_terminals

* Canceling the payment request during PIN entry makes the payment terminal unresponsive. The terminal needs to be restarted to transact again.

* Contact chip transactions are declined when using surcharge.

### Known Issues: general

* In Canada and the US, certain Visa payment cards are rejected because they are identified as SVS gift cards.

## 2023-01-27 — Terminal software — Version 1.86

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. Terminals should not be more than five versions behind the latest release.\</p>*

### Fixed: engage

* When using the [new menu structure](/point-of-sale/menu-access#engage-terminal-menus), you now have to enter the Transactions passcode to make referenced refund from the Transaction History.

### New: tapi

* You can now allow a third party to interact with your customers on your payment terminals without integrating with your POS system. A third party can send non-payment requests, like input and display requests, and receive notifications from your terminals. Using [third-party interactions](/point-of-sale/shopper-engagement/third-party-interactions), the third party is able to gather feedback on your service or engage customers in your loyalty program.

### New: tapi

* You can now add a flag to your payment request to hide the pre-authorized amount on the payment terminal screen.

### Improved: tapi

* You can now use the same card [tokenization](/point-of-sale/recurring-payments) system for point of sale as for ecommerce. This allows you to create a recurring contract for:

  * One-off transactions where a shopper can either store their payment details or pay in your website or app later.
  * Transactions that occur on a fixed schedule for a fixed or variable amount.
  * Transactions that occur on a non-fixed schedule and/or have variable amounts.

### Known Issues: engage

* When connected to Wi-Fi, the screen of e285p payment terminal keeps turning on and off.

### Known Issues: engage

* The Pay at table button does not show on the screen of payment terminals that use the [old menu structure](/point-of-sale/menu-access#engage-terminal-menus).\
  If you are using Pay at table, with either Terminal API or OPI integration, consider enabling the [new menu structure](/point-of-sale/menu-access#engage-terminal-menus) or updating to v1.89.

### Known Issues: android\_terminals

* Canceling the payment request during PIN entry makes the payment terminal unresponsive. The terminal needs to be restarted to transact again.

### Known Issues: general

* In Canada and the US, certain Visa payment cards are rejected because they are identified as SVS gift cards.

## 2023-01-06 — Terminal software — Version 1.85

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: opi

* For Pay at Table, payment terminals now support refunds initiated from Oracle Symphony.

### New: engage

* We rearranged the [menu options](/point-of-sale/menu-access#engage-terminal-menus) on the terminal, and changed the way you access the menus to align it with Android payment terminals.

### Improved: engage

* For V400m with Bluetooth base station, we improved the way you connect the payment terminal with your wired network using the base station. You now only need to dock the terminal into the base station and select **Pair now**.

### Known Issues: engage

* When connected to Wi-Fi, the screen of e285p payment terminal keeps turning on and off.

### Known Issues: android\_terminals

* Canceling the payment request during PIN entry makes the payment terminal unresponsive. The terminal needs to be restarted to transact again.

### Fixed: general

* We fixed the issue where Interac transactions were declined when certain fields were sent without a value.

### Known Issues: general

* In Canada and the US, certain Visa payment cards are rejected because they are identified as SVS gift cards.
* For Interac and EFTPOS payments, the account type is in some cases automatically set to credit and the account type selection screen does not show. The account type selection screen also doesn’t show in cases in which the payment terminal cannot detect the payment card brands Interac and EFTPOS.

## 2022-11-18 — Terminal software — Version 1.84

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### Improved: tapi

* With Pay-at-table payments, the options to pay the amount in total, split equally, or split unequally are presented on the same screen. While paying, you can now see how many splits there are left.

### Improved: opi

* With Pay-at-table payments, the options to pay the amount in total, split equally, or split unequally are presented on the same screen. While paying, you can now see how many splits there are left.

### Known Issues: engage

* When connected to Wi-Fi, the screen of e285p payment terminal keeps turning on and off.

### Known Issues: general

* Interac transactions are declined when certain fields in the request are sent without a value.
* In Canada and the US, certain Visa payment cards are rejected because they are identified as SVS gift cards.
* For Interac and EFTPOS payments, the account type is in some cases automatically set to credit and the account type selection screen does not show. The account type selection screen also doesn’t show in cases in which the payment terminal cannot detect the payment card brands Interac and EFTPOS.

## 2022-11-18 — Terminal software — Version 1.83

*\<p>To update UX300 and UX410 payment terminals to this version, contact our Support Team. If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: tapi

* For [Mifare DESFire](/point-of-sale/nfc-tags?tab=mifare_des_fire_write_2#write-nfc) cards, you can now use our Android payment terminals to send read or write requests.

### Improved: tapi

* We now support sending the secondary security code (SSC) data in the [activation](/point-of-sale/gift-cards-terminal-api/activate) and [load](/point-of-sale/gift-cards-terminal-api/load-a-balance) requests for Stored Value Solutions (SVS) gift cards.

### Fixed: tapi

* We fixed the format of the timestamps sent in the Terminal API notifications.

### New: opi

* To prevent declined card-not-present transactions, like MOTO, the payment request now includes the network transaction reference and the reason for the payment.

### New: android\_terminals

* On an **S1E Barcode** payment terminal, you can now [activate the barcode-scanning camera](/point-of-sale/android-terminals/scan-barcode) by sending a Terminal API request.

### Known Issues: engage

* When connected to Wi-Fi, the screen of e285p payment terminal keeps turning on and off.

### Known Issues: general

* Interac transactions are declined when certain fields in the request are sent without a value.
* In Canada and the US, certain Visa payment cards are rejected because they are identified as SVS gift cards.
* For Interac and EFTPOS payments, the account type is in some cases automatically set to credit and the account type selection screen does not show. The account type selection screen also doesn’t show in cases in which the payment terminal cannot detect the payment card brands Interac and EFTPOS.

## 2022-10-28 — Terminal software — Version 1.82

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: tapi

* When sending read or write requests to [Mifare cards](/point-of-sale/nfc-tags), you can now create a session that spans multiple read/write requests to make them a single user interaction.

### New: android\_terminals

* You can now do a [diagnostics](/point-of-sale/pos-troubleshooting/hardware-tests) of the payment terminal's hardware components like the chip card reader, swipe reader, and NFC antenna.

### New: android\_terminals

* You can now send a request to Android payment terminals to specifically get the unique identifier (UID) of [Mifare cards](/point-of-sale/nfc-tags).

### Fixed: android\_terminals

* We extended the maximum character length of the **Device Slogan** on the terminal.

### Fixed: android\_terminals

* The **Device Slogan** variable now correctly shows the serial number of the terminal.

### Fixed: android\_terminals

* When tipping from a terminal, Swedish users no longer get multiple **No tip** buttons when entering low amounts.

### Fixed: android\_terminals

* Making a card acquisition request before a refund no longer fails when the payment terminals is offline.

### Known Issues: engage

* When connected to Wi-Fi, the screen of e285p payment terminal keeps turning on and off.

### Known Issues: general

* Interac transactions are declined when certain fields in the request are sent without a value.
* For Interac and EFTPOS payments, the account type is in some cases automatically set to credit and the account type selection screen does not show. The account type selection screen also doesn’t show in cases in which the payment terminal cannot detect the payment card brands Interac and EFTPOS.

## 2022-09-23 — Terminal software — Version 1.81

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: tapi

* When sending read or write requests to Mifare cards, the response now returns the unique identifier (UID) of the card even if the request fails.

### New: tapi

* You can now send a request to Mifare cards to specifically get the unique identifier (UID) of the card.

### Improved: tapi

* On payment terminals, the [virtual receipt](/point-of-sale/shopper-engagement/display-data/display-receipt) now automatically scrolls to the bottom of the receipt. You can then use the scroll to go back and view each item.

### New: android\_terminals

* Under **Transactions** > **Totals**, you can now view and print the last known Totals report even if you already reset the totals.

### New: android\_terminals

* On standalone payment terminals, we now support refunds for Mail Order/Telephone Order (MOTO) payments.

### New: android\_terminals

* When tipping on a terminal, shoppers now get a [warning](/point-of-sale/tipping/tipping-from-terminal#high-tip-warning-screen) if the tip is higher than the predefined percentage. They can then choose to continue or adjust the tip.

### Known Issues: engage

* When connected to Wi-Fi, the screen of e285p payment terminal keeps turning on and off.

### Fixed: tapi

* We fixed the issue where captures failed for payments made by scanning the barcode on SVS and ValueLink gift cards.

### Known Issues: general

* Interac transactions are declined when certain fields in the request are sent without a value.
* For Interac and EFTPOS payments, the account type is in some cases automatically set to credit and the account type selection screen does not show. The account type selection screen also doesn’t show in cases in which the payment terminal cannot detect the payment card brands Interac and EFTPOS.

## 2022-09-02 — Terminal software — Version 1.80

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: opi

* You can now initiate payments from your Oracle Retail Xstore POS app for the following QR code wallet apps: Affirm, Pix (Brazil only), Swish, Twint, and Zip.

### New: engage

* To prevent fraud when making refunds on standalone payment terminals, you can set up a 6 digit passcode to protect access to the **Refund** option in the special payments menu.

### New: engage

* On your terminal, you can run a [Local communications TLS test](/point-of-sale/pos-troubleshooting/connection-tests#local-communications-tls) to check the TLS version, cipher, and URL used in your local communications integration.

### New: android\_terminals

* On Android terminals, you can now [Run connection tests](/point-of-sale/menu-access) from **Settings** > **Diagnostics** menu.

### New: android\_terminals

* For Mifare Ultralight and Mifare Ultralight C cards, you can now use our payment terminals to do a single read or write action.

### New: android\_terminals

* You can now adjust the volume of your payment terminals. To enable this, contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other).

### New: android\_terminals

* In the **Device info** menu of your payment terminal, you can do a long-press to copy the values of the **Serial number** and **Merchant account** fields. You can then paste the values, for example, when setting up your POS app.

### New: android\_terminals

* If a terminal is malfunctioning, you can [send us a diagnostic report](/point-of-sale/pos-troubleshooting/hardware-tests#send-a-diagnostic-report) from the **Hardware diagnostics** menu. This includes logs from the terminal that help us improve our software.

### Fixed: android\_terminals

* On terminals that use the French language, in the **Totals** menu we now show the number of transactions for every transaction type.

### Fixed: android\_terminals

* On terminals that use the Swedish language, we fixed the issue where the currency symbol next to the amount showed incorrectly.

### Known Issues: tapi

* Captures fail for payments made by scanning the barcode on SVS and ValueLink gift cards. The payment is then automatically refunded after three days to the shopper's gift card.

## 2022-08-08 — Terminal software — Version 1.79

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### Fixed: tapi

* When making a Pay-at-table payment, payment terminals no longer get stuck in the middle of input requests.

### Fixed: opi

* When making a Pay-at-table payment, payment terminals no longer get stuck in the middle of input requests.

### New: engage

* If a terminal is malfunctioning, you can now [send us a diagnostic report](/point-of-sale/pos-troubleshooting/hardware-tests#send-a-diagnostic-report) from the **Hardware diagnostics** menu. This includes logs from the terminal that help us improve our software.

### New: engage

* Shoppers in the US can now select between debit or credit options when paying on a terminal.

### New: android\_terminals

* For Mifare Classic cards, you can now use our payment terminals to do a single read or write action.

### New: android\_terminals

* The **Settings** menu on Android terminals now shows installed certificates as well as installed apps.

### New: android\_terminals

* We now support the following features for standalone Android terminals:

  * Mail Order/Telephone Order (MOTO)
  * Manually enter payments (MKE)
  * Payment with cashback
  * Bypass PIN entry
  * Bypass AID PRIO

### New: android\_terminals

* You can now see the Wi-Fi MAC address of the Android terminal in the Customer Area, under **Settings** > **Connectivity** > **Wi-Fi**.

### Improved: android\_terminals

* The **Device Info** menu on Android terminals now shows the details of the network it is connected to, specific for the type of network, Wi-Fi or cellular.

### Improved: android\_terminals

* Android terminals can now support multiple CA certificates for Enterprise EAP-TLS and Enterprise EAP-PEAP [Wi-Fi profiles](/point-of-sale/design-your-integration/network-and-connectivity/wi-fi-profiles).

### Fixed: android\_terminals

* When the IP address of the terminal changes, it is now updated in the Customer Area.

### Fixed: android\_terminals

* You can now select the **Hidden SSID** flag to allow Android terminals to connect to networks with hidden SSID. You can enable it in the Customer Area under **Terminal settings** > **Connectivity** > **Wi-Fi profiles**, or using [Management API](/point-of-sale/automating-terminal-management/configure-terminals-api?tab=eap_peap_profile_1).

### Fixed: android\_terminals

* On Android terminals, on the **Transactions** > **Totals** screen, the referenced refunds no longer show zero for the total amount.

### Known Issues: engage

* This version is not compatible with the following payment terminals: UX300 and UX410.

### Known Issues: tapi

* Captures fail for payments made by scanning the barcode on SVS and ValueLink gift cards. The payment is then automatically refunded after three days to the shopper's gift card.

## 2022-07-11 — Terminal software — Version 1.78

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### Fixed: general

* WeChat Pay no longer shows as the payment method for transactions made with a Maestro card.

### Improved: general

* When tipping on a terminal, shoppers now get a [warning](/point-of-sale/tipping/tipping-from-terminal#high-tip-warning-screen) if the tip is higher that the predefined percentage. They can then choose to continue or adjust the tip.

### New: tapi

* Terminal API now supports sending secondary security code (SSC) data in the payment request for Stored Value Solutions (SVS) gift cards. Previously, customers had to enter the security code on the terminal.

### New: tapi

* You can now send a `GetRating` input request to show the [rating](/point-of-sale/shopper-engagement/shopper-input/rating) screen asking the customer to select a value between 0 and 9 without needing to confirm the choice.

### Known Issues: android\_terminals

* This version is not compatible with Android payment terminals.

### Known Issues: tapi

* Captures fail for payments made by scanning the barcode on SVS and ValueLink gift cards. The payment is then automatically refunded after three days to the shopper's gift card.

## 2022-06-07 — Terminal software — Version 1.76

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* We now support the printing of receipts in a layout specific to the Japanese market.

### New: general

* You can now let Japanese shoppers choose on a terminal whether to pay the whole amount or split it into [installments](/point-of-sale/installments/japan-installments).

### Fixed: tapi

* When making the `CardAcquisition` request, the response no longer includes the warning that the `SaleToPOIData` field is not supported.

### Fixed: opi

* When making a Pay-at-table payment with the **Pay in cash** option disabled, the payment terminal no longer gets stuck in the payment menu if you cancel the transaction.

### New: android\_terminals

* You can now send the following display requests on Android terminals:

  * [Show an image on the terminal](/point-of-sale/shopper-engagement/display-data/display-image)
  * [Show a QR code on the terminal](/point-of-sale/shopper-engagement/display-data/display-qr-code)

### New: android\_terminals

* You can now present shoppers with an option to [donate to a charity](/point-of-sale/donate) after they pay on a terminal.

### Improved: android\_terminals

* In the Customer Area, you can now add variables in the **Device slogan** field to automatically show the terminal serial number, store ID, or IP address on the screen of the terminal.

### Fixed: android\_terminals

* When [printing on a terminal](/point-of-sale/shopper-engagement/print-data#print-images), we fixed the scaling issue for images that are wider than 384 pixels.

### Fixed: android\_terminals

* We fixed the issue where the language on the terminal failed to change to Norwegian after being selected in the Customer Area.

## 2022-04-13 — Terminal software — Version 1.75

*\<p>This version is not compatible with the following payment terminals: UX300, UX410, and e285. If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### Improved: general

* For gift cards that require a signature, you can now ask for a signature either on the terminal screen or on the receipt.

### Improved: general

* [Manual Key Entry](/point-of-sale/enter-payment-manually) now supports entering card numbers of up to 24 digits, instead of 20.

### Fixed: general

* For declined meal voucher transactions, we now print the remaining balance on the receipt, even if the balance is 0.

### Fixed: general

* When transaction conditions in the payment request limit the accepted payment methods to card schemes, the icon to select a QR code payment method no longer shows for that transaction.

### Improved: tapi

* You can now show a [waiting screen](/point-of-sale/shopper-engagement/create-session) on the terminal after display requests and payment requests. Previously, you could only show the waiting screen after input requests.

### Improved: tapi

* Sending a [full referenced refund](/point-of-sale/basic-tapi-integration/refund-payment/referenced#referenced-request) request more than once now results in an error message that the transaction has already been reversed.

### Fixed: tapi

* We fixed an issue where terminals showed a black screen after an input request.

### New: opi

* The PSP reference we return for your requests now includes letters as well as numbers.

### Improved: opi

* For Oracle Simphony, we now pass the card alias to identify cards used in pre-authorizations and sale purchases. This enables issuing multiple checks/orders for the same table.

### New: engage

* For cloud integrations, we now have a mechanism where the terminal retries sending Terminal API requests and Terminal API event and display notifications after losing the WebSocket connection.

### New: android\_terminals

* You can now send the following input requests on Android terminals:

  * [Multiple choice—multiple answers](/point-of-sale/shopper-engagement/shopper-input/multi-menu): lets you ask the shopper a question and allow them to select more than one answer.
  * [Phone number](/point-of-sale/shopper-engagement/shopper-input/phone-number): lets you ask the shopper to enter their phone number.
  * [Rating](/point-of-sale/shopper-engagement/shopper-input/rating): lets you ask the shopper or your staff to enter a numerical value from 0 to 10.

### Improved: android\_terminals

* We can now configure your Android terminals to hide decimal numbers for currencies that do not use minor units, or if it is customary to show round numbers.

## 2022-02-28 — Terminal software — Version 1.74

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* New payment method: **Atome**. For this [QR code wallet](/point-of-sale/what-we-support/payment-methods#qr-code-wallets) we support the merchant-presented payment flows (initiated from the terminal, or from the POS system).

### Improved: general

* On the merchant receipt, you can now print the name of the cardholder. This lets you minimize the risk of fraud by verifying that it matches the name of the shopper. To enable this, contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other).\r\n- We improved the overall payment processing time by optimizing the generation of the receipt data.

### Fixed: tapi

* On the **M400** terminal, we fixed the misalignment of the Admin menu icons.\r\n- Terminals no longer crash if you send an empty `DisplayOutput` field in a display request. You now get an error message with a description of the issue.

### New: android\_terminals

* You can now use an `InputRequest` to ask the shopper or your staff to [enter text](/point-of-sale/shopper-engagement/shopper-input/text#text-input-request), like an email address of the shopper.

### Improved: android\_terminals

* With QR code payments, we now show the logo of the used payment method below the QR code.\r\n- In the [`GetDigit` input request](/point-of-sale/shopper-engagement/shopper-input/digit), you can now leave the `DefaultInputString` field empty.\r\n- On the **S1E**, the navigation bar layout has been changed to be the same as on **S1F2**.

### Fixed: android\_terminals

* The **Device info** QR code now includes the MAC address of the terminal.

## 2022-01-28 — Terminal software — Version 1.73

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### Improved: general

* With [Manual Key Entry](/point-of-sale/enter-payment-manually) transactions, we ensured that the amount is shown from the start throughout the flow. Also, when entering the card number, 16 digits will fit the screen.

* [Standard webhooks](/development-resources/webhooks) now include the following fields for point-of-sale payments:

  * `RecurringDetailReference`
  * `PaymentAccountReference`
  * `tokenTxVariant`

### Improved: tapi

* For [Pay at Table](/point-of-sale/pay-at-x), we improved the employee authentication flow:

  * If employees usually authenticate by swiping their employee card but do not have their card available, they can select the **Cancel** key **![](/images/5/8/8/4/9/58849deb729ef765fb92c34a2b367b9ae58a5598-cancel2x.png)** to switch to entering their reference number. To switch back to swiping, they need to select the **Cancel** key again.
  * Employee numbers starting with one or more zeros are supported.

### Improved: opi

* For Pay at Table, when an itemized receipt is configured but no data is sent, the terminal will show "No data" and the total payment amount instead of a zero amount.

### Improved: engage

* The cloud icon on the display, which represents the WebSocket connection, is now more reliable. Previously the icon sometimes continued to show when there was no WebSocket connection anymore.

### Fixed: engage

* Pressing and holding the **Cancel** key **![](/images/5/8/8/4/9/58849deb729ef765fb92c34a2b367b9ae58a5598-cancel2x.png)** works as expected again: Battery-powered terminals turn off, and tethered terminals remain turned on.

* Surcharge didn't work for contactless transactions when [single tap](/point-of-sale/surcharge#configure-surcharges) was configured.

### New: android\_terminals

* You can now use the terminal to get input from the shopper:

  * Ask for [numeric input](/point-of-sale/shopper-engagement/shopper-input/digit)
  * Ask to [select a single answer from a list](/point-of-sale/shopper-engagement/shopper-input/menu)
  * Ask for [confirmation](/point-of-sale/shopper-engagement/shopper-input/confirmation)

## 2022-01-04 — Terminal software — Version 1.72

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### Improved: general

* The support for [cashback](/point-of-sale/cashback-and-cash-out) is extended to Mastercard and Visa transactions.

### New: tapi

* You can now make an `AdminRequest` to [create a session](/point-of-sale/shopper-engagement/create-session) that spans multiple requests. The first implementation that we support, is to show a "waiting" screen on the terminal between requests. You can use this waiting screen in flows like Pay at Table to make it clear that the POS system is not unresponsive, it is just busy doing something that takes a bit of time.

### Changed: tapi

* The tender options to override settings configured for [NFC wallet passes](/point-of-sale/loyalty/wallet-passes) should now be passed in `SaleToPOIData` instead of `SaleToAcquirerData`. The reason for this change is that the acquirer doesn't need to be aware of this type of tender options. The following tender options are affected:

  * `VASModeVASAndPayment`
  * `VASModeVASOrPayment`
  * `VASModeVASOnly`
  * `VASModePaymentOnly`

  Other tender options still need to be passed in `SaleToAcquirerData`.

### Improved: opi

* We now interpret `TransType 08` as a **Reopen Closed Check** operation. This means the capture is reversed, and the authorization is kept open so that you can capture a new amount against that authorization.

### Improved: engage

* The terminal keeps a list of devices that it connected to through Bluetooth pairing. When the list is full, the terminal won't connect when you try to pair it to a new device. When this happens we now show a message to explain the situation, and a hint to remove one of the other devices from the list.

### New: android\_terminals

* We now support [card acquisition](/point-of-sale/card-acquisition) on Android terminals.

### Fixed: android\_terminals

* The terminal sometimes showed a prompt to select a launcher app.

### Fixed: engage

* Fixed various rare issues with cellular connectivity.

* Terminals on software version 1.70.6 became unresponsive after a donation and continued to show the *Donated* screen.

* Reassigning a terminal to a different store caused the terminal to go into service mode.

* Bluetooth turned off automatically when a paired device was unpaired.

## 2021-12-03 — Terminal software — Version 1.71

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: opi

* Added an input request that lets you ask the shopper to provide their signature on the terminal. This is [similar to the Terminal API GetSignature input request](/point-of-sale/shopper-engagement/shopper-input/signature).

* Added an input request that lets you ask the shopper to provide numeric input on the terminal. This is [similar to the Terminal API GetDigit input request](/point-of-sale/shopper-engagement/shopper-input/digit).

### New: engage

* This release includes a patch for a vulnerability in the Verifone NFC driver on UX payment terminals.

* You can now set a beep volume specifically for when the shopper leaves their card in the payment terminal, for example in a self-service kiosk.

* It is now possible to set the Wi-Fi frequency band that the terminal uses. Possible values are **2.4 GHz**, **5.0 GHz**, and **Automatic**. This enables you to resolve a situation where a network is not listed because the terminal is on a different frequency band. Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to enable this for you.

### Improved: engage

* The process for manually updating the base station is now smoother.\
  When you update the terminal software and then place the terminal on the base station, the terminal prompts you to update the base station. The next time you place the terminal in the base station, the terminal will know you have updated the base station, and will no longer prompt again for an update.

* Renewal of the terminal certificate is now faster.\
  When a terminal asks our backend for a new signed certificate, we temporarily reduce the [maintenance interval](/point-of-sale/managing-terminals/maintain-performance) to ensure the terminal receives the new certificate almost as soon as it is ready. The terminal will then reboot immediately, to load the new certificate.

### Fixed: engage

* We made some changes in the [power management](/point-of-sale/managing-terminals/battery-management), to prevent intermittent blinking of the terminal.

* We fixed an issue where the Wi-Fi driver sometimes crashed and caused 'failed to go online' errors.

### New: android\_terminals

* Added support for printing a logo on the receipt. You can upload the logo in your [Customer Area](https://ca-test.adyen.com/) > **In-person payments** > **Terminal settings** > **Receipts**.

### Improved: android\_terminals

* The **Totals** report that is available on the terminal now includes the terminal serial number.

* We restyled the button to start a refund in a standalone solution. For three seconds, *Refund* will show next to the icon.\
  ![](/images/6/5/b/6/1/65b613dcf037f35cd4c2b63a0934abcd1295def3-screen-enbtn-android-refund.png)

### Fixed: android\_terminals

* The magstripe reader failed to read Givex gift cards.

* After trying a contactless transaction, shoppers often had to fall back to a contact transaction.

### Known Issues: android\_terminals

* The terminal sometimes shows a prompt to select a launcher app. This will be solved in the next release. In the meantime, when this prompt appears: Select **Adyen** and confirm with **Always**.

### Improved: tapi

* Partial referenced refunds are now added to the referenced refunds total in the Totals report.

### Update: general

* The QR code payment screen is now consistent across terminal models.

* When the magnetic stripe reader is used, **eftpos** now requires authentication with the PIN. Other payment methods may follow suit. For this reason, we introduced a setting that triggers the terminal to ask for the PIN when a card is swiped. Ask our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to configure this for you.

## 2021-11-05 — Terminal software — Version 1.70

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: tapi

* The new [GetAmount input request](/point-of-sale/shopper-engagement/shopper-input/amount) lets the shopper enter an amount with decimals. The terminal shows the currency and a placeholder amount.

### Fixed: tapi

* For the [multiple choice—multiple answers input request](/point-of-sale/shopper-engagement/shopper-input/multi-menu) the `MinLength` and `MaxLength` parameters are now enforced. These let you manage the number of options the shopper can select.

### New: general

* You can now create recurring details for a shopper while offline, through Store and Forward. You'd use this for [loyalty use cases](/point-of-sale/loyalty) or later [recurring payments](/point-of-sale/recurring-payments). A requirement is that Store and Forward is enabled for payments that normally require a PIN as CVM.

### Improved: general

* The terminal now shows the new logo for the QR code wallet Affirm.

* If you are using [surcharge](/point-of-sale/surcharge#how-it-works) it is now possible to skip the screen that asks the shopper to agree with the surcharge.

### Fixed: general

* Printed receipts didn't include details specific for Oney payments.

### Improved: tapi

* The gift card number is now shown in `PaymentInstrumentData.CardData.SensitiveCardData.PAN`. For existing integrations, we continue to show the gift card number in `StoredValueAccountID.StoredValueID` as well.

* You can now [configure Pay at table](/point-of-sale/pay-at-x#enable-sale-wake-up) so that your staff can authenticate by swiping their employee card.

### New: android\_terminals

* You can now use [airplane mode](/point-of-sale/menu-access#airplane-mode) to quickly turn all network connections off and on. When enabled, this option is included in the **Settings** > **Network** menu.

* We added support for [tipping by asking for a total amount](/point-of-sale/tipping/tipping-from-terminal#indirect-tipping).

### Improved: android\_terminals

* The [diagnosis](/point-of-sale/diagnostics/request-diagnosis) response for an S1F2 payment terminal now includes the `PrinterStatus`.

### Fixed: android\_terminals

* Fixed an issue where authorization rates showed a drop between midnight and 2:00 AM.

## 2021-10-07 — Terminal software — Version 1.69

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: tapi

* By adding some fields, you can use the [GetMenuEntry input request](/point-of-sale/shopper-engagement/shopper-input/multi-menu) to let the shopper select multiple options from a menu, instead of only one option.

### New: engage

* We support V400m terminals with a German keypad. German keypads have a different letter mapping. For example, to get the letter *Q* you'd press the **7** key three times. On a standard keypad, you'd press the **1** key two times.

* Because some certificates were about to expire, we have updated the Mozilla Certificate Authority tree used to authenticate incoming TLS requests.

### Improved: engage

* For cloud integrations, we have improved the mechanism used by the terminal to reconnect if it loses the WebSocket connection.

* V400m Bluetooth base stations now reboot every night and after every software update. This improves operational stability.

### Fixed: engage

* UX410 terminals sometimes got stuck when a card acquisition request was made.

* When an in-progress transaction was interrupted, this sometimes caused a boot loop.

* We now show the correct message after a Bluetooth PAN or tethering connection is established, and correctly show the Bluetooth status of the terminal after unpairing a Bluetooth device.

### Improved: android\_terminals

* A [printed Totals report](/point-of-sale/user-manuals/s1f2-user-manual#print-totals) now includes the *From* and *To* dates of the reporting period.

### Fixed: android\_terminals

* When using a white background image, the names of the Adyen menus on the home screen were not clearly visible.

### New: general

* To prevent unnecessary declined payments, we brought the ecommerce concept of the [penalty box](/point-of-sale/error-scenarios/penalty-box) to point of sale.\
  When a payment network connection is unavailable, we put the payment method in our platform's penalty box. Ecommerce payments are then routed through other connections until the problem is resolved. Previously, the payment terminal was unaware of the penalty box and would try using the unavailable payment method regardless. Now, we inform the terminal. It will then try offline processing, or with co-badged cards the terminal will route the payment to another payment method. For example, the terminal skips a local payment method that is temporarily unavailable and uses a global card scheme instead.

* For Synchrony private label credit cards and co-badged credit cards, we support account number lookup and card signup.

### Improved: general

* We improved the design for tipping screens, to standardize the screens across terminal models and flows. There is no functional change.

* We now provide better feedback in the payment response when an unsupported gift card is presented for a payment.

### Fixed: general

* The card acquisition response for a contactless Interac card returned the card type incorrectly.

* We fixed an issue where the payment response didn't contain the masked PAN and the BIN for cards with a short PAN (less than 15 digits).

### Improved: opi

* We broadened the scope of the [release testing](/point-of-sale/release-updating/#release-testing) for OPI integrations.

## 2021-10-05 — Terminal software — Version 1.68

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: android\_terminals

* Android terminals support WebView version 91.0.4472.88.

* You can customize after how many minutes of inactivity the terminal goes to sleep mode. Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to configure this for you.

### Improved: android\_terminals

* We updated **Settings** > **Config** and **Settings** > **Device info** > **Software**:

  * When you select these options, the terminal immediately checks for available updates and shows the actions you can take.
  * The terminal also shows suggestions about what you can do when an action didn't succeed.
  * When you remove the configuration, you'll first see a warning and afterwards you can board the terminal again.

## 2021-09-03 — Terminal software — Version 1.67

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* New feature: [Surcharge](/point-of-sale/surcharge). The terminal will add a percentage or fixed amount (or both) to the transaction amount and show a screen for the shopper to accept or decline. Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to configure this for you.

* We support some additional Nets gift cards.

### Fixed: tapi

* After logging in with a `TotalsGroupID`, a `GetTotals` request with that same `TotalsGroupID` didn't return the totals for the session with that totals group ID.

* After a transaction failed because the payment method wasn't supported, the terminal didn't accept a new payment request.

* When swiping a gift card after a card acquisition request, the `giftcardTrack1` and `giftcardTrack2` parameters were missing from the additional response.

### Improved: opi

* For gift card transactions we now return the unmasked PAN of the gift card, provided your account is set up to add this to the response.

### Improved: engage

* We improved the French text on some screens.

* We improved the screen that lets the shopper provide their signature on the display, and the screen that lets you check if the signatures match.

* The [donations](/point-of-sale/donate) flow now shows two new screens:

  * *Donated* after completing the donation payment (instead of *Approved*).
  * *Take your card* (instead of *Thank you, take your card*) if the shopper declines to donate and they dipped their card.

### Fixed: engage

* When a remote Wi-Fi profile was added while the terminal was connected to a local Wi-Fi network, the connection status in the **Network** > **Wi-Fi** menu wasn't always clear.\
  We now make sure the connected network is listed first and has a green dot next to the signal strength icon ![](/point-of-sale/sneak-preview/icon_connected.png).\
  If other networks listed under **Saved networks** are in range, they are shown with a signal strength icon .

* We fixed some UI bugs on M400 and e280 terminals. For example, the wrong background color for a screen or an icon, or a white line showing at the bottom of a screen.

### New: android\_terminals

* You can now show a **device slogan** on the terminal display. For example, to visually identify the terminal. You can specify the text in your Customer Area on the **Settings** page for the specific terminal, under **Customization**.

### Improved: android\_terminals

* We improved the **Settings** > **Apps** menu. When you open this menu, the terminal checks for and downloads any updates to your apps. You can then close the menu; you do not have to wait for the download to finish.

* You can now print a shopper or merchant receipt from the **Transactions** menu by selecting the transaction and then the document icon.

### Fixed: android\_terminals

* We fixed a bug in the support of remote Wi-Fi profiles.

### New: tapi

* With the new [GetRating input request](/point-of-sale/shopper-engagement/shopper-input/rating) you can use the payment terminal to conduct NPS surveys.

### Fixed: opi

* Referenced refunds were correctly processed on our platform, but the `RRN` field in the response contained too many characters, causing the POS system to treat the transaction as failed.

## 2021-07-26 — Terminal software — Version 1.66

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### Improved: general

* The **Totals** report on the terminal no longer shows **Giving** donations mixed with regular payments.

* When you use [direct tipping after card entry](/point-of-sale/tipping/tipping-from-terminal#tipping-options-after), our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) can now enable **single tap**. This ensures that for a contactless payment shoppers do not need to tap their card again after specifying a tip.

### Fixed: general

* In some scenarios issues occurred when the terminal tried to reconnect to WebSockets.

### New: tapi

* You can send temporary shopping pass data in a payment request. For this you can use the `CardData` object in `PaymentRequest.PaymentData.PaymentInstrumentData`.

* When using terminals with [P2PE encryption](/development-resources/e2ee-p2pe-comparison) a diagnosis request returns the version number of the software, the vault, the SRED, the AppManager, and the Open Protocol used on the terminal.

### Improved: tapi

* Making a display request to [show a QR code on the terminal](/point-of-sale/shopper-engagement/display-data/display-qr-code) is now supported on all Engage terminals.

### Fixed: tapi

* Fixed an issue that approved an unreferenced refund to a QR code wallet in the merchant-presented flows.

### New: engage

* In the [tax-free shopping](/point-of-sale/shopper-recognition/tax-free-shopping) flow we automatically send an input request to the terminal asking the shopper for their consent to share card details with the TFS provider. If the shopper declines, we automatically update the **taxfree.indicator** flag in the subsequent payment request to >**false**.

### Improved: engage

* We improved the performance of cellular communications for some specific scenarios.

### New: android\_terminals

* You can change the screen brightness on the terminal.

* In **Adyen** > **Totals**, you can reset the totals report. On the **S1F2** you can also print the totals report.

* On the **S1F2** you can select a transaction under **Adyen** > **Transactions** and then print the shopper and merchant receipts.

### Improved: android\_terminals

* When boarding a terminal, users can now search for their store.

### Fixed: opi

* DCC receipts were non-compliant because our company name appeared as *Adyen* instead of *Adyen N.V.*

* We returned the issuer country/region as a code of three digits instead three letters.

### Fixed: engage

* **e280**: After switching to sleep mode, the terminal didn't wake up when the user pressed the power button.

* **e280**: Volume settings reverted to the maximum after switching the terminal off and on again.

* **e285**: With automatic network selection for cellular connectivity, the terminal tries to use the strongest connection that the terminal model supports. On e285 terminals this is 3G, but is was shown on the terminal display as 4G.

* When a static IP address was configured, DHCP remained shown as enabled on the **Device info** screen.

## 2021-07-06 — Terminal software — Version 1.65

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* New payment method: **VR**. This is a Brazilian prepaid card (meal voucher).

* To better support Store-and-Forward transactions, we significantly improved the recognition of credit, debit, and prepaid cards.

### Fixed: general

* When you use the `DebitPreferredFlag` in your payment request and the shopper presents a pure credit card (so not a debit card or a combo card with both debit and credit functionality), the terminal didn't ask the shopper to present their card again.

* For meal voucher transactions the receipt didn't provide the remaining balance when the balance had dropped to zero.

* We fixed an issue where Store and Forward didn't work for contactless transactions.

### Improved: tapi

* You can now include the unique terminal ID (TID) in the QR code that can be printed on the receipt. Ask your Adyen contact to configure this for you.

* For gift cards, we re-introduced the possibility to ask for a PIN when the gift card number is entered. Your Adyen contact can enable this for you.

* As documented, you cannot use the Pay at Table flow with split payments on terminals that do not have a printer, like the M400 or e285. If you nevertheless send a payment request with the `SplitPaymentFlag` to such a terminal, you will get an error message that is more informative than previously.

### Fixed: tapi

* When specifying the gift card provider in the `StoredValueProvider` field, the terminal still prompted for brand selection in some cases.

* On M400 terminals, the additional text below the header for a [GetConfirmation input request](/point-of-sale/shopper-engagement/shopper-input/confirmation) was left-aligned instead of centered.

* If you send a Terminal API request to a terminal that is processing a payment in standalone mode or in a classic library integration, there was no response. Now we return an error.

### Known Issues: tapi

* The XML to show a virtual receipt on the terminal doesn't have an element to add a *Total discounts* line.

### Update: opi

* To support shopper recognition flows and loyalty flows with passes for NFC wallets (like Apple VAS and Google Smart Tap), we have collaborated with Oracle to extend the OPI specifications:

  * `CardholderEmail` added to the Sales Purchase request.

  * `MerchantId`, `TerminalId`, `CustomerId` and `CardAlias` added to the Card Acquisition response.

  * `LoyaltyBrands` container added to the Sales Purchase and Card Acquisition requests.

  * `LoyaltyId` and `LoyaltyBrand` fields added to the Sales Purchase, Sales Completion, Transaction Inquiry, and Card Acquisition responses.

* We implemented the Get Customer Verification request. This lets you show a question on the terminal outside of a payment transaction, and get a Yes/No response from the shopper.

### New: engage

* [Power management](/point-of-sale/managing-terminals/battery-management) is enabled by default on all battery powered terminals, also when using cloud communications. This means the terminal will switch to sleep mode when it is not being used.

* The [diagnostic hardware tests](/point-of-sale/pos-troubleshooting/hardware-tests) includes an **NFC antenna** test.

### Improved: engage

* When cellular communications is disabled, we no longer hide the cellular menu option (**Admin** menu > **Network** > **Cellular**). That means you can enable cellular communications on the terminal when we remotely activate the terminal's SIM card.

* We made sure that in Wi-Fi networks with PEAP or TLS authentication, the terminal will not try to use a certificate that has expired or that is not valid yet.

* We redesigned the screen that appears when you have enabled **Prompt before printing** for receipts printed on the terminal.\
  ![](/user/pages/docs/03.point-of-sale/63.firmware-release-notes/2021-07-01-1wglv/print-prompt-approved.svg?decoding=auto\&fetchpriority=auto) ![](/user/pages/docs/03.point-of-sale/63.firmware-release-notes/2021-07-01-1wglv/print-prompt-declined.svg?decoding=auto\&fetchpriority=auto)

### Fixed: engage

* We fixed an issue where the "Authorizing" animation was shown twice after a transaction.

### New: android\_terminals

* The home screen shows network connectivity and battery charge notifications, alerting the user to take action. For example, *Welcome - Set up network* when there is no network configured on the terminal, or *Low battery*.

### Improved: android\_terminals

* Previously, nothing happened when you tried to do a card acquisition, because this request type is not supported yet. Now we return an error response.

### Fixed: android\_terminals

* In the boarding wizard, special characters were not rendered correctly.

* We fixed a UI issue that blocked returning to the payment screen after selecting **Wallets**.

* We fixed a bug that caused MKE transactions to stop in mid-process.

## 2021-06-02 — Terminal software — Version 1.64

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* We implemented a new mechanism to renew terminal certificates. From V1.64, terminal certificates are renewed automatically six months before expiry.

* The [Endpoints connection test](/point-of-sale/pos-troubleshooting/connection-tests) now includes testing the connection to the region-specific *managed engagement* endpoints (when enabled).\
  Managed engagement is a service that lets you use predefined shopper engagement campaigns and download the results from your Customer Area.

* We now support [cashback](/point-of-sale/cashback-and-cash-out) for girocard.

* We extended our donations feature [Adyen Giving](/point-of-sale/donate) to **e285** payment terminals.

### Improved: general

* We improved the stability of cloud communications, reducing the occurrence of disconnects due to a time-out.

* We removed an unnecessary delay in sending the response to the POS system in cases where the payment is declined due to an expired card or not enough balance.

* We improved the handling of some specific contactless cards that tended to fall back to inserting or swiping because the cards were configured differently compared to what's usually seen in contactless cards.

* We prepared for new Brazilian debit AIDs, to ensure the terminal will correctly recognize a card with such an AID as a debit card.

* On the receipts and terminal screens for referenced refunds, we renamed *Void* to *Refund*.

### Fixed: general

* We fixed an issue that could potentially lead to a boot loop.

* We switched to an alternative Russian translation of approved because the previous translation was too long for the screen.

* After removing an uploaded receipt logo from the Customer Area, the terminal continued to print the logo on receipts.

* Approved transactions were shown as cancelled in the **Admin menu** > **Transactions** list on the terminal.

### New: tapi

* Using the new [**GetPhoneNumber** input request](/point-of-sale/shopper-engagement/shopper-input/phone-number) you can collect your shopper's phone number on the payment terminal.

* With [NFC wallet passes](/point-of-sale/loyalty/wallet-passes) you can now:

  * Use tender options in your payment request to override the configured flow.
  * Add `LoyaltyData` to your payment request to show a notification on the shopper's device that allows them to easily add your NFC wallet pass to their digital wallet.

### Improved: tapi

* You can now use `PaymentType` **Refund** in a card acquisition request to [get the card details before making an unreferenced refund](/point-of-sale/shopper-recognition/before-refund). You can use this, for example, to verify whether the shopper is using the same card for the refund as for the initial payment.

* We made some improvements for scenarios where the shopper uses a contactless card or an NFC wallet and the amount changes after the shopper has tapped their card or smart device. This can happen with [card acquisition followed by a payment](/point-of-sale/card-acquisition#continue-with-payment), or [tipping after card entry](/point-of-sale/tipping/tipping-from-terminal#tipping-options-after). The improvements are:

  * We optimized the logic for deciding whether the shopper needs to tap their card or smart device a second time.

  * The terminal shows an explanation when a second tap is necessary.

    ![](/images/9/8/5/f/a/985fa23a043acd7a3ed721528a23054a68ece70e-screen-en2nd-tap.png)

* When you make a [**GetMenu** input request](/point-of-sale/shopper-engagement/shopper-input/menu), the menu buttons can have an extra line of text.

### Fixed: tapi

* When you make a **GetDigit** input request, all terminal models now support a header text that spans two lines.

* In the response for gift card balance inquiries, we made sure the `StoredValueID` response parameter value is consistent across entry methods (**Scanned**, **MagStripe**, and **MKE**).

* When the card is removed from the terminal during authorization, the terminal will now return the `ErrorCondition` **Cancel** instead of **UnavailableService**.

* We fixed an issue where the terminal was waiting for the card to be removed before sending a transaction status response.

* When a transaction status request is sent very soon after the payment request, the terminal reported a tender state of INTERNAL STATE.

* A [QR code display request](/point-of-sale/shopper-engagement/display-data/display-qr-code) with a header but no footer will no longer cause the terminal to reboot.

* Pressing the **Cancel** key **![](/images/5/8/8/4/9/58849deb729ef765fb92c34a2b367b9ae58a5598-cancel2x.png)** didn't work when the terminal was showing the screen for a **GetMenu** input request.

### Known Issues: tapi

* The XML to show a virtual receipt on the terminal doesn't have an element to add a *Total discounts* line.

### Fixed: opi

* The terminal didn't print the sales completion receipt (`transType 07`).

* We fixed a timing issue that caused sales completion requests (`transType 07`) to fail with response code `06 Error`.

* We now return the three-letter country code in card acquisition and payment responses. Previously only card acquisition returned a country code, and this was in three-digit numeric format.

* We now return the `AlternateTransRef`, which we use to pass the PSP reference, in `transType 06` (Incremental Auth) and `transType 05` (Sale Completion).

### New: engage

* We redesigned the UI to [set up and view cellular connectivity](/point-of-sale/design-your-integration/network-and-connectivity/cellular-failover#set-up-cellular-connectivity-on-the-terminal) (**Admin menu** > **Network** > **Cellular**).

* To help troubleshoot network connection issues, the [Endpoints connection test](/point-of-sale/pos-troubleshooting/connection-tests) now reports the [Maximum Transmission Unit (MTU) value](/point-of-sale/design-your-integration/network-and-connectivity/networking-issues#avoid-mtu-issues) that the terminal is using. Also, the MTU is reported to our back-end systems regularly.

### Improved: engage

* For V400m terminals with a Bluetooth base, we improved the error message that appears when the [Ethernet cable is not connected](/point-of-sale/design-your-integration/network-and-connectivity/bt-base-station#ethernet-port) to the base.

### Improved: android\_terminals

* We redesigned the loader animation that appears, for example, when starting up the terminal, waiting for payment authorization, or updating settings.

* App management: We re-styled how our apps and your own apps are presented on the home screen.

### Fixed: android\_terminals

* We fixed some issues with the tipping screen, like correctly showing the percentage sign (**%**).

## 2021-03-29 — Terminal software — Version 1.62

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* New payment method: **TWINT**. For this Swiss [QR code wallet](/point-of-sale/what-we-support/payment-methods#qr-code-wallets) we support the merchant-presented payment flows (initiated from the terminal, or from the POS system).

### Improved: general

* We improved the magnetic stripe parsing for cases when an American Express card or a Synchrony store card is swiped.

### Fixed: general

* We improved the processing logic for contactless cards, to prevent specific cases where the terminal occasionally refused a contactless transaction.

### New: tapi

* Support for [showing a virtual receipt](/point-of-sale/shopper-engagement/display-data/display-receipt) is extended to **e280** terminals.

* For local Terminal API integrations, it is now possible to set up **HTTPS** endpoints for display and event notifications (in your [Customer Area](https://ca-test.adyen.com/), under **In-person payments** > **Terminal settings** > **Integrations** > **Event URLs** and **Display URLs**).

### Fixed: tapi

* On e280 terminals, a **GetMenu** input request shows the header lines as expected again.

* When making a display request for a virtual receipt using `virtual_receipt01.xslt` or `virtual_receipt02.xslt` the tax items didn't show correctly.

* When making a request to [idle the display using the XHTML method](/point-of-sale/shopper-engagement/display-data/idle-display?tab=limited_output_xhtml_2) the display returned to the standby screen as expected, but the response to the request was **Failure** instead of **Success**.

* In a specific case, the `additionalData` incorrectly returned the card type as `eftpos_australia`.

### Known Issues: tapi

* The XML to show a virtual receipt on the terminal doesn't have an element to add a *Total discounts* line.

### New: opi

* OPI supports refunds to a tokenized card.

### Improved: opi

* For pre-authorization, the **Transactions** menu on terminals with a built-in printer now has the receipts for both the pre-authorization and the sales completion (provided the same terminal is used).

### Fixed: engage

* When voiding a refund or canceling an unreferenced refund (`transType 39`), we now return the response code `40 Function Not Supported`.

### New: engage

* [Hardware diagnostics](/point-of-sale/pos-troubleshooting/hardware-tests) from the terminal is now possible on all Engage terminal models.

* During the [keypad hardware test](/point-of-sale/pos-troubleshooting/hardware-tests), the beep volume of the keys is set to a standard level. After the test, the terminal will go back to using the volume you configured.

### Improved: engage

* On battery-powered terminals, we have extended the battery life significantly by changing the sleep mode. This applies to local communications only. (With cloud communications the connection needs to be kept open all the time, so sleep mode cannot be used.)

* We implemented an [XSD validation](/point-of-sale/shopper-engagement/display-data/display-receipt#validation) feature for use with display requests that show a virtual receipt. When you submit XML that doesn't match the XML Schema Definition for a virtual receipt, you will receive an error message *XSD validation failed*. The details are in the terminal log. Ask our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to enable this feature for you.

* For [QR code display requests](/point-of-sale/shopper-engagement/display-data/display-qr-code) and [image display requests](/point-of-sale/shopper-engagement/display-data/display-image), you can now use `MinimumDisplayTime` to set a time-out. We no longer apply a default time-out.

### Fixed: engage

* On an e280 terminal that's not used as a standalone terminal, selecting the **Payments** menu caused the terminal to become unresponsive until the menu timed out. Now, the terminal returns to the start screen immediately.

## 2021-02-23 — Terminal software — Version 1.61

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* New payment method: **PIX**. For this Brazilian [QR code wallet](/point-of-sale/what-we-support/payment-methods#qr-code-wallets) we support the merchant-presented payment flows (initiated from the terminal, or from the POS app).

### Improved: general

* We improved the handling of co-badged girocard/Visa cards.

### New: tapi

* When the PAN of a card acquisition doesn't match the PAN of the subsequent payment, we will process the transaction using the PAN for the payment. Previously, we declined such transactions.\
  This is particularly relevant for **Apple Pay**: Every Apple Pay transaction has a different PAN (Apple Pay token). When the payment amount is not the same as the card acquisition amount, the shopper needs to tap their device a second time to make the payment. This is interpreted as a new Apple Pay transaction, and thus leads to a new PAN.

### Improved: tapi

* When a card acquisition is followed by an unreferenced refund instead of a payment, we ask the shopper to present their card again. This prevents certain issuers from declining the unreferenced refund.

* When [adding metadata to a payment](/point-of-sale/add-data#metadata), the metadata is returned in the response.

* We made some changes to the [**GetMenu** input request](/point-of-sale/shopper-engagement/shopper-input/menu):

  * You can add a second header line.

  * The menu options appear as buttons with a label. We no longer show any additional text lines for the options.

* The possibility to show a [virtual receipt with a QR code](/point-of-sale/shopper-engagement/display-data/display-receipt) has been extended to **P400 Plus**, **V400c Plus**, and **V400m** terminals. The terminal display will first show the QR code and a button to go to the next screen, and then the virtual receipt.

### Fixed: tapi

* We fixed an issue where Manual Key Entry (MKE) appeared to be randomly allowed or not allowed even though the feature was configured correctly.

* With pay at table, for a fraction of a second the terminal showed a screen with a button to start the pay-at-table flow when the flow was already in progress.

* If a card was removed from the card reader too quickly, we didn't send a CARD\_REMOVED display notification.

* When making a **GetText** input request on a **P400 Plus** terminal, moving a finger up or down over the on-screen keyboard caused the keyboard to scroll.

* If the POS app sends a payment request following a card acquisition and the shopper hasn't presented their card yet, we now send a correct payment response with `ErrorCondition` **NotAllowed**, and an `AdditionalResponse.message` of *Forbidden Request: Service Dialogue CardAcquisitionRequest is in Progress*.

### Known Issues: tapi

* On e280 terminals, a **GetMenu** input request doesn't show the header lines.

### Improved: opi

* For pay at table, the following properties are now configurable:

  * When starting the flow, let staff authenticate by entering their employee number, or by swiping their employee card. If necessary, staff can skip swiping by selecting **Confirm**. They will then need to enter their authentication number manually.

  * Let the terminal print an itemized receipt before splitting, or after each payment.

  Reach out to your Adyen contact or our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to configure this for you.

* We added support for the fast tax free refund flow.

* It is now possible to either send the receipt to the POS system, print the receipt from the terminal, or both. Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to configure this for you.

* In the pre-authorization flow, you can now print a receipt when the payment is captured.

### Fixed: opi

* We fixed an issue with the processing of referenced refunds. It is no longer necessary to use the workaround of enabling standalone.

* When the transaction was cancelled during PIN entry, the terminal didn't show the **Cancel** screen.

* For transactions that require a signature as CVM, the cardholder copy was missing from the `<PrintData>` in the response.

* We could not process gift cards with the MOTO tender option. When the gift card number is missing from the payment request, the terminal now shows the screen for manually entering the gift card number.

### New: engage

* On the payment terminal, you can run [hardware tests](/point-of-sale/pos-troubleshooting/hardware-tests) to verify the state of the chip card reader, magnetic swipe reader, and keypad.

### Improved: engage

* When [Bluetooth tethering](/point-of-sale/design-your-integration/network-and-connectivity/bluetooth-pan) fails because the tethering/hotspot is not activated on the mobile device, the terminal will show an error message to explain that.

## 2021-02-01 — Terminal software — Version 1.60

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* There are now two ways to use Pay by Link:

  * A new way where a shopper selects **Online checkout** from the list of **wallets** on the terminal. With this, you can offer payment links as well as QR code wallets as payment options.
  * The previous, fully contactless way where a QR code with a payment link appears automatically after a few seconds.

### Improved: general

* We previously queried the terminal's IP address every few hours. Now, we do that more frequently so that the Customer Area shows the up-to-date IP address.

* To improve authorization rates now that global card schemes regard a signature as optional, we no longer automatically decline payments when there is an issue with capturing the signature. For example, when a time-out occurs or the shopper cancels the signature. Of course, we still cancel the payment when you decline the signature provided by the shopper.

* Store-and-forward now accepts payments from a BIN without a known funding source (credit, debit, or prepaid) as long as the BIN is recognized. We also extended the list of BINs we recognize.

* The French translations for receipts have been improved.

### Fixed: general

* The terminal log and the payment response now both report contactless chip transactions as CLESS\_CHIP.

* When the terminal is idle, selecting a key on the keypad caused a white line to appear at the bottom of the screen.

### Improved: tapi

* On **P400** terminals, a **GetText** input request now allows your header text to spread over two lines.

* When a payment is declined because the card doesn't have a checking or savings account, we return a refusal reason of **No checking account** or **No savings account**. Previously we returned a generic refusal reason of *Declined online*.

### Fixed: tapi

* We fixed an issue with sending display notifications during payment transactions.

* Input requests and display requests sometimes halted and timed out due to automatic maintenance. We now make sure maintenance calls do not interrupt in-progress input or display requests.

* When a transaction status request was sent immediately after a payment request, the transaction status response incorrectly reported that the transaction failed to start. Now we return a response of [transaction in-progress](/point-of-sale/basic-tapi-integration/verify-transaction-status#transaction-in-progress).

* In Terminal API responses, we removed `cardPresent` from the `AdditionalResponse`. The reason is that `cardPresent` could contain a misleading value and wasn't needed because the `AdditionalResponse` already includes a `posEntryMode`.

* On **M400** terminals, the header text didn't show when making a display request for a QR code.

* On **M400** terminals, it was possible to drag the signature screen sideways.

* With installments, split payments, and staff number entry in the Pay-at-Table flow, the on-screen button to enter the number didn't have the expected result.

* With split payments, the `SaleToAcquirer` content (for example, tender options) was ignored.

* When a signature was provided on screen after a **GetSignature** input request, the signature wasn't visible.

### New: opi

* OPI Food & Beverage: Added support for Brazilian meal vouchers.

* OPI Retail: Added support for the **Get Button Selection** request. This allows you to collect input from shoppers by showing text on the terminal display, such as a customer survey question, and letting the shopper respond by selecting an on-screen button.

### Known Issues: opi

* Referenced refunds are not processed. The workaround is to [enable standalone](/point-of-sale/standalone/standalone-build/set-up-standalone). This issue will be fixed in the next release.

### New: engage

* It is now possible to pair an e280 or e285 payment terminal with an Android or iOS mobile device that functions as a mobile POS system. For more information, see [Bluetooth PAN and tethering](/point-of-sale/design-your-integration/network-and-connectivity/bluetooth-pan).

* We also implemented a [new look](/point-of-sale/design-your-integration/network-and-connectivity/bluetooth-pan#bluetooth-menu-on-the-terminal) for the Bluetooth menu.

* We renamed the Info menu to **Device info** and implemented a new look.\
  ![](/user/pages/docs/03.point-of-sale/63.firmware-release-notes/2021-07-01-lkojv/screen-EN_Device-info.png)\
  This menu appears when you press **5** and then the green **Confirm** key.

### Improved: engage

* When pairing a new **V400m** terminal with a Bluetooth base station, the terminal will wait with updating the software on the base station until the terminal has finished boarding. This prevents firmware mismatches between the base station and the terminal.

* When an issue occurs with connecting a terminal to your Wi-Fi network, the terminal gives a more informative error message or shows a hint for what to do next.

## 2020-12-12 — Terminal software — Version 1.59

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* We added Canadian English to the [supported languages](/point-of-sale/what-we-support/supported-languages).

* We extended the support of [Dynamic Currency Conversion](/point-of-sale/currency-conversion) to contactless and NFC wallet payments.

### Improved: general

* With Interac payments, the terminal now presents the account selection options in the order and spelling that Canadian shoppers expect.

  * Canadian English: **Chequing** , followed by **Savings**.
  * Canadian French: **Chèque**, followed by **Épargne**.

### New: tapi

* We added an **Adyen Giving Service ID** to the Terminal API payment response. Using this ID, you can make a transaction status request to [receive the result of the donation](/point-of-sale/donate#retrieve-donation-response). You could use this, for example, to give the shopper a receipt for their donation.

* It is now possible to tokenize a contactless payment trough a card acquisition request with a dummy email address followed by a zero value payment request.

### Fixed: tapi

* We made sure it is no longer possible to cancel an in-progress `ReversalRequest` (referenced refund) on the terminal.\
  This fix has also been patched to releases 1.56, 1.57, and 1.58.

* When it took too long for a shopper to choose between paying with their checking account or their savings account, we returned an inapplicable error condition of **UnavailableService**. To solve this, we added an [*Account type selection* time-out](/point-of-sale/error-scenarios/pos-timeouts#device-time-out). Like all time-outs, this will return a **Cancel** error condition when it occurs.\
  This fix has also been patched to releases 1.56, 1.57, and 1.58.

* When a balance check on an SVS gift card fails, we now pass the response code we receive from SVS.

* When a payment fails due to power loss, the `TransactionStatusResponse` showed a misleading error condition of **In progress**. Now we return the error condition [**NotFound**](/point-of-sale/basic-tapi-integration/verify-transaction-status#transaction-not-found).

* When sending a `DisplayRequest` for a virtual receipt to a P400 or V400 terminal, we now return a **NotAllowed** error condition if the request includes an XML that uses an incompatible XSLT.\
  This fix has also been patched to releases 1.56, 1.57, and 1.58.

* A payment with an unsupported payment method or brand is now declined with the appropriate refusal reason instead of *Declined online*.

* The payment response for a blocked card now includes the refusal reason **Card blocked** in the `AdditionalResponse`.

* We updated the [virtual receipt documentation](/point-of-sale/shopper-engagement/display-data/display-receipt) to prevent issues with displaying a virtual receipt with or without QR code on M400 terminals.

* Forcing the card entry mode did not work properly for card acquisition.

* We fixed an issue with randomly missing fields in the Terminal API response.

* We solved the following issues with input requests on M400 terminals:

  * While the shopper was providing text input, the on-screen keyboard sometimes disappeared.
  * The box to draw a signature wasn't always centered.

### Improved: opi

* We will ignore new, unrecognized fields in the OPI request messages.

* We removed the `SAF` field from our code, because this field is now deprecated in the OPI specification.

* For a generic gift card transaction, we will return `issuerId`(card type) *O7 - SVC* instead of *44 Unknown*.

* OPI Food and Beverage:

  * We now recognize the Check Information elements that were recently added to the OPI specification: `ServiceChargeTtl`, `AutoServiceChargeTtl`, `NonRevenueServiceChargeTtl`, `DiscountTtl`, `CheckEmployeeCheckName`, `Covers`, `CheckName`, `OrderType`, `TableTextAndGroup`.

  * We added the `CardholderName` element to the Authorization transaction response.

* OPI Retail:

  * We updated the list of valid eWallet payment method data elements with the eWallets that were recently added to the OPI specification.

### Fixed: opi

* Offline pre-authorizations (`TransType` **05**) are no longer approved. We now decline them with `RespCode` **PT** and `RespText` **Transaction type not supported offline**.

### New: engage

* It is now possible to show a "Low battery" message on the display of the terminal when the battery charge level drops below a certain level. Contact [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to enable this for you.

### Fixed: engage

* If your account is configured to allow undoing the latest approved transaction using **Admin** menu > **Transactions**, the transactions overview is now updated immediately when you make a new transaction after undoing the previous transaction.

* On UX300 terminals, the IP address is shown as expected again in the Network menu.

## 2020-11-12 — Terminal software — Version 1.58

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### New: general

* We support including the balance of a meal voucher card on the receipt.

* New payment method: **girocard**. This is a German debit card for point of sale that is supported on the following payment terminals:

  * P400 Plus
  * V400c Plus
  * V400m
  * M400

### Improved: general

* We improved the synchronization of transactions when the connection times out and the terminal switches to a store-and-forward transaction after the transaction was already sent to the issuer for authorization.

* We improved the Least Cost Routing logic for Interac cards in Canada.

### Improved: tapi

* When you make a [shopper input request for a signature](/point-of-sale/shopper-engagement/shopper-input/signature), the terminal display now shows icons to cancel **![](/images/5/8/8/4/9/58849deb729ef765fb92c34a2b367b9ae58a5598-cancel2x.png)**, clear **![](/images/b/9/8/d/d/b98dd06c9bddd3fb99b333966ad61cdbb7d6b9bf-correct2x.png)**, and confirm **![](/images/6/9/3/7/8/6937831b6e8ba90eddeddde32c67f49162760228-confirm2x.png)** the signature. Previously, we only showed buttons labeled "Cancel" and "Confirm".

* We enhanced our error handling and monitoring of Terminal API integrations that use cloud communications.

### Fixed: tapi

* In Terminal API integrations that use cloud communications, the cloud icon on the terminal now shows the current connection status without delay.

* We fixed an issue with adding application information in key-value pair format to Terminal API payment requests.

### New: opi

* You can initiate a QR code payment from the POS system.

### Improved: opi

* Now that the OPI specifications are extended with the `AlternateTransRef` field, we use this field in all response messages to provide our PSP reference for the transaction.

### Improved: engage

* In the cellular connection settings on the terminal, the APN field now accepts a long Access Point Name. Previously, the value was limited to 15 characters.

### Fixed: engage

* When an approved transaction is cancelled from the POS app, the status on the terminal correctly changes from "Approved" to "Cancelled". We fixed an issue where the receipt, when printed again, still showed the transaction as approved.

* We fixed an issue with broadcasting the hostname of the DHCP client to the DHCP server.

## 2020-10-12 — Terminal software — Version 1.57

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### Updating: general

This release contains the final security patch from Verifone for UX terminals. With this, the security vulnerabilities that were discovered recently are fully fixed on UX300 and UX410 terminals.\
**Update your UX terminals to this release as soon as possible.**

For other Engage terminals (e280, e285, e285p, M400, P400 Plus, V240m, V400cPlus, V400m) the final security patch is included in the previous release (1.56).

### New: general

* New QR code payment method: [GrabPay](/point-of-sale/qr-code-wallets).

### Improved: general

* On standalone terminals, it is now possible to change the formatting of the amount on receipts. You can determine the decimal separator, the thousands separator, and the position of the currency symbol (before or after the amount). Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other).

### Fixed: general

* We solved a network failover issue that occurred in situations where more than one connectivity interface is used.

### Improved: tapi

* The transaction status response [when a transaction is not found](/point-of-sale/basic-tapi-integration/verify-transaction-status#transaction-not-found) now includes the type of transaction instead of a number indicating the transaction type.

* In Terminal API integrations that use **cloud communications** we improved the reconnection time after a drop in connectivity.

### Fixed: tapi

* For input requests of the type **GetConfirmation** the scaling of text shown on the terminal is as expected again.

* The `GetTotals` request didn't include refunds.

* In Terminal API integrations that use **cloud communications** canceling an in-progress payment from the POS system no longer blocks receiving the payment response.

### Improved: opi

* We added the gift card number, expiry date, and provider ID to the messages related to gift card operations.

### Fixed: engage

* When selecting the account type for an Interac payment, the terminal now shows the correct accented letters, as in "Épargne" and "Chèque".\
  The underlying issue was a problem with converting some UTF-8 encoded symbols and letters, which is now fixed throughout the UI.

* On e285p terminals, we resolved an issue that sometimes caused `DeviceOut` errors after waking up from a power saving state.

* When starting up an e280 terminal for the first time, the **Confirm** icon doesn't overlap anymore with the text "Configure network" or "Board terminal".

* To give shoppers more time to notice and read the screen with the transaction result, the terminal will show this screen for a longer time.

* On UX300 terminals, updating the software used up so much CPU capacity that the installer timed out or the terminal slowed down.

## 2020-09-12 — Terminal software — Version 1.56

*\<p>If your terminals are on this release, update to a more recent version. Terminals should not be more than five versions behind the latest release.\</p>*

### Improved: general

* China UnionPay magstripe cards sometimes have information on the magstripe that a PIN is not needed when in reality a PIN is required. To prevent authorization issues in these cases, the terminal will always ask for a PIN when a shopper pays with a CUP magstripe card.

### Fixed: general

* We solved a network failover issue that occurred in situations where more that one connectivity interface is used.

* We improved the terminal's tender state messaging for Eftpos transactions, to make it easier to troubleshoot any issues with those transactions.

* We solved an issue where Subway gift cards were not recognized after swiping.

### New: tapi

* On the **P400 Plus** and **V400m** terminals, you can now use a [`DisplayRequest` to show a virtual receipt](/point-of-sale/shopper-engagement/display-data) on the terminal display.

### Improved: tapi

* You can now use [`SaleToAcquirerData`](/point-of-sale/add-data) in a card acquisition request.

* In the pay-at-table flow it is now possible to skip the cash or card selection screen. This is useful if you do not want to accept cash payments. Ask our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to set this up for you.

### Fixed: tapi

* A transaction status request sometimes returned **InProgress** after a transaction had already been declined.

### Improved: opi

* To support retail integrations in Brazil, the `TransactionResponse` now contains `DebitPreferredFlag` and `NoOfInstallments`.

* The Incremental Authorization message now contains a `NewIncrementalAuth` field.

### New: engage

* We implemented a **new Wi-Fi menu**. The most important improvements are:

  * **More guidance**: instructions and intuitive hints make it easier for users to follow what they need to do.
  * **Clean layout and easy navigation**: crisp screens with a light background and no clutter.
  * **Icons indicating the connection state**: for example, ![](/user/pages/docs/03.point-of-sale/63.firmware-release-notes/2021-06-30-d6rqn/icon_connected.png) means the terminal is connected to your Wi-Fi network and the signal strength is good.
  * **More network details**: SSID, BSSID, signal strength, band, frequency, protocol, key management, encryption... with this many details it is easier to troubleshoot any issues.

  ![](/user/pages/docs/03.point-of-sale/63.firmware-release-notes/2021-06-30-d6rqn/new_wifi_menu_0_5.gif?decoding=auto\&fetchpriority=auto)

* We added Wi-Fi connectivity to **M400** terminals.

### Improved: engage

* We redesigned the [Dynamic Currency Conversion (DCC) screen](/point-of-sale/currency-conversion#dcc-disclosure). The two choices that the shopper has - paying in the local currency or in their own currency - are now shown with exactly the same formatting. This is consistent with the latest requirements from card schemes that the screen shouldn't contain anything to suggest DCC is the default choice.

### Fixed: engage

* When we hide minor units for currencies that generally do not use minor units, we now ensure we still show the minor units with our DCC functionality because the card schemes do not allow hiding minor units for DCC.

* The Bluetooth beacons on e285 and e285p terminals now work as expected.

* We fixed an issue where the **Cellular info** screen didn't show the actual values for some properties.

### Updating: general

This release contains a security patch from Verifone. With this, the security vulnerabilities that were discovered recently are fully fixed on Engage terminals (e280, e285, e285p, M400, P400 Plus, V240m, V400cPlus, V400m). For UX terminals this patch is a partial fix, and a final patch will be released soon.
