Changelog for nRF Connect SDK v2.0.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.0.0 for the list of issues valid for the latest release.

Changelog

The following sections provide detailed lists of changes by component.

Application development

Board support

  • TF-M is now enabled by default on Thingy:91.

Partition Manager

Protocols

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

Bluetooth LE

For details, see Changelog.

Bluetooth mesh

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

Matter

  • Introduced support for Matter over Wi-Fi to several samples.

  • Updated Matter with new pages about Matter SDK as well as information about Matter over Wi-Fi.

  • Removed the low-power configuration build type from all Matter samples.

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, 708685f4821df2aa0304f02db2773c429ad25eb8.

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

  • Added:

    • Support for Matter device factory data. This includes a set of scripts for building the factory data partition content, and the FactoryDataProvider class for accessing this data.

    • Experimental support for Matter over Wi-Fi.

Thread

  • Added information about Synchronized Sleepy End Device (SSED) and SED vs SSED activity in the Device types documentation.

  • Multiprotocol support was removed from overlay-cert.config and moved to overlay-multiprotocol.conf.

See Thread samples for the list of changes for the Thread samples.

Zigbee

  • Updated:

    • Enabled the PAN ID conflict resolution in applications that uses Zigbee application utilities library. For details, see Libraries for Zigbee.

    • Changed the default entropy source of Zigbee samples and unit tests to Cryptocell for SoCs that have Cryptocell.

See Zigbee samples for the list of changes for the Zigbee samples.

ESB

  • Fixed the update_radio_crc() function in order to correctly configure the CRC’s registers (8 bits, 16 bits, or none).

nRF IEEE 802.15.4 radio driver

Wi-Fi

  • Added support for nRF700x DK that supports Wi-Fi SoC, which implements IEEE 802.11 protocols.

See Wi-Fi samples for details about how to use Wi-Fi in your application.

RF Front-End Modules

  • Fixed a build error that occurred when building an application for nRF53 SoCs with Simple GPIO Front-End Module support enabled.

  • Added the CONFIG_MPSL_FEM_ONLY Kconfig option that allows the Front-end module feature API to be used without other MPSL features. The MPSL library is linked into the build without initialization. You cannot use other MPSL features when this option is enabled.

  • Added the possibility to add custom models which split the requested TX power between the power on SoC output and the FEM gain in a way desired by the user.

Secure Partition Manager (SPM)

Applications

This section provides detailed lists of changes by application.

  • All applications running on non-secure boards are documented to use TF-M as the trusted execution solution by default. SPM is deprecated.

nRF9160: Asset Tracker v2

nRF9160: Serial LTE modem

  • Added:

    • URC for GNSS timeout sleep event.

    • Selected flags support in #XRECV and #XRECVFROM commands.

    • Multi-PDN support in the Socket service.

    • The GNSS service now signifies location info to nRF Cloud.

    • New #XGPSDEL command to delete GNSS data from non-volatile memory.

    • New #XDFUSIZE command to get the size of the DFU file image.

  • Updated:

    • The AT response and the URC sent when the application enters and exits data mode.

    • WAKEUP_PIN and INTERFACE_PIN are now defined as Active Low. Both are High when the SLM application starts.

  • Removed:

    • The software toggle of INDICATE_PIN in case of reset.

nRF5340 Audio

  • Added:

    • Support for Basic Audio Profile, including support for the stereo BIS (Broadcast Isochronous Stream).

    • Bonding between gateway and headsets in the CIS (Connected Isochronous Stream).

    • DFU support for internal and external flash layouts. See Configuring FOTA upgrades in the application documentation for details.

    • DFU advertising name based on role.

  • Updated:

  • Removed:

    • Support for SBC.

nRF Machine Learning (Edge Impulse)

  • Added configuration of Bluetooth LE advertising providers. The subsystem is now used instead of the *.def file to configure advertising data and scan response data in CAF: Bluetooth LE advertising module.

  • Updated Bluetooth advertising data and scan response data logic. The UUID128 of Nordic UART Service (NUS) is now added to the scan response data only if the NUS is enabled and the Bluetooth local identity in use has no bond.

nRF Desktop

  • nRF Desktop peripherals no longer automatically send security request immediately after Bluetooth LE connection is established. The feature can be turned on using CONFIG_CAF_BLE_STATE_SECURITY_REQ.

  • nRF Desktop dongles start peripheral discovery immediately after Bluetooth LE connection is established. The dongles no longer wait until the connection is secured.

  • Added configuration of Bluetooth LE advertising providers. The subsystem is now used instead of the *.def file to configure advertising data and scan response data in CAF: Bluetooth LE advertising module.

  • Updated Bluetooth advertising data and scan response data logic.

    • The TX power included in the advertising packet is no longer hardcoded, the application reads it from the Bluetooth controller. The TX power is included in advertising packets even if the Bluetooth local identity in use has bond.

    • The UUID16 of Battery Service (BAS) and Human Interface Device Service (HIDS) are included in advertising packets only if the Bluetooth local identity in use has no bond.

