nRF Connect SDK v2.6.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, 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:
Bluetooth® LE:
Isochronous channels feature that was introduced in nRF Connect SDK 2.5.0 as experimental is now supported.
Bluetooth Mesh:
New sensor API that makes it possible to accurately represent all encodable sensor values. The existing API is deprecated and will be removed in a future release.
Script for extracting the Bluetooth Mesh DFU metadata automatically when building an application, to simplify the DFU process.
The nRF52840 dongle is now supported on the samples Bluetooth Mesh: Light fixture, Bluetooth Mesh: Light dimmer and scene selector, and Bluetooth Mesh: Device Firmware Update (DFU) target.
Wi-Fi®:
nRF70 Series firmware patches can now optionally reside in external NVM memory instead of on-board, releasing up to 70 KB of space for the application running on the host device (nRF5340 or nRF52840).
Raw Wi-Fi packet transmission.
New samples: Wi-Fi: Raw TX packet and Wi-Fi: Throughput.
Wi-Fi: Zephyr networking samples can be built with Trusted Firmware-M (TF-M) for enhanced security.
Matter:
Matter 1.2, bringing support for nine new device types such as refrigerators, robotic vacuums, air quality sensors, and more.
The Matter bridge application that was introduced in nRF Connect SDK 2.5.0 as experimental is now supported.
Matter over Thread now uses PSA Certified Secure Storage API to enable secure storage of keys and certificates.
Power Management (nPM1300):
New nPM1300: One button sample that demonstrates how to support wake-up, shutdown, and user interactions through a single button connected to the nPM1300.
LDO and load-switches soft start configuration to limit voltage fluctuations, and PFM mode configuration for added user flexibility.
Amazon Sidewalk:
Multi-link (autonomous link switching), which provides more flexibility and optimized control of radio links and message transfers based on application profiles.
On-device key generation, enhancing the security of IoT products at manufacturing.
Cellular IoT:
Support for nRF9151 DK on the majority of cellular IoT samples.
The Serial LTE modem application can now be used to turn an nRF91 Series SiP into a standalone modem that can be used through Zephyr’s cellular modem driver.
Security:
Introduced the new Trusted storage library which uses Hardware Unique Key to provide an implementation of PSA Certified Secure Storage API without the use of TF-M Platform Root of Trust (PRoT).
Other:
New Networking samples: CoAP Client and HTTP Server. These samples can be built for either a cellular IoT target or a Wi-Fi target.
Added the following features as experimental:
Wi-Fi:
Raw Wi-Fi reception in both Monitor and Promiscuous modes.
Software-enabled Access Point (SoftAP) with the primary use case being provisioning over Wi-Fi instead of the existing provisioning over Bluetooth LE solution.
New samples: Wi-Fi: SoftAP and Wi-Fi: Monitor.
Amazon Sidewalk:
Downlink File Transfer over Bluetooth LE, providing Sidewalk bulk transfer mode and integration of AWS IoT FUOTA (Firmware Updates over-the-air) service.
Thread:
Thread commissioning over authenticated TLS (TCAT) to address the needs of professional installation and commercial building scenarios, where scanning physical install codes is an inadequate solution.
DFU:
Possibility to split the application image between internal and external memory. See the documentation on External execute in place (XIP) configuration on the nRF5340 SoC and nRF5340: SMP Server with external XIP.
nRF Cloud:
The Cellular: nRF Cloud multi-service sample now includes experimental support for the following:
Runtime installation of TLS certificates using the TLS Credentials Shell when built for Wi-Fi connectivity on an nRF5340 DK with an nRF7002 EK.
Communication using either MQTT or CoAP over Wi-Fi.
Better out-of-box experience by using the new nRF Cloud Security Services auto-onboarding feature. This makes it easier to connect a new device to nRF Cloud, including installation of security credentials.
The Cellular: nRF Cloud REST Device Message sample also includes experimental support for the new nRF Cloud Security Services auto-onboarding feature.
Other:
Link Time Optimization that brings flash usage improvements. This has been tested on Matter over Wi-Fi template sample and it reduced flash by 73 KB (931 KB to 858 KB) for debug build and 64 KB (840 KB to 776 KB) on release build.
Improved:
Bluetooth LE Audio:
The application nRF5340 Audio is now called nRF5340 Audio applications and it has been refactored, expanded, and improved, using Nordic Semiconductor’s SoftDevice Controller instead of the previous dedicated LE Audio Controller subsystem. This application is still of experimental maturity.
Matter:
Reduction of flash utilization for Matter over Thread template application:
nRF52840: Reduction of 48 KB (813 KB to 765 KB) for debug build and 50 KB (719 KB to 669 KB) for release build.
nRF5340: Reduction of 36 KB (732 KB to 696 KB) for debug build and 39 KB (637 KB to 598 KB) for release build.
Sign up for the nRF Connect SDK v2.6.0 webinar to learn more about the new features.
See Changelog for the complete list of changes.
Release tag
The release tag for the nRF Connect SDK manifest repository (https://github.com/nrfconnect/sdk-nrf) is v2.6.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 and Updating the repositories for more information.
For information on the included repositories and revisions, see Repositories and revisions for v2.6.0.
IDE and tool support
nRF Connect extension for Visual Studio Code is the recommended IDE for nRF Connect SDK v2.6.0. See the Installation section for more information about supported operating systems and toolchain.
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
Known issues are only tracked for the latest official release. See known issues for nRF Connect SDK v2.6.0 for the list of issues valid for the latest release.
Migration notes
See the Migration guide for nRF Connect SDK v2.6.0 for the changes required or recommended when migrating your application from nRF Connect SDK v2.5.0 to nRF Connect SDK v2.6.0.
Changelog
The following sections provide detailed lists of changes by component.
IDE and tool support
Updated the supported operating system table on the Requirements reference page.
Working with nRF91 Series
Added:
New partition layout configuration options for Thingy:91. See Partition layout for more details.
Developing with nRF9161 DK user guide.
A section on Shared UART for application and TF-M logging in the developing with nRF9161 DK user guide.
Updated:
The Getting started with nRF9160 DK and Getting started with Thingy:91 pages so that instructions in the Connecting the nRF9160 DK to nRF Cloud and Connecting the Thingy:91 to nRF Cloud sections, respectively, match the updated nRF Cloud workflow.
The Getting started with nRF9160 DK by replacing the Updating the DK firmware section with a new Getting started using Quick Start section. This new section includes steps for using Quick Start, a new application in nRF Connect for Desktop that streamlines the getting started process with the nRF91 Series DKs.
Developing with nRF91 Series user guide by separating the information about snippets into its own page, Snippets for an nRF91 Series device.
Working with nRF70 Series
Added:
The Firmware patch update section that describes how to perform a DFU for firmware patches using Wi-Fi in the Developing with nRF70 Series user guide.
The Firmware patches in the external memory and Networking stack partitioning pages in the Developing with nRF70 Series user guide.
Updated:
The Getting started with nRF7002 DK page with a link to the Wi-Fi Fundamentals course in the Nordic Developer Academy.
The Getting started with nRF70 Series user guide is split into three user guides, Getting started with nRF7002 DK, Developing with nRF7002 EK and Developing with nRF7002 EB.
The Operating with a resource constrained host user guide by renaming it to Host device considerations. Additionally, the information about stack configuration and performance is placed into its own separate page, Wi-Fi stack configuration and performance, under Wi-Fi.
Working with nRF53 Series
Added the External execute in place (XIP) configuration on the nRF5340 SoC user guide under Developing with nRF53 Series.
Working with RF front-end modules
Added a clarification that the Simple GPIO implementation is intended for multiple front-end modules (not just one specific device) in the Enabling FEM support section of the Developing with Front-End Modules guide.
Protocols
This section provides detailed lists of changes by protocol. See Samples for lists of changes for the protocol-related samples.
Amazon Sidewalk
Added:
An application behavior that selects the Bluetooth LE only library when the
CONFIG_SIDEWALK_SUBGHZ_SUPPORT
option is disabled. The library has a limited set of Sidewalk features and does not include multi-link.The sensor monitoring support for Thingy:53 with Sidewalk over Bluetooth LE.
Amazon Sidewalk libraries v1.16.2, that include the following:
Autonomous link switching (multi-link) - Enables applications to configure a policy for optimizing radio links usage based on the application profiles. A device with only one or all link types (Bluetooth LE, LoRa, FSK radio) can benefit from this feature.
On-device certificate generation - Enhances the security of IoT products at manufacturing through the on-device key generation and creation of the manufacturing page.
Downlink file transfer over Bluetooth LE (experimental) - The Sidewalk Bulk Data Transfer mode and Integration of the AWS IoT FUOTA service allow sending files (up to 1 MB) to a fleet of IoT devices from the AWS IoT FUOTA task. The current implementation covers a basic scenario that shows the transferred data in the logs with minimal callback implementation. There is no Device Firmware Update (DFU) integration.
Amazon Sidewalk Sample IoT App to the codebase (
sidewalk/tools
) as an original tool for provisioning.
Updated the entire samples model to include a common, configurable codebase.
Bluetooth LE
Added host extensions for Nordic Semiconductor-only vendor-specific command APIs. Implementation and integration of the host APIs can be found in the
host_extensions.h
header file.
Bluetooth Mesh
Added:
A script for extracting the Bluetooth Mesh DFU metadata automatically when building an application. The script is enabled by the
CONFIG_BT_MESH_DFU_METADATA_ON_BUILD
Kconfig option.A separate command
west build -t ble_mesh_dfu_metadata
to print Bluetooth Mesh DFU metadata that is already generated to a terminal.
Updated:
Distance Measurement Server and Distance Measurement Client model IDs and opcodes to avoid conflict with Simple OnOff Server and Client models.
Bluetooth Mesh sensors to use an updated API with sensor values represented by
bt_mesh_sensor_value
instead ofsensor_value
. This makes it possible to accurately represent all encodable sensor values. The old APIs based on thesensor_value
type are deprecated, but are still available for backward compatibility and can be enabled for use by setting theCONFIG_BT_MESH_SENSOR_USE_LEGACY_SENSOR_VALUE
Kconfig option.The Reserved vendor model IDs and opcodes page with model ID and opcodes for the new LE Pairing Responder model.
Light Lightness Control models APIs to match the new sensor APIs.
The Kconfig option
CONFIG_BT_MESH_NLC_PERF_CONF
to no longer select theCONFIG_BT_MESH_MODEL_EXTENSIONS
option.The Configuring Bluetooth Mesh in nRF Connect SDK page with the following information:
The recommendation on how to configure persistent storage to increase performance.
The required configuration for the network core.
The Generating the firmware metadata section with details about the automated metadata generation.
Fixed an issue when the Time Server model rewrites TTL to zero forever during the unsolicited Time Status publication.
Matter
For devices that use Matter over Thread, the default cryptography backend is now Arm PSA Crypto API instead of Mbed TLS, which was used in earlier versions. You can still build all examples with deprecated Mbed TLS support by setting the
CONFIG_CHIP_CRYPTO_PSA
Kconfig option ton
, but you must build the Thread libraries from sources. To inherit Thread certification from Nordic Semiconductor, you must use the PSA Crypto API backend.Added:
The Kconfig option
CONFIG_CHIP_ENABLE_READ_CLIENT
for disabling or enabling Read Client functionality.Support for PSA Crypto API for devices that use Matter over Thread. It is enabled by default and can be disabled by setting the
CONFIG_CHIP_CRYPTO_PSA
Kconfig option ton
.VERSION
file implementation to manage versioning for DFU over SMP as well as Matter OTA. Backward compatibility is maintained for users who use theprj.conf
file for versioning.Migration of the Device Attestation Certificate (DAC) private key from the factory data set to the PSA ITS secure storage.
The DAC private key can be removed from the factory data set after the migration. You can enable this experimental functionality by setting the
CONFIG_CHIP_CRYPTO_PSA_MIGRATE_DAC_PRIV_KEY
Kconfig option toy
.Redefinition of thermostat sample measurement process, deleted
CONFIG_THERMOSTAT_EXTERNAL_SENSOR
. By default, the thermostat sample generates simulated temperature measurements. The generated measurements simulate local temperature changes. Additionally, you can enable periodic outdoor temperature measurements by binding the thermostat with an external temperature sensor device.Migration of the Node Operational Key Pair (NOK) from the generic Matter persistent storage to the PSA ITS secure storage. All existing NOKs for all Matter fabrics will be migrated to the PSA ITS secure storage at boot. After the migration, generic Matter persistent storage entries in the settings storage will be removed and are no longer available. To enable operational keys migration, set the
CONFIG_NCS_SAMPLE_MATTER_OPERATIONAL_KEYS_MIGRATION_TO_ITS
Kconfig option toy
.In nRF Connect SDK Matter samples, the default reaction to migration failure is a factory reset of the device. To change the default reaction, set the
CONFIG_NCS_SAMPLE_MATTER_FACTORY_RESET_ON_KEY_MIGRATION_FAILURE
Kconfig option ton
.Experimental support for building Matter samples and applications with Link Time Optimization (LTO). To enable it, set the
CONFIG_LTO
andCONFIG_ISR_TABLES_LOCAL_DECLARATION
Kconfig options toy
.Documentation page about Matter APIs.
Updated:
The Reducing power consumption in Matter page with the information about Intermittently Connected Devices (ICD) configuration.
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.2.0.1
tag.
The following list summarizes the most important changes inherited from the upstream Matter:
Added:
Support for the Intermittently Connected Devices (ICD) Management cluster.
The Default Kconfig values and developing aspects section to the Configuring factory data for the nRF Connect examples page. The section contains useful developer tricks and device configurations.
The Kconfig options
CONFIG_CHIP_ICD_IDLE_MODE_DURATION
,CONFIG_CHIP_ICD_ACTIVE_MODE_DURATION
, andCONFIG_CHIP_ICD_CLIENTS_PER_FABRIC
to manage ICD configuration.New device types:
Refrigerator
Room air conditioner
Dishwasher
Laundry washer
Robotic vacuum cleaner
Smoke CO alarm
Air quality sensor
Air purifier
Fan
Product Appearance attribute in the Basic Information cluster that allows describing the product’s color and finish.
Updated:
The following Kconfig options have been renamed:
CONFIG_CHIP_ENABLE_SLEEPY_END_DEVICE_SUPPORT
toCONFIG_CHIP_ENABLE_ICD_SUPPORT
.CONFIG_CHIP_SED_IDLE_INTERVAL
toCONFIG_CHIP_ICD_SLOW_POLL_INTERVAL
.CONFIG_CHIP_SED_ACTIVE_INTERVAL
toCONFIG_CHIP_ICD_FAST_POLLING_INTERVAL
.CONFIG_CHIP_SED_ACTIVE_THRESHOLD
toCONFIG_CHIP_ICD_ACTIVE_MODE_THRESHOLD
.zcbor 0.7.0 to 0.8.1.
The
CONFIG_PRINTK_SYNC
Kconfig option has been disabled to avoid potential interrupts blockage in Matter applications that can violate time-sensitive components, like nRF 802.15.4 Radio Driver.
The Factory Data Guide regarding the changes for the SPAKE2+ verifier, and generation of the Unique ID for Rotating Device ID.
The factory data default usage has been changed:
The SPAKE2+ verifier is now generated by default with each build, and it will change if any of the related Kconfig options are modified. This resolves the known issue related to the SPAKE2+ verifier not regenerating (KRKNWK-18315).
The Test Certification Declaration can now be generated independently from the generation of the DAC and PAI certificates.
The Unique ID for Rotating Device ID can now only be generated if the
CONFIG_CHIP_ROTATING_DEVICE_ID
Kconfig option is set toy
.
Thread
Updated:
The default cryptography backend for Thread is now Arm PSA Crypto API instead of Mbed TLS, which was used in earlier versions. You can still build all examples with deprecated Mbed TLS support by setting the
CONFIG_OPENTHREAD_NRF_SECURITY_CHOICE
Kconfig option toy
, but you must build the Thread libraries from sources. To inherit Thread certification from Nordic Semiconductor, you must use the PSA Crypto API backend.nRF5340 SoC targets that do not include Trusted Firmware-M now use Hardware Unique Key (HUK, see the Hardware unique key library) for PSA Internal Trusted Storage (ITS).
See Thread samples for the list of changes in the Thread samples.
Zigbee
Updated:
ZBOSS Zigbee stack to v3.11.3.0 and platform v5.1.4 (
v3.11.3.0+5.1.4
). They contain fixes for security vulnerabilities and other bugs. For details, see Changelog.ZBOSS Network Co-processor Host package to the new version v2.2.2.
Removed the precompiled development variant of ZBOSS libraries.
Fixed a bus fault issue at reset when using
CONFIG_RAM_POWER_DOWN_LIBRARY
in some samples configuration (KRKNWK-18572).
Gazell
Added:
Kconfig options
CONFIG_GAZELL_PAIRING_USER_CONFIG_ENABLE
andCONFIG_GAZELL_PAIRING_USER_CONFIG_FILE
. The options allow to use a user-specific file as the Gazell pairing configuration header to override the pairing configuration.
Fixed the clear system address and host ID in RAM when
gzp_erase_pairing_data()
is called.
Wi-Fi
Added:
The
CONFIG_NRF_WIFI_FW_PATCH_DFU
Kconfig option that enables DFU support for nRF70 Series devices. This allows firmware patches for signed images to be sent to multi-image targets over Wi-Fi.Support for the CSP package.
Modification to the application of edge backoff. Previously, it was subtracted from the regulatory power limit. Now, backoff is subtracted from the data rate-dependent power ceiling.
Updated:
WPA supplicant now reserves libc heap memory rather than using leftover RAM. This does not affect the overall memory used, but now the RAM footprint as reported by the build shows higher usage.
The Wi-Fi interface is renamed from
wlan0
tonordic_wlan0
and is available aszephyr_wifi
in the DTS. Use the DT APIs to get the handle to the Wi-Fi interface.
HomeKit
HomeKit is now removed, as announced in the nRF Connect SDK v2.5.0 Release Notes.
Applications
This section provides detailed lists of changes by application.
The Matter bridge application is now supported instead of being experimental.
Added the IPC radio firmware application.
Asset Tracker v2
Added:
Support for the nRF9151 development kit.
The CONFIG_DATA_SAMPLE_WIFI_DEFAULT Kconfig option to configure whether Wi-Fi APs are included in sample requests by default.
The
CONFIG_NRF_CLOUD_SEND_SERVICE_INFO_FOTA
andCONFIG_NRF_CLOUD_SEND_SERVICE_INFO_UI
Kconfig options. The application no longer sends a device shadow update; this is now handled by the nRF Cloud library.Support for ADXL367 accelerometer.
Updated:
The following power optimizations to the LwM2M configuration overlay:
Enable DTLS Connection Identifier.
Perform the LwM2M update once an hour and request for a similar update interval of the periodic tracking area from the LTE network.
Request the same active time as the QUEUE mode polling time.
Enable eDRX with shortest possible interval and a short paging window.
Enable tickless mode in the LwM2M engine.
Enable LTE Release Assist Indicator.
The application documentation by separating the Application modules to its own page.
Removed the nRF7002 EK devicetree overlay file
nrf91xxdk_with_nrf7002ek.overlay
, because UART1 is disabled through the shield configuration.
Connectivity bridge
Updated the handling of the
README.txt
file to support multiple boards. TheREADME.txt
file now contains also version information.
Serial LTE modem
Added:
Support for the CMUX protocol in order to multiplex multiple data streams through a single serial link. The
#XCMUX
AT command is added to set up CMUX.Support for PPP in order to use the external MCU’s own IP stack instead of offloaded sockets used through AT commands. It can be used in conjunction with CMUX to use a single UART for both AT data and PPP. The
#XPPP
AT command is added to manage the PPP link.#XMQTTCFG
AT command to configure the MQTT client before connecting to the broker.The CONFIG_SLM_AUTO_CONNECT Kconfig option to support automatic LTE connection at start-up or reset.
The CONFIG_SLM_CUSTOMER_VERSION Kconfig option for customers to define their own version string after customization.
The optional
path
parameter to the#XCARRIEREVT
AT notification.#XCARRIERCFG
AT command to configure the LwM2M carrier library using the LwM2M carrier settings (see theCONFIG_LWM2M_CARRIER_SETTINGS
Kconfig option).Support for Zephyr’s cellular modem driver, which allows a Zephyr application running on an external MCU to seamlessly use Zephyr’s IP stack instead of AT commands for connectivity. See nRF91 Series as a Zephyr-compatible modem for more information.
Updated:
The
CONFIG_SLM_WAKEUP_PIN
Kconfig option has been renamed to CONFIG_SLM_POWER_PIN. In addition to its already existing functionality, it can now be used to power off the SiP.#XMQTTCON
AT command to exclude MQTT client ID from the parameter list.#XSLMVER
AT command to report CONFIG_SLM_CUSTOMER_VERSION if it is defined.The
#XTCPCLI
,#XUDPCLI
, and#XHTTPCCON
AT commands with options for the following purposes:Set the
PEER_VERIFY
socket option. Set toTLS_PEER_VERIFY_REQUIRED
by default.Set the
TLS_HOSTNAME
socket option toNULL
to disable the hostname verification.
You can now build the application on nRF9160 DK boards with revisions older than 0.14.0.
#XCMNG
AT command to store credentials in Zephyr settings storage. The command is activated with theoverlay-native_tls.conf
overlay file.The documentation for the
#XCARRIER
and#XCARRIERCFG
commands by adding more detailed information.
Removed the Kconfig options
CONFIG_SLM_CUSTOMIZED
andCONFIG_SLM_SOCKET_RX_MAX
.
nRF5340 Audio applications
Added:
Support for Filter Accept List (enabled by default).
Metadata used in Auracast, such as
active_state
andparental_rating
.Support for converting the audio sample rate between 48 kHz, 24 kHz, and 16 kHz.
Updated:
LE Audio controller for nRF5340 from v3424 to v18929.
The default controller has been changed from the LE Audio controller for nRF5340 library to the SoftDevice Controller. See the nRF5340 Audio applications section in the Migration guide for nRF Connect SDK v2.6.0 for information about how this affects your application.
Sending of the ISO data, which is now done in a single file
bt_le_audio_tx
.Application structure, which is now split into four separate, generic applications with separate
main.c
files.Advertising process by reverting back to slower advertising after a short burst (1.28 s) of directed advertising.
Scan process for broadcasters by adding ID as a searchable parameter.
nRF Machine Learning (Edge Impulse)
Updated:
The MCUboot and HCI RPMsg child images debug configurations to disable the
CONFIG_RESET_ON_FATAL_ERROR
Kconfig option. Disabling this Kconfig option improves the debugging experience.The MCUboot and HCI RPMsg child images release configurations to explicitly enable the
CONFIG_RESET_ON_FATAL_ERROR
Kconfig option. Enabling this Kconfig option improves the reliability of the firmware.
nRF Desktop
Added:
The CONFIG_DESKTOP_HID_STATE_SUBSCRIBER_COUNT Kconfig option to the HID state module. The option allows to configure a maximum number of simultaneously supported HID data subscribers. By default, the value of this Kconfig option is set to
1
. Make sure to align the value in your application configuration. For example, to allow subscribing for HID reports simultaneously from the HID Service module and USB state module (a single USB HID instance), you must set the value of this Kconfig option to2
.The pin control (
CONFIG_PINCTRL
) dependency to the Wheel module. The dependency simplifies accessing A and B QDEC pins in the wheel module’s implementation. The pin control is selected by the QDEC driver (CONFIG_QDEC_NRFX
).
Updated:
The Device Firmware Upgrade module to use Partition Manager definitions for determining currently booted image slot at build time. The other image slot is used to store an application update image.
The Device Firmware Upgrade MCUmgr module to use MCUmgr SMP command status callbacks (the
CONFIG_MCUMGR_SMP_COMMAND_STATUS_HOOKS
Kconfig option) instead of MCUmgr image and OS management callbacks.The dependencies of the CONFIG_DESKTOP_BLE_LOW_LATENCY_LOCK Kconfig option. The option can be enabled even when the Bluetooth controller is not enabled as part of the application that uses Bluetooth LE latency module.
The nRF Desktop: Bootloader and Device Firmware Update and Background Device Firmware Upgrade sections in the nRF Desktop documentation to explicitly mention the supported DFU configurations.
The documentation describing the nRF Desktop: Memory layout configuration to simplify the process of getting started with the application.
Changed the term flash memory to non-volatile memory for generalization purposes.
The Watchdog module to use
watchdog0
DTS alias instead ofwdt
DTS node label. Using the alias makes the configuration of the module more flexible.Introduced information about priority, pipeline depth and maximum number of HID reports to
hid_report_subscriber_event
.The HID state module uses
hid_report_subscriber_event
to handle connecting and disconnecting HID data subscribers. Theble_peer_event
andusb_hid_event
are no longer used for this purpose.The
usb_hid_event
is removed.The USB state module to use the
usb_hid_set_proto_code()
function to set the HID Boot Interface protocol code. TheCONFIG_USB_HID_BOOT_PROTOCOL
Kconfig option was removed and dedicated API needs to be used instead.Disabled MCUboot’s logs over RTT (
CONFIG_LOG_BACKEND_RTT
andCONFIG_USE_SEGGER_RTT
) onnrf52840dk_nrf52840
inprj_mcuboot_qspi.conf
configuration to reduce MCUboot memory footprint and avoid flash overflows. Explicitly enabled the UART log backend (CONFIG_LOG_BACKEND_UART
) together with its dependencies in the configuration file to ensure log visibility.The MCUboot, B0, and HCI RPMsg child images debug configurations to disable the
CONFIG_RESET_ON_FATAL_ERROR
Kconfig option. Disabling this Kconfig option improves the debugging experience.The MCUboot, B0, and HCI RPMsg child images release configurations to explicitly enable the
CONFIG_RESET_ON_FATAL_ERROR
Kconfig option. Enabling this Kconfig option improves the reliability of the firmware.The default value of the newly introduced
CONFIG_BT_ADV_PROV_DEVICE_NAME_PAIRING_MODE_ONLY
Kconfig option. The option is disabled by default. The Bluetooth device name is provided in the scan response also outside of pairing mode for backwards compatibility.The default value of newly introduced
CONFIG_CAF_BLE_ADV_POWER_DOWN_ON_DISCONNECTION_REASON_0X15
Kconfig option. The option is enabled by default. Force power down on disconnection with reason0x15
(Remote Device Terminated due to Power Off) is triggered to avoid waking up HID host until user input is detected.The Wheel module configuration to allow using GPIO1 for scroll wheel.
The application documentation by splitting it into several pages.
Thingy:53: Matter weather station
Updated by changing the deployment of configuration files to align with other Matter applications.
Removed instantiation of
OTATestEventTriggerDelegate
, which was usable only for Matter Test Event purposes.
Matter bridge
Added:
Support for groupcast communication to the On/Off Light device implementation.
Support for controlling the OnOff Light simulated data provider by using shell commands.
Support for Matter Generic Switch bridged device type.
Support for On/Off Light Switch bridged device type.
Support for bindings to the On/Off Light Switch device implementation.
Guide about extending the application by adding support for a new Matter device type, a new Bluetooth LE, service or a new protocol.
Support for Bluetooth LE Security Manager Protocol that allows to establish secure session with bridged Bluetooth LE devices.
Callback to indicate the current state of Bluetooth LE Connectivity Manager. The current state is indicated by LED 2.
Support for the nRF5340 DK with the nRF7002 EK attached.
Support for Wi-Fi firmware patch upgrades on external memory. This is only available for the nRF5340 DK with the nRF7002 EK.
Samples
This section provides detailed lists of changes by sample.
Bluetooth samples
Added the Bluetooth: Event Trigger sample for the proprietary Event Trigger feature.
Bluetooth: Throughput sample:
Updated by enabling encryption in the sample. The measured throughput is calculated over the encrypted data, which is how most of the Bluetooth products use this protocol.
Bluetooth: Direct Test Mode sample:
Added the configuration option to disable the Direction Finding feature.
Bluetooth: Central UART sample:
Updated by correcting the behavior when building with the Bluetooth Low Energy Remote Procedure Call library.
Bluetooth: Central SMP Client sample:
Updated to adapt to API changes in zcbor 0.8.x.
Bluetooth Mesh samples
Bluetooth Mesh: Device Firmware Update (DFU) distributor sample:
Added support for pairing with display capability and the LE Pairing Responder.
Fixed an issue where the shell interface was not accessible over UART because UART was used as a transport for the MCUmgr SMP protocol. Shell is now accessible over RTT.
Bluetooth Mesh: Device Firmware Update (DFU) target sample:
Added support for the nRF52840 Dongle.
Bluetooth Mesh: Light dimmer and scene selector sample:
Added support for the nRF52840 Dongle.
Fixed an issue where Bluetooth could not be initialized due to a misconfiguration between the Bluetooth host and the Bluetooth LE Controller when building with Sysbuild (System build) for the nRF5340 DK and Thingy:53 boards.
Bluetooth Mesh: Light fixture sample:
Added support for the nRF52840 Dongle.
Fixed an issue where Bluetooth could not be initialized due to a misconfiguration between the Bluetooth host and the Bluetooth LE Controller when building with Sysbuild (System build) for the nRF5340 DK and Thingy:53 boards.
Bluetooth Mesh: Light sample:
Fixed an issue where Bluetooth could not be initialized due to a misconfiguration between the Bluetooth host and the Bluetooth LE Controller when building with Sysbuild (System build) for the nRF5340 DK and Thingy:53 boards.
Bluetooth Mesh: Light switch sample:
Fixed an issue where Bluetooth could not be initialized due to a misconfiguration between the Bluetooth host and the Bluetooth LE Controller when building with Sysbuild (System build) for the nRF5340 DK and Thingy:53 boards.
Bluetooth Mesh: Sensor sample:
Fixed an issue where Bluetooth could not be initialized due to a misconfiguration between the Bluetooth host and the Bluetooth LE Controller when building with Sysbuild (System build) for the nRF5340 DK and Thingy:53 boards.
Bluetooth Mesh: Silvair EnOcean sample:
Fixed an issue where Bluetooth could not be initialized due to a misconfiguration between the Bluetooth host and the Bluetooth LE Controller when building with Sysbuild (System build) for the nRF5340 DK board.
Cellular samples
Added support for the nRF9151 DK in all cellular samples except for the following samples:
Cellular: TLS cipher suites sample:
Updated:
The format of the
.pem
file to the PEM format.The sample to automatically convert the
.pem
file to HEX format so it can be included.
Cellular: Location sample:
Removed the nRF7002 EK devicetree overlay file
nrf91xxdk_with_nrf7002ek.overlay
, because UART1 is disabled through the shield configuration.
Cellular: Modem Shell sample:
Added:
Support for full modem FOTA.
Printing of the last reset reason when the sample starts.
Support for printing the sample version information using the
version
command.Support for counting pulses from a GPIO pin using the
gpio_count
command.Support for changing shell UART baudrate using the
uart baudrate
command.Support for DNS query using the
sock getaddrinfo
command.Support for PDN CID 0 in the
-I
argument for thesock connect
command.Support for listing interface addresses using the
link ifaddrs
command.Support for the
MSG_WAITACK
send flag using thesock send
command.Support for connect with
SO_KEEPOPEN
using thesock connect
command.
Updated:
The MQTT and CoAP overlays to enable the Kconfig option
CONFIG_NRF_CLOUD_SEND_SERVICE_INFO_UI
. The sample no longer sends a device shadow update for MQTT and CoAP builds; this is now handled by the nRF Cloud library.To use the new
nrf_cloud_location_config
structure when calling thenrf_cloud_location_request()
function.The
connect
subcommand to use theconnect()
function on non-secure datagram sockets. This sets the peer address for the non-secure datagram socket. This fixes a bug where using theconnect
subcommand and then using therai_no_data
option with therai
subcommand on a non-secure datagram socket would lead to an error. Therai_no_data
option requires the socket to be connected and have a peer address set. This bug is caused by the non-secure datagram socket not being connected when using theconnect
subcommand.The
send
subcommand to use thesend()
function for non-secure datagram sockets that are connected and have a peer address set.The
modem_trace
command has been moved to Modem library integration layer. See Modem trace shell command for information about modem trace commands.The sample to allow TLS/DTLS security tag values up to
4294967295
.
Removed:
The nRF7002 EK devicetree overlay file
nrf91xxdk_with_nrf7002ek.overlay
, because UART1 is disabled through the shield configuration.The
modem_trace send memfault
shell command.
Cellular: nRF Cloud multi-service sample:
Added:
A generic processing example for application-specific shadow data.
Configuration and overlay files to enable MCUboot to use the external flash on the nRF1961 DK.
The
CONFIG_COAP_ALWAYS_CONFIRM
Kconfig option to select CON or NON CoAP transfers for functions that previously used NON transfers only.Support for the nRF Cloud device provisioning library.
Two overlay files
overlay-http_nrf_provisioning.conf
andoverlay-coap_nrf_provisioning.conf
to enable the nRF Cloud device provisioning library with HTTP and CoAP connectivity, respectively. Both overlays specify UUID-style device IDs (not ‘nrf-IMEI‘-style) for compatibility with nRF Cloud auto-onboarding.An overlay file
overlay_nrf7002ek_wifi_coap_no_lte.conf
for experimental CoAP over Wi-Fi support.
Updated:
The sample now explicitly uses the
conn_mgr_all_if_connect()
function to start network connectivity, instead of theCONFIG_NRF_MODEM_LIB_NET_IF_AUTO_START
andCONFIG_NRF_MODEM_LIB_NET_IF_AUTO_CONNECT
Kconfig options.The sample to use the FOTA support functions in the
nrf_cloud_fota_poll.c
andnrf_cloud_fota_common.c
files.The sample now enables the Kconfig options
CONFIG_NRF_CLOUD_SEND_SERVICE_INFO_FOTA
andCONFIG_NRF_CLOUD_SEND_SERVICE_INFO_UI
. It no longer sends a device status update on initial connection; this is now handled by the nRF Cloud library.Increased the
CONFIG_AT_HOST_STACK_SIZE
andCONFIG_AT_MONITOR_HEAP_SIZE
Kconfig options to 2048 bytes since nRF Cloud credentials are sometimes longer than 1024 bytes.The sample reboot logic is now in a dedicated file so that it can be used in multiple locations.
The Wi-Fi connectivity overlay now uses the PSA Protected Storage backend of the TLS Credentials Subsystem instead of the volatile backend.
The Wi-Fi connectivity overlay now enables the TLS Credentials Shell for run-time credential installation.
The DNS resolution timeout for Wi-Fi connectivity builds has been increased.
Fixed:
The sample now waits for a successful connection before printing
Connected to nRF Cloud!
.Building for the Thingy:91.
The PSM Requested Active Time is now reduced from 1 minute to 20 seconds. The old value was too long for PSM to activate.
Removed the nRF7002 EK devicetree overlay file
nrf91xxdk_with_nrf7002ek.overlay
, because UART1 is disabled through the shield configuration.
Cellular: nRF Cloud REST FOTA sample:
Added credential check before connecting to the network.
Updated:
The sample now uses the functions in the
nrf_cloud_fota_poll.c
andnrf_cloud_fota_common.c
files.The
CONFIG_AT_HOST_STACK_SIZE
Kconfig option value has been increased to 2048 bytes since nRF Cloud credentials are sometimes longer than 1024 bytes.
Cellular: nRF Cloud REST cellular location sample:
Added:
Credential check before connecting to the network.
Use of the
nrf_cloud_location_config
structure to modify the ground fix results.
Updated by increasing the
CONFIG_AT_HOST_STACK_SIZE
Kconfig option value to 2048 bytes since nRF Cloud credentials are sometimes longer than 1024 bytes.
Cellular: nRF Device provisioning sample:
Added event handling for events from device mode callback.
Cellular: GNSS sample:
Added the configuration overlay file
overlay-supl.conf
for building the sample with SUPL assistance support.
Cellular: UDP sample:
Added the CONFIG_UDP_DATA_UPLOAD_ITERATIONS Kconfig option for configuring the number of data transmissions to the server.
Cellular: LwM2M carrier sample:
Updated:
The format of the
.pem
files to the PEM format.The sample to automatically convert the
.pem
files to HEX format so they can be included.
Cellular: LwM2M Client sample:
Added:
A workaround for ground fix location assistance queries in AVSystem Coiote by using the fixed Connectivity Monitor object version. This is enabled in the
overlay-assist-cell.conf
configuration overlay.Release Assistance Indication (RAI) feature. This helps to save power by releasing the network connection faster on a network that supports it.
Updated:
The eDRX cycle to 5.12 s for both LTE-M and NB-IoT.
The periodic TAU (RPTAU) to 12 hours.
Cellular: nRF Cloud REST Device Message sample:
Updated:
The
overlay-nrf_provisioning.conf
overlay to specify UUID-style device IDs for compatibility with nRF Cloud auto-onboarding.The values of
CONFIG_AT_HOST_STACK_SIZE
andCONFIG_AT_MONITOR_HEAP_SIZE
Kconfig options have been increased to 2048 bytes since nRF Cloud credentials are sometimes longer than 1024 bytes.
Cryptography samples
Added the Crypto: PBKDF2 sample.
Updated:
All crypto samples to use
psa_key_id_t
instead ofpsa_key_handle_t
. These concepts have been merged andpsa_key_handle_t
is removed from the PSA API specification.
Debug samples
Memfault sample:
Added support for the nRF9151 development kit.
Matter samples
Unified common code for buttons, LEDs, and events in all Matter samples:
Created the task executor module that is responsible for posting and dispatching tasks.
Moved common methods for managing buttons and LEDs that are located on the DK to the board module.
Divided events to application and system events.
Defined common LED and button constants in the dedicated board configuration files.
Created the Kconfig file for the Matter common directory.
Created a CMake file in the Matter common directory to centralize the sourcing of all common software module source code.
Disabled the following features:
Read Client functionality in most Matter samples using the new
CONFIG_CHIP_ENABLE_READ_CLIENT
Kconfig option.WPA supplicant advanced features in all Matter samples using the
CONFIG_WPA_SUPP_ADVANCED_FEATURES
Kconfig option. This saves roughly 25 KB of flash memory for firmware images with Wi-Fi support.
Added
matter_shell
shell commands set to gather the current information about the NVS settings backend, such as current usage, free space, and peak usage value. You can enable them by setting theNCS_SAMPLE_MATTER_SETTINGS_SHELL
Kconfig option toy
. To read more, see the Matter Settings shell commands section.Matter: Light bulb sample:
Added support for AWS IoT Core.
Matter: Template sample:
Added support for DFU over Bluetooth LE SMP. The functionality is disabled by default. To enable it, set the
CONFIG_CHIP_DFU_OVER_BT_SMP
Kconfig option toy
.
Matter: Door lock sample:
Added support for Wi-Fi firmware patch upgrade on external memory, only for the combination of the nRF5340 DK with the nRF7002 EK.
Updated the design of the Thread and Wi-Fi switching feature so that support for both Matter over Thread and Matter over Wi-Fi is included in a single firmware image.
Fixed an issue that prevented nRF Toolbox for iOS in version 5.0.9 from controlling the sample using Nordic UART Service (NUS).
Networking samples
Added:
A new sample HTTP Server.
Support for the nRF9151 development kit.
Updated the networking samples to build using the non-secure target when building for the nRF7002DK. The
CONFIG_TFM_PROFILE_TYPE_SMALL
profile type is used for Trusted Firmware-M (TF-M) to optimize its memory footprint.CoAP Client sample:
Added support for Wi-Fi and LTE connectivity through the connection manager API.
Updated:
The sample is moved from the
cellular/coap_client
folder tonet/coap_client
. The documentation is now found in the Networking samples section.The sample to use the CoAP client library.
HTTPS Client sample:
Updated:
The
.pem
certificate for example.com.The format of the
.pem
file to the PEM format.The sample to automatically convert the
.pem
file to HEX format so it can be included.The sample to gracefully bring down the network interfaces.
Renamed
overlay-pdn_ipv4.conf
tooverlay-pdn-nrf91-ipv4.conf
andoverlay-tfm_mbedtls.conf
tooverlay-tfm-nrf91.conf
.
Download client sample:
Updated:
The format of the
.pem
file to the PEM format.The sample to automatically convert the
.pem
file to HEX format so it can be included.The sample to gracefully bring down the network interfaces.
nRF5340 samples
Added the nRF5340: SMP Server with external XIP sample that demonstrates how to split an application that uses internal flash and Quad Serial Peripheral Interface (QSPI) flash with the Simple Management Protocol (SMP) server.
Peripheral samples
Radio test (short-range) sample:
Updated:
The
start_tx_modulated_carrier
command, when used without an additional parameter, does not enable the radio end interrupt.Corrected the way of setting the TX power with FEM.
PMIC samples
Added nPM1300: One button sample that demonstrates how to support wake-up, shutdown, and user interactions through a single button connected to the nPM1300.
nPM1300: Fuel gauge sample:
Updated to accommodate API changes in the nRF Fuel Gauge library.
Thread samples
Added experimental support for Thread Over Authenticated TLS.
Updated the building method to use Snippets for predefined configuration.
Removed:
In the Feature sets provided as part of the nRF Connect SDK, the following features have been removed from the FTD and MTD variants:
DHCP6_CLIENT
JOINER
SNTP_CLIENT
LINK_METRICS_INITIATOR
All mentioned features are still available in the master variant.
Wi-Fi samples
Added:
The Wi-Fi: Throughput sample that demonstrates how to measure the network throughput of a Nordic Semiconductor Wi-Fi enabled platform under the different Wi-Fi stack configuration profiles.
The Wi-Fi: SoftAP sample that demonstrates how to start a nRF70 Series device in Software-enabled Access Point (SoftAP or SAP) mode.
The Wi-Fi: Raw TX packet sample that demonstrates how to transmit raw TX packets.
The Wi-Fi: Monitor sample that demonstrates how to start a nRF70 Series device in Monitor mode.
Wi-Fi: Shell sample:
Updated the sample by adding the following extensions to the Wi-Fi command line:
raw_tx
extension. It adds the subcommands to configure and sends raw TX packets.promiscuous_set
extension. It adds the subcommand to configure Promiscuous mode.
Wi-Fi: Bluetooth LE coexistence sample:
Updated the sample folder name from
sr_coex
toble_coex
to accurately represent the functionality of the sample.
Wi-Fi: Radio test sample:
Updated:
The sample now has added support for runtime configuration of antenna gain and edge backoff parameters.
Antenna gain and edge backoff values are not applied if regulatory is bypassed.
Drivers
This section provides detailed lists of changes by driver.
Wi-Fi drivers
Added the following features to the nRF70 Series devices:
TX injection feature.
Monitor feature.
Promiscuous mode.
Updated:
OS agnostic code is moved to nRF Connect SDK (
sdk-nrfxlib
) repository.
Low-level API documentation is now available on the Wi-Fi driver API.
The Wi-Fi interface is now renamed and registered as a devicetree instance.
Libraries
This section provides detailed lists of changes by library.
Binary libraries
LwM2M carrier library:
Updated to v3.4.0. See the Changelog for detailed information.
Bluetooth libraries and services
Google Fast Pair Service (GFPS) library:
Added:
The
bt_fast_pair_enable()
,bt_fast_pair_disable()
,bt_fast_pair_is_ready()
functions to handle the Fast Pair subsystem readiness. In order to use the Fast Pair service, the Fast Pair subsystem must be enabled with thebt_fast_pair_enable()
function.The
include/bluetooth/services/fast_pair/uuid.h
header file that contains UUID definitions for the Fast Pair service and its characteristics.
Updated:
The Google Fast Pair Service (GFPS) library documentation has been improved to include the description of the missing Kconfig options.
The requirements regarding the thread context of Fast Pair API calls have been strengthened. More functions are required to be called in the cooperative thread context.
The
bt_fast_pair_info_cb_register()
function is now not allowed to be called when the Fast Pair is enabled. Thebt_fast_pair_info_cb_register()
function can only be called before enabling the Fast Pair with thebt_fast_pair_enable()
function.The
include/bluetooth/services/fast_pair.h
header file is moved to thencs/nrf/include/bluetooth/services/fast_pair
directory to have a common place for Fast Pair headers.
Bluetooth Mesh profile library:
Added the LE Pairing Responder model to allow passing a passkey used in LE pairing over a mesh network.
-
Added the
bt_scan_update_connect_if_match()
function to update the autoconnect flag after a filter match.
Bluetooth LE advertising providers:
Updated the default behavior of the Bluetooth device name provider (
CONFIG_BT_ADV_PROV_DEVICE_NAME
). By default, the device name is provided only in the pairing mode (bt_le_adv_prov_adv_state.pairing_mode
). You can disable the newly introduced Kconfig option (CONFIG_BT_ADV_PROV_DEVICE_NAME_PAIRING_MODE_ONLY
) to provide the device name also when the device is not in the pairing mode.
DFU libraries
DFU target library:
Updated:
The
CONFIG_DFU_TARGET_FULL_MODEM_USE_EXT_PARTITION
Kconfig option to be automatically enabled whennordic,pm-ext-flash
is chosen in the devicetree. See Partition Manager for details.Adapted to API changes in zcbor 0.8.x.
Full modem firmware update from flash device library:
Updated by regenerating cbor code with zcbor 0.8.1 and adapting to API changes in zcbor 0.8.x.
Debug libraries
Memfault library:
Added more default LTE metrics, such as band, operator, RSRP, and kilobytes sent and received.
Updated the default metric names to follow the standard nRF Connect SDK variable name convention.
Modem libraries
Location library:
Added:
The
LOCATION_EVT_STARTED
event to indicate that a location request has been started, and theLOCATION_EVT_FALLBACK
event to indicate that a fallback from one location method to another has occurred. These are for metrics collection purposes and sent only if theCONFIG_LOCATION_DATA_DETAILS
Kconfig option is set.Support for multiple event handlers.
Additional location data details into the
location_data_details
structure hierarchy.The
LOCATION_METHOD_WIFI_CELLULAR
method that cannot be added into the location configuration passed to thelocation_request()
function, but may occur within thelocation_event_data
structure.
Updated:
The use of neighbor cell measurements for cellular positioning. Previously, 1-2 searches were performed and now 1-3 will be done depending on the requested number of cells and the number of found cells. Also, only GCI cells are counted towards the requested number of cells, and normal neighbors are ignored from this perspective.
Cellular positioning to not use GCI search when the device is in RRC connected mode, because the modem cannot search for GCI cells in that mode.
GNSS is not started at all if the device does not enter RRC idle mode within two minutes.
LTE link control library:
Added the
lte_lc_psm_param_set_seconds()
function and Kconfig optionsCONFIG_LTE_PSM_REQ_FORMAT
,CONFIG_LTE_PSM_REQ_RPTAU_SECONDS
, andCONFIG_LTE_PSM_REQ_RAT_SECONDS
to enable setting of PSM parameters in seconds instead of using bit field strings.Updated:
The default network mode to
CONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT_GPS
fromCONFIG_LTE_NETWORK_MODE_LTE_M_GPS
.The default LTE mode preference to
CONFIG_LTE_MODE_PREFERENCE_LTE_M_PLMN_PRIO
fromCONFIG_LTE_MODE_PREFERENCE_AUTO
.The
CONFIG_LTE_NETWORK_USE_FALLBACK
Kconfig option is deprecated. Use theCONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT
orCONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT_GPS
Kconfig option instead. In addition, you can control the priority between LTE-M and NB-IoT using theCONFIG_LTE_MODE_PREFERENCE
Kconfig option.The
lte_lc_init()
function is deprecated.The
lte_lc_deinit()
function is deprecated. Use thelte_lc_power_off()
function instead.The
lte_lc_init_and_connect()
function is deprecated. Use thelte_lc_connect()
function instead.The
lte_lc_init_and_connect_async()
function is deprecated. Use thelte_lc_connect_async()
function instead.
Removed the deprecated Kconfig option
CONFIG_LTE_AUTO_INIT_AND_CONNECT
.
Modem library integration layer:
Added:
A mention about enabling TF-M logging while using modem traces in the Modem trace module.
The
CONFIG_NRF_MODEM_LIB_NET_IF_DOWN_DEFAULT_LTE_DISCONNECT
option, allowing the user to change the behavior of the driver’snet_if_down()
implementation at build time.The
SO_RAI
socket option for Release Assistance Indication (RAI). The socket option uses valuesRAI_NO_DATA
,RAI_LAST
,RAI_ONE_RESP
,RAI_ONGOING
, orRAI_WAIT_MORE
to specify the desired indication. This socket option substitutes the deprecated RAI (SO_RAI_*
) socket options.
Updated:
The following socket options have been deprecated:
SO_RAI_NO_DATA
SO_RAI_LAST
SO_RAI_ONE_RESP
SO_RAI_ONGOING
SO_RAI_WAIT_MORE
Use the
SO_RAI
socket option instead.The library by renaming
lte_connectivity
module tolte_net_if
. All related Kconfig options have been renamed accordingly.The default value of the
CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_START
,CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_CONNECT
, andCONFIG_NRF_MODEM_LIB_NET_IF_AUTO_DOWN
Kconfig options from enabled to disabled.The modem trace shell command implementation is moved from Cellular: Modem Shell sample into Modem library integration layer to be used by any application with the
CONFIG_NRF_MODEM_LIB_SHELL_TRACE
Kconfig option enabled.
Fixed:
The
lte_net_if
module now handles thePDN_EVENT_NETWORK_DETACH
PDN event. Not handling this caused permanent connection loss and error message (ipv4_addr_add, error: -19
) in some situations when reconnecting.Threads sleeping in the
nrf_modem_os_timedwait()
function with context0
are now woken by all calls to thenrf_modem_os_event_notify()
function.
Removed:
The deprecated Kconfig option
CONFIG_NRF_MODEM_LIB_SYS_INIT
.The deprecated Kconfig option
CONFIG_NRF_MODEM_LIB_IPC_IRQ_PRIO_OVERRIDE
.The
NRF_MODEM_LIB_NET_IF_DOWN
flag support in thelte_net_if
network interface driver.
-
Updated the library by making the used GPIO to be configurable using devicetree.
PDN library:
Added the
pdn_dynamic_params_get()
function to retrieve dynamic parameters of an active PDN connection.Updated the library to add PDP auto configuration to the
LTE_LC_FUNC_MODE_POWER_OFF
event.Fixed:
A potential issue where the library tries to free the PDN context twice, causing the application to crash.
A potential crash when an AT notification arrives during
pdn_ctx_create()
. The callback was only initialized after adding it to the list.
Removed the dependency on the LTE link control library.
AT Host library:
Added the
CONFIG_AT_HOST_STACK_SIZE
Kconfig option. This option allows the stack size of the AT host workqueue thread to be adjusted.
Modem key management library:
Fixed a potential race condition, where two threads might corrupt a shared response buffer.
Modem attestation token library:
Updated to adapt to API changes in zcbor 0.8.x.
Libraries for networking
AWS IoT library:
Added library tests.
Updated the library to use the MQTT helper library. This simplifies the handling of the MQTT stack.
Azure IoT Hub library:
Added support for the newly added
cert_tool.py
Python script. This is a script to generate EC private keys, create Certificate Signing Request (CSR), create root Certificate Authority (CA), subordinate CA certificates, and sign CSRs.Updated the documentation on IoT Hub configuration and credentials storage. It now contains more details on how to use the Azure CLI to set up an IoT Hub. The documentation on credential provisioning has also been updated, both for nRF91 Series devices and nRF70 Series devices.
Download client library:
Added the
family
parameter to thedownload_client_cfg
structure. This is used to optimize the download sequence when the device only supports IPv4 or IPv6.Updated:
IPv6 support changed from compile time to runtime, and is enabled by default.
IPv6 to IPv4 fallback is done when both DNS request and TCP/TLS connect fails.
HTTP downloads forward data fragments to a callback only when the buffer is full.
Removed the
CONFIG_DOWNLOAD_CLIENT_IPV6
Kconfig option.
nRF Cloud CoAP library:
Added:
Automatic selection of proprietary PSM mode when building for the
SOC_NRF9161_LACA
.Support for bulk transfers to the
nrf_cloud_coap_json_message_send()
function.Support for raw transfers to the
nrf_cloud_coap_bytes_send()
function.Optional support for ground fix configuration flags.
Support for non-modem build.
Support for credentials provisioning.
Updated:
The
nrf_cloud_coap_shadow_delta_process()
function to include a parameter for application-specific shadow data.The
nrf_cloud_coap_shadow_delta_process()
function to process default shadow data added by nRF Cloud, which is not used by CoAP.The CDDL file for AGNSS to align with cloud changes and regenerated the AGNSS encoder accordingly.
To allow QZSS constellation assistance requests from AGNSS.
The following functions to accept a
confirmable
parameter:This parameter determines whether CoAP CON or NON messages are used.
The cbor code has been regenerated with zcbor 0.8.1 and adapted to API changes in zcbor 0.8.x.
nRF Cloud Log library:
Added:
The
CONFIG_NRF_CLOUD_LOG_INCLUDE_LEVEL_0
Kconfig option.Support for nRF Cloud CoAP text mode logging.
nRF Cloud library:
Added:
The
nrf_cloud_credentials_configured_check()
function to check if credentials exist based on the application’s configuration.The
nrf_cloud_obj_object_detach()
function to get an object from an object.The
nrf_cloud_obj_shadow_update()
function to update the device’s shadow with the data from annrf_cloud_obj
structure.An
nrf_cloud_obj_shadow_data
structure to thenrf_cloud_evt
structure to be used during shadow update events.The
CONFIG_NRF_CLOUD_SEND_SERVICE_INFO_FOTA
Kconfig option to enable sending configured FOTA service info on the device’s initial connection to nRF Cloud.The
CONFIG_NRF_CLOUD_SEND_SERVICE_INFO_UI
Kconfig option to enable sending configured UI service info on the device’s initial connection to nRF Cloud.Support for handling location request responses fulfilled by a Wi-Fi anchor.
An
nrf_cloud_location_config
structure for specifying the desired behavior of an nRF Cloud ground fix request.Support for custom JWT creation by selecting the
CONFIG_NRF_CLOUD_JWT_SOURCE_CUSTOM
Kconfig option.Support for specific credentials provisioning using the following Kconfig options:
Support for the TLS Credentials Subsystem by selecting the
CONFIG_NRF_CLOUD_CREDENTIALS_MGMT_TLS_CRED
Kconfig option. This is applicable to theCONFIG_NRF_CLOUD_CHECK_CREDENTIALS
andCONFIG_NRF_CLOUD_PROVISION_CERTIFICATES
Kconfig options.The
nrf_cloud_fota_poll.c
file to consolidate the FOTA polling code from the Cellular: nRF Cloud multi-service and Cellular: nRF Cloud REST FOTA samples.The
nrf_cloud_fota_poll.h
file.
Updated:
The
nrf_cloud_obj_object_add()
function to reset the added object on success.Custom shadow data is now passed to the application during shadow update events.
The AGNSS handling to use the AGNSS app ID string and corresponding MQTT topic instead of the older AGPS app ID string and topic.
The
nrf_cloud_obj_location_request_create()
andnrf_cloud_location_request()
functions to accept thenrf_cloud_location_config
structure in place of thebool request_loc
parameter.
nRF Cloud P-GPS library:
Fixed:
A bug in the prediction set update when the
CONFIG_NRF_CLOUD_PGPS_REPLACEMENT_THRESHOLD
Kconfig option was set to non-zero value.A bug in handling errors when downloading P-GPS data that prevented retries until after a reboot.
A bug in handling errors when downloading P-GPS data does not begin due to active FOTA download.
nRF Cloud device provisioning library:
Added the
CONFIG_NRF_PROVISIONING_PRINT_ATTESTATION_TOKEN
option to enable printing the attestation token when the device is not yet claimed.Updated:
Renamed nRF Device provisioning library to nRF Cloud device provisioning library.
The device mode callback sends an event when the provisioning state changes.
The cbor code has been regenerated with zcbor 0.8.1 and adapted to API changes in zcbor 0.8.x.
Fixed file descriptor handling by setting the
coap_client
structure’sfd
field to-1
when closing the socket.
MQTT helper library:
Added support for using a password when connecting to a broker.
LwM2M client utils library:
Updated:
The Release Assistance Indication (RAI) support to follow socket state changes from LwM2M engine and modify RAI values based on the state.
The library requests a periodic TAU (RPTAU) to match the client lifetime.
LwM2M location assistance library:
Updated the Ground Fix object to copy received coordinates to the LwM2M Location object.
FOTA download library:
Added:
The functions
fota_download()
andfota_download_any()
that can accept a security tag list and security tag count as arguments instead of a single security tag.FOTA_DOWNLOAD_ERROR_CAUSE_CONNECT_FAILED
as a potential error cause inFOTA_DOWNLOAD_EVT_ERROR
events.
nRF Cloud REST library:
Updated the
nrf_cloud_rest_location_request
structure to accept a pointer to anrf_cloud_location_config
structure in place of the singledisable_response
flag.
Wi-Fi credentials library:
Updated the PSA backend to use the PSA Internal Trusted Storage (ITS) for storing Wi-Fi credentials instead of the Protected Storage. This has been changed because the PSA ITS is a better fit for storing assets like credentials. When switching storage, the credentials need to be migrated manually, or the existing credentials are lost.
Removed the
CONFIG_WIFI_CREDENTIALS_BACKEND_PSA_UID_OFFSET
Kconfig option. Use theCONFIG_WIFI_CREDENTIALS_BACKEND_PSA_OFFSET
Kconfig option instead.
Libraries for NFC
Fixed an issue with handling zero size data (when receiving empty I-blocks from poller) in the
platform_internal_thread
file.
Security libraries
Added the Trusted storage library.
nRF Security library:
Updated:
The library no longer enables RSA keys by default, which reduces the code size by 30 kB for those that are not using RSA keys. The RSA key size must be explicitly enabled to avoid breaking the configuration when using the RSA keys, for example, by setting the
CONFIG_PSA_WANT_RSA_KEY_SIZE_2048
Kconfig option if 2048-bit RSA keys are required.The PSA config is now validated by the
ncs/nrf/ext/oberon/psa/core/library/check_crypto_config.h
file. Users with invalid configurations must update their PSA configuration according to the error messages that thecheck_crypto_config.h
file provides.
Other libraries
adp536x library:
Fixed the issue where the adp536x driver was included in the immutable bootloader on Thingy:91 when the
CONFIG_SECURE_BOOT
Kconfig option was enabled.
Date-Time library:
Added the
date_time_now_local()
function to the API.
DK Buttons and LEDs library:
Added an experimental no interrupts mode for button handling. To enable this mode, use the
CONFIG_DK_LIBRARY_BUTTON_NO_ISR
Kconfig option. You can use this mode as a workaround to avoid using the GPIO interrupts. However, it increases the power consumption.
Common Application Framework (CAF)
CAF: Bluetooth LE state module:
Added
ble_peer_event.reason
to inform about the reason code related to state of the Bluetooth LE peer. The field is used to propagate information about an error code related to a connection establishment failure and disconnection reason.Updated the dependencies of the
CONFIG_CAF_BLE_USE_LLPM
Kconfig option. You can enable the option even when the Bluetooth controller is not enabled as part of the application that uses CAF: Bluetooth LE state module.
CAF: Bluetooth LE advertising module:
Added the
CONFIG_CAF_BLE_ADV_POWER_DOWN_ON_DISCONNECTION_REASON_0X15
Kconfig option. You can use this option to force system power down when a bonded peer disconnects with reason0x15
(Remote Device Terminated due to Power Off).
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.
Added the
cert_tool.py
script. This is a script to generate EC private keys, create CSRs, create root CA and subordinate CA certificates and sign CSRs.HID configurator for nRF Desktop:
Separated functions that are specific to handling the
dfu_application.zip
file format. The ZIP format is used for update images in the nRF Connect SDK. The change simplifies integrating new update image file formats.
MCUboot
The MCUboot fork in nRF Connect SDK (sdk-mcuboot
) contains all commits from the upstream MCUboot repository up to and including 11ecbf639d826c084973beed709a63d51d9b684e
, 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:
The
CONFIG_XIP_SPLIT_IMAGE
Kconfig option that enables build system support for relocating part of the application to external memory using hardware QSPI XIP feature and MCUboot third image on nRF5340 SoC.MCUboot procedure that performs clean up of content in all the secondary slots, which contain valid header but cannot be assigned to any of supported primary images. This behavior is desired when the configuration (
CONFIG_MCUBOOT_CLEANUP_UNUSABLE_SECONDARY
) allows to use one secondary slot for collecting image for multiple primary slots.
Zephyr
The Zephyr fork in nRF Connect SDK (sdk-zephyr
) contains all commits from the upstream Zephyr repository up to and including 23cf38934c0f68861e403b22bc3dd0ce6efbfa39
, 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 23cf38934c ^a768a05e62
For the list of nRF Connect SDK specific commits, including commits cherry-picked from upstream, run:
git log --oneline manifest-rev ^23cf38934c
The current nRF Connect SDK main branch is based on revision 23cf38934c
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.
zcbor
zcbor has been updated from 0.7.0 to 0.8.1. For more information see the zcbor 0.8.0 release notes and the zcbor 0.8.1 release notes.
Added:
Support for unordered maps.
Performance improvements.
Naming improvements for generated code.
Bugfixes.
Trusted Firmware-M
Updated:
The minimal TF-M build profile no longer silences TF-M logs by default.
Note
This can be a breaking change if the UART instance used by TF-M is already in use, for example, by modem trace with a UART backend.
The TF-M version is updated to TF-M v2.0.0.
Mbed TLS
Updated the Mbed TLS version to v3.5.2.
Documentation
Added:
Contribution guidelines in the nRF Connect SDK page in a new Development model and contributions section that also includes the development model pages, previously listed under Releases and maturity.
Gazell and NFC sections in the Power optimization recommendations user guide.
Following new pages under Wi-Fi:
Security libraries where libraries Trusted storage and nRF Security are added.
Updated:
The Installation section by replacing two separate pages about installing the nRF Connect SDK with just one (Installing the nRF Connect SDK).
The Requirements reference page with new sections about nRF Command Line Tools and nRF Connect SDK toolchain management tools.
The Configuration and building section and added structural changes:
Build and configuration system gathers conceptual information about the build and configuration system previously listed on several other pages. The Additions specific to the nRF Connect SDK section on this page now provides more information about Custom build types specific to the nRF Connect SDK.
Board support is now a section and its contents have been moved to several subpages.
New Configuring devicetree subsection now groups guides related to configuration of hardware using the devicetree language.
Removed the page Modifying an application and distributed the contents into the following new pages:
Added a new page Advanced building procedures.
New reference page Output build files (image files) gathers information previously listed on several other pages.
Device Firmware Updates and Bootloaders are now separate sections, with the DFU section summarizing the available DFU methods in a table.
The Testing and optimization section by separating information about debugging into its own Debugging an application page. The basic information about the default serial port settings and the different connection methods and terminals is now on the main Testing and optimization page.
Integration steps in the Google Fast Pair integration guide. Reorganized extension-specific content into dedicated subsections.
The Development model and contributions section with the nRF Connect SDK documentation pages, previously listed separately.
The Glossary page by moving it back to the main hierarchy level.
The Wi-Fi page:
Moved Operating in power save modes, Operating with regulatory support, and Optimizing scan operation pages, which were previously listed under Developing with nRF70 Series.
The Memory requirements for Wi-Fi applications page is split into two sections Memory requirements for Wi-Fi applications in Station mode and Memory requirements for Wi-Fi applications in Scan mode, based on different supported modes.
The Operating in power save modes user guide by separating information about power profiling into its own Power profiling of nRF7002 DK page under Developing with nRF70 Series. Additionally, updated the Power Save mode section.
The Security page with information about the trusted storage.
Removed the Welcome to the nRF Connect SDK page. This page is replaced with existing Introduction page.