nRF Connect SDK v1.7.0 Release Notes

nRF Connect SDK delivers reference software and supporting libraries for developing low-power wireless applications with Nordic Semiconductor products. It includes the TF-M, MCUboot and the Zephyr RTOS open source projects, which are continuously integrated and re-distributed with the SDK.

The nRF Connect SDK is where you begin building low-power wireless applications with Nordic Semiconductor nRF52, nRF53, and nRF91 Series devices. nRF53 Series devices are now supported for production. Wireless protocol stacks and libraries may indicate support for development or support for production for different series of devices based on verification and certification status. See the release notes and documentation for those protocols and libraries for further information.

Highlights

  • Development support for multi-image DFU for nRF53 - simultaneous application and network core firmware update.

  • Working with RF front-end modules for the nRF21540 FEM range extender is now supported for production.

  • Added Wi-Fi coexistence feature supported for development for Thread and Zigbee.

  • Added support for NFC and pair before use type of accessories to the Apple Find My add-on.

  • Added support for the nRF Connect SDK development in Visual Studio Code with the nRF Connect for Visual Studio Code extension.

  • Added production support for nRF52833 for Bluetooth® LE HomeKit accessories.

  • For Bluetooth® mesh, the choice of default Bluetooth® LE Controller changed from Zephyr Bluetooth® LE Controller to SoftDevice Controller.

  • Bluetooth® mesh profiles and models are ready for production.

  • Updated the required minimum CMake version to 3.20.0.

  • Enabled a more flexible way of handling AT notifications with the modem through the new AT monitor library on the nRF9160. Also added the related nRF9160: AT monitor sample.

  • nRF Connect for Cloud is now nRF Cloud.

  • Added support for using nRF Cloud Location Services through REST and JWT for the nRF9160.

Note

Programming nRF52832 revision 3 and nRF52840 revision 3 devices requires nrfjprog version 10.13 or newer. nrfjprog is part of the nRF Command Line Tools.

Release tag