Thingy:53 Zigbee weather station

No changes since the latest nRF Connect SDK release.

Connectivity Bridge

  • Fixed:

    • Missing return statement that caused immediate asserts when asserts were enabled.

    • Too low UART RX timeout that caused high level of fragmentation of UART RX data.

Samples

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

  • All samples running on non-secure boards are documented to use TF-M as the trusted execution solution, as SPM is deprecated.

Bluetooth samples

Bluetooth mesh samples

nRF9160 samples

  • Added nRF9160: Modem trace backend sample, demonstrating how to add a custom modem trace backend. The custom backend prints the amount of trace data received in bytes, trace data throughput, and CPU load.

  • Removed the AWS FOTA sample. The nRF9160: AWS IoT sample must be used, which implements AWS FOTA through AWS IoT.

  • TF-M is enabled by default for the applications and samples that support Thingy:91.

  • nRF9160: LwM2M Client sample:

    • Fixed:

      • Default configuration conforms to the LwM2M specification v1.0 instead of v1.1. For enabling v1.1 there is already an overlay file.

      • Bootstrap is not TLV only anymore. With v1.1, preferred content format is sent in the bootstrap request. SenML CBOR takes precedence over SenML JSON and OMA TLV, when enabled.

      • Generation of the timestamp of LwM2M Location object on obtaining location fix.

    • Added:

      • CoAP max message size is set to 1280 by default.

      • Number of SenML CBOR records is set to a higher value to cope with data exchange after registration with Coiote server.

    • Updated:

      • The sample now uses TF-M instead of SPM.

  • nRF9160: Memfault sample:

    • Updated the sample to reflect changes in logging to the Memfault SDK.

  • nRF9160: Modem Shell sample:

    • Added:

      • nRF9160 DK overlays for enabling BT support. When running this configuration, you can perform BT scanning and advertising using the bt command.

      • Support for injecting GNSS reference altitude for low accuracy mode. For a position fix using only three satellites, GNSS module must have a reference altitude that can now be injected using the gnss agps ref_altitude command.

      • New command startup_cmd, which can be used to store up to three MoSh commands to be run on start/bootup. By default, commands are run after the default PDN context is activated, but can be set to run N seconds after bootup.

      • New command link search for setting periodic modem search parameters.

      • Added printing of modem domain events.

      • MQTT support for gnss command A-GPS and P-GPS.

      • An application-specific modem fault handler. The modem fault handler halts application execution in case of a modem crash.

      • Support for SEGGER’s Real Time Transfer (RTT) instead of UART.

    • Updated:

      • Changed timeout parameters from seconds to milliseconds in location and rest commands.

      • The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.

  • nRF9160: nRF Cloud MQTT multi-service sample:

    • Changed:

      • This sample now uses the Modem antenna library to configure the GNSS antenna instead of configuring it directly.

      • Minor logging and function structure improvements

      • nRF Cloud library is no longer de-initialized and re-initialized on disconnect and reconnect.

      • The nRF Cloud library function nrf_cloud_gnss_msg_json_encode() is used to send PVT location data instead of building an NMEA sentence.

    • Added:

      • Support for full modem FOTA.

      • LED status indication.

  • nRF9160: nRF Cloud REST FOTA sample:

    • Added:

      • Support for full modem FOTA updates.

  • nRF9160: AT monitor sample:

    • The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.

Thread samples

  • Enabled logging of errors and hard faults in CLI sample by default.

  • Extended the CLI sample documentation with SRP information.

Matter samples

NFC samples

  • Added a note to the documentation of each NFC sample about debug message configuration with the NFCT driver from the nrfx repository.

nRF5340 samples

No changes since the latest nRF Connect SDK release.

Gazell samples

No changes since the latest nRF Connect SDK release.

Zigbee samples

Wi-Fi samples

Other samples

Devicetree configuration

Thingy:91

  • Changed the PWM frequency of the pwmleds device from 50 Hz to 125 Hz.

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

Bootloader libraries

  • DFU target library:

    • Moved the dfu_ctx_mcuboot_set_b1_file() function to FOTA download and renamed to fota_download_parse_dual_resource_locator().

