nRF Connect SDK v2.3.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.
Sign up for the nRF Connect SDK v2.3.0 webinar to learn more about the new features.
Added support for the following features:
nRF7002 Wi-Fi 6 companion IC and nRF7002 DK.
Bluetooth® Low Energy: Period Advertising Sync Transfer. This feature allows Periodic Advertising synchronization data to be transferred over an ACL connection, which gives power saving benefits for energy constraint devices. This is a key feature for the Auracast™ Assistant.
The Location library now supports sending both Wi-Fi and cellular location data to nRF Cloud location services for improved location accuracy. This is demonstrated in Asset Tracker v2, Cellular: Modem Shell, and Cellular: LwM2M Client.
Writing modem trace to external flash for later retrieval. The Cellular: Modem Shell sample now demonstrates how to store and upload modem trace to cloud.
New Serial LTE Modem (SLM) Shell sample: The sample demonstrates sending AT commands to the nRF9160 SiP from shell for nRF53 and nRF52 Series SoCs.
New MQTT sample supporting Wi-Fi together with cellular connectivity (replacing the Simple MQTT sample).
Added experimental support for the following features:
Periodic Advertisement with Responses (PAwR) - Advertiser. This is a new feature introduced in Bluetooth v5.4 specification, enabling the bidirectional exchange of application data using connectionless communication. Learn more in our Bluetooth 5.4 DevZone blog. The SoftDevice Controller continues to be Bluetooth v5.3 qualified.
Bluetooth LE Audio: Public Broadcast Announcement (PBA) and bidirectional streams to and from two headsets.
New Wi-Fi: Bluetooth LE coexistence sample.
Improved:
The Matter: Door lock sample has been extended to support switching between Matter over Thread and Matter over Wi-Fi during application operation.
The Wi-Fi: Shell sample by adding the Power Save feature.
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.3.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.3.0.
IDE and tool support
nRF Connect extension for Visual Studio Code is the only officially supported IDE for nRF Connect SDK v2.3.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.3.0 for the list of issues valid for the latest release.
Changelog
The following sections provide detailed lists of changes by component.
IDE and tool support
Removed the
scripts/tool-version-minimum.txt
file because only one toolchain version is used for testing. The table in Requirements reference has been updated accordingly to no longer specify minimum tool versions.
MCUboot
Updated:
MCUboot now uses the Secure RAM region on TrustZone-enabled devices. The Kconfig option
CONFIG_MCUBOOT_USE_ALL_AVAILABLE_RAM
was added to allow MCUboot to use all the available RAM.
Application development
Added a new user guide about Enabling access port protection mechanism.
Build system
Removed:
Manifest file entry
mbedtls-nrf
(ZEPHYR_MBEDTLS_NRF_MODULE_DIR) checked out at pathmbedtls
.Manifest file entry
tfm-mcuboot
(ZEPHYR_TFM_MCUBOOT_MODULE_DIR) checked out at pathmodules/tee/tfm-mcuboot
.
Updated:
Manifest file entry
mbedtls
(ZEPHYR_MBEDTLS_MODULE_DIR) checked out at pathmodules/crypto/mbedtls
now points to nRF Connect SDK’s fork of Mbed TLS instead of Zephyr’s fork.
Working with nRF52 Series
-
Added Kconfig options
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU
andCONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP
to configure FOTA updates over Bluetooth Low Energy in the default setup. The default setup uses MCUmgr libraries with the Bluetooth transport layer and requires the user to enable MCUboot bootloader. See details in the FOTA updates section of the Developing with nRF52 Series guide.
Working with nRF53 Series
-
Added Kconfig options
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU
andCONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP
to configure FOTA updates over Bluetooth Low Energy in the default setup. The default setup uses MCUmgr libraries with the Bluetooth transport layer and requires the user to enable MCUboot bootloader. See details in the FOTA updates section of the Developing with nRF53 Series guide.
Developing with Thingy:53:
Added the
CONFIG_BOARD_SERIAL_BACKEND_CDC_ACM
Kconfig option to configure USB CDC ACM to be used as logger’s backend by default. See details in the USB section of the Developing with Thingy:53 guide.Provided support for Thingy:53 FOTA updates within the
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU
option. See details in the FOTA over Bluetooth Low Energy section of the Developing with Thingy:53 guide.Enabled MCUboot bootloader in Thingy:53 board configuration by default. See details in the MCUboot bootloader section of the Developing with Thingy:53 guide.
Cleaned up Thingy:53 configuration files of samples and applications as a result of introducing simplifications.
Protocols
This section provides detailed lists of changes by protocol. See Samples for lists of changes for the protocol-related samples.
Bluetooth LE
See Bluetooth samples for the list of changes in the Bluetooth samples.
Bluetooth mesh
Updated the Light Lightness Control Server model to make sure that the illuminance regulator starts running when a fresh value of the ambient LuxLevel is reported when the controller is enabled.
Fixed an issue in the Light Lightness Control Server model where multiple scene recall messages for the same scene did not repeatedly trigger the same scene recall. This prevents the interruption of an ongoing transition.
See Bluetooth mesh samples for the list of changes in the Bluetooth mesh samples.
Matter
Added:
Support for switching between Matter over Thread and Matter over Wi-Fi. This feature is available for the Matter: Door lock sample programmed on
nrf5340dk_nrf5340_cpuapp
with thenrf7002_ek
shield attached, using thethread_wifi_switched
build type. See Thread and Wi-Fi switching in the sample documentation for more information.Support for Wi-Fi Network Diagnostic Cluster (which counts the number of packets received and transmitted on the Wi-Fi interface).
Default support for nRF7002 revision B.
Specific QR code and onboarding information in the documentation for each Matter sample and the Matter weather station.
The Bluetooth LE advertising arbiter class that enables easier coexistence of application components that want to advertise their Bluetooth LE services.
Support for erasing settings partition during DFU over Bluetooth LE SMP for the Nordic nRF52 Series SoCs.
Mechanism to retry a failed Wi-Fi connection.
Support for ZAP tool under Windows.
Documentation about switchable Matter over Thread and Matter over Wi-Fi platform design.
Documentation about Testing with commercial Matter ecosystems.
Documentation about Reducing power consumption in Matter.
Documentation about Configuring transmission power.
Updated:
The default heap implementation to use Zephyr’s
sys_heap
(CONFIG_CHIP_MALLOC_SYS_HEAP
) to better control the RAM usage of Matter applications.Matter certification page with a section about certification document templates.
Matter network commissioning page with information about Onboarding information formats.
Matter hardware and memory requirements page with a section about Reference Matter memory layouts.
Default retry intervals used by Matter Reliability Protocol for Matter over Thread to account for longer round-trip times in Thread networks with multiple intermediate nodes.
The Bluetooth LE connection timeout parameters and the update timeout parameters to make communication over Bluetooth LE more reliable.
Default transmission output power for Matter over Thread devices to the maximum available one for all targets: 8 dBm for nRF52840, 3 dBm for nRF5340, 20 dBm for all devices with FEM enabled, and 0 dBm for sleepy devices.
Adding clusters to Matter application page with instructions on how to use ZAP tool binaries. Before this release, the ZAP tool had to be built from sources.
Matter hardware and memory requirements with updated memory requirement values valid for the nRF Connect SDK v2.3.0.
Fixed:
An issue where the connection would time out when attaching to a Wi-Fi access point that requires Wi-Fi Protected Access 3 (WPA3).
An issue where the
NetworkInterfaces
attribute of General Diagnostics cluster would return EUI-64 instead of MAC Extended Address for Thread network interfaces.
Removed support for Android CHIP Tool from the documentation and release artifacts. Moving forward, it is recommended to use the development tool CHIP Tool for Linux or macOS or mobile applications from publicly available Matter Ecosystems.
See Matter samples for the list of changes in 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 1.0.0.2
tag.
The following list summarizes the most important changes inherited from the upstream Matter:
Added:
The initial implementation of Matter’s cryptographic operations based on PSA crypto API.
An alternative factory reset implementation that erases the entire non-volatile storage flash partition.
Updated Basic cluster by renaming it to Basic Information cluster to match the specification.
Thread
Added:
Support for setting the default Thread output power using the
OPENTHREAD_DEFAULT_TX_POWER
Kconfig option.A Thread power consumption data page.
See Thread samples for the list of changes in the Thread samples.
Zigbee
Updated Zigbee Network Co-processor Host package to the new version v2.2.1.
Fixed an issue where buffer would not be freed at the ZC after a secure rejoin of a ZED.
Enhanced ShockBurst (ESB)
Added support for front-end modules. The ESB module requires linking the MPSL library.
Updated:
Number of PPI/DPPI channels used from three to six.
Events 6 and 7 from the EGU0 instance by assigning them to the ESB module.
The type parameter of the function
esb_set_tx_power()
toint8_t
.
Wi-Fi
Added:
New sample Wi-Fi: Bluetooth LE coexistence demonstrating Wi-Fi Bluetooth LE coexistence.
Wi-Fi document.
Wi-Fi credentials library to store credentials.
Wi-Fi management extension library to provide an
autoconnect
command based on Wi-Fi credentials.
Updated:
Wi-Fi coexistence is no longer enabled by default. It must be enabled explicitly in Kconfig using
CONFIG_MPSL_CX
. On the nRF5340, this option must be selected for both the application core and the network core images.
Removed the support for nRF7002 revision A.
See Wi-Fi samples for the list of changes in the Wi-Fi samples.
Applications
This section provides detailed lists of changes by application.
nRF9160: Asset Tracker v2
Added:
Wi-Fi support for nRF9160 DK + nRF7002 EK configuration.
A section about Custom transport in the Debug module documentation.
Updated:
Due to the Location library updates related to combined cellular and Wi-Fi positioning, the following events and functions have been added replacing old ones:
LOCATION_MODULE_EVT_CLOUD_LOCATION_DATA_READY
replacesLOCATION_MODULE_EVT_NEIGHBOR_CELLS_DATA_READY
andLOCATION_MODULE_EVT_WIFI_ACCESS_POINTS_DATA_READY
DATA_EVT_CLOUD_LOCATION_DATA_SEND
replacesDATA_EVT_NEIGHBOR_CELLS_DATA_SEND
andDATA_EVT_WIFI_ACCESS_POINTS_DATA_SEND
cloud_codec_encode_cloud_location()
function replacescloud_codec_encode_neighbor_cells
andcloud_codec_encode_wifi_access_points
cloud_wrap_cloud_location_send()
function replacescloud_wrap_neighbor_cells_send
andcloud_wrap_wifi_access_points_send
Replaced deprecated LwM2M API calls with calls to new functions.
Removed static modem data handling from the application’s nRF Cloud codec. Enabled the
CONFIG_NRF_CLOUD_SEND_DEVICE_STATUS
configuration option to send static modem data.
nRF9160: Serial LTE modem
Added:
RFC1350 TFTP client, currently supporting only READ REQUEST.
AT command
#XSHUTDOWN
to put nRF9160 SiP to System Off mode.Support for nRF Cloud C2D appId
MODEM
andDEVICE
.Support for the LwM2M carrier library.
Updated:
The response for the
#XDFUGET
command, using unsolicited notification to report download progress.The response for the
#XDFUSIZE
command, adding a CRC32 checksum of the downloaded image.The
#XSLMVER
command to report the versions of both the nRF Connect SDK and the modem library.
nRF5340 Audio
Added:
Support for the nRF21540 front-end module.
Possibility to create a Public Broadcast Announcement (PBA) needed for Auracast.
Encryption for BISes.
Support for bidirectional streams to or from two headsets (True Wireless Stereo).
Support for interleaved packing.
Updated:
Controller from version 3310 to 3330, with the following major changes:
Changes to accommodate BIS + ACL combinations.
Improvements to support creating CIS connections in any order.
Basic support for interleaved broadcasts.
The power module has been refactored to use the upstream Zephyr INA23X sensor driver.
BIS headsets can now switch between two broadcast sources (two hardcoded broadcast names).
User interface and “Testing the default CIS mode” sections in the application documentation with information about using VOL buttons to switch headset channels.
nRF5340 Audio application requirements section in the application documentation by moving the information about the nRF5340 Audio DK to Nordic Semiconductor Infocenter, under nRF5340 Audio DK Hardware.
nRF Machine Learning (Edge Impulse)
Added a Kconfig option
CONFIG_APP_SENSOR_SLEEP_TO
to set the sensor idling timeout before suspending the sensor.Removed the usage of
ml_runner_signin_event
from the application.
nRF Desktop
Added:
An application log indicating that the value of a configuration option has been updated in the Motion module.
Application-specific Kconfig options CONFIG_DESKTOP_LOG and CONFIG_DESKTOP_SHELL to simplify the debug configurations for the Logging and Shell subsystems. See the debug configuration section of the nRF Desktop application for more details.
Application-specific Kconfig options that define common HID device identification values (product name, manufacturer name, Vendor ID, and Product ID). The identification values are used both by USB and the Bluetooth LE GATT Device Information Service. See the HID device identifiers documentation for details.
The CONFIG_DESKTOP_BLE_DONGLE_PEER_ID_INFO Kconfig option. It can be used to indicate the dongle peer identity with a dedicated event.
Synchronization between the Resolvable Private Address (RPA) rotation and the advertising data update in the Fast Pair configurations using the
CONFIG_CAF_BLE_ADV_ROTATE_RPA
Kconfig option.Application-specific Kconfig options that can be used to enable the Common Application Framework modules and to automatically tailor the default configuration to the nRF Desktop use case. Each used Common Application Framework module is handled by a corresponding application-specific option with a modified prefix. For example, CONFIG_DESKTOP_SETTINGS_LOADER is used to automatically enable the
CONFIG_CAF_SETTINGS_LOADER
Kconfig option and to align the default configuration.Prompts to Kconfig options that enable HID Service module, GATT Battery Service module, and Device description module. An application-specific option (CONFIG_DESKTOP_BT_PERIPHERAL) implies the Kconfig options that enable the mentioned modules together with other features that are needed for the Bluetooth HID peripheral role. The option is enabled by default if the nRF Desktop Bluetooth support (CONFIG_DESKTOP_BT) is enabled.
Updated:
The logging mechanism by implementing the following adjustments to avoid flooding logs:
Set the max compiled-in log level to
warning
for the Non-Volatile Storage (CONFIG_NVS_LOG_LEVEL
).Lowered log level to
debug
for theIdentity x created
log in the Bluetooth LE bond module.
The default values of the
CONFIG_BT_GATT_CHRC_POOL_SIZE
andCONFIG_BT_GATT_UUID16_POOL_SIZE
Kconfig options are tailored to the nRF Desktop application requirements.The Fast Pair module to remove the Fast Pair advertising payload for the dongle peer.
The default values of Bluetooth device name (
CONFIG_BT_DEVICE_NAME
) and Bluetooth device appearance (CONFIG_BT_DEVICE_APPEARANCE
) are set to rely on the nRF Desktop product name or the nRF Desktop device role and type combination.The default value of the Bluetooth appearance (
CONFIG_BT_DEVICE_APPEARANCE)
for nRF Desktop dongle is set tokeyboard
. This improves the consistency with the used HID boot interface.USB remote wakeup (
CONFIG_USB_DEVICE_REMOTE_WAKEUP
) is disabled in MCUboot bootloader configurations. The functionality is not used by the bootloader.HID Service module registers the GATT HID Service before Bluetooth LE is enabled. This is done to avoid submitting works related to Service Changed indication and GATT database hash calculation before the system settings are loaded from non-volatile memory.
The configuration of application modules. The modules automatically enable required libraries and align the related default configuration with the application use case. Configuration of the following application modules was simplified:
See the documentation of the mentioned modules and their Kconfig configuration files for details.
Removed:
Fast Pair discoverable advertising payload on Resolvable Private Address (RPA) rotation during discoverable advertising session.
Separate configurations enabling Shell (
prj_shell.conf
). Shell support can be enabled for a given configuration with a single Kconfig option (CONFIG_DESKTOP_SHELL).
Samples
This section provides detailed lists of changes by sample, including protocol-related samples. For lists of protocol-specific changes, see Protocols.
Bluetooth samples
Added the Bluetooth: Peripheral Status sample.
Bluetooth: Peripheral UART sample:
Fixed a possible memory leak in the
uart_init()
function.
Bluetooth: Peripheral HIDS keyboard sample:
Fixed a possible out-of-bounds memory access issue in the
hid_kbd_state_key_set()
andhid_kbd_state_key_clear()
functions.
Bluetooth: nRF Distance Measurement with Bluetooth LE discovery sample:
Added support for high-precision distance estimate using more compute-intensive algorithms.
Updated:
Documentation by adding energy consumption information.
Documentation by adding a section about distance offset calibration.
Configuration of the GPIO pins used by the DM module using the devicetree.
Bluetooth: NFC pairing and Bluetooth: Central NFC pairing samples:
Fixed OOB pairing between these samples.
Bluetooth: Direct Test Mode sample:
Fixed an issue where the antenna switching was not functional on the nRF5340 DK with the nRF21540 EK shield.
Bluetooth: Peripheral HIDS mouse sample:
Fixed building the sample with the
CONFIG_BT_HIDS_SECURITY_ENABLED
Kconfig option disabled.
Bluetooth mesh samples
Enabled the
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE
Kconfig option in the following samples:Bluetooth Mesh: Light fixture sample:
Updated:
The specification-defined illuminance regulator (
CONFIG_BT_MESH_LIGHT_CTRL_REG_SPEC
) now selects theCONFIG_FPU
option by default. Therefore, enabling it explicitly in the project file is no longer required.
nRF9160 samples
Added:
The MQTT sample that supports Wi-Fi and LTE connectivity.
The Cellular: NIDD sample that demonstrates how to use Non-IP Data Delivery (NIDD).
The Cellular: SLM Shell sample for nRF52 and nRF53 Series devices to send AT commands to nRF9160 SiP from shell.
Cellular: Modem Shell sample:
Added:
External location service handling to test Location library functionality commonly used by applications. The nRF Cloud library is used with MQTT for location requests to the cloud.
New command
th pipeline
for executing several MoSh commands sequentially in one thread.New command
sleep
for introducing wait periods between commands when usingth pipeline
.New command
heap
for printing kernel and system heap usage statistics.
Updated:
Timeout command-line arguments for the
location get
command changed from integers in milliseconds to floating-point values in seconds.Replaced deprecated LwM2M API calls with calls to new functions.
Cellular: nRF Cloud REST cellular location sample:
Added the usage of GCI search option if running modem firmware v1.3.4.
Updated the sample to wait for RRC idle mode before requesting neighbor cell measurements.
Cellular: LwM2M Client sample:
Added:
Support for nRF7002 EK shield and Wi-Fi based location.
Location events and event handlers.
Updated:
The sensor module has been simplified. It does not use application events, filtering, or configurable periods anymore.
Replaced deprecated LwM2M API calls with calls to new functions.
Enabled LwM2M queue mode and updated documentation accordingly.
Moved configuration options from the
overlay-queue.conf
file to the default configuration fileprj.conf
.Removed the
overlay-queue.conf
file.Enabled the
CONFIG_LTE_LC_TAU_PRE_WARNING_NOTIFICATIONS
Kconfig option.
Cellular: HTTP application update sample:
Added support for the LwM2M carrier library.
Cellular: nRF Cloud multi-service sample:
Added:
MCUboot child image files to properly access external flash on newer nRF9160 DK versions.
An
overlay_mcuboot_ext_flash.conf
file to enable MCUboot to use external flash.Sending an alert to the cloud on boot and when a temperature limit is exceeded.
Updated the sample to use a partition in external flash for full modem FOTA updates.
Cellular: nRF Cloud REST Device Message sample:
Added sending an alert to nRF Cloud on boot.
Removed:
Cellular: nRF Cloud REST FOTA sample:
Updated:
Device status information, including FOTA enablement, is now sent to nRF Cloud when the device connects.
Removed user prompt and button press handling for FOTA enablement.
The sample now uses a partition in external flash for full modem FOTA updates.
nRF9160: Azure FOTA sample:
Updated the sample to use the logging subsystem for console output.
Azure IoT Hub sample:
Updated the sample to use the logging subsystem for console output.
AWS IoT sample:
Updated the sample to use the logging subsystem for console output.
Thread samples
Updated the overlay structure:
The
overlay-rtt.conf
file was removed from all samples.The
overlay-log.conf
file now uses RTT backend by default.Logs removed from default configuration (moved to
overlay-logging.conf
).Asserts removed from default configuration (moved to
overlay-debug.conf
).
-
Added the
overlay-low_power.conf
andlow_power.overlay
files to facilitate power consumption measurements.
Matter samples
Enabled Matter shell commands for all build types except
release
in all Matter samples.Removed FEM-related Kconfig options from all samples. Now, the transmission output power for Matter over Thread can be set using the
OPENTHREAD_DEFAULT_TX_POWER
Kconfig option.Matter: Door lock sample:
Added:
thread_wifi_switched
build type that enables switching between Thread and Wi-Fi network support in the field. See Thread and Wi-Fi switching in the sample documentation for more information.Wi-Fi low power configuration using Wi-Fi’s Legacy Power Save mode.
The sample is now positively verified against “Works with Google” certification tests.
-
Added Wi-Fi low power configuration using Wi-Fi’s Legacy Power Save mode.
-
The sample is now positively verified against “Works with Google” certification tests.
Tested compatibility with the following ecosystems:
Google Home ecosystem for both Matter over Thread and Matter over Wi-Fi solutions. Tested with Google Nest Hub 2nd generation (software version: 47.9.4.447810048; Chromecast firmware version: 1.56.324896, and Google Home mobile application v2.63.1.12).
Apple Home ecosystem for both Matter over Thread and Matter over Wi-Fi solutions. Tested with Apple HomePod mini and Apple iPhone (iOS v16.3).
Samsung SmartThings ecosystem for Matter over Thread solution. Tested with Aeotec Smart Home Hub and SmartThings mobile application (v1.7.97.22).
Amazon Alexa ecosystem for both Matter over Thread and Matter over Wi-Fi solutions. Tested with Amazon Echo Dot and Amazon Alexa mobile application (v2.2.495949.0).
NFC samples
Fixed an issue where NFC samples that use the NFC Reader feature returned false error code with value
1
during the NFC T4T operation.
Wi-Fi samples
Added the MQTT sample that supports Wi-Fi and LTE connectivity.
Added the Wi-Fi: Bluetooth LE coexistence sample demonstrating Wi-Fi Bluetooth LE coexistence.
Updated:
The Wi-Fi: Shell sample now uses the Wi-Fi credentials and Wi-Fi management extension libraries.
The Wi-Fi: Bluetooth LE based provision sample now uses the Wi-Fi credentials and Wi-Fi Provisioning Service libraries.
Removed nRF7002 revision A support.
Other samples
Enhanced ShockBurst: Transmitter/Receiver sample:
Added support for front-end modules and nRF21540 DK.
Radio test (short-range) sample:
Added support for the nRF7002 DK.
Updated the documentation to clarify that this sample is dedicated for the short-range radio (Bluetooth LE, IEEE 802.15.4, and proprietary modes).
Fixed sample building with support for the Skyworks front-end module.
Drivers
This section provides detailed lists of changes by driver.
-
Updated by reducing log verbosity.
-
Updated by reducing log verbosity.
-
Fixed an issue where the driver would attempt to use APIs before the sensor was ready, which in turn could make the application hang.
Libraries
This section provides detailed lists of changes by library.
Binary libraries
LwM2M carrier library:
Removed the dependency on the LTE link control library.
Bluetooth libraries and services
Added the Nordic Status Message Service (NSMS) library.
Added the Wi-Fi Provisioning Service library.
Memfault Diagnostic Service (MDS) library:
Fixed URI generation in the
data_uri_read()
function.
Bluetooth Low Energy Remote Procedure Call library:
Fixed a possible memory leak in the
bt_gatt_indicate_rpc_handler()
function.
Bluetooth LE advertising providers library:
Added the
CONFIG_BT_ADV_PROV_FAST_PAIR_STOP_DISCOVERABLE_ON_RPA_ROTATION
Kconfig option to drop the Fast Pair advertising payload on RPA rotation.Updated:
The
bt_le_adv_prov_adv_state
structure has been extended to include new fields. The newbt_le_adv_prov_adv_state.rpa_rotated
field is used to notify registered providers about Resolvable Private Address (RPA) rotation. The newbt_le_adv_prov_adv_state.new_adv_session
field is used to notify registered providers that the new advertising session is about to start.The
CONFIG_BT_ADV_PROV_FAST_PAIR_BATTERY_DATA_MODE
Kconfig option (default value) no longer includes Fast Pair battery data in the Fast Pair advertising payload by default.
Google Fast Pair Service (GFPS) service:
Added the
bt_fast_pair_factory_reset()
function to clear the Fast Pair storage.
Bootloader libraries
Bootloader storage library:
Updated:
The monotonic counter functions can now return errors.
The
get_monotonic_version()
function is split into functionsget_monotonic_version()
andget_monotonic_slot()
.The monotonic counter functions now have a counter description parameter to be able to distinguish between different counters.
Bootloader firmware validation library:
Updated the
get_monotonic_version()
function so that it can now return an error.
Modem libraries
Modem library integration layer library:
Added:
The
CONFIG_NRF_MODEM_LIB_TRACE_LEVEL_OFF
Kconfig option to set the modem trace level to off by default.The flash trace backend that enables the application to store trace data to flash for later retrieval.
Updated:
It is now possible to poll Modem library and Zephyr sockets at the same time using the
poll()
function. This includes special sockets such as event sockets created using theeventfd()
function.The minimal value of the
CONFIG_NRF_MODEM_LIB_SHMEM_RX_SIZE
Kconfig option to meet the requirements of modem firmware 1.3.4.The
nrf_modem_lib_diag_stats_get()
function now returns an error if called when the Modem library integration layer library has not been initialized.The trace backend interface to be exposed to the Modem trace module using the
nrf_modem_lib_trace_backend
struct.The Modem trace module to support backends that store the trace data for later retrieval.
The
CONFIG_NRF_MODEM_LIB_TRACE_BACKEND_RTT
Kconfig option, enabling the RTT trace backend, now requires theCONFIG_USE_SEGGER_RTT
Kconfig option to be enabled.
Location library:
The Multicell location library is now deprecated. Relevant functionality from the library is moved to this library. The following features were not moved:
Definition of HTTPS port for HERE service, that is
CONFIG_MULTICELL_LOCATION_HERE_HTTPS_PORT
.HERE v1 API.
nRF Cloud CA certificate handling.
Added:
Support for the application to send the Wi-Fi access point list to the cloud.
CONFIG_LOCATION_SERVICE_EXTERNAL
Kconfig option that replaces the following configurations:CONFIG_LOCATION_METHOD_GNSS_AGPS_EXTERNAL
CONFIG_LOCATION_METHOD_GNSS_PGPS_EXTERNAL
CONFIG_LOCATION_METHOD_CELLULAR_EXTERNAL
The new configuration also handles Wi-Fi positioning.
Several new Kconfig options for default location request configurations, including default method priority configuration. These new Kconfig options are applied when the
location_config_defaults_set()
function is called.
Updated:
Neighbor cell measurements and Wi-Fi scan results are combined into a single cloud request. This also means that cellular and Wi-Fi positioning are combined into a single cloud positioning method if they are one after the other in the method list of the location request. Because of this, some parts of the API are replaced with new ones as follows:
Event
LOCATION_EVT_CLOUD_LOCATION_EXT_REQUEST
replaces old eventsLOCATION_EVT_CELLULAR_EXT_REQUEST
andLOCATION_EVT_WIFI_EXT_REQUEST
that are removed.Function
location_cloud_location_ext_result_set()
replaces old functionslocation_cellular_ext_result_set
andlocation_wifi_ext_result_set
that are removed.Member variable
cloud_location_request
replaces old memberscellular_request
andwifi_request
that are removed inlocation_event_data
.CONFIG_LOCATION_SERVICE_CLOUD_RECV_BUF_SIZE
replacesCONFIG_LOCATION_METHOD_CELLULAR_RECV_BUF_SIZE
andCONFIG_LOCATION_METHOD_WIFI_REST_RECV_BUF_SIZE
.
GNSS assistance data need handling by improving it.
The GNSS filtered ephemerides mechanism. These are no longer used when the
CONFIG_NRF_CLOUD_AGPS_FILTERED_RUNTIME
Kconfig option is enabled.Renamed:
enum location_cellular_ext_result
toenum location_ext_result
, because Wi-Fi will use the same enumeration.CONFIG_LOCATION_METHOD_WIFI_SERVICE_NRF_CLOUD
toCONFIG_LOCATION_SERVICE_NRF_CLOUD
.CONFIG_LOCATION_METHOD_WIFI_SERVICE_HERE
toCONFIG_LOCATION_SERVICE_HERE
.CONFIG_LOCATION_METHOD_WIFI_SERVICE_HERE_API_KEY
toCONFIG_LOCATION_SERVICE_HERE_API_KEY
.CONFIG_LOCATION_METHOD_WIFI_SERVICE_HERE_HOSTNAME
toCONFIG_LOCATION_SERVICE_HERE_HOSTNAME
.CONFIG_LOCATION_METHOD_WIFI_SERVICE_HERE_TLS_SEC_TAG
toCONFIG_LOCATION_SERVICE_HERE_TLS_SEC_TAG
.
Fixed an issue causing the A-GPS data download to be delayed until the RRC connection release.
Added the Modem SLM library. This library is meant for the external MCU to work with nRF9160 SiP through the Serial LTE modem application.
Multicell location library is deprecated and will be removed in one of the future releases.
Modem information library:
Added the
modem_info_get_hw_version()
function to obtain the hardware version string using theAT%HWVERSION
command.
LTE link control library:
Fixed an issue where cell update events could be sent without the cell information from the modem actually being updated.
Libraries for networking
Added:
The MQTT helper library that simplifies Zephyr MQTT API and socket handling.
The nRF Cloud Alert library for sending notifications of critical device events to nRF Cloud, using either REST or MQTT connections.
Azure IoT Hub library:
Pulled out the
azure_iot_hub_mqtt.c
file that is now implemented by a new library MQTT helper.
Multicell location library:
This library is now deprecated and relevant functionality is available through the Location library.
FOTA download library:
Fixed:
An issue where the
download_client_callback()
function was continuing to read the offset value even ifdfu_target_offset_get()
returned an error.An issue where the cleanup of the downloading state was not happening when an error event was raised.
nRF Cloud library:
Added:
Support for full modem FOTA updates using a partition in external flash.
Automatic sending of the device status information to nRF Cloud when the device connects if the
CONFIG_NRF_CLOUD_SEND_DEVICE_STATUS
Kconfig option is enabled. Network information is included if theCONFIG_NRF_CLOUD_SEND_DEVICE_STATUS_NETWORK
Kconfig option is enabled. SIM card information is included if theCONFIG_NRF_CLOUD_SEND_DEVICE_STATUS_SIM
Kconfig option is enabled.The
CONFIG_NRF_CLOUD_DEVICE_STATUS_ENCODE_VOLTAGE
Kconfig option, which controls if device voltage is included when device status data is encoded.Possibility to include an application version string in the
nrf_cloud_init_param
struct.
Updated:
Handling of the MQTT disconnect event. It is now handled by the FOTA module, allowing for updates to be completed while disconnected and reported properly when reconnected.
Encoding of the GCI search results. These are now encoded in location requests.
Encoding of the neighbor cell’s time difference value. It is now encoded in location requests.
Fixed:
An issue where the same buffer was incorrectly shared between caching a P-GPS prediction and loading a new one, when external flash was used.
An issue where external flash only worked if the P-GPS partition was located at address 0.
LwM2M location assistance library:
Added:
Support for Wi-Fi based location through LwM2M.
API for scanning Wi-Fi access points.
Removed location events and event handlers.
nRF Cloud REST library:
Added the
nrf_cloud_rest_device_status_message_send()
function to send the device status information as an nRF Cloud device message.
Libraries for NFC
Added:
The possibility of moving an NFC callback to a thread context.
Support for zero-latency interrupts for NFC.
Updated by aligning the
ncs/nrf/subsys/nfc/lib/platform.c
file with new library implementation.Parser for Connection Handover records library:
Fixed a bug where the AC Record Parser was not functional and returned invalid results.
Other libraries
Added the Pulse Code Modulation audio mixer library. This was previously a component of the nRF5340 Audio applications application, now moved to
lib/pcm_mix
.Continuous array library:
Updated by separating the library from the nRF5340 Audio applications application and moving it to
lib/contin_array
. Updated code and documentation accordingly.
PCM Stream Channel Modifier library:
Updated by separating the library from the nRF5340 Audio applications application and moving it to
lib/pcm_stream_channel_modifier
. Updated code and documentation accordingly.
Data FIFO library:
Updated by separating the library from the nRF5340 Audio applications application and moving it to
lib/data_fifo
. Updated code and documentation accordingly.
Quality of Service library:
Updated by removing the
QOS_MESSAGE_TYPES_REGISTER
macro.
Secure Partition Manager (SPM):
Removed Secure Partition Manager (SPM) and the Kconfig option
CONFIG_SPM
. It is replaced by the Trusted Firmware-M (TF-M) as the supported trusted execution solution.
-
Updated the way section names are created for event subscribers. This allows you to use any event naming scheme. For more information, see the NCSIDB-925 issue description on the Known issues page.
Common Application Framework (CAF)
CAF: Simple Management Protocol module:
Updated by aligning the module with the recent MCUmgr API, following the MCUmgr Callbacks migration guide in the Zephyr documentation. The module now requires the Kconfig options
CONFIG_MCUMGR_MGMT_NOTIFICATION_HOOKS
andCONFIG_MCUMGR_GRP_IMG_UPLOAD_CHECK_HOOK
to be enabled.
CAF: Bluetooth LE advertising module:
Added the
CONFIG_CAF_BLE_ADV_ROTATE_RPA
Kconfig option. The option synchronizes Resolvable Private Address (RPA) rotation with the advertising data update in the Bluetooth Privacy mode. Added dependent Kconfig optionsCONFIG_CAF_BLE_ADV_ROTATE_RPA_TIMEOUT
andCONFIG_CAF_BLE_ADV_ROTATE_RPA_TIMEOUT_RAND
. They are used to specify the rotation period and its randomization factor.
-
Added a macro intended to set the size of events member enums to 32 bits when the Event Manager Proxy is enabled. Applied this macro to all affected CAF events.
Updated by improving inter-core compatibility.
CAF: Sensor data aggregator module:
Updated:
sensor_data_aggregator_event
now uses thesensor_value
struct data buffer and carries a number of sensor values in a single sample, which is sufficient to describe data layout.The way buffers are declared is updated when the instance is created. Now, the memory-region devicetree property works independently for each instance and does not require the specific instance name.
-
Updated by cleaning up
sensor_event.h
andsensor_manager.h
files. Moved unrelated declarations to a separatecaf_sensor_common.h
file.
DFU libraries
DFU target library:
Added:
The
CONFIG_DFU_TARGET_FULL_MODEM_USE_EXT_PARTITION
Kconfig option to support theFMFU_STORAGE
partition in external flash.The
dfu_target_full_modem_fdev_get()
function that gets the configured flash device information.
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.
-
Updated the output contents. The output now contains source repository and version information for each file.
-
Added:
The
ncs/nrf/subsys/partition_manager/pm.yml.fmfu
file.Support for the full modem FOTA update (FMFU) partition:
FMFU_STORAGE
.
MCUboot
The MCUboot fork in nRF Connect SDK (sdk-mcuboot
) contains all commits from the upstream MCUboot repository up to and including cfec947e0f8be686d02c73104a3b1ad0b5dcf1e6
, with some nRF Connect SDK specific additions.
The code for integrating MCUboot into nRF Connect SDK is located in the ncs/nrf/modules/mcuboot
folder.
The following list summarizes both the main changes inherited from upstream MCUboot and the main changes applied to the nRF Connect SDK specific additions:
Added an option to prevent inclusion of the default nRF5340 network core DFU image hook, which allows a custom implementation by users if the
CONFIG_BOOT_IMAGE_ACCESS_HOOK_NRF5340
Kconfig option is disabled (enabled by default). CMake can be used to add additional hook files. Seemodules/mcuboot/hooks/CMakeLists.txt
for an example of how to achieve this.
Zephyr
The Zephyr fork in nRF Connect SDK (sdk-zephyr
) contains all commits from the upstream Zephyr repository up to and including e1e06d05fa8d1b6ac1b0dffb1712e94e308861f8
, 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 e1e06d05fa ^cd16a8388f
For the list of nRF Connect SDK specific commits, including commits cherry-picked from upstream, run:
git log --oneline manifest-rev ^e1e06d05fa
The current nRF Connect SDK main branch is based on revision e1e06d05fa
of Zephyr.
Documentation
Added:
A page about Security in the Matter protocol section.
Template for the Integration user guides.
A page on AVSystem integration.
The Developing with nRF70 Series user guide.
A page on Features of nRF70 Series.
Template for Applications.
The Getting started with nRF5340 DK guide.
Updated:
The Software maturity levels page with details about Wi-Fi feature support.
The Power optimization user guide by adding sections about power saving features and PSM usage.
The Developing with nRF53 Series guide by aligning with current simplified configuration.
The Developing with nRF52 Series guide by aligning with current simplified FOTA configuration.
The
doc/nrf
folder by significantly changing the folder structure. See commit #d55314 for details.