Changelog for nRF Connect SDK v2.1.99

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.1.0 for the list of issues valid for the latest release.

Changelog

The following sections provide detailed lists of changes by component.

MCUboot

Application development

  • Updated the Software maturity levels page with a section about API deprecation.

  • Updated the Board support page with a section about processing environments. Also, updated terminology across the documentation to avoid the use of “secure domain” and “non-secure domain” when referring to the adoption of Cortex-M Security Extensions for the _ns build targets.

RF Front-End Modules

  • Added:

    • nRF21540 GPIO+SPI built-in power model that keeps the nRF21540’s gain constant and as close to the currently configured value of gain as possible.

Build system

  • Fixed an issue with the nRF Connect SDK Toolchain where protoc and nanopb would not be correctly detected by the build system, resulting in builds trying to find locally installed versions instead of the version shipped with the nRF Connect SDK Toolchain.

  • Fixed an issue with passing quoted settings to child images.

Protocols

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

Bluetooth LE

  • Added:

For details, see Changelog.

Bluetooth mesh

See Bluetooth mesh samples for the list of changes for the Bluetooth mesh samples.

Matter

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, bc6b43882a56ddb3e94d3e64956bd5f3292b4058.

The following list summarizes the most important changes inherited from the upstream Matter:

  • No changes since the latest nRF Connect SDK release.

Thread

  • Added:

    • Enabled experimental TCP support as required by Thread 1.3 Specification.

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.

ESB

nRF IEEE 802.15.4 radio driver

  • Added:

    • RADIO trim values are reapplied after a POWER register write as a workaround for the hardware errata 158 of the nRF5340.

Wi-Fi

No changes since the latest nRF Connect SDK release.

Applications

This section provides detailed lists of changes by application.

nRF9160: Asset Tracker v2

  • Updated:

    • The application now uses the new LwM2M location assistance objects through the LwM2M location assistance library.

    • Added handling for the new data receive events in the nRF Cloud library.

    • The application now uses passive mode as the default mode for Thingy:91 builds.

    • The application now uses the Location library for retrieving location information. This is a major change in the application code but a minor change from the user perspective.

      • Added Location module and removed GNSS module. GNSS is used through the Location library.

      • Neighbor cell handling moved from Modem module to Location module to be used through Location library

      • The Location module triggers a location_request() with GNSS being the first priority method and cellular the second priority if they are enabled in the application configuration

      • NMEA support removed. This was there only because originally, nRF Cloud did not support PVT but that has changed.

      • A-GPS/P-GPS are not requested based on triggers in the application but only based on Location library events LOCATION_EVT_GNSS_ASSISTANCE_REQUEST and LOCATION_EVT_GNSS_PREDICTION_REQUEST.

      • Currently, you cannot configure or define the LTE LC neighbor cell search type with the Location library. The default search type is always used.

      • The Kconfig option CONFIG_GNSS_MODULE_PGPS_STORE_LOCATION (calling nrf_cloud_pgps_set_location()) is not supported in the Location library.

  • Removed:

    • A-GPS and P-GPS processing; it is now handled by the nRF Cloud library.

nRF9160: Serial LTE modem

  • Added:

  • Updated:

    • Removed automatic quit of data mode in GNSS, FTP and HTTP services.

    • Added handling for the new data receive events in the nRF Cloud library.

    • Service info JSON payload now uses GNSS instead of GPS.

nRF5340 Audio

  • Added:

    • Kconfig options for different sample rates and BAP presets.

    • Added Kconfig options for different sample rates and BAP presets.

    • Added bidirectional mode for the CIS mode.

    • Added a walkie talkie demo for bidirectional CIS.

    • Added minimal Media Control Service (MCS) functionality to the Play/Pause button.

    • Added Coordinated Set Identification Service (CSIS) for the CIS headset.

    • Added functionality for supporting multiple streams on BIS headsets.

  • Updated:

    • LE Audio Controller Subsystem for nRF53 (Experimental) to version 3310. This version provides improved Android compatibility.

    • Removed support for the nRF5340 Audio DK (PCA10121) board version 0.7.1 or older

  • Fixed:

    • An issue with the figure for I2S-based firmware for gateway and headsets in the nRF5340 Audio documentation. The figure now correctly shows the interaction with the Bluetooth modules.

    • An issue with Simple Management Protocol (SMP) not advertising in the CIS mode.

    • An issue with the mcumgr command being unable to receive in the BIS mode.

    • A documentation issue where the Testing FOTA upgrades section would not mention long-pressing BTN 4 while resetting the development kit to start DFU.

nRF Machine Learning (Edge Impulse)

  • Thingy:52 (thingy52_nrf52832) is no longer supported.

nRF Desktop

  • The CONFIG_DESKTOP_BLE_SCANNING_ENABLE Kconfig option was renamed to CONFIG_DESKTOP_BLE_SCAN_ENABLE.

  • The UUID16 values of GATT Human Interface Device Service (HIDS) and GATT Battery Service (BAS) are moved from advertising data to scan response data.

  • Added CONFIG_DESKTOP_LED_STATE_DEF_PATH. The option can be used to specify file defining the used LED effects.

  • Added application configurations that enable Fast Pair. See nRF Desktop’s Fast Pair documentation section for details.

  • Added Fast Pair module. The module is used in configurations that integrate Google Fast Pair.

  • Introduced CONFIG_DESKTOP_USB_REMOTE_WAKEUP Kconfig option for USB state module. The option enables the USB wakeup functionality in the application. The option selects CONFIG_USB_DEVICE_REMOTE_WAKEUP.

  • The Bluetooth GATT Service Changed (CONFIG_BT_GATT_SERVICE_CHANGED) is disabled on nRF Desktop dongles to reduce memory footprint.

  • Added application-specific Kconfig options to simplify the configuration. Part of an application Kconfig configuration that is common for the selected HID device type is introduced as overlays for default Kconfig values. See Integrating your own hardware for details.

  • The CONFIG_BT_ID_UNPAIR_MATCHING_BONDS is enabled by default. This is done to pass the Fast Pair Validator’s end-to-end integration tests and to improve the user experience during the erase advertising procedure.

Thingy:53 Zigbee weather station

No changes since the latest nRF Connect SDK release.

Connectivity Bridge

No changes since the latest nRF Connect SDK release.

Samples

This section provides detailed lists of changes by sample, including protocol-related samples. For lists of protocol-specific changes, see Protocols.

Bluetooth samples

Bluetooth mesh samples

nRF9160 samples

  • Added nRF9160: Modem trace external flash backend sample that demonstrates how to add a modem trace backend that stores the trace data to external flash.

  • nRF9160: LwM2M Client sample:

    • Added:

    • Updated:

      • The sample now uses the new LwM2M location assistance objects through the LwM2M location assistance library.

      • Removed all read callbacks from sensor code because of an issue of read callbacks not working properly when used with LwM2M observations. This is due to the fact that the engine does not know when data is changed.

      • Sensor samples are now enabled by default for Thingy:91 and disabled by default on nRF9160 DK.

  • nRF9160: nRF Cloud REST cellular location sample:

    • Updated:

    • Sample moved from samples/nrf9160/nrf_cloud_rest_cell_pos to samples/nrf9160/nrf_cloud_rest_cell_location.

  • nRF9160: nRF Cloud MQTT multi-service sample:

    • Added:

      • Support for the Location library Wi-Fi location method with the nRF7002 EK.

  • nRF9160: Modem Shell sample:

    • Added:

      • LED 1 (nRF9160 DK)/Purple LED (Thingy:91) is lit for five seconds indicating that a current location has been acquired by using the location get command.

      • Overlay files for nRF9160 DK with nRF7002 EK to enable Wi-Fi scanning support. With this configuration, you can, for example, obtain the current location by using the location get command.

      • Support for new GCI (Global Cell ID) search types for link ncellmeas command, which are supported by the modem firmware versions >= 1.3.4.

      • Support for connecting to cloud using the LwM2M client utils library. An overlay file is provided for building with the LwM2M support and an optional overlay to enable P-GPS.

  • nRF9160: Location:

    • Added:

      • Overlay files for nRF9160 DK with nRF7002 EK to obtain the current location by using Wi-Fi scanning results.

  • nRF9160: LTE Sensor Gateway sample:

    • Updated:

      • Added handling for the new data receive events in the nRF Cloud library.

      • Removed A-GPS and P-GPS processing; it is now handled by the nRF Cloud library.

  • nRF9160: Modem Shell sample:

    • Updated:

      • Added handling for the new data receive events in the nRF Cloud library.

      • Removed A-GPS and P-GPS processing; it is now handled by the nRF Cloud library.

  • nRF9160: nRF Cloud MQTT multi-service sample:

    • Changed:

      • Added handling for the new data receive events in the nRF Cloud library.

      • Removed A-GPS and P-GPS processing; it is now handled by the nRF Cloud library.

    • Added:

      • Board overlay file for nRF9160 DK with external flash.

      • Overlay file to enable P-GPS data storage in external flash.

Trusted Firmware-M (TF-M) samples

Thread samples

  • Thread: CLI sample:

    • Removed:

      • Thread Certification support files in favor of regular sample overlays.

Matter samples

  • Updated ZAP configuration of the samples to conform with device types defined in Matter 1.0 specification.

  • Matter: Light bulb:

    • Introduced support for Matter over Wi-Fi on standalone nrf7002dk_nrf5340_cpuapp and on nrf5340dk_nrf5340_cpuapp with the nrf7002_ek shield attached.

NFC samples

No changes since the latest nRF Connect SDK release.

nRF5340 samples

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

Other samples

  • Enhanced ShockBurst: Transmitter/Receiver sample:

    • Removed the FEM support section.

  • Added Hardware ID sample.

  • Radio test sample:

    • Changed:

      • Front-end module support is now provided by the Front-end module feature API instead of the custom driver that was part of this sample.

      • On the nRF5340 development kit, the nRF5340: Remote IPC shell is now a mandatory sample that must be programmed to the application core.

      • On the nRF5340 development kit, this sample uses the IPC service shell transport library to forward shell data through the physical application core UART interface.

      • Added support for the Front-end module feature TX power split feature. The new total_output_power shell command is introduced for sample builds with front-end module support. It enables automatic setting of the SoC output power in a radio peripheral and front-end module gain to achieve requested output power or less if an exact value is not supported.

      • Added support for +1 dBm, +2 dBm and +3 dBm output power on nRF5340 DK.

  • CAF: Sensor manager sample:

    • Removed the sensor sim configuration. The sample now uses the sensor stub driver by default.

Drivers

This section provides detailed lists of changes by driver.

Libraries

This section provides detailed lists of changes by library.

Binary libraries

Bluetooth libraries and services

See Bluetooth mesh samples for the list of changes for the Bluetooth mesh samples.

Bootloader libraries

  • Bootloader storage library:

    • Added:

      • PSA compatible lifecycle state.

      • PSA compatible implementation ID.

      • Removed the option of application using the library to read OTP memory when the nRF Secure Immutable Bootloader (NSIB) is enabled.

Modem libraries

  • Modem information library:

    • Removed:

      • modem_info_json_string_encode() and modem_info_json_object_encode() functions.

      • network_mode field from network_param.

      • MODEM_INFO_NETWORK_MODE_MAX_SIZE.

      • CONFIG_MODEM_INFO_ADD_BOARD.

  • Modem library integration layer library:

  • Location library:

    • Updated: * Added timeout for the entire location request. * Added location data details such as entire PVT data. * Moved location method from the location_data structure to location_event_data. * Started to use nRF Cloud location for nRF Cloud Wi-Fi positioning.

    • Added: * MQTT support for nRF Cloud Wi-Fi positioning. * Improved LTE - GNSS interworking and added possibility to trigger GNSS priority mode if GNSS does not get long enough time windows due to LTE idle mode operations.

  • LTE link controller library:

    • Added support for GCI (Global Cell ID) neighbor cell measurement search types, which are supported by the modem firmware versions >= 1.3.4.

      Parameter type in lte_lc_neighbor_cell_measurement() changed to lte_lc_ncellmeas_params. It includes both search type and GCI count that have an impact only with GCI search types.

  • Modem key management library:

    • Added:

    • Updated:

      • All the functions to return -EACCES instead of -EPERM when the access to the credential is not allowed.

      • All the functions to return -EPERM instead of -EACCES when the operation is not permitted because the LTE link is active.

  • Custom AT commands library:

    • Added the Custom AT commands library to add custom AT commands with application callbacks.

  • GCF SMS library:

Libraries for networking

  • Multicell location library:

    • Removed the Kconfig option CONFIG_MULTICELL_LOCATION_MAX_NEIGHBORS. The maximum number of supported neighbor cell measurements for HERE location services depends on the CONFIG_LTE_NEIGHBOR_CELLS_MAX Kconfig option.

  • Download client library:

    • Updated the library so that it does not retry download on disconnect.

    • Fixed a race condition when starting the download.

  • nRF Cloud library:

    • Added:

      • Added a possibility to override used default OS memory alloc/free functions.

      • More unit tests for the library.

    • Updated:

    • Removed:

      • An unused parameter of the nrf_cloud_connect() function.

      • An unused nrf_cloud_shadow_update() function.

  • LwM2M client utils library:

    • Added support for using X509 certificates.

  • FOTA download library:

  • nRF Cloud REST library:

  • Added:

    • LwM2M location assistance library that has support for using A-GPS, P-GPS and ground fix assistance from nRF Cloud using an LwM2M server.

  • Changed:

    • The nRF Cloud cellular positioning library is now renamed to nRF Cloud location. In addition to cellular, the library now supports device location from nRF Cloud using Wi-Fi network information.

  • nRF Cloud P-GPS library:

    • Added:

      • Added access to P-GPS predictions in external flash.

    • Fixed:

      • An issue where 0 predictions would be requested from the cloud.

      • An issue where subsequent updates were locked out after the first one completes. This happened when custom download transport was not used.

Libraries for NFC

Other libraries

Common Application Framework (CAF)

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

Scripts

This section provides detailed lists of changes by script.

  • Software Bill of Materials:

    • SPDX License List database updated to version 3.18.

  • Partition Manager:

    • Added:

      • CONFIG_PM_PARTITION_ALIGN_SETTINGS_STORAGE Kconfig option to specify the alignment of the settings storage partition.

      • P-GPS partition section to the ncs/nrf/subsys/partition_manager/Kconfig file.

      • Board-specific static Partition Manager configuration shared among build types. The configuration can be defined in the board’s directory.

    • Updated:

      • Updated the ncs/nrf/subsys/partition_manager/pm.yml.pgps file to place P-GPS partition in external flash when so configured.

    • Fixed:

      • Fixed an issue with the driver and devicetree symbol for the external flash memory where the driver was sometimes NULL, even if the DT node was chosen.

  • Unity

    • Added:

      • Support for excluding functions from mock generation. This provides a framework to implement custom mocks.

    • Updated:

      • Renamed generated mock functions from __wrap to __cmock.

      • Renamed generated mock headers from mock_<header_file>.h to cmock_<header_file>.h.

      • Using compiler option --defsym instead of --wrap.

MCUboot

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

Zephyr

The Zephyr fork in nRF Connect SDK (sdk-zephyr) contains all commits from the upstream Zephyr repository up to and including cd16a8388f71a6cce0cea871f75f6d4ac8f56da9, plus 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 ^45ef0d2

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

  • Added:

    • Reading, updating, and attesting the lifecycle state stored in nRF OTP. The storage is managed by the Bootloader storage library.

    • Reading and attesting an implementation ID stored in nRF OTP. The storage is managed by the Bootloader storage library.

    • Enabling the APPROTECT and the device reset when transitioning to the SECURED lifecycle state.

cJSON

  • No changes since the latest nRF Connect SDK release.

Documentation