Modem libraries

  • Updated:

    • LTE link controller library:

    • AT monitor library:

    • Modem key management library:

      • Fixed:

        • An issue that would cause the library to assert on an unhandled CME error when the AT command failed to be sent.

    • AT command parser library:

      • Fixed:

        • An issue that would cause AT command responses like +CNCEC_EMM with underscore to be filtered out.

    • PDN library:

      • Added:

        • Support for setting multiple event callbacks for the default PDP context.

        • The pdn_default_ctx_cb_dereg() function to deregister a callback for the default PDP context.

        • The pdn_esm_strerror() function to retrieve a textual description of an ESM error reason. The function is compiled when CONFIG_PDN_ESM_STRERROR Kconfig option is enabled.

      • Updated:

      • Removed:

        • The CONFIG_PDN_CONTEXTS_MAX Kconfig option. The maximum number of PDP contexts is now dynamic.

    • Modem library integration layer library:

      • Updated:

      • Removed:

        • The following Kconfig options:

          • CONFIG_NRF_MODEM_LIB_TRACE_THREAD_PROCESSING

          • CONFIG_NRF_MODEM_LIB_TRACE_HEAP_SIZE

          • CONFIG_NRF_MODEM_LIB_TRACE_HEAP_SIZE_OVERRIDE

          • CONFIG_NRF_MODEM_LIB_TRACE_HEAP_DUMP_PERIODIC

          • CONFIG_NRF_MODEM_LIB_TRACE_HEAP_DUMP_PERIOD_MS

          • CONFIG_NRF_MODEM_LIB_DEBUG_ALLOC

          • CONFIG_NRF_MODEM_LIB_DEBUG_SHM_TX_ALLOC

          • CONFIG_NRF_MODEM_LIB_HEAP_DUMP_PERIODIC

          • CONFIG_NRF_MODEM_LIB_HEAP_DUMP_PERIOD_MS

          • CONFIG_NRF_MODEM_LIB_SHM_TX_DUMP_PERIODIC

          • CONFIG_NRF_MODEM_LIB_SHMEM_TX_DUMP_PERIOD_MS

        • The following functions:

          • nrf_modem_lib_trace_start

          • nrf_modem_lib_trace_stop

          • nrf_modem_lib_heap_diagnose

          • nrf_modem_lib_shm_tx_diagnose

      • Deprecated the nrf_modem_lib_get_init_ret function.

    • Location library:

      • Changed timeout parameters’ type from uint16_t to int32_t, unit from seconds to milliseconds, and value to disable them from 0 to SYS_FOREVER_MS. This change is done to align with Zephyr’s style for timeouts.

      • Fixed an issue with P-GPS predictions not being used to speed up GNSS when first downloaded.

    • Modem information library:

      • The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.

Libraries for networking

Libraries for NFC

No changes since the latest nRF Connect SDK release.

Other libraries

Common Application Framework (CAF)

No changes since the latest nRF Connect SDK release.

Shell libraries

No changes since the latest nRF Connect SDK release.

Libraries for Zigbee

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.

Unity

No changes since the latest nRF Connect SDK release.

MCUboot

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

  • boot_serial:

    • Refactored and optimized the code, mainly in what affects the progressive erase implementation.

    • Fixed a compilation issue with the echo command code.

    • Upgraded from cddl-gen v0.1.0 to zcbor v0.4.0.

  • imgtool: Added support for providing signature through a third party.

  • zephyr:

    • Added initial support for leveraging the RAM-LOAD mode with the zephyr-rtos port.

    • Added the MCUboot status callback support. See CONFIG_MCUBOOT_ACTION_HOOKS.

    • Edited includes to have the zephyr/ prefix.

    • Edited the DFU detection’s GPIO-pin configuration to be done through DTS using the mcuboot-button0 pin alias.

    • Edited the LED usage to prefer DTS’ mcuboot-led0 alias over the bootloader-led0 alias.

    • Removed device_get_binding() usage in favor of DEVICE_DT_GET().

Zephyr

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

For the list of nRF Connect SDK specific commits, including commits cherry-picked from upstream, run:

git log --oneline manifest-rev ^71ef669ea4

The current nRF Connect SDK main branch is based on revision 71ef669ea4 of Zephyr.

Additions specific to nRF Connect SDK

Added Wi-Fi L2 layer, this is a fork of Zephyr’s Wi-Fi L2 with the added support for WPA supplicant.

zcbor

The zcbor module has been updated from version 0.4.0 to 0.5.1. Release notes for 0.5.0 and 0.5.1 can be found in ncs/modules/lib/zcbor/RELEASE_NOTES.md. Full modem firmware update from flash device code has been regenerated using zcbor 0.5.1.

Trusted Firmware-M

  • Added:

    • Added support for an identity key that can be used as a PSA attestation key

  • Fixed:

    • No changes since the latest nRF Connect SDK release.

cJSON

  • No changes since the latest nRF Connect SDK release.

Documentation