Migration guide for nRF Connect SDK v2.5.0

This document describes the changes required or recommended when migrating your application from nRF Connect SDK v2.4.0 to nRF Connect SDK v2.5.0.

Required changes

The following changes are mandatory to make your application work in the same way as in previous releases.

  • All references to GNSS assistance have been changed from A-GPS to A-GNSS. This affects the GNSS API, as well as nRF Cloud, Location, and LwM2M location assistance libraries. See release notes for changes related to each component.

  • For the Serial LTE Modem (SLM) application:

    • The CONFIG_SLM_AGPS Kconfig option has been replaced by CONFIG_NRF_CLOUD_AGNSS and is now enabled by default.

    • The CONFIG_SLM_PGPS Kconfig option has been replaced by CONFIG_NRF_CLOUD_PGPS.

    • The CONFIG_SLM_LOCATION Kconfig option has been replaced by CONFIG_NRF_CLOUD_LOCATION and is now enabled by default.

    • The #XCELLPOS and #XWIFIPOS AT commands have been replaced by #XNRFCLOUDPOS.

    • The #XAGPS and #XPGPS AT commands have been replaced by #XGPS.

    • The operations to update bootloader (3) and read (6) or erase (8) the MCUboot secondary slot have been removed from the #XFOTA AT command.

    • The #XSLMUART AT command has been removed. UART is now configured using only devicetree.

      UART settings that were previously saved for this command now provoke error logs on startup. The errors are harmless. To remove these errors, you can erase all settings by doing a full erase of the device. This will be fixed in the next nRF Connect SDK release.

    • Hardware flow control is now required for the UART. If hardware flow control for the UART cannot be enabled, use the CONFIG_SLM_UART_RX_BUF_SIZE Kconfig option to ensure that there is adequate buffer space for the worst case scenario.

    • UART TX now allows multiple AT command responses and notifications to be bundled together in a single transmission. Ensure that you correctly parse multiple responses and notifications, and do not rely on UART disablement between them.

    • The Kconfig option CONFIG_SLM_CARRIER_APP_DATA_CONTAINER_BUFFER_LEN has been renamed to CONFIG_SLM_CARRIER_APP_DATA_BUFFER_LEN.

    • The #XDFUGET, #XDFUSIZE and #XDFURUN AT commands have been removed.

    • The #XSOCKETOPT option SO_BINDTODEVICE has been replaced by SO_BINDTOPDN.

    • The value of the #XSSOCKETOPT option TLS_DTLS_HANDSHAKE_TIMEO has been updated.

  • Applications using MCUboot must update to setting their version using an application VERSION file instead of the previously used CONFIG_MCUBOOT_IMAGE_VERSION Kconfig option. Alternatively, you can set the version in Kconfig by using the CONFIG_MCUBOOT_IMGTOOL_SIGN_VERSION option, but using a VERSION file is the recommended approach.