nRF Connect SDK v2.5.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
The following list includes the summary of the most relevant changes introduced in this release.
Added support for the following features:
Bluetooth® Low Energy:
LE Power Control request procedure that was introduced in nRF Connect SDK 2.2.0 as experimental is now supported.
Bluetooth mesh:
Networked Lighting Controls (NLC), a set of Bluetooth mesh profiles for standardized wireless lighting control.
Bluetooth mesh 1.1 features introduced in nRF Connect SDK 2.4.0 as experimental are now supported.
Note
Samples built with Bluetooth mesh 1.1 will be labeled as experimental when built. The experimental flag in the Zephyr code base could unfortunately not be removed in time for the release, but this is planned to be changed.
Sidewalk:
Amazon Sidewalk is now integrated as part of nRF Connect SDK, supporting nRF52840 and nRF5340 SoCs.
Wi-Fi®:
Enhanced Wi-Fi scan API, providing optimizations and high user configurability for the Wi-Fi scanning functionality on nRF70 Series.
Network agnostic connectivity manager, allowing seamless use of IP-based protocols regardless of underlying transport (Cellular IoT, Wi-Fi).
AWS IoT, Azure IoT Hub, Download client, HTTPS Client, UDP, and Wi-Fi: Zephyr networking samples are now supported on nRF7002 DK.
New samples: Wi-Fi: TWT, Wi-Fi: Shutdown, and Wi-Fi: WFA QuickTrack control application.
Cellular IoT:
Software SIM API, allowing the usage of Software SIM-based solutions to reduce energy consumption associated with physical SIMs and allowing for more compact hardware designs.
New samples: Cellular: Battery and Cellular: nRF Device provisioning.
Power Management (nPM1300):
nPM1300 features introduced in nRF Connect SDK 2.4.0 as experimental are now supported.
New features: LEDs, ship, hibernate and reset, more charger configurations, including JEITA and trickle charging, watchdog and event handling.
DFU:
Direct XiP mode for MCUboot, reducing downtime during the DFU process.
Added experimental support for the following features:
Bluetooth Low Energy:
Isochronous channels, both Connected Isochronous Streams and Broadcast Isochronous Streams, in SoftDevice Controller. For more details, see the SoftDevice Controller changelog.
Matter:
Matter bridge application for nRF7002 DK (nRF5340 + nRF7002).
Improved:
Matter:
Reduction of memory utilization for Matter over Thread template application:
Debug build: reduction of 69KB flash (884KB to 815KB) and 56KB RAM (220KB to 164KB)
Release build: reduction of 17KB flash (740KB to 723KB) and 54KB RAM (212KB to 158KB)
Reduction of memory utilization for Matter over Wi-Fi template application:
Debug build: reduction of 17KB flash (948KB to 931KB) and 158KB RAM (418KB to 260KB)
Release build: reduction of 8KB flash (834KB to 826KB) and 156KB RAM (409KB to 253KB)
Wi-Fi:
Memory utilization for scanning only applications (for example, Wi-Fi locationing), reducing RAM usage from 55KB to 20KB.
Deprecated:
With the introduction of Matter, all HomeKit customers are recommended to use Matter for new designs of smart home products. As a result, HomeKit Accessory Development Kit has been deprecated, and it will be removed in the next release of nRF Connect SDK.
Sign up for the nRF Connect SDK v2.5.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.5.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 Examples of commands for more information.
For information on the included repositories and revisions, see Repositories and revisions for v2.5.0.
IDE and tool support
nRF Connect extension for Visual Studio Code is the only officially supported IDE for nRF Connect SDK v2.5.0.
Toolchain Manager, used to install the nRF Connect SDK automatically from nRF Connect for Desktop, is available for Windows, Linux, and macOS.
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.5.0 for the list of issues valid for the latest release.
Changelog
The following sections provide detailed lists of changes by component.
Application development
This section provides detailed lists of changes to overarching SDK systems and components.
Build system
Removed the
CONFIG_MCUBOOT_IMAGE_VERSION
Kconfig option in favor of using a dedicated application VERSION file to set the version. You can alternatively set the version by using theCONFIG_MCUBOOT_IMGTOOL_SIGN_VERSION
Kconfig option, but using aVERSION
file is the recommended approach.The nRF Connect SDK name and version is now displayed instead of the Zephyr version as the default boot banner when applications boot. This can be customized in user applications.
nRF Front-End Modules
Updated the name of the
nrf21540_ek
shield tonrf21540ek
.
Working with nRF91 Series
Added support for nRF91 modem tracing with UART backend using snippets. Snippet is used for nRF91 modem tracing with the UART backend for the following applications and samples:
All samples that use nRF91 Series DK except for Cellular: SLM Shell, Cellular: Modem trace external flash backend, Cellular: Modem trace backend.
For samples where the UART trace backend is enabled by default, the configuration is added to the sample overlays and project configuration.
The default board revision for nRF9160 DK has changed to v0.14.0. See Board revisions for more details.
Working with nRF52 Series
-
Updated the
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU
Kconfig option to support MCUboot bootloader in the direct-xip mode, and added the related documentation. For details, see Build configuration additions for MCUboot in the direct-xip mode.
Protocols
This section provides detailed lists of changes by protocol. See Samples for lists of changes for the protocol-related samples.
Amazon Sidewalk
Starting from 2.5.0 release, Amazon Sidewalk is a part of the nRF Connect SDK.
Added:
nRF53 production support for Amazon Sidewalk, including Bluetooth LE, LoRa, and FSK.
New distribution model (Amazon Sidewalk is now merged with nRF Connect SDK).
Updated:
Suspended external flash in the Sidewalk mode to reduce power consumption. External flash is only available in the DFU mode.
Merged Amazon Sidewalk libraries into a unified library.
Adjusted the sensor monitoring app to change to initialization state upon reconnecting. This setting prevents the cloud application from being stuck when it is disconnected for a long time.
Deactivated the Bluetooth LE GATT Client to optimize the configuration.
Removed an experimental devcontainer for a better user experience.
Bluetooth LE
Updated the Bluetooth HCI headers. The
hci.h
header now contains only the function prototypes, and the newhci_types.h
header defines all HCI-related macros and structs.The previous
hci_err.h
header has been merged into the newhci_types.h
header. This can break builds that were directly includinghci_err.h
.
Bluetooth mesh
Added support for Trusted Firmware-M (TF-M) PSA as the crypto backend for mesh security toolbox for the platforms with CMSE enabled.
See Bluetooth mesh samples for the list of changes in the Bluetooth mesh samples.
Matter
Added:
Page about Optimizing memory usage in Matter applications.
Shell commands for printing and resetting the peak usage of critical system resources used by Matter. These shell commands are available when both
CONFIG_CHIP_LIB_SHELL
andCONFIG_CHIP_STATISTICS
Kconfig options are set.Reaction to removing the last fabric. The user now decides what happens after the removal:
Do nothing (
CONFIG_CHIP_LAST_FABRIC_REMOVED_NONE
).Perform a factory reset of the device (
CONFIG_CHIP_LAST_FABRIC_REMOVED_ERASE_ONLY
).Perform a factory reset of the device and start Bluetooth LE advertising (
CONFIG_CHIP_LAST_FABRIC_REMOVED_ERASE_AND_PAIRING_START
).Perform a factory reset of the device and then reboot the device (
CONFIG_CHIP_LAST_FABRIC_REMOVED_ERASE_AND_REBOOT
).
Page about Ecosystems certification.
Page about Matter Bridge.
Updated:
Matter over Thread samples so that the OpenThread shell is disabled by default.
The
CONFIG_CHIP_FACTORY_RESET_ERASE_NVS
Kconfig option to be enabled by default, including for builds without factory data support. The firmware now erases all flash pages in the non-volatile storage during a factory reset, instead of just clearing Matter-related settings.The
CONFIG_CHIP_EXTENDED_DISCOVERY
Kconfig option to be disabled by default. The commissionable node now does not advertise a commissioning service when it does not have the commissioning window open.The RAM usage based on test measurements. After the following optimizations, the RAM usage decreased by around 12-20% on all supported boards:
Reduced the number of network and Matter stack buffers and packets.
Disabled SSL server support.
Reduced the Main, Matter and OpenThread stack sizes.
Reduced the Mbed TLS heap size.
Improved the buffer usage of the nRF700X driver for Matter.
Reduced the size of the Matter event queue.
Page about Matter certification with the information about Certification status of Matter samples.
Fixed:
An IPC crash on nRF5340 when Zephyr’s main thread takes a long time.
An application core crash on nRF5340 targets with the factory data module enabled. The crash would happen after the OTA firmware update finishes and the image is confirmed.
See Matter samples for the list of changes for the Matter samples.
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.1.0.1
tag.
The following is the most important change inherited from the upstream Matter:
Added the
CONFIG_CHIP_MALLOC_SYS_HEAP_WATERMARKS_SUPPORT
Kconfig option to manage watermark support.Updated:
The factory data guide with an additional rotating ID information.
Set onboarding code generation to be enabled by default if the
CONFIG_CHIP_FACTORY_DATA_BUILD
Kconfig is set.
Fixed RAM and ROM reports.
Zigbee
The Zigbee stack integrated with the nRF Connect SDK is not eligible for certification. It should only be used for evaluation and prototyping, and should not be used in an end product. A fixed, production ready version of the Zigbee stack will be part of the nRF Connect SDK 2.6.0 release.
Wi-Fi
Added:
Integration of Wi-Fi connectivity with connection manager connectivity API.
The
CONFIG_NRF_WIFI_IF_AUTO_START
Kconfig option to enable an application to set or unsetAUTO_START
on an interface. This can be done by using theNET_IF_NO_AUTO_START
flag.Support for sending TWT sleep/wake events to applications.
The nRF5340 HFCLK192M clock divider is set to the default value
Div4
for lower power consumption when the QSPI peripheral is idle.Extensions to the scan command to provide better control over some scan parameters.
HomeKit
Fixed:
An issue where the network core downgrade prevention does not work on nRF5340.
An issue where the accessories become significantly slower when some data pairs in the non-volatile storage (NVS) change frequently.
Applications
This section provides detailed lists of changes by application.
Added new application Matter bridge that provides support for the following:
Bluetooth LE bridged devices
Bridging of the Bluetooth LE Environmental Sensor (ESP)
Performing Device Firmware Upgrade (DFU) over Bluetooth LE using Simple Management Protocol (SMP)
Asset Tracker v2
Added:
Support for the nRF9161 development kit.
A handler for a new LwM2M modem firmware callback event
LWM2M_FOTA_UPDATE_MODEM_RECONNECT_REQ
. The handler may return-1
to keep the default behavior of system reset after the modem update.
Updated:
Default value of the Kconfig option CONFIG_DATA_ACTIVE_TIMEOUT_SECONDS is changed to 300 seconds.
Enabled link time optimization to reduce the flash size of the application. You can disable this using the Kconfig option
CONFIG_ASSET_TRACKER_V2_LTO
.Replaced overlay arguments
OVERLAY_CONFIG
andDTC_OVERLAY_FILE
with the new Zephyr overlay argumentsEXTRA_CONF_FILE
andEXTRA_DTC_OVERLAY_FILE
so as to avoid overriding of board overlay for the nRF9160 DK v0.14.0.Possibility for the cloud integration to request the location back to the device for Wi-Fi or cellular positioning.
Fixed an issue with movement timeout handling in passive mode.
Serial LTE modem
Added:
Support for the nRF9161 development kit.
#XMODEMRESET
AT command to reset the modem while keeping the application running. It is expected to be used during modem firmware update, which now only requires a reset of the modem.DTLS connection identifier support to the
#XSSOCKETOPT
and#XUDPCLI
AT commands.Full modem FOTA support to the
#XFOTA
AT command.An
auto_connect
operation in the#XCARRIER
carrier command. The operation controls automatic registration of UE to LTE network.A
log_data
operation in the#XCARRIER
carrier command. The operation sends log data using the Event Log object to be read by the LwM2M server.Support for the Binary App Data Container object as an alternative to the App Data Container object. This can be used through the
app_data
operation in the#XCARRIER
carrier command.#XNRFCLOUDPOS
AT command to send location requests to nRF Cloud using cellular or Wi-Fi positioning, or both.#XGPS
AT command to control the GNSS module with support for A-GNSS and P-GPS at the same time.
Updated:
The configuration to enable support for nRF Cloud A-GNSS service and nRF Cloud Location service by default.
UART receive refactored to utilize hardware flow control (HWFC) instead of disabling and enabling UART receiving between commands.
UART transmit has been refactored to utilize buffering. Multiple responses can now be received in a single transmission.
Modem FOTA to only need a modem reset to apply the firmware update. The full chip reset (using the
#XRESET
AT command) remains supported.#XGPSDEL
AT command to disallow deleting local clock (TCXO) frequency offset data because it is an internal value that should not be deleted when simulating a cold start.Socket option
TLS_DTLS_HANDSHAKE_TIMEO
to a new name value.#XTCPSVR
connection closure status and documentation.#XRECVFROM
to include the port of the peer.
Removed:
DFU AT commands
#XDFUGET
,#XDFUSIZE
and#XDFURUN
because they were not usable without a custom application in the target (nRF52 Series) device.Support for bootloader FOTA update because it is not needed for Serial LTE modem.
Operations to read or erase the MCUboot secondary slot from the
#XFOTA
AT command because the application update process overwrites the slot in any case.AT commands
#XCELLPOS
and#XWIFIPOS
. They are replaced by the#XNRFCLOUDPOS
command that allows to combine cellular and Wi-Fi data to determine the device location.The AT commands
#XAGPS
and#XPGPS
. Their functionality is merged into the#XGPS
AT command that now allows using A-GNSS and P-GPS at the same time.The AT command
#XSLMUART
. UART is now configured using only devicetree.UART settings that were previously saved for this command, now provoke error logs on startup. The errors are harmless. To remove these errors, you can erase all settings by doing a full erase of the device. This will be fixed in the next nRF Connect SDK release.
nRF5340 Audio
Modified the entire application architecture for handling Bluetooth LE Audio. The following new modules have been added:
Management - This module handles scanning and advertising, in addition to general initialization, controller configuration, and transfer of DFU images. The new architecture makes it possible to make connections and handle periodic advertising sync independently of the Bluetooth LE Audio setup.
Stream - This module handles the setup and transfer of audio in the Bluetooth LE Audio context. The new architecture makes it possible to have more than one Bluetooth LE Audio role in one device.
Renderer - This module handles rendering, such as volume up and down.
Content Control - This module handles content control, such as play and pause.
Added back the QDID number for the LE Audio controller for nRF5340 to the documentation.
Updated the application documentation by splitting it into several pages.
nRF Machine Learning (Edge Impulse)
Updated the machine learning models (
CONFIG_EDGE_IMPULSE_URI
) used by the application so that they are now hosted by Nordic Semiconductor.
nRF Desktop
Added:
Kconfig options to enable handling of the power management events for the following nRF Desktop modules:
Board module - The CONFIG_DESKTOP_BOARD_PM_EVENTS Kconfig option.
Motion module - The CONFIG_DESKTOP_MOTION_PM_EVENTS Kconfig option.
Bluetooth LE latency module - The CONFIG_DESKTOP_BLE_LATENCY_PM_EVENTS Kconfig option.
All listed Kconfig options are enabled by default and depend on the
CONFIG_CAF_PM_EVENTS
Kconfig option.Kconfig option to configure a motion generated per second during a button press (CONFIG_DESKTOP_MOTION_BUTTONS_MOTION_PER_SEC) in the Motion module. The implementation relies on the hardware clock instead of system uptime to improve accuracy of the motion data generated when pressing a button.
The Measuring HID report rate section in the nRF Desktop documentation.
A new Configuration channel request (
CONFIG_STATUS_GET_PEERS_CACHE
). The request is handled by the HID forward module and can be used to detect changes in the set of connected Bluetooth® LE peripherals. For details, see the Configuration channel documentation.The forced scan state to Bluetooth LE scanning module. The new state prevents interrupting scanning when a connected peripheral is in use. The forced scan speeds up establishing new connections with peripherals, but it also negatively impacts the performance of already connected peripherals.
Updated:
Set the max compiled-in log level to
warning
for the USB HID class (CONFIG_USB_HID_LOG_LEVEL_CHOICE
) and reduced the log message levels used in the USB state power manager module source code. This is done to avoid flooding logs during USB state changes.If the USB state is set to
USB_STATE_POWERED
, the USB state power manager module restricts the power down level to thePOWER_MANAGER_LEVEL_SUSPENDED
instead of requiringPOWER_MANAGER_LEVEL_ALIVE
. This is done to prevent the device from powering down and waking up multiple times when an USB cable is connected.Disabled
CONFIG_BOOT_SERIAL_IMG_GRP_HASH
in MCUboot bootloader release configurations of boards that use nRF52820 SoC. This is done to reduce the memory consumption.To improve the accuracy, the generation of simulated movement data in the Motion module now uses a timestamp in microseconds based on the cycle count (either
k_cycle_get_32()
ork_cycle_get_64()
function depending on theCONFIG_TIMER_HAS_64BIT_CYCLE_COUNTER
Kconfig option).Aligned Kconfig option names in the Motion module implementation that generates motion from button presses. The Kconfig options defining used key IDs are prefixed with
CONFIG_MOTION_BUTTONS_
instead ofCONFIG_MOTION_
to ensure consistency with configuration of other implementations of the motion module.The Bluetooth LE scanning module no longer stops Bluetooth LE scanning when it receives
hid_report_event
related to a HID output report. Sending HID output report is triggered by a HID host. Scanning stop may lead to an edge case where the scanning is stopped, but there are no peripherals connected to the dongle.Increased heap memory pool size (
CONFIG_HEAP_MEM_POOL_SIZE
) in nRF5340 DK configurations. This is done to prevent Event Manger out of memory (OOM) error.Increased the stack size of a thread responsible for loading settings (
CONFIG_CAF_SETTINGS_LOADER_THREAD_STACK_SIZE
) to1200
(default value) in thenrf52kbd_nrf52832
configurations. This is needed to prevent stack overflows on the initial boot right after programming the device.Aligned the documentation for the NCS keyboard and NCS gaming mouse Fast Pair debug models with the new configuration UI in the Google Nearby Console.
Thingy:53: Matter weather station
Added support for the nRF7002 Wi-Fi expansion board.
Samples
Bluetooth samples
Bluetooth: Direct Test Mode sample:
Added:
Support for the nRF52840 DK.
Experimental support for the HCI interface.
Updated:
Aligned timers’ configurations to the new nrfx API.
Extracted the DTM radio API from the transport layer.
Added support for the radio fast ramp-up feature. This feature is enabled by default.
Bluetooth: Peripheral HIDS keyboard sample:
Fixed an interoperability issue with iOS devices by setting the report IDs of HID input and output reports to zero.
Bluetooth: Fast Pair input device sample:
Renamed the sample from Bluetooth: Fast Pair to Bluetooth: Fast Pair input device and moved it to the
samples/bluetooth/fast_pair
folder.Aligned the documentation for the Fast Pair debug model with the new configuration UI in the Google Nearby Console. Changed the Device Name from NCS Fast Pair demo to NCS input device.
Added automatic switching to the Fast Pair not discoverable advertising mode with the hide UI indication instead of removing the Fast Pair advertising payload when all bond slots are taken.
Increased the system workqueue stack size (
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE
) to2048
to prevent stack overflows right after booting the nRF5340 DK.Fixed an issue where the sample was unable to advertise in Fast Pair not discoverable advertising mode when it had five Account Keys written.
Bluetooth mesh samples
Fixed an issue where some samples copied using the nRF Connect for Visual Studio Code extension would not compile due to relative paths in
CMakeLists.txt
, which were referencing files outside of the applications folder.Bluetooth mesh: Sensor observer sample:
Fixed an issue with the sample not fitting into RAM size on the
nrf52dk_nrf52832
board.
Bluetooth mesh: Light sample:
Removed support for the configuration with CMSE enabled for Thingy:53.
Bluetooth mesh: Light fixture sample:
Added support for Composition Data Pages 1 and 2. Support for Composition Data Pages 1 and 2 has a dependency on Bluetooth mesh 1.1 support.
Fixed an issue where the sample could return an invalid Light Lightness Status message if the transition time was evaluated to zero.
Removed support for the configuration with CMSE enabled for Thingy:53.
Bluetooth mesh: Light dimmer and scene selector sample:
Added support for Composition Data Pages 1 and 2. Support for Composition Data Pages 1 and 2 has a dependency on Bluetooth mesh 1.1 support.
Removed support for the configuration with CMSE enabled for Thingy:53.
Bluetooth mesh: Light switch sample:
Removed support for the configuration with CMSE enabled for Thingy:53.
Bluetooth mesh: Sensor sample:
Added:
Support for Composition Data Pages 1 and 2. Support for Composition Data Pages 1 and 2 has a dependency on Bluetooth mesh 1.1 support.
A getter for the
bt_mesh_sensor_rel_runtime_in_a_dev_op_temp_range
sensor.
Fixed an issue where the
bt_mesh_sensor_time_since_presence_detected
sensor could report an invalid value when the time delta would exceed the range of the characteristic.Removed support for the configuration with CMSE enabled for Thingy:53.
Cryptography samples
Added the Crypto: EC J-PAKE sample demonstrating usage of EC J-PAKE.
Cellular samples (renamed from nRF9160 samples)
Renamed nRF9160 samples to Cellular samples and relocated them to the
samples/cellular
folder.Added:
Support for the nRF9161 DK in all cellular samples except for the Cellular: LTE Sensor Gateway sample.
The Cellular: Battery sample to show how to use the Modem battery library.
The Cellular: nRF Device provisioning sample that demonstrates how to use the nRF Device provisioning service.
Cellular: nRF Cloud multi-service sample:
Renamed Cellular: nRF Cloud MQTT multi-service to Cellular: nRF Cloud multi-service.
Added:
Documentation for using the nRF Cloud Alert and nRF Cloud Log libraries.
The
overlay_coap.conf
file and made changes to the sample to enable the use of CoAP instead of MQTT to connect with nRF Cloud.An overlay that allows the sample to be used with Wi-Fi instead of LTE (MQTT only).
Reporting of device and connection info to the device shadow.
The
overlay_min_coap.conf
andoverlay_min_mqtt.conf
overlay files.Handling of shadow deltas caused by alert and log configuration changes for CoAP.
Updated:
The
overlay_nrfcloud_logging.conf
file to enable JSON logs by default.The encoding and decoding of nRF Cloud data to use the
nrf_cloud_obj
structure and associated functions.The connection logic by cleaning and simplifying it.
The sample to use Zephyr’s
conn_mgr
and theCONFIG_LTE_CONNECTIVITY
Kconfig option instead of using the LTE link control library directly.The sample to remove redundant shadow updates for nRF Cloud Legitimate server side CoAP API errors.
Build instructions, board files, and DTC overlay file so that Wi-Fi scanning works for the nRF9161 DK and the nRF9160 DK.
Configuration to enable power saving mode by default.
Reduced the default value of
CONFIG_MAX_OUTGOING_MESSAGES
to prevent potential heap issues.
Fixed:
Legitimate server side CoAP API errors are no longer counted as a reason to disconnect from and reconnect to the cloud. Now, only communication errors are considered.
Increased the value of
CONFIG_HEAP_MEM_POOL_SIZE
in the full modem FOTA overlay to prevent a boot loop on full modem image installation.
Removed the Kconfig options
CONFIG_LTE_INIT_RETRY_TIMEOUT_SECONDS
andCLOUD_CONNECTION_REESTABLISH_DELAY_SECONDS
as they are no longer needed.
Cellular: HTTP application update sample:
Updated credentials for the HTTPS connection.
Cellular: HTTP full modem update sample:
Updated credentials for the HTTPS connection.
Cellular: HTTP modem delta update sample:
Updated credentials for the HTTPS connection.
HTTPS Client sample:
Updated the TF-M Mbed TLS overlay to fix an issue when connecting to the server.
Cellular: nRF Cloud REST cellular location sample:
Added:
The
disable_response
parameter to thenrf_cloud_rest_location_request
structure. If set to true, no location data is returned to the device when thenrf_cloud_rest_location_get()
function is called.A Kconfig option
CONFIG_REST_CELL_LOCATION_SAMPLE_VERSION
for the sample version.Reporting of device and connection info to the device shadow.
Updated the sample to print its version when started.
Cellular: Modem Shell sample:
Added:
Support for controlling proprietary Power Saving Mode (PSM).
Support for accessing nRF Cloud services using CoAP through the nRF Cloud CoAP library.
Support for GSM 7-bit encoded hexadecimal string in SMS messages.
Support for reading the currently configured eDRX parameters using the
link edrx
command.
Updated:
The sample to use the nRF Cloud library function
nrf_cloud_obj_pgps_request_create()
to create a P-GPS request.The modem system mode is now used when the sample starts, if the mode has not been set using the
link sysmode
command.The sample to remove redundant shadow updates for nRF Cloud.
The
link edrx
command syntax. Parameters--ltem
,--nbiot
,--edrx_value,
and--ptw
are removed. Instead, use--ltem_edrx
,--ltem_ptw
,--nbiot_edrx
, and--nbiot_ptw
to give eDRX and PTW values for LTE-M and NB-IoT.The
gnss
command syntax. Theagps
subcommand has been renamed toagnss
.
Cellular: LwM2M Client sample:
Added:
An overlay for using DTLS Connection Identifier. This significantly reduces the DTLS handshake overhead when doing the LwM2M Update operation.
Support for saving and loading a modem DTLS session with a connection identifier.
Support for Hosting MCUmgr client for external MCU. A new overlay file for enabling this and devicetree overlay files for UART2 and MCUboot recovery mode.
An overlay for enabling proprietary Power Saving Mode (PSM). This will fix a case where a battery-operated device joins a network that does not support PSM. This fulfills the proprietary PSM requirements of modem firmware v2.0.0. Including a new overlay file for enabling this and devicetree overlay files for UART2 and MCUboot recovery mode.
A handler for a new LwM2M modem firmware callback event
LWM2M_FOTA_UPDATE_MODEM_RECONNECT_REQ
to request for reconnecting the modem and client after firmware updateA new state
RECONNECT_AFTER_UPDATE
that initializes the modem to trigger LwM2M client re-connection.
Updated:
The sample to use tickless operating mode from Zephyr’s LwM2M engine, which does not cause device wake-up in 500 ms interval anymore. This allows the device to achieve two µA of current usage while in PSM sleep mode.
The sample to use the
CONFIG_LWM2M_UPDATE_PERIOD
Kconfig option to set the LwM2M update sending interval.
Cellular: GNSS sample:
Added support for nRF91x1 factory almanac. The new almanac file format also supports QZSS satellites.
Cellular: nRF Cloud REST FOTA sample:
Added reporting of device and connection info to the device shadow.
Cellular: nRF Cloud REST Device Message sample:
Added:
A DTS overlay file for LEDs on the nRF9160 DK to be compatible with the CAF: LEDs module.
Header files for buttons and LEDs definition required by the Common Application Framework library.
An
overlay-nrf_provisioning.conf
file to enable the nRF Device provisioning library.
Updated:
The sample to use the Common Application Framework library instead of the DK Buttons and LEDs library.
The sample now displays an error message when it fails to send an alert to nRF Cloud.
Cellular: UDP sample:
Updated:
The sample to use the Kconfig option
CONFIG_LTE_RAI_REQ
and socket optionsSO_RAI_NO_DATA
,SO_RAI_LAST
, andSO_RAI_ONGOING
for Release Assistance Indication (RAI) functionality.The documentation to showcase how to test the RAI functionality.
Thread samples
Updated the build target
nrf52840dongle_nrf52840
to use USB CDC ACM as serial transport as default. Samples for this target can now be built without providing extra configuration arguments.Removed support for the
nrf52833dk_nrf52833
build target in the Thread: CLI, Thread: CoAP Client, and Thread: CoAP Server samples.
Matter samples
Added the Matter thermostat sample.
Updated:
Matter over Thread samples by disabling OpenThread shell by default.
All samples to have build with factory data enabled.
Matter: Door lock sample:
Fixed the feature map for software diagnostic cluster. Previously, it was set incorrectly.
Fixed the cluster revision for basic information cluster. Previously, it was set incorrectly.
-
Removed support for the Thread, Wi-Fi, and software diagnostics clusters from the ZAP file.
Networking samples
Added a new UDP sample that has support for Wi-Fi and LTE connectivity. The Cellular: UDP sample continues to serve as a low power example that sends UDP packets over LTE connection.
Removed Cellular: Azure FOTA sample. FOTA using Azure IoT Hub is now demonstrated in the Azure IoT Hub sample.
AWS IoT sample:
Added support for Wi-Fi and LTE connectivity through the connection manager API.
Updated by moving the sample from
cellular/aws_iot
folder tonet/aws_iot
. The documentation is now found in the Networking samples section.
Azure IoT Hub sample:
Added:
Support for Wi-Fi and LTE connectivity through the connection manager API.
Support for the nRF9161 development kit.
FOTA support using the Azure FOTA library.
Updated by moving the sample from
cellular/azure_iot_hub
folder tonet/azure_iot_hub
. The documentation is now found in the Networking samples section.
Download client sample:
Added:
Support for Wi-Fi-and LTE connectivity through the connection manager API.
Support for the nRF9161 development kit.
Updated by moving the sample from
cellular/download
folder tonet/download
. The documentation is now found in the Networking samples section.
HTTPS Client sample:
Added:
Support for Wi-Fi and LTE connectivity through the connection manager API.
Support for the nRF9161 development kit.
Updated by moving the sample from
cellular/https_client
folder tonet/https_client
. The documentation is now found in the Networking samples section.
nRF5340 samples
nRF5340: Network core bootloader sample:
Added the functionality of reading out the network core application version number.
Sensor samples
Added BME68X: Gas Sensor sample to set up the BME68X gas sensor with the Bosch Sensor Environmental Cluster (BSEC) library.
Wi-Fi samples
Added:
Wi-Fi: WFA QuickTrack control application sample that demonstrates how to use the WFA QuickTrack (WFA QT) library needed for Wi-Fi Alliance QuickTrack certification.
Wi-Fi: Shutdown sample that demonstrates how to configure the Wi-Fi driver to shut down the Wi-Fi hardware when the Wi-Fi interface is not in use.
Wi-Fi: TWT sample that demonstrates how to establish TWT flow and transfer data conserving power.
Support for the Wi-Fi driver to several upstream Zephyr networking samples.
Wi-Fi: Radio test sample:
Enhanced to support device re-trimming process.
Wi-Fi: Scan sample:
Updated to demonstrate usage of new scan APIs.
Other samples
Added the IEEE 802.15.4 Sniffer sample.
Removed the Random hardware unique key sample. The sample is redundant since its functionality is presented as part of the Hardware unique key sample.
Radio test (short-range) sample:
Updated the sample by aligning the timer’s configuration to the new nrfx API.
Drivers
This section provides detailed lists of changes by driver.
Added BME68X IAQ driver to run the Bosch Sensor Environmental Cluster (BSEC) library in order to get Indoor Air Quality (IAQ) readings.
Wi-Fi drivers
Updated the TCP/IP checksum offload to be enabled by default for the nRF70 Series.
Added a provision to change TX power ceilings using DTS file.
Libraries
This section provides detailed lists of changes by library.
Added:
nRF Security library, relocated from the sdk-nrfxlib repository to the
subsys/nrf_security
directory.Network core monitor library for monitoring the status of the nRF5340 processor’s network core.
Debug libraries
CPU load measurement library:
Updated by aligning the timer’s configuration to the new nrfx API.
Binary libraries
LE Audio controller for nRF5340 library:
Added a limitation about the lack of support for the +20 dBm setting when building the nRF5340 Audio application with the nRF21540 FEM support.
LwM2M carrier library:
Updated to v3.3.3. See the Changelog for detailed information.
Bluetooth libraries and services
Google Fast Pair Service (GFPS) library:
Updated:
Reset in progress flag is deleted from settings storage instead of storing it as
false
on factory reset operation. This is done to ensure that no Fast Pair data is left in the settings storage after the factory reset.The
bt_fast_pair_adv_config
structure and thebt_fast_pair_adv_mode
enumerator have been changed to separate advertising mode from show or hide UI indication advertising information.The following Kconfig options have been renamed:
The
CONFIG_BT_FAST_PAIR_EXT_PN
Kconfig option to theCONFIG_BT_FAST_PAIR_PN
Kconfig option.The
CONFIG_BT_FAST_PAIR_STORAGE_EXT_PN
Kconfig option to theCONFIG_BT_FAST_PAIR_STORAGE_PN
Kconfig option.The
CONFIG_BT_FAST_PAIR_STORAGE_EXT_PN_LEN_MAX
Kconfig option to theCONFIG_BT_FAST_PAIR_STORAGE_PN_LEN_MAX
Kconfig option.
The Fast Pair storage module now overwrites the least recently used Account Key instead of the oldest Account Key on Account Key write.
Bluetooth LE advertising providers library:
Updated by changing the allowed range of the
CONFIG_BT_ADV_PROV_FAST_PAIR_ADV_BUF_SIZE
Kconfig option and set its default value to 26. This is done to align the buffer size to the new Fast Pair not discoverable advertising data size after the size of the salt included in the data was increased from 1 byte to 2 bytes. The default value has been set to maximum to mitigate buffer overflow issues in the future.
Bluetooth mesh profile library:
Added:
The
CONFIG_BT_MESH_LIGHT_CTRL_AMB_LIGHT_LEVEL_TIMEOUT
Kconfig option that configures a timeout before resetting the ambient light level to zero.The
bt_mesh_light_hue.direction
field that specifies direction of the Hue state transition.
Updated:
The
CONFIG_BT_MESH_MODEL_SRV_STORE_TIMEOUT
Kconfig option, that is controlling timeout for storing of model states, is replaced by theCONFIG_BT_MESH_STORE_TIMEOUT
Kconfig option.The Light Lightness Actual and Generic Power Level states of the Light Lightness Server and Generic Power Level Server models cannot dim to off. This is due to binding with Generic Level state when receiving Generic Delta Set and Generic Move Set messages.
The
bt_mesh_light_hue_srv_handlers.move_set
callback of the Light Hue Server model is only called for a continuous transition. All other transitions are now handled by thebt_mesh_light_hue_srv_handlers.set
callback.The Hue Range state of the Light Hue Server model now allows
bt_mesh_light_hsl_range.max
to be lower thanbt_mesh_light_hsl_range.min
.
Fixed:
An issue where the Generic Default Transition Time Server model could not be found for models spanning multiple elements.
An issue where the Sensor Server model would add a corrupted marshalled sensor data into the Sensor Status message, because the fetched sensor value was outside the range. If the fetched sensor value is out of range, the marshalled sensor data for that sensor is not added to the Sensor Status message.
Removed the
bt_mesh_light_hue_srv_handlers.delta_set
callback of the Light Hue Server and replaced it with thebt_mesh_light_hue_srv_handlers.set
callback.
Modem libraries
Added the Modem battery library that obtains battery voltage information or notifications from a modem.
Modem library integration layer:
Added:
CEREG event tracking to
lte_connectivity
.The
NRF_MODEM_LIB_ON_DFU_RES
macro to add callbacks for modem DFU results.
Replaced the use of
SO_BINDTODEVICE
socket option withSO_BINDTOPDN
to bind the socket to a PDN. The new option takes an integer for the PDN ID instead of a string.Updated:
The
nrf_modem_lib_shutdown()
function to allow the modem to be in flight mode (CFUN=4
) when shutting down the modem.The trace backends can now return
-EAGAIN
if the write operation can be retried.The trace backends can now be suspended when tracing is inactive and resumed when active. This is added to the UART trace backend.
The
SO_IP_ECHO_REPLY
,SO_IPV6_ECHO_REPLY
,SO_TCP_SRV_SESSTIMEO
andSO_SILENCE_ALL
socket option levels to align with the modem option levels.The Modem trace module is now initialized before the callbacks registered using the
NRF_MODEM_LIB_ON_INIT
macro are called.The minimal value of the
CONFIG_NRF_MODEM_LIB_SHMEM_RX_SIZE
Kconfig option to meet the requirements of modem firmware v2.0.0.
Fixed a rare bug that caused a deadlock between two threads when one thread sent data while the other received a lot of data quickly.
LTE link control library:
Added:
The function
lte_lc_edrx_get()
for reading eDRX parameters currently provided by the network.Support for proprietary Power Saving Mode (PSM).
Updated:
The functions
lte_lc_rai_req()
andlte_lc_rai_param_set()
and the Kconfig optionCONFIG_LTE_RAI_REQ_VALUE
are now deprecated. The application uses the Kconfig optionCONFIG_LTE_RAI_REQ
andSO_RAI_*
socket options instead.The CE level enum names for
lte_lc_ce_level
to not include the number of repetitions.The default network mode from
CONFIG_LTE_NETWORK_MODE_LTE_M
toCONFIG_LTE_NETWORK_MODE_LTE_M_GPS
.The
CONFIG_LTE_MODE_PREFERENCE
Kconfig option has been renamed toCONFIG_LTE_MODE_PREFERENCE_VALUE
.The
CONFIG_LTE_NETWORK_DEFAULT
Kconfig option has been renamed toCONFIG_LTE_NETWORK_MODE_DEFAULT
.The LTE mode preference Kconfig choice has been named as
CONFIG_LTE_MODE_PREFERENCE
.
Fixed a memory leak in
+CEDRXS
AT notification parser.Removed:
Obsolete registration status
LTE_LC_NW_REG_REGISTERED_EMERGENCY
.Invalid system mode
LTE_LC_SYSTEM_MODE_NONE
.
Location library:
Added support for accessing nRF Cloud services using CoAP through the nRF Cloud CoAP library.
Updated:
The neighbor cell search to use GCI search depending on the
location_cellular_config.cell_count
value.The semantics of cellular and Wi-Fi timeouts to only apply to neighbor cell measurement and Wi-Fi scan, respectively. Earlier, these timeouts applied also to the upcoming cloud connection to send the data to the cloud for position resolution. Overall,
location_request()
timeout can still interrupt cloud data transfer.The
agps_request
member of thelocation_event_data
structure has been renamed tolocation_event_data.agnss_request
.The
location_agps_data_process()
function has been renamed tolocation_agnss_data_process()
.
PDN library:
Added the
PDN_EVENT_APN_RATE_CONTROL_ON
andPDN_EVENT_APN_RATE_CONTROL_OFF
events to report on the status of APN rate control.Updated the library to allow a
PDP_type
-only configuration in thepdn_ctx_configure()
function.
Modem key management library:
Updated the
modem_key_mgmt_cmp()
function to return1
if the buffer length does not match the certificate length.
SMS library:
Added support for providing input text as a GSM 7bit encoded hexadecimal string to send some special characters that cannot be sent using ASCII string.
Libraries for networking
Added:
nRF Device provisioning library for device provisioning.
nRF Cloud CoAP library for accessing nRF Cloud services using CoAP.
nRF Cloud Log library:
Added:
An explanation of text versus dictionary logs.
Functions to query whether text-based or dictionary (binary-based) logging is enabled.
Support for sending direct log messages using CoAP.
Fixed the memory leak.
nRF Cloud library:
Added:
nrf_cloud_obj
structure and functions for encoding and decoding nRF Cloud data.nrf_cloud_obj_pgps_request_create()
function that creates a P-GPS request for nRF Cloud.A new internal codec function
nrf_cloud_obj_location_request_payload_add()
, which excludes local Wi-Fi access point MAC addresses from the location request.Support for CoAP CBOR type handling to
nrf_cloud_obj
.Warning message discouraging use of
CONFIG_NRF_CLOUD_PROVISION_CERTIFICATES
for purposes other than testing.Reporting of protocol (MQTT, REST, or CoAP) as well as method (LTE or Wi-Fi) to the device shadow.
Kconfig choice
CONFIG_NRF_CLOUD_WIFI_LOCATION_ENCODE_OPT
for selecting the data that is encoded in Wi-Fi location requests.Kconfig option
CONFIG_NRF_CLOUD_FOTA_AUTO_START_JOB
for controlling whether a FOTA update job is started automatically or at the request of the application.An event
NRF_CLOUD_EVT_FOTA_JOB_AVAILABLE
that indicates a FOTA update job is available.nrf_cloud_fota_job_start()
function that starts a FOTA update job.nrf_cloud_shadow_delta_response_encode()
to help accept or reject shadow delta desired settings.nrf_cloud_credentials_check()
to check if nRF Cloud credentials exist.
Updated:
nRF Cloud A-GPS
has been renamed to nRF Cloud A-GNSS. All Kconfig options and functions have been updated to use the term A-GNSS instead of A-GPS.JSON manipulation moved from
nrf_cloud_fota.c
tonrf_cloud_codec_internal.c
.nrf_cloud_obj_location_request_create()
to use the new functionnrf_cloud_obj_location_request_payload_add()
.Retry handling for P-GPS data download errors to retry
ECONNREFUSED
errors.By default, Wi-Fi location requests include only the MAC address and RSSI value.
The shadow desired section for the config subsection is no longer deleted. Applications and samples should use the function
nrf_cloud_shadow_delta_response_encode()
to prevent recurring deltas.
Fixed:
A build issue that occurred when MQTT and P-GPS are enabled and A-GPS is disabled.
A bug preventing
AIR_QUAL
from being enabled in shadow UI service info.A bug that prevented an MQTT FOTA job from being started.
An invalid value for a shadow delta change to the control section is now rejected by updating the desired section to the previous value.
Encoding of the “doReply” flag in the
nrf_cloud_obj_location_request_create()
function.
Removed:
Unused internal codec function
nrf_cloud_format_single_cell_pos_req_json()
.nrf_cloud_location_request_msg_json_encode()
function and replaced withnrf_cloud_obj_location_request_create()
.nrf_cloud_location_req_json_encode()
internal codec function.
nRF Cloud REST library:
Updated the
nrf_cloud_rest_location_get()
function to use the new functionnrf_cloud_obj_location_request_payload_add()
.
LwM2M client utils library:
Added:
Support for using pre-provisioned X.509 certificates.
Support for using DTLS Connection Identifier
Support for MCUmgr SMP client to perform a FOTA on an external SoC.
Advanced LwM2M FOTA support for an external MCU with DFU SMP target.
FOTA download Utils API integrated to the library.
A new LwM2M modem firmware callback event type
LWM2M_FOTA_UPDATE_MODEM_RECONNECT_REQ
to request re-connection after modem firmware update.A Kconfig option
CONFIG_LWM2M_CLIENT_UTILS_DTLS_CON_MANAGEMENT
for saving and loading the DTLS socket state. Saving the session will free memory in the modem, which makes memory available for other connections.
Updated:
The Zephyr’s LwM2M Connectivity Monitor object to use a 16-bit value for radio signal strength so that it does not roll over on values smaller than -126 dBm.
The advanced LwM2M FOTA object to accept zero length of a firmware package for reset state and result resources. This fixes an interoperability issue with AVSystem’s Coiote Device Management server related to firmware update by push-mode.
LwM2M location assistance library:
Updated:
The
CONFIG_LWM2M_CLIENT_UTILS_LOCATION_ASSIST_AGPS
Kconfig option has been renamed toCONFIG_LWM2M_CLIENT_UTILS_LOCATION_ASSIST_AGNSS
.The
location_assistance_agps_set_mask()
function has been renamed tolocation_assistance_agnss_set_mask()
.The
location_assistance_agps_request_send()
function has been renamed tolocation_assistance_agnss_request_send()
.The
location_assist_agps_request_set()
function has been renamed tolocation_assist_agnss_request_set()
.The
location_assist_agps_set_elevation_mask()
function has been renamed tolocation_assist_agnss_set_elevation_mask()
.The
location_assist_agps_get_elevation_mask()
function has been renamed tolocation_assist_agnss_get_elevation_mask()
.
AWS FOTA library:
Added support for a single
url
field in job documents. Previously, the host name and path of the download URL could only be specified separately.Updated:
The
CONFIG_AWS_FOTA_HOSTNAME_MAX_LEN
Kconfig option has been replaced by theCONFIG_DOWNLOAD_CLIENT_MAX_HOSTNAME_SIZE
Kconfig option.The
CONFIG_AWS_FOTA_FILE_PATH_MAX_LEN
Kconfig option has been replaced by theCONFIG_DOWNLOAD_CLIENT_MAX_FILENAME_SIZE
Kconfig option.AWS FOTA jobs are now marked as failed if the job document for the update is invalid.
The protocol (HTTP or HTTPS) is now automatically chosen based on the
protocol
orurl
fields in the job document for the update.
Azure FOTA library:
Updated:
The
CONFIG_AZURE_FOTA_HOSTNAME_MAX_LEN
Kconfig option has been replaced by theCONFIG_DOWNLOAD_CLIENT_MAX_HOSTNAME_SIZE
Kconfig option.The
CONFIG_AZURE_FOTA_FILE_PATH_MAX_LEN
Kconfig option has been replaced by theCONFIG_DOWNLOAD_CLIENT_MAX_FILENAME_SIZE
Kconfig option.
Download client library:
Added:
Kconfig option
CONFIG_DOWNLOAD_CLIENT_CID
that allows use of Connection Identifier on DTLS connection.
Updated:
The
CONFIG_DOWNLOAD_CLIENT_MAX_HOSTNAME_SIZE
Kconfig option’s default value to255
.The
CONFIG_DOWNLOAD_CLIENT_MAX_FILENAME_SIZE
Kconfig option’s default value to255
.Changed the event order so that the
DOWNLOAD_CLIENT_EVT_ERROR
is always received before theDOWNLOAD_CLIENT_EVT_CLOSED
event.
FOTA download library:
Added:
Support for DFU SMP target with new Utils API that in turn supports downloading, scheduling and activating images in all FOTA DFU targets.
Support for full and delta modem firmware update without a reboot.
Added support for delta modem and full modem firmware update without a reboot.
Updated the library, which now verifies whether the download started with the same URI and resumes the interrupted download.
nRF Cloud Alert library:
Added support for sending alerts using CoAP.
Removed the Multicell location library as the relevant functionality is available through the Location library.
Libraries for NFC
Fixed:
A potential issue where the NFC interrupt context switching could result in loss of interrupt data. This could happen if interrupts would be executed much faster than the NFC workqueue or thread.
An issue where an assertion could be triggered when requesting clock from the NFC platform interrupt context. The NFC interrupt is no longer a zero latency interrupt.
ISO-DEP protocol library:
Fixed the ISO-DEP error recovery process in case where the R(ACK) frame is received in response to the R(NAK) frame from the poller device. The poller device raised a false semantic error instead of resending the last I-block.
nRF Security
The following changes are applied to nRF Security library:
Updated:
The subsystem and its library to be renamed from Nordic Security Module to nRF Security.
Driver configuration options for the supported PSA drivers. For more information, refer to Driver configurations and supported features.
Removed:
Option to build Mbed TLS built-in PSA core (
CONFIG_PSA_CORE_BUILTIN
).Option to build Mbed TLS built-in PSA crypto driver (
CONFIG_PSA_CRYPTO_DRIVER_BUILTIN
) and all its associated algorithms (CONFIG_MBEDTLS_PSA_BUILTIN_ALG_xxx
).
Other libraries
Identity key library:
Updated:
identity_key_write_random()
,identity_key_write_key()
andidentity_key_write_dummy()
functions to return an error code and not trigger panic on error.identity_key_read()
function to always return an error code from the library-defined codes.The defined error code names with prefix
IDENTITY_KEY_ERR_*
.
Hardware unique key library:
Updated:
hw_unique_key_write()
,hw_unique_key_write_random()
andhw_unique_key_load_kdr()
functions to return an error code and not trigger panic on error.hw_unique_key_derive_key()
function to always return an error code from the library-defined codes.The defined error code names with prefix
HW_UNIQUE_KEY_ERR_*
.
NFC Reader ST25R3911B library:
Fixed an issue where the
st25r3911b_nfca_process()
function returns an error in case the RX complete event is received together with FIFO water level event.
Common Application Framework (CAF)
Added CAF: Shell module for triggering CAF events.
-
Added selective wakeup functionality. The module’s configuration file can specify a subset of buttons that is not used to trigger an application wakeup. Each row and column specifies an additional flag (
gpio_pin.wakeup_blocked
) that can be set to prevent an entire row or column of buttons from acting as a wakeup source.
CAF: Bluetooth LE advertising module:
Updated:
The dependencies of the
CONFIG_CAF_BLE_ADV_FILTER_ACCEPT_LIST
Kconfig option so that it can be used when the Bluetooth controller is running on the network core.The library by improving broadcast of
module_state_event
. The event informing about entering eitherMODULE_STATE_READY
orMODULE_STATE_OFF
is not submitted until the CAF Bluetooth LE advertising module is initialized and ready.
CAF: Bluetooth LE state module:
Removed TX power update using a Bluetooth HCI command for SoftDevice Bluetooth LE Link Layer (
CONFIG_BT_LL_SOFTDEVICE
) right after a connection has been established. TheCONFIG_BT_CTLR_TX_PWR
Kconfig option can be used to set the TX power for advertising and connections also for the SoftDevice Link Layer.
-
Reduced verbosity of logs denoting allowed power states from
info
todebug
.
-
Increased the default stack size of a thread responsible for loading settings (
CONFIG_CAF_SETTINGS_LOADER_THREAD_STACK_SIZE
) to1200
. A bigger thread stack size prevents stack overflows on the initial boot right after programming the device.
Shell libraries
Added the NFC shell transport library. It adds shell backend using the NFC T4T ISO-DEP protocol for data exchange.
sdk-nrfxlib
Removed the relocated nRF Security library.
See the changelog for each library in the nrfxlib documentation for additional information.
DFU libraries
DFU target library:
Added a new DFU SMP target for the image update to an external MCU by using the MCUmgr SMP Client.
Peripheral CPU DFU (PCD) library:
Added function
pcd_network_core_app_version()
for reading peripheral CPU application version number.
Scripts
This section provides detailed lists of changes by script.
-
Updated by changing the size of the span partitions to include the alignment partitions (
EMPTY_x
) appearing between other partitions, but not alignment partitions at the beginning or end of the span partition. The size of the span partitions now reflects the memory space taken from the start of the first of its elements to the end of the last, not just the sum of the sizes of the included partitions.Fixed a bug where the
align
spec was deleted. This would happen in cases where twoplacement
specs were identical. When disambiguating one of them, thealign
spec was not preserved.
-
Updated:
To reduce RAM usage, the script now runs the Scancode-Toolkit detector in a single process. This change slows down the licenses detector, because it is no longer executed simultaneously on all files.
SPDX License List database updated to version 3.22.
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 a version check for network core when downgrade prevention is enabled.
Zephyr
The Zephyr fork in nRF Connect SDK (sdk-zephyr
) contains all commits from the upstream Zephyr repository up to and including a768a05e6205e415564226543cee67559d15b736
, 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 a768a05e62 ^4bbd91a908
For the list of nRF Connect SDK specific commits, including commits cherry-picked from upstream, run:
git log --oneline manifest-rev ^a768a05e62
The current nRF Connect SDK main branch is based on revision a768a05e62
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.
Trusted Firmware-M
Added a section Encrypted ITS describing Internal Trusted Storage (ITS) with encryption.
Mbed TLS
Fixes:
Added fix for CVE-2023-43615
Added fix for CVE-2023-45199
Documentation
Added:
Create an application page that provides information about the applications available in the nRF Connect SDK and how to create them.
A page on Wireless coexistence in Protocols.
A page on Amazon Sidewalk in Protocols.
Pages on Thread device types and Sleepy End Device types in Thread to the Thread documentation.
A new page Working with PMICs, containing Features of nPM1300 and Getting started with nPM1300 EK.
A section about Shields and expansion boards in Getting started with nRF70 Series user guide.
A page on Optimizing scan operation in the Developing with nRF70 Series user guide.
The Bluetooth qualification page in Protocols.
A section on Wi-Fi in the Memory footprint optimization page.
Own page for Bluetooth mesh samples.
Updated:
Samples with separate sections for Keys samples and Peripheral samples, which were previously listed in Other samples.
The Emergency data storage library documentation with Application integration section about the formula used to compute the required storage time at shutdown in a worst case scenario.
The structure of the Modem library integration layer documentation. Also a section about Modem tracing with RTT was added.
The structure of the nRF Connect SDK documentation at its top level, with the following major changes:
The Getting started section has been replaced with Installation.
The guides previously located in the application development section have been moved to Configuration and building, Testing and optimization, Device configuration guides, and Security. Some of these new sections also include guides that were previously in the Getting started section.
“Working with…” device guides are now located under Device configuration guides.
Release notes, Software maturity levels, Known issues, Glossary, and Development model are now located under Releases and maturity.
The Thread documentation to improve the overall presentation and add additional details where necessary.
The Getting started with nRF9160 DK and Getting started with Thingy:91 instructions to use Cellular Monitor instead of Programmer for the Updating the DK firmware and Updating the Thingy:91 firmware sections, respectively. The instructions for using Programmer were moved to the Developing with nRF9160 DK and Developing with Thingy:91 pages.
All instances of LTE Link Monitor and Trace Collector apps by replacing them with nRF Connect Serial Terminal and Cellular Monitor apps.
Renamed nRF91 AT Commands Reference Guide to nRF9160 AT Commands Reference Guide, and added references to the nRF91x1 AT Commands Reference Guide in the documentation.
All references to GNSS assistance from
A-GPS
to A-GNSS.