2026-04-16 Changelog

Android
Mobile Payments SDK
Reader SDK
iOS
Link to section

Details

Link to section

Reader SDK Retirement

The Square Reader SDK and Mobile Authorization API are now retired. Existing Reader SDK integrations can no longer take payments. To ensure continued support and functionality for your application, you must migrate from the Reader SDK to the Mobile Payments SDK.

Link to section

Android Mobile Payments SDK 2.5.0

Important

Breaking changes: RetryConnectionErrorCode entries READER_UNAVAILABLE, READER_NOT_CONNECTED_TO_DEVICE, READER_ALREADY_READY, and NO_NETWORK have been consolidated into a single UNABLE_TO_RETRY error code.

Deprecation notice:

  • readerInfo.firmwareVersion is deprecated. Use readerInfo.firmwareInfo.version instead.
  • readerInfo.firmwarePercent is deprecated. Use readerInfo.firmwareInfo.updateStatus instead.
Link to section

Firmware management

Sellers can now schedule firmware updates to occur at a preferred time of day, reducing interruptions during business hours. The SDK also provides richer firmware status information so your application can track updates in progress and display relevant UI.

  • readerManager.readerSettings - A new ReaderSettings property for managing settings that apply to all connected readers, including:
    • preferredFirmwareUpdateTime: TimeOfDay? — Schedule firmware updates at a preferred time of day using the new TimeOfDay type.
  • readerInfo.firmwareInfo - A new ReaderFirmwareInfo property with structured firmware data, including:
    • version: String? — The current firmware version.
    • updateStatus: FirmwareUpdateStatus — A sealed class representing the firmware update state: None, Pending(updateDate: Date), or InProgress(updatePercentage: Int?).

For more information, see Firmware info and Reader settings.

Link to section

Other API changes

  • settingsManager.isShowingSettings() - Check whether the settings screen is currently displayed.
  • settingsManager.closeSettings() - Programmatically dismiss the settings screen.
  • New OBSOLETE_SDK error code added to both AuthorizeErrorCode and PaymentErrorCode. This error is returned when the SDK version is no longer supported.