Changelog for nRF Connect SDK v1.7.99

The most relevant changes that are present on the master 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.

Highlights

There are no entries for this section yet.

Known issues

Known issues are only tracked for the latest official release. See known issues for nRF Connect SDK v1.7.0 for the list of issues valid for the latest release.

Changelog

The following sections provide detailed lists of changes by component.

Protocols

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

  • No entries yet.

Applications

This section provides detailed lists of changes by application.

nRF9160: Asset Tracker

  • Updated the application to start sending batch messages to the new bulk endpoint topic supported in nRF Cloud.

nRF Machine Learning (Edge Impulse)

nRF Desktop

  • Added:

  • Removed:

    • Removed configuration files used for building the application with CONFIG_BT_LL_SW_SPLIT for various boards. The configuration files for boards that do not have room for the SoftDevice LL in flash or SRAM remain untouched.

  • Updated:

    • Updated information about custom build types.

    • Updated documentation for USB state module.

    • Updated documentation with information about forwarding boot reports. See the documenation page of nRF Desktop’s HID forward module for details.

    • Fixed an issue that was causing the HID keyboard LEDs to remain turned on after host disconnection while no other hosts were connected.

nRF9160: Serial LTE modem

  • Added new AT commands related to the General Purpose Input/Output (GPIO).

  • Added the #XUUID command to read out the device UUID from the modem.

  • Added to the XNRFCLOUD command the following features:

    • The possibility to send to and receive from nRF Cloud JSON messages in data mode.

    • The ability to read out the sec_tag and the UUID of the device.

Samples

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

Bluetooth samples

  • Updated some samples with support for Thingy:53 in non-secure configuration.

Bluetooth mesh samples

nRF9160 samples

  • nRF9160: HTTPS Client sample:

    • Added a possibility to use TF-M and Zephyr Mbed TLS instead of using the offloaded TLS stack in modem.

    • Low-power build support in Matter door lock.

  • nRF9160: LwM2M Client sample:

    • Added support for Thingy:91.

    • Added more LwM2M objects.

    • LwM2M sensor objects now uses the actual sensors available to the Thingy:91. If the nRF9160 DK is used, it uses simulated sensors instead.

    • Added support for polling sensors and notifying the server if the measured changes are large enough.

    • Added support for full modem firmware update.

Matter samples

  • Added:

    • Multi-image Device Firmware Upgrade over Bluetooth LE support for nRF5340 DK in lock and light bulb samples.

Zigbee samples

Other samples

  • nRF Secure Immutable Bootloader sample:

    • Improved how hardware unique keys are handled.

      • Introduced CONFIG_HW_UNIQUE_KEY_LOAD with fewer dependencies than CONFIG_HW_UNIQUE_KEY solely for loading the key.

      • The bootloader now allows a single boot with no key present, to allow the app to write a key. After the first boot, the key must be present or the bootloader won’t boot the app.

Drivers

This section provides detailed lists of changes by driver.

Libraries

This section provides detailed lists of changes by library.

Common Application Framework (CAF)

Added:

Updated:

Modem libraries

  • LTE link controller library:

    • Changed the value of an invalid E-UTRAN cell ID from zero to UINT32_MAX for the LTE_LC_EVT_NEIGHBOR_CELL_MEAS event.

    • Added support for multiple LTE event handlers. Thus, deregistration is not possible by using lte_lc_register_handler(NULL) anymore and it is done by the lte_lc_deregister_handler() function in the API.

    • Added neighbor cell measurement search type parameter in lte_lc_neighbor_cell_measurement().

    • Added timing advance measurement time to current cell data in LTE_LC_EVT_NEIGHBOR_CELL_MEAS event.

  • Modem library integration layer library:

    • Added a possibility to create native sockets when nRF91 socket offloading is enabled.

  • PDN library:

    • Added an optional family parameter to pdn_activate(), which is used to report when the IP family of a PDN changes after activation.

