Changelog for nRF Connect SDK v2.2.99-dev3
The most relevant changes that are present on the main branch of the nRF Connect SDK, as compared to the latest official release, are tracked in this file.
Note
This file is a work in progress and might not cover all relevant changes.
Known issues
Known issues are only tracked for the latest official release. See known issues for nRF Connect SDK v2.2.0 for the list of issues valid for the latest release.
Changelog
The following sections provide detailed lists of changes by component.
Application development
No changes since the latest nRF Connect SDK release.
RF Front-End Modules
No changes since the latest nRF Connect SDK release.
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 MbedTLS instead of Zephyr’s fork.
Protocols
This section provides detailed lists of changes by protocol. See Samples for lists of changes for the protocol-related samples.
Bluetooth LE
No changes since the latest nRF Connect SDK release.
Bluetooth mesh
No changes since the latest nRF Connect SDK release.
Matter
Added:
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.
Enabled Wi-Fi and Bluetooth LE coexistence.
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.
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.
Fixed the issue of connection timing out when attaching to a Wi-Fi access point that requires Wi-Fi Protected Access 3 (WPA3).
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 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.
Build-time generation of some Zigbee Cluster Library (ZCL) source files using the
codegen.py
Python script.An alternative factory reset implementation that erases the entire non-volatile storage flash partition.
Updated:
Basic cluster has been renamed to Basic Information cluster to match the specification.
Thread
No changes since the latest nRF Connect SDK release.
See Thread samples for the list of changes for the Thread samples.
Zigbee
No changes since the latest nRF Connect SDK release.
See Zigbee samples for the list of changes for the Zigbee samples.
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
.
nRF IEEE 802.15.4 radio driver
No changes since the latest nRF Connect SDK release.
Wi-Fi
Added:
New sample Wi-Fi: Bluetooth LE coexistence demonstrating Wi-Fi Bluetooth LE coexistence.
Wi-Fi document.
Applications
This section provides detailed lists of changes by application.
nRF9160: Asset Tracker v2
Added:
Wi-Fi support for nRF9160 DK + nRF7002 EK configuration.
Updated:
Replaced deprecated LwM2M API calls with calls to new functions.
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 of nRF Cloud C2D appId
MODEM
andDEVICE
.
Updated:
The response for the
#XDFUGET
command, using unsolicited notification to report download progress.
nRF5340 Audio
Added:
Support for Front End Module nRF21540.
Possibility to create a Public Broadcast Announcement (PBA) needed for Auracast.
Encryption for BISes.
Updated:
Power module has been re-factored so that it uses 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.
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)
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.
Updated:
Implemented 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 a log level to
debug
for theIdentity x created
log in the Bluetooth LE bond module.
Removed separate configurations enabling Shell (
prj_shell.conf
). Shell support can be enabled for a given configuration with the single Kconfig option (CONFIG_DESKTOP_SHELL).By default, nRF Desktop dongles use the Bluetooth appearance (
CONFIG_BT_DEVICE_APPEARANCE)
of keyboard. The new default configuration value improves consistency with the used HID boot interface.
Samples
Bluetooth samples
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.
Bluetooth: NFC pairing and Bluetooth: Central NFC pairing samples:
Fixed OOB pairing between these samples.
Bluetooth mesh samples
Bluetooth: Mesh and peripheral coexistence sample:
Updated:
Enabled
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE
configuration option.
Bluetooth: Mesh chat sample:
Updated:
Enabled
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE
configuration option.
Bluetooth: Mesh light sample:
Updated:
Enabled
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE
configuration option.
Bluetooth: Mesh light switch sample:
Updated:
Enabled
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE
configuration option.
Bluetooth: Mesh sensor observer sample:
Updated:
Enabled
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE
configuration option.
Bluetooth: Mesh sensor sample:
Updated:
Enabled
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE
configuration option.
Bluetooth: Mesh light fixture sample:
Updated:
Enabled
CONFIG_SOC_FLASH_NRF_PARTIAL_ERASE
configuration option.
nRF9160 samples
nRF9160: 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 in between commands when usingth pipeline
.
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.
nRF9160: nRF Cloud REST cellular location sample:
Added the usage of GCI search option if running modem firmware v1.3.4.
Updated the sample, so that it waits for RRC idle mode before requesting neighbor cell measurements.
nRF9160: 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.
nRF9160: HTTP application update sample:
Added support for the LwM2M carrier library.
Removed:
Multicell location sample because of the deprecation of the Multicell location library. Relevant functionality is available through the Location library.
nRF9160: nRF Cloud MQTT multi-service sample:
Added:
MCUboot child image files to properly access external flash on newer nRF9160DK versions.
An
overlay_mcuboot_ext_flash.conf
file to enable MCUboot use of external flash.
Peripheral samples
Radio test (short-range) sample:
Added support for the nRF7002 board.
Fixed sample building with support for the Skyworks front-end module.
Updated the documentation to clarify that this sample is dedicated for the short-range radio (Bluetooth LE, IEEE 802.15.4, and proprietary modes).
Trusted Firmware-M (TF-M) samples
No changes since the latest nRF Connect SDK release.
Thread samples
Added:
overlay-low_power.conf
andlow_power.overlay
to the CLI sample to facilitate power consumption measurements.
Updated:
Overlay structure:
overlay-rtt.conf
removed from all samples.overlay-log.conf
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
).
Matter samples
Enabled Matter shell commands for all build types except
release
in all Matter samples.Matter: Door lock sample:
Added:
thread_wifi_switched
build type that enables switching between Thread and Wi-Fi network support in the field.Wi-Fi low power configuration using Wi-Fi’s Legacy Power Save mode.
-
Added Wi-Fi low power configuration using Wi-Fi’s Legacy Power Save mode.
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.
No changes since the latest nRF Connect SDK release.
nRF5340 samples
No changes since the latest nRF Connect SDK release.
Gazell samples
No changes since the latest nRF Connect SDK release.
Zigbee samples
No changes since the latest nRF Connect SDK release.
Wi-Fi samples
Added:
Wi-Fi: Bluetooth LE coexistence sample demonstrating Wi-Fi Bluetooth LE coexistence.
Other samples
Enhanced ShockBurst: Transmitter/Receiver sample:
Added support for front-end modules and nRF21540 DK.
Drivers
This section provides detailed lists of changes by driver.
-
Updated by reducing log verbosity.
-
Updated by reducing log verbosity.
Libraries
This section provides detailed lists of changes by library.
Binary libraries
No changes since the latest nRF Connect SDK release.
Bluetooth libraries and services
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:
Changed the
CONFIG_BT_ADV_PROV_FAST_PAIR_BATTERY_DATA_MODE
Kconfig option (default value) to not include Fast Pair battery data in the Fast Pair advertising payload by default.
Bootloader libraries
No changes since the latest nRF Connect SDK release.
Modem libraries
Location library:
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.
Introduced several new Kconfig options for default location request configurations, including default method priority configuration. These new Kconfig options are applied when
location_config_defaults_set()
function is called.
Updated:
Use of Multicell location library has been removed because the library is 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.
Improved GNSS assistance data need handling.
GNSS filtered ephemerides 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.
Libraries for networking
Added MQTT helper library that simplifies Zephyr MQTT API and socket handling.
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:
Updated:
The MQTT disconnect event is now handled by the FOTA module, allowing for updates to be completed while disconnected and reported properly when reconnected.
GCI search results are now encoded in location requests.
The neighbor cell’s time difference value 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.
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
Continuous array library:
Updated by separating the library from the nRF5340 Audio 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 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 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. See Trusted Firmware-M (TF-M) for more information about the TF-M.
Pulse Code Modulation audio mixer library:
New library. This was previously a component of the nRF5340 Audio application, now moved to
lib/pcm_mix
.
Common Application Framework (CAF)
-
Added:
A macro intended to set the size of events member enums to 32 bits when the Event Manager Proxy is enabled. Applied macro to all affected CAF events.
Updated:
Inter-core compatibility has been improved.
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.
-
Updated by cleaning up
sensor_event.h
andsensor_manager.h
files. Moved unrelated declarations to a separatecaf_sensor_common.h
file.
Shell libraries
No changes since the latest nRF Connect SDK release.
Libraries for Zigbee
No changes since the latest nRF Connect SDK release.
sdk-nrfxlib
See the changelog for each library in the nrfxlib documentation for additional information.
DFU libraries
No changes since the latest nRF Connect SDK release.
Scripts
This section provides detailed lists of changes by script.
-
Updated so that the output contains source repository and version information for each file.
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 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 cd16a8388f ^71ef669ea4
For the list of nRF Connect SDK specific commits, including commits cherry-picked from upstream, run:
git log --oneline manifest-rev ^cd16a8388f
The current nRF Connect SDK main branch is based on revision cd16a8388f
of Zephyr.
Additions specific to nRF Connect SDK
No changes since the latest nRF Connect SDK release.
zcbor
No changes since the latest nRF Connect SDK release.
Trusted Firmware-M
No changes since the latest nRF Connect SDK release.
cJSON
No changes since the latest nRF Connect SDK release.
Documentation
Added:
Documentation template for the Ecosystem integration user guides.
The Developing with nRF70 Series user guide.
A page on Features of nRF70 Series.
Updated:
The Software maturity levels page with details about Wi-Fi feature support.
The Power optimization user guide by adding a section about power saving features.