Releases: Adyen/adyen-pos-mobile-android
2.12.0
2.11.0
Important
- SDK Expiry date is 6 June, 2026.
New
- We added support for French language.
Improved
- We improved the SDK logic for binding with the application process.
- If a 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.
2.10.0
Important
- SDK Expiry date is 10 May, 2026
Breaking Change
InPersonPayments.initialisedhas been removed after it was deprecated in version 2.6.0. UseInPersonPayments.initializedinstead.InPersonPayments.performTransaction(..)now returnsResult<Unit>instead ofUnit.- If using
Dynamic Module:
1. Updateorg.jetbrains.kotlinx:kotlinx-coroutines-coreto1.10.1
2. Addkotlin-reflectlibrary to your appbuild.gradle.kts
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 NYC1 Dock firmware updates would show a failure despite a successful update.
2.9.0
Important
- SDK Expiry date is April 8th, 2026
Breaking Changes
- We upgraded Ktor to version 3.2.3.
New
- It is now possible to disable PIN support on NYC1 card readers. You need to contact our plugin:content-inject 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.
2.8.0
Important
- SDK Expiry date is March 15th, 2026
Breaking Changes
- AGP - 8.13.0
- Kotlin - 2.2.0
New
- We added support for Tap to Pay on Android transactions in Mexico
Improved
- Improved the speed of updating configuration for the NYC1 (when using an NYC1 with "System version" 3.X.0.67 or higher)
Fixed
- Bug fixes and improvements
2.7.0
Important
- SDK Expiry date is March 1st, 2026
Breaking Changes
- Starting in this version, instead of using
TransactionRequestto request a reversal, you will now need to use
InPersonPayments.performReversal
transactionRequestReversal = TransactionReversalRequest.createReversal(nexoRequest: String),
)New
- We added a new device preparation API to allow for NYC1 warmup: you can now call
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
2.6.1
Important
- SDK Expiry date is 26 Jan 2026.
New
- The SDK now supports 16 KB page sizes.
Improved
- We improved the speed of consecutive transactions for Tap to Pay and card reader payments.
- We enhanced Java interoperability by adding
@JvmNameannotations to key methods, which prevents potential signature conflicts. - The
InitializationFailureclass 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 addressed issues related to threat management where transactions would be intermittently blocked.
2.5.1
Important
SDK Expiry date is 05 Jan 2026.
Deprecated
- With regard to manually checking the initialization of the SDK.
InPersonPayments.initialisedwas deprecated. UseInPersonPayments.initializedinstead.
New
-
To simplify manual initialization of the SDK, we added two public methods:
-
suspend InPersonPaymentsTools.getInitializationState(): InitializationState
This method 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(): InitializationState
This method 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.
-
If you added the following line into your proguard file, you can remove it now.
-dontwarn com.adyen.ipp.saf.api.di.SafContainer
2.4.0
Important
SDK Expiry date is 2 Dec 2025.
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.
Known Issues
- If you use minification you need to add a following lane into your proguard file:
-dontwarn com.adyen.ipp.saf.api.di.SafContainer
2.3.1
Important
SDK Expiry date is 10 Nov 2025.
Breaking Changes
New
- Kiosk Mode - added configurable UI parameters in
MerchantUiParameters, including a newTapToPayKioskAnimationTypewhich provides more granular placement options for the NFC tap indicator.
Improved
- Smart downloading of Card Reader configurations for faster payments.
- Network request timeouts reduced to 30s
- Restricted cipher suites used by sdk please see docs
- SDK now requests USB permission automatically for plugged-in NYC1 at startup.
- Automatically reconnect to USB NYC1s that have disconnected because of a communication error. Removes need for merchant apps having to implement this logic.
Fixed
- Fix text on Tap to Pay - incorrect pin message.
- Hide close icon after presenting card during Card Reader transaction.
- Update HostStatus to return an array to align with Terminal Api.
Known Issues
- Kiosk Mode: Increasing the system-level Display Size setting on tablets has the potential to break measurement logic causing the screen to auto-rotate. If you encounter issues with the tablet rotating unintentionally, then you will need to lower the device's Display Size setting.
- PIN Entry can occasionally fail in some circumstances when the android 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.