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.
Bluetooth: Direct Test Mode and Radio test (short-range) sample support.
Support for Bluetooth® LE, Thread, Zigbee, and multiprotocol applications and samples using Multiprotocol Service Layer.
Support for nRF21540 development kit (DK), nRF21540 evaluation kit (EK) and custom board configurations.
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 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, callcloud_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 eithernrf_cloud_sensor_data_send()
ornrf_cloud_shadow_update()
.Updated
nrf_cloud_shadow_update()
to expect thatparam->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 structurenrf_cloud_sa_param
, and the eventNRF_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 hasbase64url
encoding.Board names:
The
nrf9160dk_nrf9160ns
and thenrf5340dk_nrf5340_cpuappns
boards have been renamed respectively tonrf9160dk_nrf9160_ns
andnrf5340dk_nrf5340_cpuapp_ns
, in a change inherited from upstream Zephyr.The
thingy91_nrf9160ns
board has been renamed tothingy91_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 has been deprecated in favor of the AT monitor library.at_cmd
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
andmotion_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
Added:
Production support for nRF21540 GPIO for both nRF52 and nRF53 Series.
Running Speed and Cadence Service (RSCS) - This module implements the Running Speed and Cadence Service (RSCS) with the corresponding set of characteristics.
Bluetooth: Peripheral Running Speed and Cadence Service (RSCS) sample - This sample demonstrates how to use the Running Speed and Cadence Service (RSCS).
Experimental implementation of the UART async adapter extension inside the Bluetooth: Peripheral UART sample.
Updated:
Bluetooth samples - Changed the Bluetooth® sample Central DFU SMP name to Central SMP Client.
Bluetooth: Direction finding connectionless locator and Bluetooth: Direction finding connectionless beacon samples - Added default configuration for
nrf52833dk_nrf52820
andnrf5340dk_nrf5340_cpuapp
, andnrf5340dk_nrf5340_cpuapp_ns
boards.Bluetooth: Direct Test Mode - Added an automatic build of the nRF5340: Empty firmware for application core sample, when building for
nrf5340dk_nrf5340_cpunet
.Fixed the NCSDK-9820 known issue in the Bluetooth: Peripheral LBS sample. When Button 1 was pressed and released while holding one of the other buttons, the notification for release was the same as for press.
Fixed an issue in the GATT Discovery Manager library where a memory fault could happen if a peer device disconnected during the service discovery process.
LED Button Service (LBS) library - Added write request data validation in the LED characteristic.
Bluetooth mesh
Added:
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:
Updated the Light HSL Server and the Light xyL Server models to no longer extend the Light Lightness Server model, and instead get a pointer to this model in the initialization macro.
Updated samples with support for the Thingy:53.
Fixed an issue where beacons were stopped being sent after node reset.
Fixed an issue where the IV update procedure could be started immediately after the device has been provisioned.
Fixed multiple issues in the Bluetooth mesh sensor types module.
Migration:
The model opcode callback
bt_mesh_model_op.func
is changed to return an error code if the message processing has failed. If you have implemented your own models, make sure to update opcode handlers of those models.Scene Server now extends Generic Default Transition Time Server. If you are using the Scene Server, make sure that the Generic Default Transition Time Server instance is present on the element that is equal to or lower than the Scene Server’s element.
Light HSL Server and Light xyL Server no longer instantiate the Light Lightness Server through
BT_MESH_MODEL_LIGHT_HSL_SRV
andBT_MESH_MODEL_LIGHT_XYL_SRV
macros respectively. MacrosBT_MESH_LIGHT_XYL_SRV_INIT
andBT_MESH_LIGHT_HSL_SRV_INIT
now take a pointer to thebt_mesh_lightness_srv
instance instead. Make sure to instantiate the Light Lightness Server if you are using any of these models.
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
Added:
Thingy:53 weather station application.
Template sample with a guide about Adding clusters to Matter application.
Matter tools page with information about building options for Matter controllers.
PA/LNA GPIO interface support for RF front-end modules (FEM) in Matter.
Matter documentation set based on the documentation from the Matter submodule.
nRF IEEE 802.15.4 radio driver
Added:
IEEE 802.15.4 PHY test tool sample, with an experimental Antenna Diversity functionality.
Wi-Fi coexistence functionality supported for development.
Updated
NRF_802154_SWI_PRIORITY
,NRF_802154_ECB_PRIORITY
, andNRF_802154_SL_RTC_IRQ_PRIORITY
to comply with the limitation introduced in the nRF 802.15.4 radio driver in nrfxlib.
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:
Thread: CLI sample - Updated with the USB support.
Thread: Co-processor sample - Updated with the USB support.
OpenThread memory requirements - Updated memory requirements values.
Removed
NET_SHELL
from the Thread samples due to its limited usefulness.
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 nRF Connect SDK would assert in the host application when the host started just after SoC’s SysReset.
Other samples
Radio test (short-range) - Added an automatic build of the nRF5340: Empty firmware for application core sample, when building for
nrf5340dk_nrf5340_cpunet
.
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)
Added CAF: Network state module.
Added CAF: Power manager module.
Updated CAF: Sensor manager module with a limit to the number of
sensor_event
events that it submits.
Edge Impulse
Added support for Thingy:53 to nRF Machine Learning.
Added configuration for nRF52840 DK that supports data forwarder over NUS to nRF Machine Learning.
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 returnedTFM_PLATFORM_ERR_SUCCESS
instead ofTFM_PLATFORM_ERR_INVALID_PARAM
when the address passed is outside of the accepted read range.
sdk-nrfxlib
Updated the default Remote procedure call library (nRF RPC) transport backend to use the RPMsg Service library.
See the changelog for each library in the nrfxlib documentation for additional information.
Crypto
Updated the nrf_cc3xx_platform/nrf_cc3xx_mbedcrypto library to version 0.9.11. For full information, see Changelog - nrf_cc3xx_platform and Changelog - nrf_cc3xx_mbedcrypto.
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:
Updated Modem library to version 1.3.0. See the Changelog for detailed information.
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 Developing 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 Developing 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:
General changes:
Added cross-search functionality to the documentation search feature available at the top-left corner of each documentation page. Searching now parses all documentation sets pages and displays the results for each set. For example, results from the nrfxlib documentation set will be listed with
nrfxlib >>
before the page title.Updated the pages in the Getting started section with information about the support for the new Visual Studio Code extension.
Updated the style and formatting of all figures across all documentation pages.
Added new documentation sets for Trusted Firmare-M and Matter.
Split the “Applications and samples” section into Applications and Samples.
Renamed nRF Connect for Cloud to nRF Cloud.
Updated the FEM support section for the samples that offer this feature.
Implemented several formatting and style updates for consistency reasons.
Added pages:
Added the Developing with Thingy:53 user guide.
Added the Using nRF Cloud with the nRF Connect SDK user guide.
Added nRF9160: Serial LTE modem application pages:
Running in data mode page
FOTA AT commands page
Socket AT commands page
GNSS AT commands page
Added the Thingy:53: Matter weather station application page.
Added the Crypto: PSA TLS sample page.
Added the Bluetooth GATT attribute pools library page.
Added the Running Speed and Cadence Service (RSCS) library page.
Added documentation pages for the following Zigbee libraries:
Updated pages:
Glossary - Added definition for new terms, such as Attribute Protocol, CMSIS, GAP, and GATT.
Getting started section pages:
Requirements - Now includes information about the supported operating systems, previously listed on a separate page.
Installing automatically - Added information about Toolchain manager being available for macOS and steps for building from SEGGER Embedded Studio.
Installing manually - Added information about the version folder created when extracting the GNU Arm Embedded Toolchain and applied minor fixes based on usability testing (for example, to the Linux installation instructions).
Application development section pages:
Multi-image builds - Updated with the section about Child image devicetree overlays.
Working with RF front-end modules - Updated for the nRF21540 release.
Working with nRF91 Series user guide - Restructured into several subpages.
Working with nRF5340 DK user guide - Reworked with major updates.
Protocols section pages:
Matter pages:
Matter tools - New page.
Adding clusters to Matter application - New page.
Thread pages:
Configuring Thread in the nRF Connect SDK - Updated with new configuration options.
Supported Thread features - Updated with new supported features.
Thread tools - Updated the section about Configuring a radio co-processor and added the Running the OpenThread POSIX applications section.
Zigbee pages:
Configuring Zigbee in nRF Connect SDK - Updated the Custom logging per module section.
Zigbee memory requirements - Updated the memory values for the latest release.
Applications section pages:
nRF9160: Asset Tracker v2 pages:
Restructured the single application page into several subpages.
Updated with information about using the LwM2M carrier library.
Updated the device modes section.
Added links and information about A-GPS and P-GPS support with nRF Cloud.
nRF9160: Serial LTE modem pages:
Removed the GPS AT commands page.
Samples section pages:
-
Bluetooth: Central SMP Client - Page added. Replaces Central DFU SMP sample.
Bluetooth: Direction finding connectionless locator - Updated with the section about Constant Tone Extension transmit and receive parameters.
-
Removed the weather station sample page for Matter. The sample has been upgraded to application.
-
nRF9160: HTTP full modem update - Updated with the description of its customization options for firmware files.
-
Zigbee: NCP - Updated with information about logging ZBOSS traces and about vendor-specific commands.
-
Libraries section pages:
nRF Profiler - Several updates.
About this documentation section pages:
Building the nRF Connect SDK documentation - Updated the documentation building procedure.
Documentation guidelines - Simplified the guidelines.
nrfxlib
Multiprotocol Service Layer section pages:
MPSL Clock - Page added.
IEEE 802.15.4 External Radio Coexistence - Page added.
Front-end module feature - Updated the nRF21540 usage section.
Integration notes - Updated different parts of the entire page.
nRF 802.15.4 Radio Driver section pages:
API documentation - Page added.
Driver features - Updated the Performing retransmissions section.
Modem library section pages:
API documentation - Updated with new API sections.
Full firmware updates - Updated with major changes.
Renamed the “AT commands” page to
AT socket
.AT interface - Page added.
Delta firmware updates - Page added.