Changelog for nRF Connect SDK v3.3.0-preview3

This changelog reflects the most relevant changes from the latest official release.

Known issues

Known issues are only tracked for the latest official release. See known issues for nRF Connect SDK v3.2.0 for the list of issues valid for the latest release.

Changelog

The following sections provide detailed lists of changes by component.

IDE, OS, and tool support

Board support

No changes since the latest nRF Connect SDK release.

Build and configuration system

No changes since the latest nRF Connect SDK release.

Bootloaders and DFU

Developing with nRF91 Series

No changes since the latest nRF Connect SDK release.

Developing with nRF70 Series

No changes since the latest nRF Connect SDK release.

Developing with nRF54L Series

  • Added:

    • Experimental support for nRF54LS05B.

    • Experimental support for nRF54LM20B.

Developing with nRF54H Series

Developing with nRF53 Series

No changes since the latest nRF Connect SDK release.

Developing with nRF52 Series

No changes since the latest nRF Connect SDK release.

Developing with Thingy:91 X

No changes since the latest nRF Connect SDK release.

Developing with Thingy:91

No changes since the latest nRF Connect SDK release.

Developing with Thingy:53

No changes since the latest nRF Connect SDK release.

Developing with PMICs

No changes since the latest nRF Connect SDK release.

Developing with Front-End Modules

No changes since the latest nRF Connect SDK release.

Developing with custom boards

No changes since the latest nRF Connect SDK release.

Security

Trusted Firmware-M (TF-M)

Protocols

This section provides detailed lists of changes by protocol. See Samples for lists of changes for the protocol-related samples.

Bluetooth® LE

  • Updated the Direct Test Mode HCI commands by making them optional through the CONFIG_BT_CTLR_DTM_HCI Kconfig option.

Bluetooth Mesh

No changes since the latest nRF Connect SDK release.

DECT NR+

  • Added DECT NR+ full stack support, including the following features:

    • Connection Manager integration for enabling easy connect for the applications.

    • Network management API for controlling DECT NR+ operations.

    • L2 API implementation enabling IPv6 connectivity, including HAL definition.

    • Enabling Internet connectivity through sink and BR (Border Router) support together with, for example, Serial Modem on a gateway nRF91 LTE device.

    • nRF91x1 DECT modem driver implementing HAL API and interfacing with DECT NR+ modem firmware where the DECT NR+ MAC layer is running.

Enhanced ShockBurst (ESB)

  • Added:

    • Experimental support for concurrent operation of ESB with other radio protocols using the Timeslot feature.

    • The CONFIG_ESB_CLOCK_INIT Kconfig option. When this option is enabled, the esb_init() function automatically starts the required high-frequency clock and applies platform-specific errata workarounds. Applications that manage clocks independently can leave this option disabled (default).

  • Fixed invalid radio configuration for legacy ESB protocol.

Gazell

No changes since the latest nRF Connect SDK release.

Matter

Matter fork

No changes since the latest nRF Connect SDK release.

nRF IEEE 802.15.4 radio driver

No changes since the latest nRF Connect SDK release.

Thread

  • Added:

    • A warning when using precompiled OpenThread libraries with modified Kconfig options related to the OpenThread stack.

    • The otperf tool that is compatible with zperf and iperf for measuring throughput of thread transmissions. For more details, see OpenThread performance measurement.

Wi-Fi®

  • Added deprecated Wired Equivalent Privacy (WEP) support for backward compatibility with legacy networks. The support is enabled through the CONFIG_WIFI_NM_WPA_SUPPLICANT_WEP Kconfig option and is not recommended for new deployments.

Applications

This section provides detailed lists of changes by application.

Connectivity bridge

No changes since the latest nRF Connect SDK release.

IPC radio firmware

No changes since the latest nRF Connect SDK release.

Matter bridge

  • Updated partitions mapping for the nRF7002 DK in the application. See the migration guide for more information.

  • Removed the onoff_plug snippet from the application. To build the application with the onoff_plug functionality, use the overlay-onoff_plug.conf configuration overlay file.

