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 Install the nRF Connect SDK code and toolchain and Updating the repositories for more information.
For information on the included repositories and revisions, see Repositories and revisions for v2.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 the Programming nRF91 Series DK firmware page for instructions.
Known issues
Known issues are only tracked for the latest official release. See known issues for nRF Connect SDK v2.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.txtfile 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_RAMwas added to allow MCUboot to use all the available RAM.
Application development
Added a new user guide about Managing access port protection.
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/mbedtlsnow 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_DFUandCONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUPto 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_DFUandCONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUPto 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_ACMKconfig 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_DFUoption. 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_cpuappwith thenrf7002_ekshield attached, using thethread_wifi_switchedbuild type. See the Thread and Wi-Fi switching section 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
NetworkInterfacesattribute 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_POWERKconfig 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
autoconnectcommand 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_READYreplacesLOCATION_MODULE_EVT_NEIGHBOR_CELLS_DATA_READYandLOCATION_MODULE_EVT_WIFI_ACCESS_POINTS_DATA_READYDATA_EVT_CLOUD_LOCATION_DATA_SENDreplacesDATA_EVT_NEIGHBOR_CELLS_DATA_SENDandDATA_EVT_WIFI_ACCESS_POINTS_DATA_SENDcloud_codec_encode_cloud_location()function replacescloud_codec_encode_neighbor_cellsandcloud_codec_encode_wifi_access_pointscloud_wrap_cloud_location_send()function replacescloud_wrap_neighbor_cells_sendandcloud_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_STATUSconfiguration option to send static modem data.
nRF9160: Serial LTE modem
Added:
RFC1350 TFTP client, currently supporting only READ REQUEST.
AT command
#XSHUTDOWNto put nRF9160 SiP to System Off mode.Support for nRF Cloud C2D appId
MODEMandDEVICE.Support for the LwM2M carrier library.
Updated:
The response for the
#XDFUGETcommand, using unsolicited notification to report download progress.The response for the
#XDFUSIZEcommand, adding a CRC32 checksum of the downloaded image.The
#XSLMVERcommand 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.
nRF 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_TOto set the sensor idling timeout before suspending the sensor.Removed the usage of
ml_runner_signin_eventfrom 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_RPAKconfig 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_LOADERKconfig 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
warningfor the Non-Volatile Storage (CONFIG_NVS_LOG_LEVEL).Lowered log level to
debugfor theIdentity x createdlog in the Bluetooth LE bond module.
The default values of the
CONFIG_BT_GATT_CHRC_POOL_SIZEandCONFIG_BT_GATT_UUID16_POOL_SIZEKconfig 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_ENABLEDKconfig option disabled.
Bluetooth mesh samples
Enabled the
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASEKconfig option in the following samples:Bluetooth Mesh NLC: Lightness Controller/Energy Monitor sample:
Updated:
The specification-defined illuminance regulator (
CONFIG_BT_MESH_LIGHT_CTRL_REG_SPEC) now selects theCONFIG_FPUoption 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 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 pipelinefor executing several MoSh commands sequentially in one thread.New command
sleepfor introducing wait periods between commands when usingth pipeline.New command
heapfor printing kernel and system heap usage statistics.
Updated:
Timeout command-line arguments for the
location getcommand 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.conffile to the default configuration fileprj.conf.Removed the
overlay-queue.conffile.Enabled the
CONFIG_LTE_LC_TAU_PRE_WARNING_NOTIFICATIONSKconfig option.
Cellular: HTTP application update sample:
Added support for the LwM2M carrier library.
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.conffile 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.conffile was removed from all samples.The
overlay-log.conffile 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.confandlow_power.overlayfiles to facilitate power consumption measurements.
Matter samples
Enabled Matter shell commands for all build types except
releasein 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_POWERKconfig option.Matter: Door lock sample:
Added:
thread_wifi_switchedbuild type that enables switching between Thread and Wi-Fi network support in the field. See the Thread and Wi-Fi switching section 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
1during 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 Bluetooth LE transport 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 Bluetooth LE transport 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_ROTATIONKconfig option to drop the Fast Pair advertising payload on RPA rotation.Updated:
The
bt_le_adv_prov_adv_statestructure has been extended to include new fields. The newbt_le_adv_prov_adv_state.rpa_rotatedfield is used to notify registered providers about Resolvable Private Address (RPA) rotation. The newbt_le_adv_prov_adv_state.new_adv_sessionfield is used to notify registered providers that the new advertising session is about to start.The
CONFIG_BT_ADV_PROV_FAST_PAIR_BATTERY_DATA_MODEKconfig 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_OFFKconfig 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_SIZEKconfig 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_backendstruct.The Modem trace module to support backends that store the trace data for later retrieval.
The
CONFIG_NRF_MODEM_LIB_TRACE_BACKEND_RTTKconfig option, enabling the RTT trace backend, now requires theCONFIG_USE_SEGGER_RTTKconfig 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_EXTERNALKconfig option that replaces the following configurations:CONFIG_LOCATION_METHOD_GNSS_AGPS_EXTERNALCONFIG_LOCATION_METHOD_GNSS_PGPS_EXTERNALCONFIG_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_REQUESTreplaces old eventsLOCATION_EVT_CELLULAR_EXT_REQUESTandLOCATION_EVT_WIFI_EXT_REQUESTthat are removed.Function
location_cloud_location_ext_result_set()replaces old functionslocation_cellular_ext_result_setandlocation_wifi_ext_result_setthat are removed.Member variable
cloud_location_requestreplaces old memberscellular_requestandwifi_requestthat are removed inlocation_event_data.CONFIG_LOCATION_SERVICE_CLOUD_RECV_BUF_SIZEreplacesCONFIG_LOCATION_METHOD_CELLULAR_RECV_BUF_SIZEandCONFIG_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_RUNTIMEKconfig option is enabled.Renamed:
enum location_cellular_ext_resulttoenum location_ext_result, because Wi-Fi will use the same enumeration.CONFIG_LOCATION_METHOD_WIFI_SERVICE_NRF_CLOUDtoCONFIG_LOCATION_SERVICE_NRF_CLOUD.CONFIG_LOCATION_METHOD_WIFI_SERVICE_HEREtoCONFIG_LOCATION_SERVICE_HERE.CONFIG_LOCATION_METHOD_WIFI_SERVICE_HERE_API_KEYtoCONFIG_LOCATION_SERVICE_HERE_API_KEY.CONFIG_LOCATION_METHOD_WIFI_SERVICE_HERE_HOSTNAMEtoCONFIG_LOCATION_SERVICE_HERE_HOSTNAME.CONFIG_LOCATION_METHOD_WIFI_SERVICE_HERE_TLS_SEC_TAGtoCONFIG_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%HWVERSIONcommand.
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.cfile 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_STATUSKconfig option is enabled. Network information is included if theCONFIG_NRF_CLOUD_SEND_DEVICE_STATUS_NETWORKKconfig option is enabled. SIM card information is included if theCONFIG_NRF_CLOUD_SEND_DEVICE_STATUS_SIMKconfig option is enabled.The
CONFIG_NRF_CLOUD_DEVICE_STATUS_ENCODE_VOLTAGEKconfig 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_paramstruct.
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_sendfunction 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.cfile 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 nRF Audio applications application, now moved to
lib/pcm_mix.Continuous array library:
Updated by separating the library from the nRF 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 nRF 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 nRF 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_REGISTERmacro.
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_HOOKSandCONFIG_MCUMGR_GRP_IMG_UPLOAD_CHECK_HOOKto be enabled.
CAF: Bluetooth LE advertising module:
Added the
CONFIG_CAF_BLE_ADV_ROTATE_RPAKconfig 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_TIMEOUTandCONFIG_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_eventnow uses thesensor_valuestruct 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.handsensor_manager.hfiles. Moved unrelated declarations to a separatecaf_sensor_common.hfile.
DFU libraries
DFU target library:
Added:
The
CONFIG_DFU_TARGET_FULL_MODEM_USE_EXT_PARTITIONKconfig option to support theFMFU_STORAGEpartition 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.fmfufile.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_NRF5340Kconfig option is disabled (enabled by default). CMake can be used to add additional hook files. Seemodules/mcuboot/hooks/CMakeLists.txtfor 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 Quick Start 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 Thingy:53 guide by aligning with current simplified configuration.
The Developing with nRF52 Series guide by aligning with current simplified FOTA configuration.
The
doc/nrffolder by significantly changing the folder structure. See commit #d55314 for details.