nRF Connect SDK v2.9.0 Release Notes
nRF Connect SDK delivers reference software and supporting libraries for developing low-power wireless applications with Nordic Semiconductor products in the nRF52, nRF53, nRF54, nRF70, and nRF91 Series. The SDK includes open source projects (TF-M, MCUboot, OpenThread, Matter, and the Zephyr RTOS), which are continuously integrated and redistributed with the SDK.
Release notes might refer to “experimental” support for features, which indicates that the feature is incomplete in functionality or verification, and can be expected to change in future releases. To learn more, see Software maturity levels.
Highlights
Added the following features as supported:
nRF54L Series:
FMN extension available for members of the Apple MFi program and Apple Find My.
nRF54L10 and nRF54L05 SoCs support including emulated targets on the nRF54L15 DK including:
Protocol support on the nRF54L10 SoC for Bluetooth® LE, Amazon Sidewalk, Thread 1.4, and Matter over Thread.
Protocol support on the nRF54L05 SoC for Bluetooth LE and Thread 1.4.
All standard SoC peripherals.
PSA Crypto APIs (hardware-accelerated) for cryptographic operations and key storage.
Bluetooth:
Parallel scanning and initiating connection. It reduces the overall waiting time when there are several Bluetooth devices to be discovered and connected at the same time.
Wi-Fi®:
WPA3 Enterprise security in the nRF Wi-Fi driver, using nRF Connect SDK legacy crypto APIs (non-PSA), running on an nRF5340 SoC as a host to an nRF70 Series Wi-Fi 6 companion IC.
Matter 1.4 enhancements:
Long Idle Time (LIT) protocol extending battery life for Matter over Thread devices. This feature is showcased in the new Matter: Smoke CO Alarm sample.
Check-in protocol ensuring reliable communication for low-power devices requiring LIT.
Energy management - Support for new device types, such as solar panels, batteries, heat pumps, and water heaters, as well as improvements to Electric Vehicle Supply Equipment (EVSE) and thermostats.
Occupancy sensing - Sensing features, such as radar vision and ambient sensing technologies.
Two new device types (mounted On/Off and dimmable load control) designed specifically for fixed in-wall smart home devices that deliver power to wired devices.
For more information, see the CSA press release for Matter 1.4.
Added the following features as experimental:
Bluetooth:
Bluetooth: Channel Sounding Reflector with Ranging Responder and Bluetooth: Channel Sounding Initiator with Ranging Requestor samples for the nRF54L Series devices. The samples showcase how to use the ranging service between two devices. They are primarily meant to demonstrate the data flow between initiator and reflector. The ranging algorithm in these samples is for illustrative purposes, and the resulting accuracy is not representative for Channel Sounding.
Sign up for the nRF Connect SDK v2.9.0 webinar to learn more about the new features.
Release tag
The release tag for the nRF Connect SDK manifest repository (https://github.com/nrfconnect/sdk-nrf) is v2.9.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 Install the nRF Connect SDK code and toolchain and Updating the repositories for more information.
For information on the included repositories and revisions, see Repositories and revisions for v2.9.0.
Integration test results
The integration test results for this tag can be found in the following external artifactory:
IDE and tool support
nRF Connect extension for Visual Studio Code is the recommended IDE for nRF Connect SDK v2.9.0. See the Installation section for more information about supported operating systems and toolchain.
Supported modem firmware
See the following documentation 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 Programmer app of nRF Connect for Desktop to update the modem firmware. See the Programming nRF91 Series DK firmware page for instructions.
Known issues
Known issues are only tracked for the latest official release. See known issues for nRF Connect SDK v2.9.0 for the list of issues valid for the latest release.
Migration notes
See the Migration guide for nRF Connect SDK v2.9.0 for the changes required or recommended when migrating your application from nRF Connect SDK v2.8.0 to nRF Connect SDK v2.9.0.
Changelog
The following sections provide detailed lists of changes by component.
IDE, OS, and tool support
Added support for the Nordic Thingy:91 X to the Quick Start app. The list on the Quick Start page is updated accordingly.
Updated the deprecation notes for nRF Command Line Tools added in the previous release. The notes now clearly state the tools will be archived, no updates will be made to the software, but it will still be available for download.
Board support
Updated various tests and samples to use Zephyr’s native simulator instead of Zephyr’s native POSIX for Running unit tests. This mirrors the deprecation of
native_posixin Zephyr. Support fornative_posixwill be removed in Zephyr with the v4.2 release. In the nRF Connect SDK, it will be removed once Zephyr v4.2 is upmerged to sdk-nrf.
Build and configuration system
Fixed the issue in the
nordic-bt-rpcsnippet, where an invalid memory map was created for nRF54H20 devices, which resulted in a runtime failure.
Bootloaders and DFU
Updated the allowed offset for Firmware information in the nRF Secure Immutable Bootloader. It can now be placed at offset
0x600. However, you cannot use it for any applications with nRF Secure Immutable Bootloader compiled before this change.
Developing with nRF91 Series
Moved the Thingy:91 and Thingy:91 X guides to new sections, Developing with Thingy:91 and Developing with Thingy:91 X respectively, under Application development.
Developing with nRF54L Series
Added:
The Signing applications with integrated FLPR payload page that includes instructions for building separate applications, merging them, and signing them for MCUboot.
The KMU and CRACEN hardware peripherals overview page explaining basic concepts and recommendations.
Developing with nRF53 Series
Moved the Thingy:53 to a new section, Developing with Thingy:53, under Application development.
Developing with Front-End Modules
Deprecated the explicit use of
-DSHIELD=nrf21540ek_fwdfor boards withnrf5340/cpuappqualifiers when the nRF21540 EK shield is used. The build system uses an appropriate overlay file for each core, relying only on the-DSHIELD=nrf21540ekparameter.
Security
Extended the
west ncs-provisioncommand so that different key lifetime policies can be selected.
Protocols
This section provides detailed lists of changes by protocol. See Samples for lists of changes for the protocol-related samples.
Amazon Sidewalk
Added support for the
nrf54l15dk/nrf54l10/cpuappboard target.
Bluetooth LE
Added support for scanning and initiating at the same time. This was introduced in nRF Connect SDK 2.7.0 as experimental. The Bluetooth: Scanning while connecting sample showcases how you can use this feature to reduce the time to establish connections to many devices.
Matter
Added:
Implementation of the
Spake2pVerifierclass for the PSA crypto backend. You can use this class to generate the Spake2+ verifier at runtime. To use this class, enable the Kconfig optionsCONFIG_PSA_WANT_ALG_PBKDF2_HMACandCONFIG_PSA_WANT_KEY_TYPE_SPAKE2P_KEY_PAIR_DERIVE.The Matter watchdog pause mode to the Matter watchdog feature.
Matter fork
The Matter fork in the nRF Connect SDK (sdk-connectedhomeip) contains all commits from the upstream Matter repository up to, and including, the v1.4.0.0 tag.
The following list summarizes the most important changes inherited from the upstream Matter:
Added:
Enhanced Network Infrastructure with Home Routers and Access Points (HRAP). This provides requirements for devices such as home routers, modems, or access points to create a necessary infrastructure for Matter products.
Enhanced multi-admin that aims to simplify the smart home management from the user perspective. This term includes several different features and in this release only Fabric Synchronization was fully delivered. The Fabric Synchronization enables commissioning of devices from one fabric to another without requiring manual user actions, only user consent.
Dynamic SIT LIT switching support that allows the application to switch between these modes, as long as the requirements for these modes are met. You can enable this using the
CONFIG_CHIP_ICD_DSLS_SUPPORTKconfig option.The Kconfig option
CONFIG_CHIP_ICD_SIT_SLOW_POLL_LIMITto limit the slow polling interval value for the device while it is in the SIT mode. You can use this to limit the slow poll interval for the ICD LIT device while it is temporarily working in the SIT mode.New device types:
Water heater
Solar power
Battery storage
Heat pump
Mounted on/off control
Mounted dimmable load control
Updated:
Thermostat cluster with support for scheduling and preset modes, like vacation, and home or away settings.
Electric Vehicle Supply Equipment (EVSE) with support for user-defined charging preferences, like specifying the time when the car will be charged.
Occupancy sensing cluster with features like radar, vision, and ambient sensing.
Intermittently Connected Devices feature with enhancements for the Long Idle Time (LIT) and Check-In protocol. With these enhancements, the state of this feature is changed from provisional to certifiable.
Thread
Added Kconfig options for configuring the MLE child update timeout, child supervision interval, and child supervision check timeout.
Zigbee
Updated:
ZBOSS Zigbee stack to v3.11.6.0 and platform v5.1.7 (
v3.11.6.0+5.1.7). They contain several fixes related to malfunctioning in a heavy traffic environment and more. For details, see ZBOSS changelog.The ZBOSS Network Co-processor Host package to the new version v2.2.5.
Wi-Fi
Updated the Wi-Fi regulatory channel rules for some countries in the Operating with regulatory support documentation.
Applications
This section provides detailed lists of changes by application.
Asset Tracker v2
Updated the Wi-Fi configurations to reduce the RAM usage by about 25 kB for an nRF91 Series DK and 12 kB for the Thingy:91 X.
Connectivity bridge
Updated the handling of USB CDC ACM baud rate requests to make sure the baud rate is set correctly when the host requests a change. This fixes an issue when using GNU screen with the Thingy:91 X.
Matter bridge
Added:
Support for the
UniqueIDattribute in the Bridged Device Basic Information cluster.Version 2 of the bridged device data scheme containing
UniqueID.Kconfig options
CONFIG_BRIDGE_MIGRATE_PRE_2_7_0andCONFIG_BRIDGE_MIGRATE_VERSION_1to enable migration from older data schemes.
nRF5340 Audio
Updated:
The documentation for Building and running nRF Audio applications with cross-links and additional information, based on user feedback.
The calculation in
audio_datapath.num_blks_in_fifoto consider wrapping.
nRF Desktop
Updated:
The Settings loader module to make the Zephyr Memory Storage (ZMS) the default settings backend for all board targets that use the MRAM technology. As a result, all nRF54H20 DK configurations were migrated from the NVS settings backend to the ZMS settings backend.
Watchdog module by adding the nRF54H20 DK release configuration.
The configuration files of the Click detector module (
click_detector_def.h) to allow using them also when Bluetooth LE peer control using a dedicated button (CONFIG_DESKTOP_BLE_PEER_CONTROL) is disabled.The DTS description for board targets with a different DTS overlay file for each build type to isolate the common configuration that is now defined in the
app_common.dtsifile. The following board configurations have been updated:MCUboot bootloader configurations to enable the following Kconfig options:
CONFIG_FPROTECT- Used to protect the bootloader partition against memory corruption.CONFIG_HW_STACK_PROTECTION- Used to protect against stack overflows.
The
CONFIG_HW_STACK_PROTECTIONKconfig option and its dependency (theCONFIG_ARM_MPUKconfig option) might be disabled in case of targets with limited memory.MCUboot bootloader configuration for the MCUboot SMP build type and the nRF52840 Gaming Mouse target to enable the
CONFIG_ARM_MPUKconfig option that is required to enable hardware stack protection (CONFIG_HW_STACK_PROTECTION).The nRF54L15 DK’s configurations (
nrf54l15dk/nrf54l15/cpuapp) to enable hardware cryptography for the MCUboot bootloader. The application image is verified using a pure ED25519 signature. The public key that MCUboot uses for validating the application image is securely stored in the hardware Key Management Unit (KMU).The change increases the MCUboot partition size (modifies the Partition Manager configuration) and changes the MCUboot image signing algorithm. Because of that, the nRF Desktop application images built for an nRF54L15 DK from the nRF Connect SDK v2.9.0 are not compatible with the MCUboot bootloader built from previous releases. It is highly recommended to use hardware cryptography for the nRF54L SoC Series for improved security. See the nRF Desktop: Bootloader and Device Firmware Update page for more details.
The Bluetooth LE connection parameters module to:
Fix the Bluetooth LE connection parameters update loop (NCSDK-30261) that replicated if an nRF Desktop dongle without Low Latency Packet Mode (LLPM) support was connected to an nRF Desktop peripheral with LLPM support.
Wait until a triggered Bluetooth LE connection parameters update is completed before triggering subsequent updates for a given connection.
Improve the log to also display the information if USB is suspended. The information is needed to determine the requested connection parameters.
Use non-zero Bluetooth LE peripheral latency while USB is suspended. This is done to prevent peripheral latency increase requests from Bluetooth LE latency module on peripheral’s end.
Revert the USB suspended Bluetooth LE connection parameter update when USB cable is disconnected.
The Bluetooth LE scanning module to always use a connection interval of 10 ms for peripherals without Low Latency Packet Mode (LLPM) support if a dongle supports LLPM and more than one Bluetooth LE connection. This is required to avoid Bluetooth Link Layer scheduling conflicts that could lead to HID report rate drop.
Removed imply for partial erase feature of the nRF SoC flash driver (
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE) for the USB next stack (CONFIG_DESKTOP_USB_STACK_NEXT). The partial erase feature was used as a workaround for device errors that might be reported by the Windows USB host in Device Manager if a USB cable is connected while erasing a secondary image slot in the background. The workaround is no longer needed after the nRF UDC driver was improved.
Samples
This section provides detailed lists of changes by sample.
Bluetooth samples
Added:
The Bluetooth: Channel Sounding Reflector with Ranging Responder sample demonstrating how to implement a Channel Sounding Reflector that exposes the Ranging Responder GATT Service.
The Bluetooth: Channel Sounding Initiator with Ranging Requestor sample demonstrating Channel Sounding by setting up a Channel Sounding Initiator that acts as a Ranging Requestor GATT Client. It includes a basic distance estimation to demonstrate IQ data handling. The accuracy is not representative for Channel Sounding and should be replaced if accuracy is important.
The Bluetooth: Peripheral with multiple identities sample demonstrating how to use a single physical device to create and manage multiple advertisers, making it appear as multiple distinct devices by assigning each a unique identity.
The Bluetooth: Scanning while connecting sample demonstrating how to establish multiple connections faster using the
CONFIG_BT_SCAN_AND_INITIATE_IN_PARALLELKconfig option.Support for the
nrf54l15dk/nrf54l05/cpuappandnrf54l15dk/nrf54l10/cpuappboard targets in the following samples:
Updated:
Configurations of the following Bluetooth samples to make the Zephyr Memory Storage (ZMS) the default settings backend for all board targets that use the MRAM technology:
As a result, all nRF54H20 DK configurations of the affected samples were migrated from the NVS settings backend to the ZMS settings backend.
Testing steps in the Bluetooth: Peripheral HIDS mouse to provide the build configuration that is compatible with the Bluetooth Low Energy app testing tool.
Bluetooth: Peripheral power profiling sample:
Added support for the nRF54H20 DK board target.
nRF Auraconfig sample:
Fixed the data sending (OCT-3251). Data is now sent on all BISes when generated by the application (no SD card inserted).
Bluetooth Fast Pair samples
Bluetooth Fast Pair: Locator tag sample:
Updated the MCUboot bootloader configuration for the nRF54L15 DK board target to enable the
CONFIG_FPROTECTKconfig option that is used to protect the bootloader partition against memory corruption.
Bluetooth Fast Pair: Input device sample:
Added support for the nRF54H20 DK board target.
Cellular samples
Updated the
CONFIG_NRF_CLOUD_CHECK_CREDENTIALSKconfig option to be optional and enabled by default for the following samples:nRF Cloud REST cellular location sample
nRF Cloud REST Device Message sample
nRF Cloud REST FOTA sample
Cellular: Location sample:
Updated:
The Thingy:91 X build to support Wi-Fi by default without overlays.
The Wi-Fi configurations to reduce the RAM usage by about 25 kB.
Cellular: Modem Shell sample:
Updated the Wi-Fi configurations to reduce the RAM usage by about 25 kB.
nRF Cloud multi-service sample:
Updated the Wi-Fi configurations to reduce the RAM usage by about 12 kB for an nRF91 Series DK and 25 kB for the Thingy:91 X.
DECT NR+ samples
nRF91x1: DECT NR+ Shell sample:
Added:
The
dect maccommand. A brief MAC-level code sample on top of DECT PHY interface with new commands to create a periodic cluster beacon, scan for it, associate or disassociate a PT/client, and send data to a FT/beacon random access window. This is not a full MAC implementation and not fully compliant with DECT NR+ MAC specification (ETSI TS 103 636-4).The
startup_cmdcommand. This command is used to store shell commands to be run sequentially after bootup.Band 4 support for nRF9151 with modem firmware v1.0.2.
Updated:
The
dect rssi_scancommand with busy/possible/free subslot count-based RSSI scan.The
dect rxcommand to provide the possibility to iterate all channels and to enable RX filter.
Edge Impulse samples
Added support for the nRF54H20 DK board target in the following samples:
Edge Impulse: Data forwarder
Edge Impulse: Wrapper
Matter samples
Updated:
All Matter samples that support low-power mode to enable the RAM power-down feature. It is enabled by default for the release configuration of the following samples:
All Matter samples to enable the ZMS file subsystem in all devices that contain MRAM, such as the nRF54H Series devices.
Disabled pausing Matter watchdog while CPU is in idle state in all Matter samples. To enable it, set the
CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_PAUSE_IN_SLEEPKconfig option toy.Matter: Template sample:
Added support for the
nrf54l15dk/nrf54l10/cpuappboard target.Updated the internal configuration for the nRF54L15 DK target to use the DFU image compression and provide more memory space for the application.
Matter: Smoke CO Alarm sample:
Added:
Support for ICD dynamic SIT LIT switching (DSLS).
Support for the
nrf54l15dk/nrf54l10/cpuappboard target.
Peripheral samples
Added support for the
nrf54l15dk/nrf54l05/cpuappandnrf54l15dk/nrf54l10/cpuappboard targets in the Radio test (short-range) sample.
Protocol serialization samples
Updated GPIO pins on the nRF54L15 DK used for communication between the client and server over UART. One of the previously selected pins was also used to drive an LED, which may have disrupted the UART communication.
Thread samples
Removed support for the
nrf5340dk/nrf5340/cpuapp/nsboard target for all samples.Thread: CLI sample:
Added support for the
nrf54l15dk/nrf54l10/cpuappboard target.
Thread: Co-processor sample:
Added support for the
nrf54l15dk/nrf54l10/cpuappandnrf54l15dk/nrf54l05/cpuappboard targets.
Other samples
CoreMark sample:
Updated:
Configuration for the nRF54H20 DK board to support multi-domain logging using the ARM Coresight STM.
The logging format in the standard logging mode to align it with the format used in the multi-domain logging mode.
Support for alternative configurations to use the file suffix feature from Zephyr. The following file suffixes are supported as alternative configurations:
flash_and_runheap_memorystatic_memorymultiple_threads
Drivers
This section provides detailed lists of changes by driver.
Wi-Fi drivers
Added the TX power calculation section to the nRF Wi-Fi driver page.
Libraries
This section provides detailed lists of changes by library.
Binary libraries
LwM2M carrier library:
Updated the Requirements and application limitations page to clarify carrier-specific requirements. Added overlay files and documentation to Serial LTE modem application and Cellular: LwM2M carrier sample to guide in the correct usage of LwM2M carrier library for SoftBank and LG U+.
Bluetooth libraries and services
Added the Ranging Requestor (RREQ) and Ranging Responder (RRSP) libraries.
GATT Human Interface Device Service (HIDS) Client library:
Updated the
bt_hogp_rep_read()function to forward the GATT read error code through the registered user callback. This ensures that API user is aware of the error.
Google Fast Pair Service (GFPS) library:
Added support in build system for devices that do not support the Partition Manager. The nRF54H20 DK board target is the only example of such a device.
Modem libraries
Modem key management library:
Added the CME error code 527 - invalid content.
Updated to handle generic CME errors from all
AT%CMNGcommands.
nRF RPC libraries
Added the nRF RPC utility commands library for obtaining information about a device connected through the Remote procedure call library (nRF RPC).
sdk-nrfxlib
See the changelog for each library in the nrfxlib documentation for additional information.
Scripts
This section provides detailed lists of changes by script.
HID configurator for nRF Desktop Python script:
Added support for pure ED25519 signature (used by nRF54L-based devices that enable MCUboot hardware cryptography). This requires using
imgtoolsupporting pure ED25519 signature that can be installed fromsdk-mcubootrepository.
MCUboot
The MCUboot fork in nRF Connect SDK (sdk-mcuboot) contains all commits from the upstream MCUboot repository up to and including e890df7ab975da181a9f3fb3abc470bf935625ab, with some nRF Connect SDK specific additions.
The code for integrating MCUboot into nRF Connect SDK is located in the ncs/nrf/modules/mcuboot folder.
The following list summarizes both the main changes inherited from upstream MCUboot and the main changes applied to the nRF Connect SDK specific additions:
Added an option that allows to select the number of KMU key slots (also known as generations) to use when verifying an image. See MCUboot’s Kconfig option
CONFIG_BOOT_SIGNATURE_KMU_SLOTS.
Zephyr
The Zephyr fork in nRF Connect SDK (sdk-zephyr) contains all commits from the upstream Zephyr repository up to and including beb733919d8d64a778a11bd5e7d5cbe5ae27b8ee, with some nRF Connect SDK specific additions.
For the list of upstream Zephyr commits (not including cherry-picked 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 beb733919d ^ea02b93eea
For the list of nRF Connect SDK specific commits, including commits cherry-picked from upstream, run:
git log --oneline manifest-rev ^beb733919d
The current nRF Connect SDK main branch is based on revision beb733919d of Zephyr.
Note
For possible breaking changes and changes between the latest Zephyr release and the current Zephyr version, refer to the Zephyr release notes.
Documentation
Added:
The Shared configurations in Matter samples page that documents Kconfig options and snippets shared by Matter samples and applications.
A page about Adding new drivers.
A page for the High-Performance Framework GPIO application.
Updated the structure and contents of the Driving a GPIO pin directly page with more detailed information.
Fixed an issue on the Installing the nRF Connect SDK page where an incorrect directory path was provided for Linux and macOS at the end of the Install the nRF Connect SDK code and toolchain section.