Skip to content

Latest commit

 

History

History
923 lines (587 loc) · 33.2 KB

File metadata and controls

923 lines (587 loc) · 33.2 KB

Changelog for |NCS| v3.4.99

The most relevant changes that are present on the main branch of the |NCS|, 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 are only tracked for the latest official release. See `known issues for nRF Connect SDK v3.4.0`_ for the list of issues valid for the latest release.

The following sections provide detailed lists of changes by component.

  • Added support for the :zephyr:board:`nrf93m1dk`, including a Zephyr cellular modem driver for the nRF93M1 Cat-1 bis LTE module. The board uses the nRF93M1 module with the nRF54L15 as the host MCU.

|no_changes_yet_note|

  • Added the hidden :kconfig:option:`CONFIG_NCS_MCUBOOT_ENCRYPTION_HMAC_SHA256` to select HMAC-SHA256 with X25519 for compatibility with existing projects that use it. The option is hidden and requires addition of Kconfig override in your project. This is intentional as HMAC-SHA512 is recommended over HMAC-SHA256.
  • Removed support for Device Firmware Update (DFU) of the nRF70 Series firmware patch, together with the SB_CONFIG_DFU_MULTI_IMAGE_PACKAGE_WIFI_FW_PATCH, SB_CONFIG_DFU_ZIP_WIFI_FW_PATCH, and CONFIG_NRF_WIFI_FW_PATCH_DFU Kconfig options. See the :ref:`migration_3.5` for details.
  • Added the :ref:`ug_bootloader_nrf54l_memory_protection` documentation page to explaining the memory protection features of the bootloader on the nRF54L Series.

|no_changes_yet_note|

|no_changes_yet_note|

|no_changes_yet_note|

|no_changes_yet_note|

|no_changes_yet_note|

|no_changes_yet_note|

|no_changes_yet_note|

|no_changes_yet_note|

|no_changes_yet_note|

|no_changes_yet_note|

  • Added:
    • The :kconfig:option:`CONFIG_TFM_LOG_NS_MEMORY_LAYOUT` Kconfig option, which allows printing the configuration of the Secure Attribution Unit (SAU) and the Memory Protection Controller (MPC) during the initialization of TF-M on the nRF54L Series devices. See also :ref:`ug_tfm_logging` for more information.
    • Support for the SHAKE-128 and SHAKE-256 eXtendable Output Functions (XOF) in the CRACEN driver.
    • Support for signature verification with ML-DSA-44, ML-DSA-65, and ML-DSA-87 when using the CRACEN driver.
  • Updated:
    • Oberon PSA Crypto from v2.0.0 to v2.1.0. The new version has minor updates in internal APIs, restructures the directory hierarchy, and improves native support for built-in keys.

Security libraries

|no_changes_yet_note|

Mbed TLS

Trusted Firmware-M (TF-M)

|no_changes_yet_note|

This section provides detailed lists of changes by :ref:`protocol <protocols>`. See Samples for lists of changes for the protocol-related samples.

Bluetooth® LE

Bluetooth Mesh

  • Added the :ref:`dfu_conf` guide on how to configure DFU for Bluetooth Mesh samples.

DECT NR+

  • Updated by improving half-closed association recovery in the nRF91 DECT driver and L2 stack (DLC discard timer, RD_NOT_FOUND, L2 table full). The :c:func:`dect_net_l2_child_association_created` function now returns int; check for -ENOSPC and release the MAC association. The :c:struct:`dect_settings` structure is extended with DECT_SETTINGS_WRITE_SCOPE_DLC write scope and rach_conf_resp_win_length field.
  • Fixed the DLC TX transaction ID wrap on retry and made the cluster RACH response window length configurable through dect sett.

Enhanced ShockBurst (ESB)

|no_changes_yet_note|

Gazell

|no_changes_yet_note|

Matter

Matter fork

|no_changes_yet_note|

nRF IEEE 802.15.4 radio driver

|no_changes_yet_note|

Thread

|no_changes_yet_note|

Wi-Fi®

  • Updated the Connection Manager Wi-Fi connectivity layer to defer the connect request to its dedicated work queue (wifi_conn_wq) instead of running it synchronously in the context of the caller of :c:func:`conn_mgr_if_connect()`. This allows the stacks of the application, shell, and Connection Manager monitor threads to be reduced, as they no longer need to accommodate the Wi-Fi connect call chain.

This section provides detailed lists of changes by :ref:`application <applications>`.

Connectivity bridge

|no_changes_yet_note|

High-Performance Framework (HPF)

  • Added support for the nRF54LC10A SoC.

IPC radio firmware

|no_changes_yet_note|

Matter bridge

nRF Audio (formerly nRF5340 Audio)

  • Added:
    • A generalized audio time module that provides a unified interface for retrieving the current time in microseconds across a SoC. The module uses the GRTC timer on nRF54L Series devices and the audio sync timer on other devices.
    • Experimental support for the nRF54LM20 SoC in the nRF Audio applications. The support is limited to the :ref:`unicast client app<nrf_audio_unicast_client_app>` application with USB as audio source, which can be built for the nrf54lm20dk/nrf54lm20a/cpuapp board target. The support is experimental and not yet fully tested, so it is not recommended for production use.
  • Removed:

nRF Desktop

  • Added:
    • Support for the nrf54lc10dk/nrf54lc10a/cpuapp and nrf54ls05dk/nrf54ls05a/cpuapp board targets.
    • The release_fast_pair build type for the nrf54ls05dk/nrf54ls05a/cpuapp and nrf54ls05dk/nrf54ls05b/cpuapp board targets. The configuration acts as a HID mouse with Fast Pair support. It uses MCUboot in direct-xip mode with software-based image signature verification.
    • Optional support for dongles with HID SCI, configurable through the :option:`CONFIG_DESKTOP_HID_FORWARD_HID_SCI_ENABLE` Kconfig option. The :ref:`nrf_desktop_hid_forward` module now uses :c:macro:`APP_EVENT_SUBSCRIBE_FIRST` to subscribe to the :c:struct:`ble_discovery_complete_event` event. The module updates event data to ensure all other modules are notified about the SCI support.
    • HID Shorter Connection Intervals (SCI) support on the peripheral side. The :ref:`nrf_desktop_hids` module enables support for the feature in the underlying HID GATT Service. The :ref:`nrf_desktop_ble_latency` module handles HID SCI mode change requests and the related connection parameter updates. Enable the feature with the :option:`CONFIG_DESKTOP_HIDS_SCI_ENABLE` Kconfig option.
    • The hid_sci and release_hid_sci build types for the nrf54l15dk/nrf54l15/cpuapp board target. The configurations act as a HID mouse peripheral with HID SCI support.
  • Removed:

Thingy:53: Matter weather station

Installer (MCUboot Firmware Loader installer)

|no_changes_yet_note|

This section provides detailed lists of changes by :ref:`sample <samples>`.

Bluetooth samples

Bluetooth Mesh samples

Bluetooth Fast Pair samples

Cellular samples

Cryptography samples

  • Added:
    • Support for the nRF54LC10A SoC (with and without TF-M) in the crypto samples.
    • The :ref:`crypto_ml_dsa` sample.

Debug samples

|no_changes_yet_note|

DFU samples

  • Added the :ref:`encrypted_bootloader` sample that demonstrates how to secure device firmware update (DFU) with image encryption enabled for both the application and MCUboot.
  • :ref:`single_slot_sample` sample:
    • Added support for buttonless entry into firmware loader mode over Bluetooth LE by using the SMP MCUmgr reset command with boot-mode selection. To build with this feature, append FILE_SUFFIX=ble_enter to the build command.
  • Updated:
  • Removed the Firmware loader entrance sample from the :file:`samples/mcuboot` directory. Its functionality has been consolidated into the :ref:`single_slot_sample` sample, which now covers all supported MCUmgr transports for the MCUboot firmware updater mode.

DECT NR+ samples

  • :ref:`dect_shell_application` sample:
  • Added configurable auto-connect with L4-driven trigger.
  • Updated ping to use the Zephyr net_icmp API (IPv6).
  • Fixed the routing logs. They are now available through the shell backend only.

Enhanced ShockBurst samples

  • Added support for the nrf54lc10dk/nrf54lc10a/cpuapp and nrf54ls05dk/nrf54ls05a/cpuapp board targets in all samples.

Gazell samples

|no_changes_yet_note|

|ISE| samples

|no_changes_yet_note|

Keys samples

|no_changes_yet_note|

Matter samples

Networking samples

NFC samples

|no_changes_yet_note|

nRF5340 samples

|no_changes_yet_note|

nRF93M1 DK samples

  • Added:
    • The :ref:`nrf93m1dk_modem_bypass` sample that forwards the nRF93M1 modem UART to the USB CDC-ACM VCOM port for direct AT command access from a host PC.
    • The :ref:`nrf93m1dk_ppp_shell` sample that establishes a PPP connection between the nRF54L15 host core and the nRF93M1 modem over CMUX, with shell-driven network management and zperf support.

Peripheral samples

PMIC samples

|no_changes_yet_note|

Protocol serialization samples

|no_changes_yet_note|

SDFW samples

|no_changes_yet_note|

Sensor samples

|no_changes_yet_note|

SUIT samples

|no_changes_yet_note|

Trusted Firmware-M (TF-M) samples

  • Added support for the nRF54LC10A SoC in the TF-M samples.

Thread samples

  • Added experimental support for the nRF54LC10A SoC to all Thread samples.

Wi-Fi samples

Other samples

This section provides detailed lists of changes by :ref:`driver <drivers>`.

SPI drivers

Wi-Fi drivers

Flash drivers

|no_changes_yet_note|

This section provides detailed lists of changes by :ref:`library <libraries>`.

Binary libraries

|no_changes_yet_note|

Bluetooth libraries and services

Common Application Framework

Debug libraries