nRF5340 Audio

  • Added:

    • Dynamic configuration of the number of channels for the encoder based on the configured audio locations. The number of channels is set during runtime using the audio_system_encoder_num_ch_set() function. This allows configuring mono or stereo encoding depending on the configured audio locations, potentially saving CPU and memory resources.

    • High CPU load callback using the Zephyr CPU load subsystem. The callback uses a printk() function, as the logging subsystem is scheduled out if higher priority threads take all CPU time. This makes debugging high CPU load situations easier in the application. The threshold for high CPU load is set in peripherals.c using CPU_LOAD_HIGH_THRESHOLD_PERCENT.

    • CONFIG_SPEED_OPTIMIZATIONS to enable compiler speed optimizations for the application.

    • Support for multiple independent coordinated sets in unicast client app. When all the devices in a coordinated set are disconnected, the SIRK is cleared, allowing a new unicast group to be formed with a new SIRK without the need to restart the application.

  • Updated:

    • Switched to the new USB stack introduced in Zephyr 3.4.0. For an end user, this change requires no action. macOS will now work out of the box, fixing OCT-2154.

    • Programming script. Devices are now halted before programming. Furthermore, the devices are kept halted until they are all programmed, and then started together with the headsets starting first. This eases sniffing of advertisement packets.

    • With the latest release of nRF Connect for VS Code, you can build and program the nRF5340 Audio application using the nRF Connect for VS Code GUI. Updated the Building and running nRF Audio applications accordingly: the note about missing support in nRF Connect for VS Code has been removed and the section about programming using standard methods now lists the steps for nRF Connect for VS Code and the command line.

    • Improved handling of I2S RX buffer overruns. When an overrun occurs, the most recent block in the current frame is removed to make space for new incoming data.

    • Optimized USB-to-encoder audio processing pipeline to reduce CPU usage. Note that LC3-encoding of sinusoidal input demands more of the CPU than real-world audio input.

    • The audio data path now accumulates 10 ms frames instead of processing 1 ms blocks individually, reducing message queue operations by 90% and improving overall system performance. This optimization affects both USB audio input processing and the I2S audio datapath, resulting in more efficient encoder thread operation.

    • Improved error handling with unlikely() macros for better branch prediction in performance-critical paths.

    • Separated the audio clock configuration into a dedicated module. This allows for better organization and potential reuse of the audio clock configuration code between different SoCs that might not have the high-frequency audio clock (HFCLKAUDIO) feature. The new module provides an initialization function for setting up the audio clock and a function for configuring the audio clock frequency.

  • Removed:

    • The Bluetooth controller watchdog from the application. The watchdog was not providing value and the removal allows for easier porting to other platforms that do not have a multi-core architecture.

    • The DFU options from the application. The nRF5340 Audio applications have for some time used standard nRF Connect SDK tools to perform a DFU. Hence, the applications use the same process as other Bluetooth projects. See Bootloaders and DFU for information on how to set up DFU for their requirements.

nRF Desktop

  • Added:

    • A workaround for the USB next stack race issue where the application could try to submit HID reports while the USB is being disabled after USB cable has been unplugged, which results in an error. The workaround is applied when the CONFIG_DESKTOP_USB_STACK_NEXT_DISABLE_ON_VBUS_REMOVAL Kconfig option is enabled.

    • Application-specific Kconfig options that simplify using SEGGER J-Link RTT (CONFIG_DESKTOP_LOG_RTT) or UART (CONFIG_DESKTOP_LOG_UART) as logging backend used by the application (CONFIG_DESKTOP_LOG). The CONFIG_LOG_BACKEND_UART and CONFIG_LOG_BACKEND_RTT Kconfig options are no longer enabled by default if nRF Desktop logging (CONFIG_DESKTOP_LOG) is enabled. These options are controlled through the newly introduced nRF Desktop application-specific Kconfig options. The application still uses SEGGER J-Link RTT as the default logging backend.

    • Support for the nrf54ls05dk/nrf54ls05b/cpuapp board target. The board target can act as either a mouse or a keyboard.

  • Updated:

    • The CONFIG_DESKTOP_BT Kconfig option to no longer select the deprecated CONFIG_BT_SIGNING Kconfig option. The application relies on Bluetooth LE security mode 1 and security level of at least 2 to ensure data confidentiality through encryption.

    • The memory map for RAM load configurations of nRF54LM20 target to increase KMU RAM section size to allow for secp384r1 key.

    • The default log levels used by the legacy USB stack (CONFIG_DESKTOP_USB_STACK_LEGACY) to enable error logs (CONFIG_USB_DEVICE_LOG_LEVEL_ERR, CONFIG_USB_DRIVER_LOG_LEVEL_ERR). Previously, the legacy USB stack logs were turned off. This change ensures visibility of runtime issues.

    • Application configurations that emit debug logs over UART to use the CONFIG_DESKTOP_LOG_UART Kconfig option instead of explicitly configuring the logger. This is done to simplify the configurations.

  • Removed the application-specific Kconfig option (CONFIG_DESKTOP_RTT) that enabled RTT for nRF Desktop logging (CONFIG_DESKTOP_LOG) or nRF Desktop shell (CONFIG_DESKTOP_SHELL). nRF Desktop shell automatically enables RTT by default (CONFIG_USE_SEGGER_RTT). You can use the newly introduced application-specific Kconfig option CONFIG_DESKTOP_LOG_RTT for nRF Desktop RTT logging configuration. By default, this option makes the RTT log backend block the message until it is transferred to host (CONFIG_LOG_BACKEND_RTT_MODE_BLOCK) instead of dropping messages that do not fit in up-buffer (CONFIG_LOG_BACKEND_RTT_MODE_DROP). This is done to prevent dropping the newest logs.

