← 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.