|no_changes_yet_note|

DFU libraries

  • Added the :ref:`lib_fw_loader_settings` library to pass the firmware loader Bluetooth advertising name from the main application to the firmware loader image using Settings storage.

Gazell libraries

|no_changes_yet_note|

Modem libraries

Multiprotocol Service Layer libraries

|no_changes_yet_note|

Libraries for networking

Libraries for NFC

|no_changes_yet_note|

nRF RPC libraries

|no_changes_yet_note|

Other libraries

  • Added the :ref:`vtf_monitoring` subsystem for battery voltage, temperature, and frequency monitoring used by the nRF Wi-Fi subsystem.
  • :ref:`lib_ram_pwrdn` library:
    • Added support for the nRF54LC10A SoC.
  • :ref:`lib_hw_id` library:
    • Added UUID support for the nRF54L Series and the nRF5340 SoC.

Shell libraries

  • Fixed a potential lockup in the NUS shell transport after a Bluetooth disconnect.

sdk-nrfxlib

See the changelog for each library in the :doc:`nrfxlib documentation <nrfxlib:README>` for additional information.

This section provides detailed lists of changes by :ref:`script <scripts>`.

  • :ref:`west_sbom` script:
  • Added:
    • --package-download-format option to control the SPDX PackageDownloadLocation format.
    • --input-dir option to the :ref:`west ncs-sbom <west_sbom>` command. It recursively adds all files in the given directory to the report, equivalent to --input-files DIR/**/*.
  • Updated:
    • The SPDX output format from SPDX-2.2 to SPDX-2.3.

This section provides detailed lists of changes by :ref:`integration <integrations>`.

Google Fast Pair integration

Memfault integration

  • Added support for setting the Memfault project key at runtime using the :kconfig:option:`CONFIG_MEMFAULT_PROJECT_KEY_SETTINGS` Kconfig option.
  • Updated Memfault to version 1.42.1. See the `Memfault firmware SDK changelog`_ for details.
  • Removed the CONFIG_MEMFAULT_NCS_PROVISION_CERTIFICATES Kconfig option from nRF91x targets. Certificate provisioning for nRF91x targets is now handled automatically by the `Memfault firmware SDK`_. The option remains available for nRF7002 targets, which do not have automatic certificate provisioning.
  • Deprecated the CONFIG_MEMFAULT_NCS_PROJECT_KEY Kconfig option in favor of the Memfault SDK-native CONFIG_MEMFAULT_PROJECT_KEY option.

AVSystem integration

|no_changes_yet_note|

nRF Cloud integration

CoreMark integration

|no_changes_yet_note|

DULT integration

|no_changes_yet_note|

The MCUboot fork in |NCS| (sdk-mcuboot) contains all commits from the upstream MCUboot repository up to and including 8d14eebfe0b7402ebdf77ce1b99ba1a3793670e9, with some |NCS| specific additions.

The code for integrating MCUboot into |NCS| is located in the :file:`ncs/nrf/modules/mcuboot` folder.

The following list summarizes both the main changes inherited from upstream MCUboot and the main changes applied to the |NCS| specific additions:

The Zephyr fork in |NCS| (sdk-zephyr) contains all commits from the upstream Zephyr repository up to and including 7d46db352251f85a6bc7b5961fb8a86e2f3125e4, with some |NCS| specific additions.

For the list of upstream Zephyr commits (not including cherry-picked commits) incorporated into |NCS| since the most recent release, run the following command from the :file:`ncs/zephyr` repository (after running west update):

git log --oneline 7d46db3522 ^684c9e8f32

For the list of |NCS| specific commits, including commits cherry-picked from upstream, run:

git log --oneline manifest-rev ^7d46db3522

The current |NCS| main branch is based on revision 7d46db3522 of Zephyr.

Note

For possible breaking changes and changes between the latest Zephyr release and the current Zephyr version, refer to the :ref:`Zephyr release notes <zephyr_release_notes>`.

Additions specific to |NCS|

  • Updated the :file:`VERSION` file to follow the common version format structure. The common version file format structure is extended with a VERSION_METADATA field for |NCS|.

|no_changes_yet_note|

  • Added:
    • The :ref:`kconfig:kconfig_diff` page, displaying differences between available Kconfig options across releases. To generate the new documentation page, set the KCONFIGDIFF CMake option to ON.
    • The API Reference documentation set to serve as an entry point to doxygen-generated API documentation for various components.
    • The page for each sample now contains an Open in VS Code button allowing to quickly open the sample and install required version of the |NCS| toolchain.
  • Updated:
    • The :ref:`thingy53_app_guide` page by removing the Bluetooth Mesh samples from the list of samples that enable FOTA for Thingy:53 by default.
    • The :ref:`dfu_over_ble` page by removing the section about out-of-the-box point-to-point DFU over Bluetooth Low Energy on Thingy:53.
    • The :ref:`ug_bt_mesh_configuring` page by removing Thingy:53 as an example of a board with the Bluetooth LE Controller on a separate image.