nRF Machine Learning (Edge Impulse)

Thingy:53: Matter weather station

No changes since the latest nRF Connect SDK release.

Samples

This section provides detailed lists of changes by sample.

Bluetooth samples

Bluetooth Mesh samples

Bluetooth Fast Pair samples

  • Updated all Fast Pair samples to use the new <bluetooth/fast_pair/...> include paths.

  • Bluetooth Fast Pair: Locator tag sample:

    • Updated:

      • The sample to use the new name for the Find Hub Network (FHN) that was previously known as the Find My Device Network (FMDN). Migrated the sample to use the new Kconfig options and the new FHN API header.

      • The motion detector sensor on Thingy:53 target from gyroscope to accelerometer.

      • The location of the Kconfig fragment files from the src subdirectory to the sample root directory.

Cellular samples

  • Cellular: nRF Cloud MQTT FOTA and Cellular: nRF Cloud MQTT device message samples:

    • Added support for JWT authentication by enabling the CONFIG_MODEM_JWT Kconfig option. Enabling this option in the prj.conf is necessary for using UUID as the device ID.

  • Cellular: Location:

    • Added support for onboarding with nRF Cloud Utils by using AT commands to set up the modem and device credentials.

  • Cellular: Modem Shell sample:

    • Added support for JWT authentication by enabling the CONFIG_MODEM_JWT Kconfig option. Enabling this option is necessary for using nRF Cloud Utils as an onboarding method.

    • Removed JITP from the shell commands and references from the sample documentation.

  • Cellular: nRF Cloud MQTT device message and nRF Cloud multi-service samples:

    • Updated shadow handling by removing the shadow type Accepted and added Transform request event handling. Delta events can now handle error cases using the /shadow/update/delta/trim/err and /shadow/update/delta/full/err topics in nRF Cloud.

Cryptography samples

Debug samples

No changes since the latest nRF Connect SDK release.

DECT NR+ samples

  • Added the nRF91x1: Hello DECT sample for demonstrating the use of the DECT NR+ stack with connection manager and IPv6 connectivity.

  • Added the nRF91x1: DECT NR+ Shell sample with the utilities for testing the DECT NR+ networking stack and modem features.

  • nRF91x1: DECT NR+ PHY Shell sample:

    • Updated:

      • The dect rf_tool command - Major updates to improve usage for RX and TX testing.

      • Scheduler - Dynamic flow control based on load tier to prevent modem out-of-memory errors.

      • Settings - Continuous Wave (CW) support and possibility to disable Synchronization Training Field (STF) on TX and RX.

Edge Impulse samples

Enhanced ShockBurst samples

  • Added:

  • Updated all ESB samples to use the CONFIG_ESB_CLOCK_INIT Kconfig option for automatic HF clock management, removing the manual clock initialization code from the main.c files.

Gazell samples

No changes since the latest nRF Connect SDK release.

IronSide SE samples

No changes since the latest nRF Connect SDK release.

Keys samples

No changes since the latest nRF Connect SDK release.