Libraries for networking

  • LwM2M client utils library:

    • Added support for Firmware Update object to use FOTA download library for downloading firmware images.

    • Added support for full modem firmware update.

  • nRF9160: Multicell location library:

    • Updated to only request neighbor cell measurements when connected and to only copy neighbor cell measurements if they exist.

    • Added support for Polte location service.

    • Removed device ID from the multicell_location_get() parameter list. nRF Cloud and HERE did not use it. Skyhook will now set modem UUID as its device ID.

  • nRF Cloud library:

    • Removed GNSS socket API support from A-GPS and P-GPS.

    • Added support for sending data to a new bulk endpoint topic that is supported in nRF Cloud. A message published to the bulk topic is typically a combination of multiple messages.

    • Changed REST API for A-GPS to use GNSS interface structure instead of GPS driver structure. Also changed from GPS driver GPS_AGPS_ request types to NRF_CLOUD_AGPS_ request types.

    • Added function nrf_cloud_jwt_generate() that generates a JWT using the nRF Cloud library’s configured values.

    • Fixed an issue with CONFIG_NRF_CLOUD_PGPS_TRANSPORT_NONE to ensure predictions are properly stored.

    • Added nrf_cloud_pgps_request_reset() so P-GPS application request handler can indicate failure to process the request. This ensures the P-GPS library tries the request again.

  • nRF Cloud A-GPS library:

    • Removed GNSS socket API support.

  • REST client library:

    • Added REST client library for sending REST requests and receiving their responses.

Trusted Firmware-M libraries

  • Added:

    • Support for non-secure storage. This enables non-secure applications to use the Zephyr Settings API to save and load persistent data.

Other libraries

  • Added API documentation and conceptual documentation page for the wave generator library.

  • Event Manager library:

    • Increased number of supported Event Manager events.

  • Hardware flash write protection library:

    • Added a new function fprotect_is_protected() for devices with the ACL peripheral.

  • Hardware unique key library:

    • Make the checking for hw_unique_key_write_random() more strict; panic if any key is unwritten after writing random keys.

    • Refactored the HUK_HAS_* macros to be defined/undefined instead of 1/0.

    • Added a new sample Hardware unique key showing how to use a hardware unique key to derive an encryption key. The sample can be run with or without TF-M.

    • Fixed hw_unique_key_is_written() which would previously trigger a fault under certain circumstances.

  • Profiler library:

    • Updated Python scripts to use multiple processes that communicate over sockets.

    • Increase the number of supported profiler events.

  • Secure Partition Manager (SPM):

    • : Fixed the NCSDK-5156 issue with the size calculation for the non-secure callable region, which prevented users from adding a large number of custom secure services.

    • All EGU peripherals, instead of just EGU1 and EGU2, are now configurable to be non-secure and are configured as non-secure by default.

Libraries for Zigbee

Scripts

This section provides detailed lists of changes by script.

Partition Manager

  • Partition manager information is no longer appended to the rom_report target. To inspect the current partition manager configuration please use the partition_manager_report target.

  • Added the share_size functionality to let a partition share size with a partition in another region.

MCUboot

The MCUboot fork in nRF Connect SDK (sdk-mcuboot) contains all commits from the upstream MCUboot repository up to and including 680ed07, plus some nRF Connect SDK specific additions.

The code for integrating MCUboot into nRF Connect SDK is located in ncs/nrf/modules/mcuboot.

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

  • The value of the CONFIG_PM_PARTITION_SIZE_MCUBOOT_SECONDARY Kconfig option does not have to be specified manually as it automatically shares the value with the primary partition.

Mcumgr

The mcumgr library contains all commits from the upstream mcumgr repository up to and including snapshot 657deb65.

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

  • No changes yet

Zephyr

The Zephyr fork in nRF Connect SDK (sdk-zephyr) contains all commits from the upstream Zephyr repository up to and including 14f09a3b00, plus some nRF Connect SDK specific additions.

For a complete list of upstream Zephyr 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 14f09a3b00 ^v2.6.0-rc1-ncs1

For a complete list of nRF Connect SDK specific commits, run:

git log --oneline manifest-rev ^14f09a3b00

The current nRF Connect SDK master branch is based on the Zephyr v2.7 development branch.

Matter (Project CHIP)

The Matter fork in the nRF Connect SDK (sdk-connectedhomeip) contains all commits from the upstream Matter repository up to, and including, 9012f08de9b7340e7d59d51a7ec8a6cdcfda9d15.

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

  • Added:

    • Support for Administrator Commissioning Cluster, which allows enabling or disabling the commissioning window on a Matter device. This is required by the Matter multi-admin functionality.

Documentation

In addition to documentation related to the changes listed above, the following documentation has been updated: