← Back to Changelog
CheckoutX v5.0.4 Build 521

CheckoutX v5.0.4 (Build 521)

Optional physical keyboard support, enhanced inter-app communication protocols, and critical security integrity checks for production environments.

February 11, 2026

⌨️ New Features

  • Physical Keyboard Support: Added optional support for hardware keypads on Android terminals, allowing users to enter amounts and operators (+, -, *, /) directly via physical keys.
  • Enhanced Inter-App Flow:
    • Standardized communication using the new InterAppResponse model for consistent transaction feedback to calling apps.
    • Fixed a URI construction bug that caused data loss when redirect URLs contained fragments.
    • Implemented mandatory failure callbacks to prevent users from being stuck on failure screens.

🛡️ Security & Integrity

  • Automated Device Auditing: Introduced automated checks for USB Debugging, Developer Mode, and Root/Jailbreak status in production environments.
  • Security Alert Blocking: Users are now blocked from initiating transactions via a SecurityAlertModal if security risks are detected on the device.
  • Graceful App Exit: Refactored the Android exit process to automatically launch the Surfboard admin launcher with administrative access before terminating the app process.

🌍 UI & Localization

  • Terminal Setup Localization: Fully localized terminal configuration error screens.
  • Dynamic UI Messaging: Refactored payment status messages (e.g., “Authorizing,” “Tap Card”) to use localization keys, ensuring real-time language switching during the payment flow.
  • Selectable Terminal ID: Users can now copy the Terminal ID directly from the home screen or settings menu.
  • Conditional Visibility: The product/free-amount toggle button now hides automatically if the current store has no products available.

📊 Data & Stability

  • Reliable Product Sync: Updated the product synchronization logic to use a “Clear + Reseed” strategy within a database transaction, ensuring backend deletions are accurately reflected in the app.
  • Faster Startup: Improved app initialization to prevent freezing during startup on slower devices.
  • Printer Hardware Check: The receipt screen now dynamically verifies if hardware printing is supported by the device before displaying the print icon.
  • Failure Screen Fix: Resolved a race condition where manual retries and automatic redirection timers could conflict, causing duplicate callback executions.