Matter samples

  • Updated:

    • The documentation for all Matter samples and applications to make it more consistent and easier to maintain and read.

    • Partitions mapping for the nRF7002 DK in all Matter samples. See the migration guide for more information.

  • Matter: Light switch:

    • Removed the lit_icd snippet from the sample and enabled LIT ICD configuration by default.

  • Matter: Manufacturer-specific:

    • Added support for the NRF_MATTER_CLUSTER_INIT macro.

  • Matter: Closure:

    • Added support for the Closure Control cluster test event triggers.

  • Matter: Door lock:

    • Added:

      • Support for the Thread and Wi-Fi switching section in the nRF54LM20 DK with the nRF7002-EB II shield attached.

      • Lock data storage implementation based on the ARM PSA Protected Storage API, enabled with the CONFIG_LOCK_ACCESS_STORAGE_PROTECTED_STORAGE Kconfig option.

  • Matter: Light bulb:

    • Added support for the AWS IoT integration in the nRF54LM20 DK with the nRF7002-EB II shield attached.

Networking samples

No changes since the latest nRF Connect SDK release.

NFC samples

nRF5340 samples

No changes since the latest nRF Connect SDK release.

Peripheral samples

No changes since the latest nRF Connect SDK release.

PMIC samples

No changes since the latest nRF Connect SDK release.

Protocol serialization samples

No changes since the latest nRF Connect SDK release.

SDFW samples

No changes since the latest nRF Connect SDK release.

Sensor samples

No changes since the latest nRF Connect SDK release.

SUIT samples

No changes since the latest nRF Connect SDK release.

Trusted Firmware-M (TF-M) samples

No changes since the latest nRF Connect SDK release.

Thread samples

Wi-Fi samples

No changes since the latest nRF Connect SDK release.

Other samples

No changes since the latest nRF Connect SDK release.

Drivers

This section provides detailed lists of changes by driver.

  • Added the UART driver documentation.

  • Updated the nrfx_gppi API to now have full support on the application core of the nRF54H20 device. Using DPPI does not require the devicetree configuration.

Wi-Fi drivers

No changes since the latest nRF Connect SDK release.

Flash drivers

No changes since the latest nRF Connect SDK release.

Libraries

This section provides detailed lists of changes by library.

Binary libraries

No changes since the latest nRF Connect SDK release.

Bluetooth libraries and services

  • Google Fast Pair Service (GFPS) library:

    • Updated:

      • The location of the Fast Pair headers and implementation out of the services subdirectory. The headers moved from include/bluetooth/services/fast_pair/ to include/bluetooth/fast_pair/ and the implementation moved from subsys/bluetooth/services/fast_pair/ to subsys/bluetooth/fast_pair/. The deprecated forwarding headers remain at the old paths to provide backward compatibility.

      • The naming of the Find My Device Network (FMDN) extension to Find Hub Network (FHN) to align with the updated Google specification:

        • All public API symbols have been renamed from bt_fast_pair_fmdn_* to bt_fast_pair_fhn_*. The new FHN header is located at include/bluetooth/fast_pair/fhn/fhn.h. Deprecated FMDN API aliases remain available through the include/bluetooth/services/fast_pair/fmdn.h header.

        • All Kconfig options have been renamed from CONFIG_BT_FAST_PAIR_FMDN_* to CONFIG_BT_FAST_PAIR_FHN_*. Deprecated FMDN Kconfig options remain available under the CONFIG_BT_FAST_PAIR_FMDN option tree.

        • The FMDN implementation directory has been renamed from subsys/bluetooth/services/fast_pair/fmdn/ to subsys/bluetooth/fast_pair/fhn/.

        See the migration guide for details.

  • Bluetooth Mesh provisioning handler for Nordic DKs module:

    • Added support for node reset callback. Applications can now register a callback using the bt_mesh_dk_prov_node_reset_cb_set() function to perform cleanup operations when a node reset occurs.

  • Bluetooth LE scanning library:

    • Fixed a bug where the central would attempt to connect to a non-connectable peripheral if the device had been matched by specified filters.

Common Application Framework

No changes since the latest nRF Connect SDK release.

Debug libraries

No changes since the latest nRF Connect SDK release.

DFU libraries

No changes since the latest nRF Connect SDK release.

Gazell libraries

No changes since the latest nRF Connect SDK release.

Security libraries

  • nRF Security library:

    • Updated the header files at subsys/nrf_security/src/drivers/cracen/cracenpsa/include/ with Doxygen documentation.

Modem libraries

Multiprotocol Service Layer libraries

  • Fixed:

    • An issue with toggling of the REQUEST and STATUS0 pins when using the nRF700x coexistence interface on the nRF54H20 device.

    • An issue where coexistence pin GPIO polarity settings were ignored when using the nRF700x coexistence interface.