The release tag for the nRF Connect SDK manifest repository (https://github.com/nrfconnect/sdk-nrf) is v1.7.0. Check the west.yml file for the corresponding tags in the project repositories.

To use this release, check out the tag in the manifest repository and run west update. See Get the nRF Connect SDK code for more information.

Supported modem firmware

See Modem firmware compatibility matrix for an overview of which modem firmware versions have been tested with this version of the nRF Connect SDK.

Use the latest version of the nRF Programmer app of nRF Connect for Desktop to update the modem firmware. See Updating the modem firmware for instructions.

Known issues

See known issues for nRF Connect SDK v1.7.0 for the list of issues valid for this release.

Changelog

The following sections provide detailed lists of changes by component.

nRF9160

  • Added:

    • AT monitor library that lets you reschedule and dispatch AT notifications from the Modem library AT interface to AT monitors.

    • nRF9160: AT monitor sample that shows the usage of the AT monitor library.

    • nRF Cloud REST library that enables devices to use nRF Cloud’s REST-based device API.

  • Updated:

    • All samples

      • All samples built for the nRF9160 SoC now have the Modem library library enabled by default.

    • nRF Cloud library:

      • Added function nrf_cloud_uninit(), which can be used to uninitialize the nRF Cloud library. If Cloud API is used, call cloud_uninit().

      • Added function nrf_cloud_shadow_device_status_update(), which sets the device status in the device’s shadow.

      • Added function nrf_cloud_modem_info_json_encode(), which encodes modem information into a cJSON object formatted for use with nRF Cloud.

      • Added function nrf_cloud_service_info_json_encode(), which encodes service information into a cJSON object formatted for use with nRF Cloud.

      • Added function nrf_cloud_client_id_get(), which returns the client ID used to identify the device with nRF Cloud.

      • Added function nrf_cloud_tenant_id_get(), which returns the tenant ID used to identify a customer account with nRF Cloud.

      • Added function nrf_cloud_register_gateway_state_handler() to implement a custom callback on shadow update events.

      • Added Kconfig option CONFIG_NRF_CLOUD_GATEWAY, which enables functionality to behave as an nRF Cloud gateway.

      • Added the option to use the P-GPS API independent of nRF Cloud MQTT transport.

      • Implemented functionality for the NRF_CLOUD_EVT_SENSOR_DATA_ACK event. The event is now generated when a valid tag value (NCT_MSG_ID_USER_TAG_BEGIN through NCT_MSG_ID_USER_TAG_END) is provided with the sensor data when calling either nrf_cloud_sensor_data_send() or nrf_cloud_shadow_update().

      • Updated nrf_cloud_shadow_update() to expect that param->data.ptr points to a JSON string. Previously, a cJSON object was expected.

      • Updated nct_init() to perform FOTA initialization before setting the client ID. This fixes an issue that prevented an expected reboot during a modem FOTA update.

      • Removed the function nrf_cloud_sensor_attach(), the associated structure nrf_cloud_sa_param, and the event NRF_CLOUD_EVT_SENSOR_ATTACHED. These items provided no useful functionality.

    • nRF9160: Serial LTE modem application:

      • Added IPv6 support to all SLM services.

      • Added the GNSS service to replace the existing GPS test functionality.

      • Added the optional support of location services from nRF Cloud, such as A-GPS, P-GPS, and cellular positioning.

      • Removed datatype in all sending AT commands. If no sending data is specified, switch data mode to receive and send any arbitrary data.

      • Added the Running in data mode documentation page to explain the data mode mechanism and how it works.

      • Added the FOTA AT commands documentation page to describe the FOTA service.

    • nRF9160: Asset Tracker v2 application:

      • Changed the custom module responsible for controlling the LEDs to the LEDs module from Common Application Framework.

      • Added support for A-GPS when configuring the application for AWS IoT.

      • Added support for P-GPS when configuring the application for AWS IoT.

      • Added a new debug module that implements support for Memfault.

      • Added support for the LwM2M carrier library.

    • LwM2M carrier library:

      • Added deferred event reason LWM2M_CARRIER_DEFERRED_SERVICE_UNAVAILABLE, which indicates that the LwM2M server is unavailable due to maintenance.

      • Removed error code LWM2M_CARRIER_ERROR_SERVICE_UNAVAILABLE, which was used incorrectly to indicate a deferred event reason.

    • nRF9160: LwM2M carrier sample - Adjusted the messages printed in lwm2m_carrier_event_handler() to reflect the updated event definitions in the LwM2M carrier library.

    • LTE link controller library - Added API to enable modem domain events.

    • Modem JWT library - Updated modem_jwt_generate() to ensure the generated JWT has base64url encoding.

    • Board names:

      • The nrf9160dk_nrf9160ns and the nrf5340dk_nrf5340_cpuappns boards have been renamed respectively to nrf9160dk_nrf9160_ns and nrf5340dk_nrf5340_cpuapp_ns, in a change inherited from upstream Zephyr.

      • The thingy91_nrf9160ns board has been renamed to thingy91_nrf9160_ns for consistency with the changes inherited from upstream Zephyr.

  • Deprecated:

    • nRF9160: Asset Tracker has been deprecated in favor of nRF9160: Asset Tracker v2.

    • at_notif library library has been deprecated in favor of the AT monitor library.

    • at_cmd library library has been deprecated in favor of Modem library’s native AT interface.

    • GPS driver has been deprecated in favor of the GNSS interface.

nRF5

The following changes are relevant for the nRF52 and nRF53 Series.

nRF Desktop

  • Added:

    • Added a functionality to clear the button state reported over Bluetooth® LE if the USB was connected while the button was pressed. This fixes an issue related to reporting wrong button state over Bluetooth® LE.

    • Added support for HID keyboard LED output report. The report is handled by the nRF Desktop peripherals and forwarded by the nRF Desktop dongles.

    • Added support for nRF5340 DK working as an nRF Desktop dongle.

    • Added a functionality for forwarding HID boot reports in HID forward module.

    • Added GPIO LEDs to the nrf52820dongle_nrf52820 board.

  • Updated:

    • Changed settings backend from FCB to NVS.

    • Switched to using CAF: Power manager module.

    • Fixed an issue with generating motion in Motion module (motion_buttons and motion_simulated) while the HID boot protocol was in use.

    • Fixed an issue where the USB state module and the HID Service module modules might forward the HID input reports related to an old protocol after changing the protocol mode.

Bluetooth® LE

Bluetooth mesh

ESB

  • Updated:

    • Modified the ESB interrupts configuration to reduce the ISR latency and enable scheduling decision in the interrupt context.

Front-end module (FEM)

  • Added support for the nRF21540 GPIO interface to the nRF5340 network core.

  • Added support for RF front-end Modules (FEM) for nRF5340 in the Multiprotocol Service Layer library. The front-end module feature for nRF5340 in MPSL currently supports nRF21540, but does not support the SKY66112-11 device.

  • Added a device tree shield definition for the nRF21540 Evaluation Kit with the related documentation.

Matter

nRF IEEE 802.15.4 radio driver

Thread

  • Added:

    • Added support for nRF21540 for nRF52 Series and nRF53 Series, including Bluetooth® LE in the multiprotocol configuration.

    • Improvements in Thread 1.2 features:

      • Thread 1.2 supported in all samples.

      • Retransmissions are now supported when transmission security is handled by the radio driver.

      • Support for CSL Accuracy TLV in the MLE Parent Response.

      • Link Metrics data is now properly updated when using ACK-based Probing.

    • Added support for Thread Backbone Border Router on the Radio co-processor (RCP) architecture.

  • Updated:

Zigbee

  • In this release, Zigbee is supported for development and should not be used for production. The nRF Connect SDK v1.5.1 contains the certified Zigbee solution supported for production.

  • Added:

    • Added production support for radio front-end module (FEM) for nRF52 Series devices and nRF21540 EK.

    • Added development support for radio front-end module (FEM) for nRF53 Series devices and nRF21540 EK.

    • Added development support for nrf5340dk_nrf5340_cpuapp to the Zigbee: NCP sample.

    • Zigbee ZCL scene helper library with documentation. This library was separated from the Zigbee light bulb sample.

    • Zigbee: Template sample. This minimal Zigbee router application can be used as the starting point for developing custom Zigbee devices.

    • Added user guide about Adding ZCL clusters to application that is based on the new template sample.

    • Added API for vendor-specific NCP commands. See the Zigbee NCP sample page for more information.

    • Added API for Zigbee command for getting active nodes.

  • Updated:

    • ZBOSS Zigbee stack to version 3.8.0.1+4.0.0. See the Changelog in the nrfxlib documentation for detailed information.

    • ZBOSS NCP Host is now supported for production and updated to version 1.0.0.

    • Stack logs - Improved printing ZBOSS stack logs. Added new backend options to print ZBOSS stack logs with option for using binary format.

    • Fixed the KRKNWK-9743 known issue where the timer could not be stopped in Zigbee routers and coordinators.

    • Fixed the KRKNWK-10490 known issue that would cause a deadlock in the NCP frame fragmentation logic.

    • Fixed the KRKNWK-6071 known issue with inaccurate ZBOSS alarms.

    • Fixed the KRKNWK-5535 known issue where the device would assert if flooded with multiple Network Address requests.

    • Fixed an issue where the NCS would assert in the host application when the host started just after SoC’s SysReset.

Other samples

Common

The following changes are relevant for all device families.

Build system

  • Bugfixes:

    • Fixed a bug where dfu_application.zip would not be updated after rebuilding the code with changes.

Common Application Framework (CAF)

Edge Impulse

NFC

  • Updated the NFCT interrupt configuration to reduce the ISR latency and enable scheduling decision in the interrupt context.

  • Updated the URI messages and records library to allow encoding of URI strings longer than 255 characters.

Pelion

  • Updated Pelion Device Management Client library version to 4.10.0.

  • Switched to using CAF: Power manager module and CAF: Network state module in the nRF Pelion Client application.

  • Updated the nRF Pelion Client application documentation with a step that requires downloading Pelion development tools.

Profiler

  • Added profiling string data.

  • Optimized numeric data encoding.

Trusted Firmware-M

  • Added a test case for the secure read service that verifies that only addresses within the accepted range can be read.

  • Updated tfm_platform_system.c to fix a bug that returned TFM_PLATFORM_ERR_SUCCESS instead of TFM_PLATFORM_ERR_INVALID_PARAM when the address passed is outside of the accepted read range.

sdk-nrfxlib

See the changelog for each library in the nrfxlib documentation for additional information.

Crypto
Modem library
  • Added:

    • Added a new API for AT commands. See AT interface for more information.

    • Added a new API for modem delta firmware updates. See Delta firmware updates for more information.

  • Updated:

  • Deprecated:

    • The AT socket API is now deprecated.

    • The DFU socket API is now deprecated.

nRF IEEE 802.15.4 radio driver
  • Modified the 802.15.4 Radio Driver Transmit API. For full information, see Changelog.

MCUboot

The MCUboot fork in nRF Connect SDK (sdk-mcuboot) contains all commits from the upstream MCUboot repository up to and including 680ed07, plus some nRF Connect SDK specific additions.

The code for integrating MCUboot into nRF Connect SDK is located in ncs/nrf/modules/mcuboot.

The following list summarizes the most important changes inherited from upstream MCUboot:

  • Added support for simultaneous multi-image DFU for the nRF53 Series. For more information, see the Working with nRF5340 DK and Working with Thingy:53 user guides.

  • Added AES support for image encryption (based on mbedTLS).

  • MCUboot serial: Ported encoding to use the cddl-gen module (which removes dependency on the TinyCBOR library).

  • bootutil_public library: Made boot_read_swap_state() declaration public.

Mcumgr

The mcumgr library contains all commits from the upstream mcumgr repository up to and including snapshot 657deb65.

The following list summarizes the most important changes inherited from upstream mcumgr:

  • Added support for simultaneous multi-image DFU for the nRF53 Series. For more information, see the Working with nRF5340 DK and Working with Thingy:53 user guides.

  • Fixed an issue with SMP file management commands that would fail to read or write files, or both.

Zephyr

The Zephyr fork in nRF Connect SDK (sdk-zephyr) contains all commits from the upstream Zephyr repository up to and including 14f09a3b00, plus some nRF Connect SDK specific additions.

For a complete list of upstream Zephyr commits incorporated into nRF Connect SDK since the most recent release, run the following command from the ncs/zephyr repository (after running west update):

git log --oneline 14f09a3b00 ^v2.6.0-rc1-ncs1

For a complete list of nRF Connect SDK specific commits, run:

git log --oneline manifest-rev ^14f09a3b00

Matter (Project CHIP)

The Matter fork in the nRF Connect SDK (sdk-connectedhomeip) contains all commits from the upstream Matter repository up to, and including, b77bfb047374b7013dbdf688f542b9326842a39e.

The following list summarizes the most important changes inherited from the upstream Matter:

  • Added:

    • Support for Certificate-Authenticated Session Establishment (CASE) for communication among operational Matter nodes.

    • Support for OpenThread’s DNS Client to enable Matter node discovery on Thread devices.

  • Updated:

    • Fixed the known issue KRKNWK-10387 where Matter service was needlessly advertised over Bluetooth® LE during DFU. Now if Matter pairing mode is not opened and the Bluetooth® LE advertising is needed due to DFU requirements, only the SMP service is advertised.

Partition Manager

  • Reworked how external flash memory support is enabled. The MCUboot secondary partition can now be placed in external flash memory without modifying any nRF Connect SDK files.

Documentation

In addition to documentation related to the changes listed above, the following documentation has been updated:

nrfxlib