/rss.xml to the end of this page’s URL.
Release notes are organized into three categories to help you evaluate the
impact of each update:
- Improvements: New API commands, expanded platform and card support, and performance enhancements.
- Fixes: Resolved bugs and reliability improvements.
- Known Issues: Current limitations or pending features, with recommended workarounds.
Platform-Specific FeaturesWhile most updates are universal, platform-specific improvements or fixes are marked with (Android Only) or (Linux Only) in the section titles.
This version includes the following improvements, fixes, and known issues for the SDK:
Improvements
Improvements
1-Step Incremental Authorization (Android Only) (#7462)
Settling a transaction for more than its pre-authorized amount now automatically triggers an incremental authorization for the difference. See Single-step incremental authorization. This release also adds theIncrementalAuthorization method and IncrementalAuthorizationResponse callback, reserved for a future multi-step flow and not required for the single-step behavior above.Deferred Transaction (#7486)
The terminal can now keep accepting payments while offline and send them for approval once communication is restored. SetisDeferred and isFinalAmount in PreAuthorize to use it. This replaces the deprecated PMT_ACCEPT_OFFLINE configuration attribute. See Deferred Transaction for details.Offline by Default Mode (#7604)
EMV Core’s defaults changed so it behaves as a simple, offline-capable RFID reader out of the box:CLP_MIFARE_ENABLED now defaults to 2 (local Closed-Loop Mifare) and OPEN_LOOP_ENABLED now defaults to 0 (disabled). In this default configuration, GetStatus reports Ready and PreAuthorize/GetCardToken keep working even without network. The device only requires network, and reports NoNetwork when it’s down, if you explicitly enable Open Loop or set CLP_MIFARE_ENABLED=1.External Settlement Support in the Client Library (#7430)
The client library now parses and exposes the fields required for server-to-server settlement.Push Notifications via MQTT (#6817)
EMV Core now supports MQTT push notifications. To use this feature, configure the MQTT Primary Address (oti-broker.nayax.com:1883) and Ping Interval (default 600 seconds) machine attributes in Nayax Core.Currency Fallback from the Reader (#7654)
IfCURRENCY_CODE is missing from the configuration, EMV Core now falls back to the reader’s kernel currency tag (9F3C) before defaulting to USD.AUDIO_PERCENTAGE Configuration (#7609)
Added theAUDIO_PERCENTAGE configuration attribute to control the reader’s audio volume.Terminal Authentication over TLS (#6719, #7305)
Terminal Authentication (DSS)GET /challenge requests are now sent over TLS.additionalReceiptData in PreAuthorize and ConfirmTransaction (#7377)
You can now passadditionalReceiptData directly in PreAuthorize and ConfirmTransaction to include extra data in the eReceipt.Local Firmware and Configuration Update Utility (#7372)
Added a utility to update reader firmware and configuration locally without a TMS connection. This is intended for production-line use only. Remove it before deployment.Advanced Closed Loop Card Support (#7639)
EMV Core can now read Mifare blocks using theCLP_MIFARE_READ attribute.SendToReader (Android Only) (#6898)
Host applications can now send commands directly to the reader with the newSendToReader method.Reader Configuration Management from Nayax Core (#7250)
Reader configuration can now be managed from Nayax Core machine attributes.Process Info in UPLOAD_LOG (#7300)
UPLOAD_LOG now includes process information: CPU, memory, and uptime.Felica IDm as CLP UID (#7496)
FeliCa’s IDm is now returned as the CLP UID.Unconditional Confirmation (#7594)
Removed theCONFIRM_IF_UNSURE flag. Confirmation behavior is now unconditional.Client Library Version Reporting (#7673)
The client library version is now reported to TMS viaGetVersions.Nayax TLS CA Support (#7703)
Added support for the Nayax TLS certificate authority.Hardcoded External Settlement Defaults (#7705)
External Settlement properties are now hardcoded defaults, removing the dependency onlocal.properties.Foreground Service (#7712)
The EMV Core service now runs in the foreground, preventing the OS from killing it.New UNO-mini Firmware (EMVSC_v071749)
Adds Type B card reading support (for Autel). This firmware is valid for the Linux, Android, and RTOS v1.5 SDKs. RTOS v1.0 should continue using firmwareEMVSC_v071652.oef.Fixes
Fixes
ReaderMessageEvent Index Correction (#7088)
Messages that previously used index255 now use the correct assigned indexes in the 201-220 range.Reader Communication Recovery (#6819)
Improved reader communication recovery, including handling of reader power cycles.External Settlement Response Missing hwSerial (#7515)
The External Settlement response was missing thehwSerial field.Push Notifications on TMS-C (#7537)
Fixed push notifications not working when the device is managed by TMS-C (Nayax Core).CLP Card ID Response Fields (#7425)
Fixed the CLP Card ID being sent in the wrong response fields.Local CLP Transaction and Card ID (#7512)
Fixed the Transaction ID and Card ID (CardToken) being identical on Local CLP transactions.Transaction Fee Reporting (#7478)
Fixed transaction fees not being sent correctly to the Bridge.PMT_DUKPT_KEY_VARIANT Fallback (#6772)
PMT_DUKPT_KEY_VARIANT now falls back to 0x11 when the configured value is invalid.Automatic Restart with No Reader (#7183)
EMV Core now restarts automatically if it doesn’t find a reader within 1 hour.IncrementalAuthorization URL (Android Only) (#7662)
Fixed an incorrect URL used byIncrementalAuthorization.Configuration Preserved Across APK Upgrades (#7491)
Configuration was previously deleted when the APK was updated. It’s now preserved across upgrades.hwSerial Truncation (#7710)
FixedhwSerial being truncated in NayaxTransactionIdInfo.Large Receipt Data Buffer Overflow (#7763)
Fixed a buffer overflow that could crash or reset the device when large receipt or terminal data combined with transaction result data.Truncated Server Responses (#7783)
Fixed truncated or rejected server responses that could report a valid approval as declined, or drop a TMS-pushed command.Continuous Polling Interruption (#7217)
Fixed polling stopping in the middle of acontinuous=true transaction.CON_CONFIG and Service Restart (#7452, #7701)
Fixed theCON_CONFIG command failing, and the Android service sometimes not restarting after that command.GetStatus Stuck at Update (#7740)
FixedGetStatus remaining stuck at Update for 5 or more minutes after a firmware flash.Duplicate Authorize Requests
Reduced duplicateAuthorize requests sent after a timeout or cancellation.Known issues
Known issues
Reader Swap Terminal ID (#7211, #7030)
Always stop EMV Core before moving a reader to a different machine. Swapping a reader without resetting EMV Core doesn’t update the Terminal ID, and payment may complete against the previous terminal. Moving a reader to a different machine without first stopping EMV Core on the original machine may also cause unpredictable behavior on the new machine.Android OS Service Restarts (#7714)
The Android OS may stop the EMV Core service, causing multiple restarts during operation.IsTransactionApproved on Cancelled Transactions (#7743)
A cancelled transaction incorrectly returnsIsTransactionApproved as true.Cancellation After CannotCancel (#7742)
A transaction may still be cancelled after receiving aCannotCancel response.GetStatus with Ethernet Disabled (#7741)
GetStatus returns Ready even when Ethernet is disabled.