Libraries for networking

  • The FTP client library has been moved to the Zephyr repository (see FTP client).

  • nRF Cloud library:

    • Added:

    • Removed:

      • The NRF_CLOUD_MQTT_SHADOW_TRANSFORMS Kconfig option. Transform request are the default method to request AWS shadows, replacing the shadow type Accepted.

      • The topics /shadow/get/accepted/trim, /shadow/get/accepted, and /shadow/get/trim. Requesting shadow updates through them potentially caused the device to disconnect due to a shadow update larger than two KB.

      • The /shadow/update/delta/full topic. It is replaced by /shadow/update/delta/trim. Deltas are now trimmed by default to prioritize smaller shadows.

  • nRF Cloud P-GPS library:

    • Updated the range for the CONFIG_NRF_CLOUD_PGPS_NUM_PREDICTIONS and CONFIG_NRF_CLOUD_PGPS_REPLACEMENT_THRESHOLD Kconfig options to values supported by nRF Cloud.

    • Fixed an issue where preemptive updates were not always performed when expected.

    • Removed the CONFIG_NRF_CLOUD_PGPS_PREDICTION_PERIOD Kconfig choice and related options (CONFIG_NRF_CLOUD_PGPS_PREDICTION_PERIOD_120_MIN and CONFIG_NRF_CLOUD_PGPS_PREDICTION_PERIOD_240_MIN).

Libraries for NFC

  • Tag NDEF Exchange Protocol (TNEP) library:

    • Fixed the BUILD_ASSERT for the waiting time extension count (_n_wait) in the TNEP Tag API. It now uses NFC_TNEP_TAG_MAX_N_WAIT_TIME instead of NFC_TNEP_TAG_MAX_WAIT_TIME, aligning the check with the TNEP 1.0 specification.

    • Removed the unused NFC_TNEP_NDEF_NLEN_SIZE define from the TNEP base API.

nRF RPC libraries

No changes since the latest nRF Connect SDK release.

Other libraries

Shell libraries

No changes since the latest nRF Connect SDK release.

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:

  • Software Bill of Materials script:

    • Added sysbuild support for generating individual SBOM for each application.

    • Updated to support Matter builds by detecting GN external projects and collecting their source files for SBOM generation.

Integrations

This section provides detailed lists of changes by integration.

Google Fast Pair integration

  • Updated the Integration overview guide to reflect the Find My Device Network (FMDN) extension rename to Find Hub Network (FHN), aligning with the updated Google specification.

Edge Impulse integration

No changes since the latest nRF Connect SDK release.

Memfault integration

AVSystem integration

No changes since the latest nRF Connect SDK release.

nRF Cloud integration

  • Updated by enabling a transform request for topic prefix and pairing during connection initialization to nRF Cloud in the MQTT finite state machine (FSM).

  • Fixed a hang in the nRF Cloud log backend caused by incorrect error handling. When the semaphore cannot be acquired, the function now returns the original size instead of 0, allowing the logging system to proceed correctly.

CoreMark integration

No changes since the latest nRF Connect SDK release.

DULT integration

No changes since the latest nRF Connect SDK release.

MCUboot

The MCUboot fork in nRF Connect SDK (sdk-mcuboot) contains all commits from the upstream MCUboot repository up to and including 8d14eebfe0b7402ebdf77ce1b99ba1a3793670e9, 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:

No changes since the latest nRF Connect SDK release.

Zephyr

The Zephyr fork in nRF Connect SDK (sdk-zephyr) contains all commits from the upstream Zephyr repository up to and including 93b5f19f994b9a9376985299c1427a1630f6950e, 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 93b5f19f99 ^911b3da139

For the list of nRF Connect SDK specific commits, including commits cherry-picked from upstream, run:

git log --oneline manifest-rev ^93b5f19f99

The current nRF Connect SDK main branch is based on revision 93b5f19f99 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.

Additions specific to nRF Connect SDK

No changes since the latest nRF Connect SDK release.

zcbor

No changes since the latest nRF Connect SDK release.

cJSON

No changes since the latest nRF Connect SDK release.

Documentation

  • Added a section in nRF54H20 power management optimization about optimizing power on the nRF54H20 SoC by relocating the radio core firmware to TCM.

  • Updated the Emergency data storage library documentation to use static device tree partitions instead of the Partition Manager.

  • Removed references to JITP in different areas of the documentation.