Skip to main content
This section provides a history of updates, enhancements, and stability improvements to the EMV Core RTOS SDK. Release notes are organized into three categories:
  • Improvements: New API commands, expanded platform support, and feature additions.
  • Fixes: Resolved bugs and reliability improvements.
  • Known Issues: Current limitations with recommended workarounds.

SDK Version 1.0

Released: 11 February 2026 This version includes the following improvements, fixes, and known issues for the RTOS SDK:

Linux Sample Application (Portable C Sources)

SDK callback architecture refactored for better compiler compatibility (RM7434). JSON-RPC messages are now logged by default in the sample application (RM7471).

TLS Support

Secure server communication via TLS for both TMS and payment service connections (RM7021).

External Settlement (Remote Settlement)

TransactionComplete now returns an Additional_Parameters field with the data required for Nayax server-to-server External Settlement (RM7549):
  • SiteId: unique identifier of the transaction site
  • EntryMode: transaction entry mode (Swipe, Contact, NFC)
  • MachineAuTime: machine authorization time
  • NayaxTransactionId: transaction ID

e-Receipt Support

TransactionComplete now returns the data required for the Nayax e-Receipt.

CLP Card Type Detection

TransactionComplete now returns the closed-loop card type.

Reserved for Future Use

The following features are included but not yet fully tested and should not be used:
  • UpdateMachineAttributes API
  • Enhanced SendToReader functionality with TLS-based permissions
  • Push service integration

libecodsdk Library

  • Network Status Notifications
  • Threading Model: Dual-Thread Architecture
  • New configuration options in ecod_sdk_configs.h:
    • EC_ACK_TIMEOUT_MS: timeout for ACK responses (default: 1000 ms)
    • EC_ACK_MAX_RETRIES: maximum retries for unacknowledged frames (default: 0)
    • EC_SUPPORT_LONG_LIVED_SOCKETS: enable persistent socket connections
  • New status value: EC_DISABLED, indicates EMV Core is in a disabled state

Platform Layer

  • Added ecod_platform_init() for platform-specific initialization
  • Serial port data flushing on port open
  • Linux: SIGPIPE signal handling to prevent crashes on socket disconnections

Logging

  • Log files limited to 336 KB total to protect critical operations (RM7534)
  • Fix: Log upload now includes the most recent entries (issue #7357)
  • Auto-cleanup of excess log files on configuration change (RM7539)
  • New log level: EC_LOG_LEVEL_TRACE for detailed debugging
  • File logging support added
  • Improved log formatting with module prefixes

Configuration & Storage

  • Periodic file system cleanup for long-term reliability (RM7527)
  • Reader file-system cleanup to prevent storage exhaustion (RM7531)
  • Fix: Configuration file corruption during updates (RM7533)

Payment Parameters (emvCorePaymentParameters)

  • Removed: fee_cents and currency_code
  • Added: additional_receipt_data, is_final_amount, is_deferred (RFU)

Reader Communication

  • Backwards compatibility with ECOD v0.9
  • Device auto-recovers when reader misses configuration files (RM7573)
  • Reader configuration update reliability improved with retry mechanism (RM7575)
  • Socket response timeout handling improved (RM7578)
  • ACK/NAK handling with automatic retransmission
  • Better handling of fragmented serial messages
  • Frame size validation

Network Bridge (Socket API)

  • Nagle’s algorithm disabled for reduced latency on small packets
  • Optimized socket data arrival notifications
  • Automatic network connectivity monitoring (Linux)

User Interface

  • Fix: ReaderMessage events now include correct message index (RM7470)
  • Fix: “Present card” message displays immediately after PreAuthorize (RM7553)
  • Fix: LED blinking behavior corrected during Poll EMV (RM7585)

Reader Firmware

  • Safe dual-mode operation (TLV and JSON-RPC) (RM7571, RM7572, RM7584)
  • Firmware update package size reduced

Intermittent TLV Messages (RM7586)

Device may intermittently send TLV format messages instead of JSON-RPC.

Slow First Response After Reset (RM7592)

Serial communication: the first response after reset may be slow.

Virtual Machine Device Discovery

On virtual Linux machines (e.g., WSL or VirtualBox), the host sample application cannot find the device after it restarts:
SERIAL [ERROR] failed to open HID port /dev/hidraw0: No such file or directory
This occurs because the virtual OS attaches the reader with a different name (e.g., hidraw1). Not relevant for physical operating systems.

SDK Version 0.9

Released: 31 July 2025 This version includes the following improvements and fixes for the RTOS SDK:

Linux Sample Application

A new portable C Linux Sample Application is now included with the SDK.
A new Datalink Layer has been added for framed serial communication with ACK/NAK support.

New API Commands

Added support for GetCardToken, CardTokenReceived, and GetAttribute.
  • Fixed: 4 LEDs on all the time (issue #7052)
  • Fixed: Get Core version returns empty string (issue #7054)
  • Fixed: Junk bytes sent after ReaderMessageEvent JSON (issue #7056)
  • Fixed: Cannot pay while downloading a file (issue #7072)
  • Fixed: EMV Core sends 2 lines of “Present Card” instead of the price (issue #7233)
  • Fixed: Updating from older versions to EMVS_v071555_ec could cause the reader to lock with no way to communicate

Log Upload Order (issue #7357)

Log upload includes the oldest entries instead of the most recent.

Virtual Machine Device Discovery

On virtual Linux machines (WSL/VirtualBox), the host sample application cannot find the device after restart. See v1.0 known issues for details.

SDK Version 0.2

Released: 24 March 2025 This version includes the following improvements and fixes for the RTOS SDK:

UART TTL Communication

Added support for UART TTL communication.

UNO-8 Manager v4.0.0

Updated UNO-8 Manager supporting the new Device File system structure (drives S: and E:); installation file at \Utilities\UNO-8 Manager\UNO-8 Manager Setup.4.0.0.msi.
  • Fixed: EMV Core not working in Safe-Mode (issue #7077)
  • Fixed: Upload/download from TMS now works in parallel with transactions (issue #7043)
  • Fixed: Log file lacked milliseconds on timestamps (issue #7051)

Unsupported API Commands

GetCardToken, CardTokenReceived, and GetAttribute are not supported in this version.

Remote Update Failures

Remote firmware and configuration updates fail intermittently.

TMS Socket Connection (issue #7087)

Cannot connect socket to TMS in some cases.

Present Card Display (issue #7233)

EMV Core sends 2 lines of “Present Card” instead of the price.

SDK Version 0.1

Released: 30 December 2024 This is the first SDK version for RTOS.

Unsupported API Commands

GetCardToken, CardTokenReceived, and GetAttribute are not supported in this version.