diff --git a/applications/nrf5340_audio/doc/feature_support.rst b/applications/nrf5340_audio/doc/feature_support.rst index e6f6349b8e99..5c4aeefbef99 100644 --- a/applications/nrf5340_audio/doc/feature_support.rst +++ b/applications/nrf5340_audio/doc/feature_support.rst @@ -18,6 +18,8 @@ For an explanation of the maturity levels, see :ref:`Software maturity levels `, you need to install the following nRF Util commands: -* `device command `_ - The latest version is required as the default :ref:`west runner `. +* `device command `_ - The version 2.8.8 is required as the default :ref:`west runner `. * `sdk-manager command`_ - The latest version is required for working with |NCS| toolchain packages. You only need to install this command if you are working with command line in the |NCS|. diff --git a/doc/nrf/links.txt b/doc/nrf/links.txt index 8606ac0bf49f..391c659035ca 100644 --- a/doc/nrf/links.txt +++ b/doc/nrf/links.txt @@ -356,6 +356,7 @@ .. #### Source: www.nordicsemi.com/Events/, https://www.nordicsemi.com/Resources/, https://webinars.nordicsemi.com/events +.. _`nRF Connect SDK v3.0.0 webinar`: .. _`nRF Connect SDK v2.9.0 webinar`: .. _`nRF Connect SDK v2.8.0 webinar`: https://webinars.nordicsemi.com/events .. _`nRF Connect SDK v2.7.0 webinar`: https://www.nordicsemi.com/Resources/Training/Webinars/2024/Webinar-Exciting-new-features-in-nRF-Connect-SDK-v270 @@ -450,6 +451,7 @@ .. _`Zigbee R23`: https://docs.nordicsemi.com/bundle/addon-zigbee-r23-latest/page/index.html .. _`known issues page on the main branch`: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/known_issues.html +.. _`known issues for nRF Connect SDK v3.0.0`: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/known_issues.html?v=v3-0-0 .. _`known issues for nRF Connect SDK v2.9.1`: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/known_issues.html?v=v2-9-1 .. _`known issues for nRF Connect SDK v2.9.0-nRF54H20-1`: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/known_issues.html?v=v2-9-0-nRF54H20-1 .. _`known issues for nRF Connect SDK v2.9.0`: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/known_issues.html?v=v2-9-0 @@ -494,6 +496,7 @@ .. _`known issues for nRF Connect SDK v1.4.1`: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/known_issues.html?v=v1-4-1 .. _`known issues for nRF Connect SDK v1.4.0`: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/known_issues.html?v=v1-4-0 +.. _`Repositories and revisions for v3.0.0`: https://docs.nordicsemi.com/bundle/ncs-3.0.0/page/nrf/releases_and_maturity/repository_revisions.html .. _`Repositories and revisions for v2.9.1`: https://docs.nordicsemi.com/bundle/ncs-2.9.1/page/nrf/releases_and_maturity/repository_revisions.html .. _`Repositories and revisions for v2.9.0-nRF54H20-1`: https://docs.nordicsemi.com/bundle/ncs-2.9.0-nRF54H20-1/page/nrf/releases_and_maturity/repository_revisions.html .. _`Repositories and revisions for v2.9.0`: https://docs.nordicsemi.com/bundle/ncs-2.9.0/page/nrf/releases_and_maturity/repository_revisions.html @@ -530,6 +533,7 @@ .. _`Repositories and revisions for v1.9.1`: https://docs.nordicsemi.com/bundle/ncs-1.9.1/page/nrf/introduction.html#repositories_and_revisions .. _`Repositories and revisions`: https://docs.nordicsemi.com/bundle/ncs-1.9.0/page/nrf/introduction.html#repositories_and_revisions +.. _`Modem library changelog for v3.0.0`: https://docs.nordicsemi.com/bundle/ncs-3.0.0/page/nrfxlib/nrf_modem/doc/CHANGELOG.html#nrf-modem-changelog .. _`Modem library changelog for v2.9.1`: https://docs.nordicsemi.com/bundle/ncs-2.9.1/page/nrfxlib/nrf_modem/doc/CHANGELOG.html#nrf-modem-changelog .. _`Modem library changelog for v2.9.0`: https://docs.nordicsemi.com/bundle/ncs-2.9.0/page/nrfxlib/nrf_modem/doc/CHANGELOG.html#nrf-modem-changelog .. _`Modem library changelog for v2.8.0`: https://docs.nordicsemi.com/bundle/ncs-2.8.0/page/nrfxlib/nrf_modem/doc/CHANGELOG.html#nrf-modem-changelog @@ -562,6 +566,7 @@ .. _`Modem library changelog for v1.9.1`: https://docs.nordicsemi.com/bundle/ncs-1.9.1/page/nrfxlib/nrf_modem/doc/CHANGELOG.html .. _`Modem library changelog for v1.9.0`: https://docs.nordicsemi.com/bundle/ncs-1.9.0/page/nrfxlib/nrf_modem/doc/CHANGELOG.html +.. _`LwM2M carrier library changelog for v3.0.0`: https://docs.nordicsemi.com/bundle/ncs-3.0.0/page/nrf/libraries/bin/lwm2m_carrier/CHANGELOG.html#liblwm2m-carrier-changelog .. _`LwM2M carrier library changelog for v2.9.1`: https://docs.nordicsemi.com/bundle/ncs-2.9.1/page/nrf/libraries/bin/lwm2m_carrier/CHANGELOG.html#liblwm2m-carrier-changelog .. _`LwM2M carrier library changelog for v2.9.0`: https://docs.nordicsemi.com/bundle/ncs-2.9.0/page/nrf/libraries/bin/lwm2m_carrier/CHANGELOG.html#liblwm2m-carrier-changelog .. _`LwM2M carrier library changelog for v2.8.0`: https://docs.nordicsemi.com/bundle/ncs-2.8.0/page/nrf/libraries/bin/lwm2m_carrier/CHANGELOG.html#liblwm2m-carrier-changelog @@ -959,6 +964,8 @@ .. ### Source: files.nordicsemi.com +.. _`Twister test report for nRF Connect SDK v3.0.0`: https://files.nordicsemi.com/ui/api/v1/download/contentBrowsing/NCS/external/release/v3.0.0/test-report/twister_test_results_report.html?isNativeBrowsing=true +.. _`Hardware test report for nRF Connect SDK v3.0.0`: https://files.nordicsemi.com/ui/api/v1/download/contentBrowsing/NCS/external/release/v3.0.0/test-report/common_ncs_test_results_report.html?isNativeBrowsing=true .. _`Twister test report for nRF Connect SDK v2.9.0-nRF54H20-1`: https://files.nordicsemi.com/ui/api/v1/download/contentBrowsing/NCS/external/release/v2.9.0-nRF54H20-1/test-report/twister_test_results_report.html?isNativeBrowsing=true .. _`Hardware test report for nRF Connect SDK v2.9.0-nRF54H20-1`: https://files.nordicsemi.com/ui/api/v1/download/contentBrowsing/NCS/external/release/v2.9.0-nRF54H20-1/test-report/common_ncs_test_results_report.html?isNativeBrowsing=true .. _`Twister test report for nRF Connect SDK v2.9.0`: https://files.nordicsemi.com/ui/api/v1/download/contentBrowsing/NCS/external/release/v2.9.0/test-report/twister_test_results_report.html?isNativeBrowsing=true diff --git a/doc/nrf/releases_and_maturity.rst b/doc/nrf/releases_and_maturity.rst index 1f2f92ae00d2..b492d6eda2d4 100644 --- a/doc/nrf/releases_and_maturity.rst +++ b/doc/nrf/releases_and_maturity.rst @@ -28,4 +28,3 @@ If an issue is found in a release after it has taken place, those issues are lis releases_and_maturity/repository_revisions releases_and_maturity/software_maturity releases_and_maturity/abi_compatibility - releases_and_maturity/known_issues diff --git a/doc/nrf/releases_and_maturity/known_issues.rst b/doc/nrf/releases_and_maturity/known_issues.rst index 828a5ca06bf4..7dd7d1f79459 100644 --- a/doc/nrf/releases_and_maturity/known_issues.rst +++ b/doc/nrf/releases_and_maturity/known_issues.rst @@ -1,3 +1,5 @@ +:orphan: + .. _known_issues: Known issues diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_1.x_to_2.x.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_1.x_to_2.x.rst index 4524a6df0f9a..69ff363a910c 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_1.x_to_2.x.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_1.x_to_2.x.rst @@ -1,3 +1,5 @@ +:orphan: + .. _ncs_2.0.0_migration: Migration notes for |NCS| v2.0.0 diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_2.4.99-cs3_to_2.6.99-cs2.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_2.4.99-cs3_to_2.6.99-cs2.rst index a5791574fac8..2fb0f6413515 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_2.4.99-cs3_to_2.6.99-cs2.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_2.4.99-cs3_to_2.6.99-cs2.rst @@ -1,3 +1,5 @@ +:orphan: + .. _migration_cs3_to_2_6_99_cs2: Migration notes for |NCS| v2.6.99_cs2 for v2.4.99-cs3 users diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_2.5.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_2.5.rst index 85bfe4f59573..8410b6a2fbeb 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_2.5.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_2.5.rst @@ -1,3 +1,6 @@ +:orphan: + + .. _migration_2.5: Migration guide for |NCS| v2.5.0 diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_2.6.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_2.6.rst index d32a2ceab876..0b9000237697 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_2.6.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_2.6.rst @@ -1,3 +1,6 @@ +:orphan: + + .. _migration_2.6: Migration guide for |NCS| v2.6.0 diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_2.7.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_2.7.rst index f6512253d82d..fdfc9a12407c 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_2.7.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_2.7.rst @@ -1,3 +1,6 @@ +:orphan: + + .. _migration_2.7: Migration guide for |NCS| v2.7.0 diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_2.8.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_2.8.rst index 08f5a50ffa05..0d0390131b15 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_2.8.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_2.8.rst @@ -1,3 +1,5 @@ +:orphan: + .. _migration_2.8: Migration guide for |NCS| v2.8.0 diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_2.9.0-nRF54H20-1.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_2.9.0-nRF54H20-1.rst index 22821322dc68..518d554cb949 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_2.9.0-nRF54H20-1.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_2.9.0-nRF54H20-1.rst @@ -1,3 +1,5 @@ +:orphan: + .. _migration_2.9.0-nRF54H20-1: Migration guide for |NCS| v2.9.0-nRF54H20-1 diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_2.9.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_2.9.rst index 411b7cf4934e..56da75321269 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_2.9.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_2.9.rst @@ -1,3 +1,5 @@ +:orphan: + .. _migration_2.9: Migration guide for |NCS| v2.9.0 diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_3.0.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_3.0.rst index 1419d0b6a740..5d8820e410bf 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_3.0.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_3.0.rst @@ -1,7 +1,9 @@ +:orphan: + .. _migration_3.0: -Migration guide for |NCS| v3.0.0 (Working draft) -################################################ +Migration guide for |NCS| v3.0.0 +################################ .. contents:: :local: @@ -24,6 +26,318 @@ Required changes The following changes are mandatory to make your application work in the same way as in previous releases. +.. _requirements_clt: + +IDE, OS, and tool support +========================= + +.. toggle:: + + |nrf_CLT_deprecation_note| + + It is recommended to install the latest version of `nRF Util`_, as listed in the :ref:`installing_vsc` section of the installation page. + +.. _gs_app_tcm: +.. _gs_assistant: +.. _auto_installation_tcm_setup: +.. _toolchain_update: + +Installation of the SDK and toolchain +------------------------------------- + +.. toggle:: + + Starting from the |NCS| v3.0.0, the Toolchain Manager app no longer provides the latest toolchain and |NCS| versions for installation. + + Use one of the two :ref:`installation methods ` to manage the toolchain and SDK versions, either the recommended |nRFVSC| or the command line with nRF Util. + +.. _required_build_system_mig_300: + +Build system +============ + +.. toggle:: + + * The default runner for the ``west flash`` command has been changed to use `nRF Util`_ instead of ``nrfjprog`` that is part of the archived `nRF Command Line Tools`_. + This affects all :ref:`boards ` that used ``nrfjprog`` as the west runner backend for programming the following SoCs and SiPs: + + * nRF91 Series (including nRF91x1) + * nRF7002 + * nRF5340 (including nRF5340 Audio DK) + * Nordic Thingy:53 + * nRF52 Series + * nRF21540 + + This change is made to ensure that the programming process is consistent across all boards and to provide a more robust programming experience. + The ``west flash`` command now uses the ``nrfutil device`` subcommand by default to flash the application to the board. + + .. note:: + + For |NCS| 3.0.0, use the nrfutil-device v2.8.8. + + It is recommended to install nRF Util to avoid potential issues during programming. + Complete the following steps: + + 1. Follow the steps for `Installing nRF Util`_ in its official documentation. + 2. Install the `nrfutil device `_ using the following command: + + .. code-block:: + + nrfutil install device=2.8.8 --force + + If you prefer to continue using ``nrfjprog`` for programming devices, :ref:`specify the west runner ` with ``west flash``. + + * Erasing the external memory when programming a new firmware image with the ``west flash`` series now always correctly honors the ``--erase`` flag (and its absence) both when using the ``nrfjprog`` and ``nrfutil`` backends. + Before this release, the ``nrjfprog`` backend would always erase only the sectors of the external flash used by the new firmware, and the ``nrfutil`` backend would always erase the whole external flash. + +Application development +======================= + +The following are the changes required to migrate your applications to the |NCS| 3.0.0. + +ZMS settings backend +-------------------- + +.. toggle:: + + The new settings backend for ZMS is not compatible with the old version. + + To keep using the legacy backend, enable the :kconfig:option:`CONFIG_SETTINGS_ZMS_LEGACY` Kconfig option. + + To migrate from the legacy backend to the new backend remove the Kconfig options :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE` + and :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE` from your conf files. + +nRF54H20 +======== + +This section describes the changes specific to the nRF54H20 SoC and DK support in the |NCS|. + +Dependencies +------------ + +The following required dependencies for the nRF54H20 SoC and DK have been updated. + +nRF Util +++++++++ + +.. toggle:: + + * ``nrfutil`` has been updated to v7.13.0. + + Install nRF Util v7.13.0 as follows: + + 1. Download the nRF Util executable file from the `nRF Util development tool`_ product page. + #. Add nRF Util to the system path on Linux and macOS, or environment variables on Windows, to run it from anywhere on the system. + On Linux and macOS, use one of the following options: + + * Add nRF Util's directory to the system path. + * Move the file to a directory in the system path. + + #. On macOS and Linux, give ``nrfutil`` execute permissions by typing ``chmod +x nrfutil`` in a terminal or using a file browser. + This is typically a checkbox found under file properties. + #. On macOS, to run the nRF Util executable, you need to allow it in the system settings. + #. Verify the version of the nRF Util installation on your machine by running the following command: + + .. code-block:: + + nrfutil --version + + #. If your version is lower than 7.13.0, run the following command to update nRF Util: + + .. code-block:: + + nrfutil self-upgrade + + For more information, see the `nRF Util`_ documentation. + +nRF Util device ++++++++++++++++ + +.. toggle:: + + * nRF Util ``device`` command has been updated to v2.8.8. + + Install the nRF Util ``device`` command v2.8.8 as follows: + + .. code-block:: + + nrfutil install device=2.8.8 --force + + For more information, consult the `nRF Util`_ documentation. + +nRF Util trace +++++++++++++++ + +.. toggle:: + + * nRF Util ``trace`` command has been updated to v3.3.0. + Install the nRF Util ``trace`` command v3.3.0 as follows: + + .. code-block:: + + nrfutil install trace=3.3.0 --force + + For more information, consult the `nRF Util`_ documentation. + +nRF Util suit ++++++++++++++ + +.. toggle:: + + * nRF Util ``suit`` command has been updated to v0.9.0. + Install the nRF Util ``suit`` command v0.9.0 as follows: + + .. code-block:: + + nrfutil install suit=0.9.0 --force + + For more information, consult the `nRF Util`_ documentation. + +nRF54H20 BICR ++++++++++++++ + +.. toggle:: + + * The nRF54H20 BICR has been updated (from the one supporting |NCS| v2.9.0 as well as |NCS| v2.9.0-nRF54H20-1). + To update the BICR of your development kit while in Root of Trust, do the following: + + 1. Build your application using |NCS| v3.0.0. + #. Connect the nRF54H20 DK to your computer using the **DEBUGGER** port on the DK. + + .. note:: + + On MacOS, connecting the DK might repeatedly trigger a popup displaying the message ``Disk Not Ejected Properly``. + To disable this, run ``JLinkExe``, then run ``MSDDisable`` in the J-Link Commander interface. + + #. List all the connected development kits to see their serial number (matching the one on the DK's sticker): + + .. code-block:: + + nrfutil device list + + #. Program the BICR by running nRF Util from your application folder using the following command: + + .. code-block:: + + nrfutil device program --options chip_erase_mode=ERASE_NONE --firmware ./build//zephyr/bicr.hex --core Application --serial-number + +nRF54H20 SoC binaries ++++++++++++++++++++++ + +.. toggle:: + + * The *nRF54H20 SoC binaries* bundle has been updated to version 0.9.6. + + .. caution:: + If migrating from |NCS| v2.9.0 or lower, you must follow steps from :ref:`migration_2.9.0-nRF54H20-1` to update the *nRF54H20 SoC binaries* bundle to version 0.9.2. + + .. note:: + The nRF54H20 SoC binaries only support specific versions of the |NCS| and do not support rollbacks to a previous version. + Upgrading the nRF54H20 SoC binaries on your development kit might break the DK's compatibility with applications developed for previous versions of the |NCS|. + For more information, see :ref:`abi_compatibility`. + + To update the SoC binaries bundle of your development kit while in Root of Trust, do the following: + + 1. Download the `nRF54H20 SoC binaries v0.9.6`_. + + .. note:: + On macOS, ensure that the ZIP file is not unpacked automatically upon download. + + #. Purge the device as follows: + + .. code-block:: + + nrfutil device recover --core Application --serial-number + nrfutil device recover --core Network --serial-number + nrfutil device reset --reset-kind RESET_PIN --serial-number + + #. Run ``west update``. + #. Move the correct :file:`.zip` bundle to a folder of your choice, then run nRF Util to program the binaries using the following command: + + .. code-block:: + + nrfutil device x-suit-dfu --firmware nrf54h20_soc_binaries_v0.9.6.zip --serial-number + + #. Purge the device again as follows: + + .. code-block:: + + nrfutil device recover --core Application --serial-number + nrfutil device recover --core Network --serial-number + nrfutil device reset --reset-kind RESET_PIN --serial-number + +SDK and toolchain ++++++++++++++++++ + +.. toggle:: + + * To update the SDK and the toolchain, do the following: + + 1. Open Toolchain Manager in nRF Connect for Desktop. + #. Click :guilabel:`SETTINGS` in the navigation bar to specify where you want to install the |NCS|. + #. In :guilabel:`SDK ENVIRONMENTS`, click the :guilabel:`Install` button next to the |NCS| version |release|. + +Application development +----------------------- + +The following are the changes required to migrate your applications to the |NCS| 3.0.0. + +Entropy source for radio applications ++++++++++++++++++++++++++++++++++++++ + +.. toggle:: + + * The default entropy source was changed to use the SSF service. + As a result, the communication channel as well as RAM regions, dedicated to communicate with the SDFW are now enabled by default. + This can result in incompatible UICRs if your application relies on the defaults. + If UICRs are incompatible, the application cannot be upgraded using DFU, but must be programmed using the **DEBUGGER** port. + If you want to update your application using DFU, add the following overlay to your radio application if you want to maintain UICR compatibility: + + .. code-block:: dts + + /* Switch back to the pseudo-random entropy source. */ + / { + chosen { + zephyr,entropy = &prng; + }; + /delete-node/ psa-rng; + prng: prng { + compatible = "nordic,entropy-prng"; + status = "okay"; + }; + }; + /* Disable IPC between cpusec <-> cpurad. */ + &cpusec_cpurad_ipc { + status = "disabled"; + }; + &cpurad_ram0x_region { + status = "disabled"; + }; + &cpusec_bellboard { + status = "disabled"; + }; + +SUIT MPI configuration +++++++++++++++++++++++ + +.. toggle:: + + The SUIT MPI configuration has been moved from local Kconfig options to sysbuild. + To migrate your application, move all ``CONFIG_MPI_*`` options from the application configuration into the :file:`sysbuild.conf` file. + For example, to migrate the root manifest vendor ID, remove the following line from the :file:`prj.conf` file: + + .. code-block:: kconfig + + CONFIG_SUIT_MPI_ROOT_VENDOR_NAME="acme.corp" + + And add the following line inside the :file:`sysbuild.conf` file: + + .. code-block:: kconfig + + SB_CONFIG_SUIT_MPI_ROOT_VENDOR_NAME="acme.corp" + + If your project does not use the :file:`sysbuild.conf` file, you must create one. + Samples and applications ======================== @@ -39,7 +353,23 @@ Asset Tracker v2 * The Asset Tracker v2 application has been removed. For development of asset tracking applications, refer to the `Asset Tracker Template `_. - The factory-programmed Asset Tracker v2 firmware is still available to program the nRF91 Series devices using the `Programmer app`_, the `Quick Start app`_, and the `Cellular Monitor app`_. + The factory-programmed Asset Tracker v2 firmware is still available to program the nRF91xx DKs using the `Programmer app`_, the `Quick Start app`_, and the `Cellular Monitor app`_. + +nRF Desktop +----------- + +.. toggle:: + + * The default device names (the :ref:`CONFIG_DESKTOP_DEVICE_PRODUCT ` Kconfig option) have been updated to remove the "52" infix, because the nRF Desktop application supports other SoC Series also. + As a result of this change, peripherals using firmware from |NCS| 3.0.0 (or newer) will not pair with dongles using firmware from an older |NCS| release, and the other way around. + Also aligned the :file:`99-hid.rules` file inside the HID Configurator script. + The HID Configurator rule will not work with old device names. + + To keep backwards compatibility, revert locally, the changes introduced by commit hash ``5b80e46478462907a3cc4fd1686e241591775ffe``: + + * The :ref:`CONFIG_DESKTOP_DEVICE_PRODUCT ` Kconfig option defines the device name used by HID peripheral. + * The ``peer_name`` array inside the :file:`ble_scan_def.h` file determines device name filters used by HID dongle while scanning for unpaired HID peripherals. + * The :file:`99-hid.rules` file allows HID configurator Python script to configure nRF Desktop devices without root access. nRF5340 Audio applications -------------------------- @@ -138,60 +468,25 @@ Recommended changes The following changes are recommended for your application to work optimally after the migration. -.. _requirements_clt: - -IDE, OS, and tool support -========================= - -.. toggle:: - - |nrf_CLT_deprecation_note| +Application development +======================= - It is recommended to install the latest version of `nRF Util`_, as listed in the :ref:`installing_vsc` section of the installation page. +The following are the changes recommended to migrate your applications to the |NCS| 3.0.0. -.. _gs_app_tcm: -.. _gs_assistant: -.. _auto_installation_tcm_setup: -.. _toolchain_update: - -Installation of the SDK and toolchain -------------------------------------- - -.. toggle:: - - The Toolchain Manager app has been deprecated: starting from the |NCS| v3.0.0, it no longer provides the latest toolchain and |NCS| versions for installation. - - Use one of the two :ref:`installation methods ` to manage the toolchain and SDK versions, either the recommended |nRFVSC| extension or the command line with nRF Util. - -Build system -============ +Performance optimization for ZMS settings backend +------------------------------------------------- .. toggle:: - * The default runner for the ``west flash`` command has been changed to use `nRF Util`_ instead of ``nrfjprog`` that is part of the archived `nRF Command Line Tools`_. - This affects all :ref:`boards ` that used ``nrfjprog`` as the west runner backend for programming the following SoCs and SiPs: - - * nRF91 Series (including nRF91x1) - * nRF7002 - * nRF5340 (including nRF5340 Audio DK) - * Nordic Thingy:53 - * nRF52 Series - * nRF21540 - - This change is made to ensure that the programming process is consistent across all boards and to provide a more robust programming experience. - The ``west flash`` command now uses the ``nrfutil device`` subcommand by default to flash the application to the board. - - It is recommended to install nRF Util to avoid potential issues during programming. - Complete the following steps: - - 1. Follow the steps for `Installing nRF Util`_ in its official documentation. - 2. Install the `nrfutil device `_ using the following command: - - .. code-block:: - - nrfutil install device + For the new backend you can now enable some performance optimizations using the following Kconfig options: - If you prefer to continue using ``nrfjprog`` for programming devices, :ref:`specify the west runner ` with ``west flash``. + * :kconfig:option:`CONFIG_SETTINGS_ZMS_LL_CACHE`: Used for caching the linked list nodes related to Settings Key/Value entries. + * :kconfig:option:`CONFIG_SETTINGS_ZMS_LL_CACHE_SIZE`: The size of the linked list cache (each entry occupies 8B of RAM). + * :kconfig:option:`CONFIG_SETTINGS_ZMS_NO_LL_DELETE`: Disables deleting the linked list nodes when deleting a Settings Key. + Use this option only when the application is always using the same Settings Keys. + When the application uses random Keys, enabling this option could lead to incrementing the linked list nodes without corresponding Keys and cause excessive delays to loading of the Keys. + Use this option only to accelerate the delete operation for a fixed set of Settings elements. + * :kconfig:option:`CONFIG_SETTINGS_ZMS_LOAD_SUBTREE_PATH`: Loads first the subtree path passed in the argument, then continue to load all the Keys in the same subtree if the handler returns a zero value. Samples and applications ======================== @@ -207,32 +502,37 @@ Serial LTE Modem * Errors that were previously notified to the application with the ``LWM2M_CARRIER_ERROR_RUN`` event type have instead been added to :c:macro:`LWM2M_CARRIER_ERROR_CONFIGURATION`. -Libraries -========= +Bluetooth® Fast Pair Locator tag +-------------------------------- -This section describes the changes related to libraries. +.. toggle:: -ZMS Settings backend --------------------- + * If you want to align your application project with the newest version of the :ref:`fast_pair_locator_tag` sample and still maintain the DFU backwards compatibility for your already deployed products that are based on the ``nrf52840dk/nrf52840`` and the ``nrf54l15dk/nrf54l15/cpuapp`` board targets, use the RSA signature algorithm (the ``SB_CONFIG_BOOT_SIGNATURE_TYPE_RSA`` Kconfig option) that is supported as part of the previous |NCS| releases. + In the current |NCS| release, the MCUboot DFU signature type has been changed: + + * To the Elliptic curve digital signatures with curve P-256 (ECDSA P256 - the ``SB_CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256`` Kconfig option) in case of the ``nrf52840dk/nrf52840`` board target. + * To the Edwards-curve digital signature with curve Curve25519 (ED25519 - the ``SB_CONFIG_BOOT_SIGNATURE_TYPE_ED25519`` Kconfig option) in case of the ``nrf54l15dk/nrf54l15/cpuapp`` board target. + + As a result, you will not be able to perform DFU from an old version to a new one. + +Wi-Fi® +------ .. toggle:: - The new ZMS backend for Settings is not backward compatible with the old version. + * For samples using Wi-Fi features: - To keep using the legacy backend, enable the :kconfig:option:`CONFIG_SETTINGS_ZMS_LEGACY` Kconfig option. + * The nRF70 driver heap was part of the system shared heap :kconfig:option:`CONFIG_HEAP_MEM_POOL_SIZE`. + Now dedicated heaps have been defined for Wi-Fi driver control plane and data plane operations. + Default value of heap for control plane operations is 20000 bytes and for data plane operations, it is 130000. + It is recommended to disable :kconfig:option:`CONFIG_HEAP_MEM_POOL_IGNORE_MIN`, and let system calculate the ``K_HEAP`` size. + Any subsequent RAM overflow issues need to be solved by fine-tuning :kconfig:option:`CONFIG_NRF_WIFI_CTRL_HEAP_SIZE` and :kconfig:option:`CONFIG_NRF_WIFI_DATA_HEAP_SIZE`. - To migrate from the legacy backend to the new backend remove :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE` - and :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE` from your conf files. - For the new backend you can now enable some performance optimizations using the following Kconfig options: +Libraries +========= - * :kconfig:option:`CONFIG_SETTINGS_ZMS_LL_CACHE`: Used for caching the linked list nodes related to Settings Key/Value entries. - * :kconfig:option:`CONFIG_SETTINGS_ZMS_LL_CACHE_SIZE`: The size of the linked list cache (each entry occupies 8B of RAM). - * :kconfig:option:`CONFIG_SETTINGS_ZMS_NO_LL_DELETE`: Disables deleting the linked list nodes when deleting a Settings Key. - Use this option only when the application is always using the same Settings Keys. - When the application uses random Keys, enabling this option could lead to incrementing the linked list nodes without corresponding Keys and cause excessive delays to loading of the Keys. - Use this option only to accelerate the delete operation for a fixed set of Settings elements. - * :kconfig:option:`CONFIG_SETTINGS_ZMS_LOAD_SUBTREE_PATH`: Loads first the subtree path passed in the argument, then continue to load all the Keys in the same subtree if the handler returns a zero value. +This section describes the changes related to libraries. Download client --------------- @@ -403,7 +703,7 @@ Modem SLM Protocols ========= -This section provides detailed lists of changes by :ref:`protocol `. +This section describes the changes related to protocols. Bluetooth Mesh -------------- @@ -414,4 +714,11 @@ Bluetooth Mesh * For platforms that do not support the TF-M: The default security toolbox is based on the Mbed TLS PSA API (:kconfig:option:`CONFIG_BT_MESH_USES_MBEDTLS_PSA`). * For platforms that support the TF-M: The default security toolbox is based on the TF-M PSA API (:kconfig:option:`CONFIG_BT_MESH_USES_TFM_PSA`). -The :ref:`ug_bt_mesh_configuring` page provides more information about the updating of the images based on different security toolboxes. + The :ref:`ug_bt_mesh_configuring` page provides more information about the updating of the images based on different security toolboxes. + * Due to an incompatibility between the old and new ZMS backend for Settings, the mesh device will not be able to load its settings and provisioning data. + This affects nRF54L Series devices. + + Make sure to unprovision mesh device before flashing the new firmware. + + Alternatively, enable the :kconfig:option:`CONFIG_SETTINGS_ZMS_LEGACY` Kconfig option to use the old backend and recover the device settings and provisioning data. + Enable :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE` and adjust :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE` according to the device needs. diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7.rst index faeeff027ef1..74fe158b2745 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7.rst @@ -1,3 +1,5 @@ +:orphan: + .. _migration_nrf54h20_to_2.7: Migration notes for |NCS| v2.7.0 and the nRF54H20 DK diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7_99-cs1.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7_99-cs1.rst index 615f6086bf7c..1885f9f2a449 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7_99-cs1.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7_99-cs1.rst @@ -1,3 +1,5 @@ +:orphan: + .. _migration_nrf54h20_to_2.7.99-cs1: Migration notes for |NCS| v2.7.99-cs1 and the nRF54H20 DK diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7_99-cs2.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7_99-cs2.rst index fdc471bc30c7..882d359fac3d 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7_99-cs2.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_nRF54H20_cs_to_2_7_99-cs2.rst @@ -1,3 +1,5 @@ +:orphan: + .. _migration_nrf54h20_to_2.7.99-cs2: Migration notes for |NCS| v2.7.99-cs2 and the nRF54H20 DK diff --git a/doc/nrf/releases_and_maturity/migration/migration_hwmv2.rst b/doc/nrf/releases_and_maturity/migration/migration_hwmv2.rst index 5568857ddc18..6689347b3fdf 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_hwmv2.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_hwmv2.rst @@ -1,3 +1,5 @@ +:orphan: + .. _hwmv1_to_v2_migration: Migrating to the current hardware model diff --git a/doc/nrf/releases_and_maturity/migration/migration_sysbuild.rst b/doc/nrf/releases_and_maturity/migration/migration_sysbuild.rst index 0f0e8f51b07d..f4b1a6105276 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_sysbuild.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_sysbuild.rst @@ -1,3 +1,5 @@ +:orphan: + .. _child_parent_to_sysbuild_migration: Migrating from multi-image builds to sysbuild diff --git a/doc/nrf/releases_and_maturity/migration_guides.rst b/doc/nrf/releases_and_maturity/migration_guides.rst index d169e313c883..1b8b29adabb1 100644 --- a/doc/nrf/releases_and_maturity/migration_guides.rst +++ b/doc/nrf/releases_and_maturity/migration_guides.rst @@ -9,10 +9,22 @@ Migration guides are also provided for major functionality updates. .. note:: |migration_contact_devzone| -.. toctree:: - :maxdepth: 1 - :glob: - :reversed: - :caption: Subpages: - migration/* +* `Migrating from multi-image builds to sysbuild`_ +* `Migrating to the current hardware model`_ +* `Migration guide for nRF Connect SDK v3.0.0`_ +* `Migration guide for nRF Connect SDK v2.9.0`_ +* `Migration guide for nRF Connect SDK v2.8.0`_ +* `Migration guide for nRF Connect SDK v2.7.0`_ +* `Migration guide for nRF Connect SDK v2.6.0`_ +* `Migration guide for nRF Connect SDK v2.5.0`_ +* `Migration guide for nRF Connect SDK v2.0.0`_ + + +For nRF54H20-exclusive releases: + +* `Migration guide for nRF Connect SDK v2.9.0-nRF54H20-1`_ +* `Migration notes for nRF Connect SDK v2.7.99-cs2 and the nRF54H20 DK`_ +* `Migration notes for nRF Connect SDK v2.7.99-cs1 and the nRF54H20 DK`_ +* `Migration notes for nRF Connect SDK v2.7.0 for nRF54H20 DK users`_ +* `Migration guide for nRF Connect SDK v2.6.99_cs2 for v2.4.99-cs3 users`_ diff --git a/doc/nrf/releases_and_maturity/release_notes.rst b/doc/nrf/releases_and_maturity/release_notes.rst index 58e35de37e08..10eee0189c3e 100644 --- a/doc/nrf/releases_and_maturity/release_notes.rst +++ b/doc/nrf/releases_and_maturity/release_notes.rst @@ -10,9 +10,8 @@ This page is included only in the latest documentation, because it might contain .. note:: A "99" at the end of the version number of this documentation indicates continuous updates on the main branch since the previous major.minor release. - When looking at this latest documentation, be aware of the following aspects: + When looking at this latest documentation, be aware of the following aspect: - * Changes between releases are tracked on the :ref:`ncs_release_notes_changelog` page, but the main branch might contain additional changes that are not yet listed on that page. * The release note pages that are available in the latest documentation might differ slightly from the release notes that were included in the respective |NCS| release at its release date. Therefore, to see the official version of the release notes for a specific |NCS| release, switch to the documentation for the corresponding |NCS| version using the selector in the upper left corner. @@ -20,7 +19,7 @@ This page is included only in the latest documentation, because it might contain :maxdepth: 1 :caption: Subpages: - releases/release-notes-changelog + releases/release-notes-3.0.0 releases/release-notes-3.0.0-preview2 releases/release-notes-3.0.0-preview1 releases/release-notes-2.9.1 diff --git a/doc/nrf/releases_and_maturity/releases/release-notes-3.0.0.rst b/doc/nrf/releases_and_maturity/releases/release-notes-3.0.0.rst new file mode 100644 index 000000000000..556176b63142 --- /dev/null +++ b/doc/nrf/releases_and_maturity/releases/release-notes-3.0.0.rst @@ -0,0 +1,1435 @@ +.. _ncs_release_notes_3.0.0: + +|NCS| v3.0.0 Release Notes +########################## + +.. contents:: + :local: + :depth: 2 + +|NCS| delivers reference software and supporting libraries for developing low-power wireless applications with Nordic Semiconductor products in the nRF52, nRF53, nRF54, nRF70, and nRF91 Series. +The SDK includes open source projects (TF-M, MCUboot, OpenThread, Matter, and the Zephyr RTOS), which are continuously integrated and redistributed with the SDK. + +Release notes might refer to "experimental" support for features, which indicates that the feature is incomplete in functionality or verification, and can be expected to change in future releases. +To learn more, see :ref:`software_maturity`. + +Highlights +********** + +This major release of |NCS| introduces significant changes that can break backward compatibility for existing projects. +Refer to the :ref:`migration_3.0` for further information. + +The SDK can be installed using any one of the following options: + +* Using |VSC| and the :ref:`requirements_nrfvsc` (recommended). +* Using command line and :ref:`requirements_nrf_util`. + +Starting with this release, the SDK installation using the Toolchain Manager app is not supported. + +Added the following features as supported: + +* Bluetooth®: + + * Channel Sounding Controller and Host will be Bluetooth qualified for the nRF54L Series. + * The :ref:`channel_sounding_ras_initiator` sample now includes an IFFT algorithm for Phase-Based Ranging, providing a viable distance measurement result for basic ranging applications. + Results from the illustrative MCPD algorithm from the |NCS| 2.9.0 release, which is shown alongside the IFFT result, are still not recommended for ranging. + * Bluetooth controller and host qualified for the nRF54H20. + +* Matter: + + * Matter 1.4.1: Matter commissioning using NFC tag can be officially certified now. + * :ref:`matter_manufacturer_specific_sample` sample: Dedicated sample, containing documentation and a preview :ref:`PC tool `, facilitating creation and modification of manufacturer specific clusters. + +* PMIC: + + * nPM2100 and nPM2100 EK: + + * Added support for nPM2100, which is a PMIC designed for primary (non-rechargeable) batteries in an extremely compact form factor. + It has an ultra-efficient boost regulator, a dual purpose LDO/load switch, two GPIOs, an ADC, and other features. + * :ref:`npm2100_fuel_gauge` sample, demonstrating how to calculate the state of charge of a supported primary cell battery using the nPM2100 and the :ref:`nrfxlib:nrf_fuel_gauge`. + * :ref:`npm2100_one_button` sample, demonstrating how to support wake-up, shutdown, and user interactions through a single button connected to the nPM2100. + +* nRF54L Series: + + * nRF54L10 and nRF54L05 are added as supported targets in the :ref:`nrf_desktop` application. + * :ref:`mcuboot_image_compression` is now supported on nRF54L15 and nRF54L10. + * nRF21540 GPIO support on nRF54L Series. + +Added the following features as experimental: + +* nRF54L Series: + + * Bootloader and Device Firmware Update (DFU): + + * Support for nRF Secure Immutable Bootloader as first stage immutable bootloader. + * Support for encrypted DFU with ECIES x25519 encryption using MCUboot. + + * QSPI external memory interface provided by :ref:`sQSPI Soft Peripheral `, which utilizes the nRF54L15 FLPR coprocessor. + * Coprocessor High Performance Framework, a framework designed to facilitate the creation and integration of :ref:`software peripherals using the nRF54L15 FLPR coprocessor `. + +Improved: + +* Wi-Fi®: + + * Up to 25 kB reduction in the RAM footprint of the Wi-Fi stack on nRF5340 and nRF54L15 hosts, for Wi-Fi applications with low throughput requirements. + * Added support for the runtime certificate update for WPA Enterprise security. + +* nRF54H20: + + * Significantly improved support for multiple hardware features. + +* LE Audio: + + * The following LE Audio roles are now qualified. + Refer to the ICS details in the product listing for a complete overview of which profiles, services and features are included in the qualification. + The LE Audio profiles and services run on top of the qualified Nordic BLE Host and Controller. + + * Unicast Client Source (base stations). + * Broadcast Source (broadcasters/Auracasters). + * Unicast Server Source (microphones). + +* :ref:`nrf_desktop`: + + * Support for Bluetooth LE legacy pairing is no longer enabled by default, because it is not secure. + * Enabled Link Time Optimization (LTO) for images built by :ref:`Sysbuild (System build) `. + +Removed: + +* Hardware model v1, which was deprecated in |NCS| 2.7.0, has now been removed. + Existing projects must :ref:`transition to hardware model v2 `. +* Multi-image builds functionality (parent-child images), which was deprecated in |NCS| v2.7.0 has now been removed. + Existing projects must transition to :ref:`Sysbuild (System build) `. +* Zigbee R22, which was deprecated in |NCS| 2.8.0, has now been removed. + Support for `Zigbee R22`_ and `Zigbee R23`_ is available as an `nRF Connect SDK Add-on `_. +* Asset Tracker v2 application is now removed. + The application is replaced by `Asset Tracker Template`_, which will be available as an `nRF Connect SDK Add-on `_. +* The application configurations for the nRF52810 Desktop Mouse board in :ref:`nrf_desktop` has been removed. +* Amazon Sidewalk has been removed from |NCS| and is now available as an `Add-on `_. + +Sign up for the `nRF Connect SDK v3.0.0 webinar`_ to learn more about the new features. + +Release tag +*********** + +The release tag for the |NCS| manifest repository (|ncs_repo|) is **v3.0.0**. +Check the :file:`west.yml` file for the corresponding tags in the project repositories. + +To use this release, check out the tag in the manifest repository and run ``west update``. +See :ref:`cloning_the_repositories` and :ref:`gs_updating_repos_examples` for more information. + +For information on the included repositories and revisions, see `Repositories and revisions for v3.0.0`_. + +Integration test results +************************ + +The integration test results for this tag can be found in the following external artifactory: + +* `Twister test report for nRF Connect SDK v3.0.0`_ +* `Hardware test report for nRF Connect SDK v3.0.0`_ + +IDE and tool support +******************** + +`nRF Connect extension for Visual Studio Code `_ is the recommended IDE for |NCS| v3.0.0. +See the :ref:`installation` section for more information about supported operating systems and toolchain. + +Supported modem firmware +************************ + +See the following documentation for an overview of which modem firmware versions have been tested with this version of the |NCS|: + +* `Modem firmware compatibility matrix for the nRF9151 DK`_ +* `Modem firmware compatibility matrix for the nRF9161 DK`_ +* `Modem firmware compatibility matrix for the nRF9160 DK`_ + +Use the latest version of the `Programmer app`_ of `nRF Connect for Desktop`_ to update the modem firmware. +See :ref:`nrf9160_gs_updating_fw_modem` for instructions. + +Modem-related libraries and versions +==================================== + +.. list-table:: Modem-related libraries and versions + :widths: 15 10 + :header-rows: 1 + + * - Library name + - Version information + * - Modem library + - `Changelog `_ + * - LwM2M carrier library + - `Changelog `_ + + +Known issues +************ + +Known issues are only tracked for the latest official release. +See `known issues for nRF Connect SDK v3.0.0`_ for the list of issues valid for the latest release. + +Migration notes +*************** + +See the `Migration guide for nRF Connect SDK v3.0.0`_ for the changes required or recommended when migrating your application from |NCS| v2.9.0 to |NCS| v3.0.0. + +.. _ncs_release_notes_300_changelog: + +Changelog +********* + +The following sections provide detailed lists of changes by component. + +IDE, OS, and tool support +========================= + +* Updated: + + * The required `SEGGER J-Link`_ version to v8.18. + * The :ref:`installation` page with the following: + + * The :ref:`installing_vsc` section with a list valid for both development environments. + The list now includes nRF Util as an additional requirement for :ref:`west runner ` for the |nRFVSC|, and the Windows-only requirement to install SEGGER USB Driver for J-Link for both development environments. + * The command-line instructions now use the ``nrfutil sdk-manager`` command instead of the ``nrfutil toolchain-manager`` command. + You can read more about the new command in the `nRF Util documentation `_. + + * Mentions of commands that use tools from the nRF Command Line Tools to use nRF Util. + |nrf_CLT_deprecation_note| + +* Removed the Toolchain Manager app section from the following pages: + + * :ref:`installation` + * :ref:`updating` + * :ref:`requirements` + + The app no longer provides the latest toolchain and |NCS| versions for installation. + +Board support +============= + +* Removed support for the nRF52810 Desktop Mouse board (``nrf52810dmouse/nrf52810``). + +Build and configuration system +============================== + +* Removed support for the deprecated multi-image builds (parent-child images) functionality. + All |NCS| projects must now use :ref:`sysbuild`. + See :ref:`child_parent_to_sysbuild_migration` for an overview of differences with parent-child image and how to migrate. +* Updated: + + * The default runner for the ``west flash`` command to `nRF Util`_ instead of ``nrfjprog`` that is part of the archived `nRF Command Line Tools`_. + For more information, see the :ref:`required_build_system_mig_300` section and the :ref:`programming_selecting_runner` section on the programming page. + + .. note:: + + For |NCS| 3.0.0, use the nrfutil-device v2.8.8. + + * Erasing the external memory when programming a new firmware image with the ``west flash`` series now always correctly honors the ``--erase`` flag (and its absence) both when using the ``nrfjprog`` and ``nrfutil`` backends. + Before this release, the ``nrfjprog`` backend would always erase only the sectors of the external flash used by the new firmware, and the ``nrfutil`` backend would always erase the whole external flash. + * ``west ncs-provision`` command was ported onto newest nrfutil device provisioning command. + User must update ``nrfutil-device`` to v2.8.8 for this |NCS| release. + * The ``CONFIG_NRF53_MULTI_IMAGE_UPDATE`` Kconfig option no longer depends on external flash (NCSIDB-1232). + * The static partition manager file for network core images can now be set (NCSIDB-1442). + * QSPI XIP support has been extended to include building with TF-M on the nRF5340 device. + An instance of TF-M can now be part of the internal NVM application image. + +Bootloader and DFU +================== + +* Added experimental support |NSIB| for the nRF54L15 SoC. + On nRF54L SoCs, NSIB uses KMU for authentication key storage. + It supports keys revocation scheme and it can be protected using immutable-boot region SoC's hardware feature. +* Updated by improving DFU timing performance on the nRF54L SoC by applying optimal RRAMC buffering. + +Developing with nRF70 Series +============================ + +* Added: + + * Support for the nRF7002-EB II (PCA63571) with the nRF54 Series DKs as detailed in :ref:`ug_nrf7002eb2_gs`. + * A new section :ref:`ug_nrf70_wifi_enterprise_mode` in the :ref:`ug_nrf70_wifi_advanced_security_modes` page. + +* Deprecated support for the nRF7002 EB (PCA63561) with the nRF54 Series DKs. +* Removed support for storing the nRF70 firmware patches in external flash without the :ref:`partition_manager`, as mentioned in :ref:`ug_nrf70_developing_fw_patch_ext_flash`. + +Developing with nRF54L Series +============================= + +* Added: + + * HMAC SHA-256 with a 128-bit key type to KMU, as detailed in the :ref:`ug_nrf54l_crypto_kmu_supported_key_types` documentation section. + * A workaround for nRF54L15 Errata 30. + Use ``CONFIG_CLOCK_CONTROL_NRF_HF_CALIBRATION=y`` to explicitly activate the workaround. + A consequence of activating the workaround might be increased power consumption due to periodic CPU wake-up, so use it only if errata conditions are met. + The workaround is already included in the MPSL component, so the solution is applicable only if your application does not use MPSL. + +Developing with nRF54H Series +============================= + +* Added a new documentation page :ref:`ug_nrf54h20_suit_signing` under :ref:`ug_nrf54h20_suit_dfu`. +* Removed the note on installing SEGGER USB Driver for J-Link on Windows from the :ref:`ug_nrf54h20_gs` page and moved its contents to the `nRF Util prerequisites`_ documentation. + The Windows-only requirement to install the SEGGER USB Driver for J-Link is now mentioned in the :ref:`installing_vsc` section on the :ref:`installation` page. + +Developing with Front-End Modules +================================= + +* Added support for the following: + + * :ref:`nRF2220 Front-End Module `. + * :ref:`nRF2220 EK shield `. + * :ref:`nRF21540 Front-End Module in GPIO mode ` for the nRF54L Series devices. + +* Fixed an issue for the nRF21540 Front-End Module (for GPIO and GPIO+SPI modes) when spurious emission occurred due to late activation of the ``TX_EN`` pin. + The ``PDN`` pin is now activated earlier by the call to the :c:func:`mpsl_fem_enable` function. + The ``TX_EN`` pin is now activated 15 µs earlier during the ramp-up of the radio. + +Developing with PMICs +===================== + +* Added the :ref:`ug_npm2100_developing` documentation. + +Security +======== + +* Added: + + * Support for HKDF-Expand and HKDF-Extract in CRACEN. + * Support for HashEdDSA (ed25519ph) to CRACEN. + * TF-M now supports Attestation service on nRF54L15 + * The following documentation pages: + + * :ref:`ug_tfm_architecture`. + * :ref:`ug_psa_certified_api_overview`. + * :ref:`ug_tfm_supported_services`. + +* Updated: + + * The Oberon PSA core to version 1.3.4 that introduces support for the following: + + * PSA static key slots with the option :kconfig:option:`CONFIG_MBEDTLS_PSA_STATIC_KEY_SLOTS`. + * NIST SP 800-108 conformant CMAC and HMAC based key derivation using Oberon PSA driver. + + For more information regarding the Oberon PSA core v1.3.4 update, see the relevant changelog entry in the `Oberon PSA core changelog`_. + + * The :ref:`app_approtect` page with nRF Util commands that replaced the nrfjprog commands. + This is part of the ongoing work of archiving `nRF Command Line Tools`_ and replacing them with nRF Util. + * The :ref:`app_boards_spe_nspe` documentation page from the :ref:`ug_app_dev` section has been moved under :ref:`ug_tfm_index`. + +* Removed the Running applications with Trusted Firmware-M page. + Its contents have been moved into the following new pages: + + * :ref:`ug_tfm_index` + * :ref:`ug_tfm_building` + * :ref:`ug_tfm_logging` + * :ref:`ug_tfm_services` + * :ref:`ug_tfm_provisioning` + +Protocols +========= + +Bluetooth LE +------------ + +* Updated the Bluetooth LE SoftDevice Controller driver to make the :c:func:`hci_vs_sdc_llpm_mode_set` function return an error if Low Latency Packet Mode (LLPM) is not supported or not enabled in the Bluetooth LE Controller driver configuration (:kconfig:option:`CONFIG_BT_CTLR_SDC_LLPM`). + +* Fixed: + + * An issue where a flash operation executed on the system workqueue might result in ``-ETIMEDOUT``, if there is an active Bluetooth LE connection. + * An issue where Bluetooth applications built with the ``nordic-bt-rpc`` snippet (in the :ref:`ble_rpc` configuration) did not work on the nRF54H20 devices due to incorrect memory mapping. + +* Removed the ``HCI_LE_Read_Local_P-256_Public_Key`` and ``HCI_LE_Generate_DHKey`` commands emulation from the HCI driver. + +Bluetooth Mesh +-------------- + +* Added: + + * The key importer functionality (:kconfig:option:`CONFIG_BT_MESH_KEY_IMPORTER`). + * A note to the :ref:`dfu_over_ble` page about a need to disable the application settings erase option in the `nRF Connect for Mobile`_ and `nRF Connect Device Manager`_ mobile applications when performing P2P FOTA over Bluetooth Low Energy. + * Added mesh-specific documentation regarding trusted storage. + +* Updated the default value for the :kconfig:option:`CONFIG_MBEDTLS_HEAP_SIZE` Kconfig option if :kconfig:option:`CONFIG_BT_MESH_NLC_PERF_CONF` is selected. + The :kconfig:option:`CONFIG_BT_MESH_NLC_PERF_CONF` Kconfig option increases the number of keys used by the mesh stack and the value of the :kconfig:option:`CONFIG_MBEDTLS_HEAP_SIZE` Kconfig option needs to be increased accordingly. +* Deprecated the :kconfig:option:`CONFIG_BT_MESH_USES_TINYCYPT` Kconfig option. + It is not recommended to use this Kconfig option for future designs. + For platforms that support TF-M, the :kconfig:option:`CONFIG_BT_MESH_USES_TFM_PSA` Kconfig option is used by default. + For platforms that do not support TF-M, the :kconfig:option:`CONFIG_BT_MESH_USES_MBEDTLS_PSA` Kconfig option is used by default. +* Removed experimental flags for TF-M PSA and Mbed TLS PSA. + +Enhanced ShockBurst (ESB) +------------------------- + +* Added: + + * Loading of radio trims and a fix of a hardware errata for the nRF54H20 SoC to improve the RF performance. + * Workaround for the hardware errata HMPAN-216 for the nRF54H20 SoC. + +Matter +------ + +* Added: + + * A new documentation page :ref:`ug_matter_group_communication` in the :ref:`ug_matter_intro_overview`. + * A new page on :ref:`ug_matter_creating_custom_cluster`. + * A description for the new :ref:`ug_matter_gs_tools_matter_west_commands_append` within the :ref:`ug_matter_gs_tools_matter_west_commands` page. + * New arguments to the :ref:`ug_matter_gs_tools_matter_west_commands_zap_tool_gui` to provide a custom cache directory and add new clusters to Matter Data Model. + * :ref:`ug_matter_debug_snippet`. + * Storing Matter key materials in the :ref:`matter_platforms_security_kmu`. + * A new section :ref:`ug_matter_device_low_power_calibration_period` in the :ref:`ug_matter_device_low_power_configuration` page. + * A new section :ref:`ug_matter_gs_tools_opp` in the :ref:`ug_matter_gs_tools` page. + * A new overview page for :ref:`ug_nrfconnect_manufacturer_cluster_editor_tool`. + * Released the first preview version of the Matter Manufacturer Cluster Editor Tool. + The tool allows you to create and edit Matter Manufacturer Cluster files or create an extension to the existing one. + The tool is available in release artifacts. + +* Updated: + + * By disabling the :ref:`mpsl` before performing a factory reset to speed up the process. + * The :ref:`ug_matter_device_low_power_configuration` page to mention the `nWP049 - Matter over Thread: Power consumption and battery life`_ and `Online Power Profiler for Matter over Thread`_ as useful resources in optimizing the power consumption of a Matter device. + * The general documentation on trusted storage by moving it to the :ref:`trusted_storage_in_ncs` page and :ref:`trusted_storage_readme` library documentation. + +Matter fork ++++++++++++ + +The Matter fork in the |NCS| (``sdk-connectedhomeip``) contains all commits from the upstream Matter repository up to, and including, the ``5fd234d4f14e1225533eaea85854f160bbd0fd55`` commit from the ``v1.4-branch``. +The following list summarizes the most important changes inherited from the upstream Matter: + +* Added: + + * Enhanced Setup Flow that allows the standard Matter commissioning process to enable display and acknowledgment of device makers' legal terms and conditions before the device setup. + * Onboarding Payload in NFC tags. + * Large messages over TCP. + * New ``kFactoryReset`` event that is posted during a factory reset. + The application can register a handler and perform additional cleanup + +Thread +------ + +* Added: + + * Support for storing the Thread key materials in the :ref:`ug_ot_thread_security_kmu`. + * The :ref:`ug_ot_thread_security` user guide describing the security features of the OpenThread implementation in the |NCS|. + +Zigbee +------ + +* Removed all Zigbee resources. + They are now available as separate `Zigbee R22`_ and `Zigbee R23`_ add-on repositories. + +Wi-Fi +----- + +* Updated: + + * Throughputs for Wi-Fi usage profiles. + * The Wi-Fi credential shell, by renaming it from ``wifi_cred`` to ``wifi cred``. + * The :ref:`ug_wifi_regulatory_certification` documentation by moving it to the :ref:`ug_wifi` protocol page. + +Applications +============ + +* Added the new :ref:`hpf_mspi_example` application. +* Removed the Asset Tracker v2 application. + For the development of asset tracking applications, refer to the `Asset Tracker Template `_. + + The factory-programmed Asset Tracker v2 firmware is still available to program the nRF91xx DKs using the `Programmer app`_, `Quick Start app`_, and the `Cellular Monitor app`_. + +* Renamed the SDP GPIO application to :ref:`hpf_gpio_example`. + +IPC radio firmware +------------------ + +* Updated: + + * The application to enable the :ref:`Zephyr Memory Storage (ZMS) ` file system in all devices that contain MRAM, such as the nRF54H Series devices. + * The documentation of applications and samples that use the IPC radio firmware as a :ref:`companion component ` to mention its usage when built with :ref:`configuration_system_overview_sysbuild`. + +* Fixed a performance issue where the :ref:`ipc_radio` application could drop HCI packets in case of high data traffic. + +Machine learning +---------------- + +* Updated: + + * The application to enable the :ref:`Zephyr Memory Storage (ZMS) ` file system for the :ref:`zephyr:nrf54h20dk_nrf54h20` board target. + * The Edge Impulse URI configuration to use the new model location. + +Matter bridge +------------- + +* Updated by enabling Link Time Optimization (LTO) by default for the ``release`` configuration. +* Removed support for the nRF54H20 devices. + +nRF5340 Audio +------------- + +* Added more information on new :ref:`DNs and QDIDs `. + +* Updated: + + * The documentation for :ref:`nrf53_audio_app_building` with cross-links and additional information. + * The :file:`buildprog.py` script is an app-specific script for building and programming multiple kits and cores with various audio application configurations. + The script will be deprecated in a future release. + The audio applications will gradually shift to using only standard tools for building and programming development kits. + * The :ref:`nRF5340 Audio application\'s ` :ref:`script for building and programming ` now builds into a directory for each transport, device type, core, and version combination. + * The build system to use overlay files for each of the four applications instead of using :file:`Kconfig.default`. + * The :file:`buildprog.py` script to demand argument ``--transport`` to set either ``unicast`` or ``broadcast``. + +* Fixed: + + * The static random address for the broadcast source and unicast server. + * The time sync issue that occasionally caused a 1 ms difference between the Left/Right headset. + +nRF Desktop +----------- + +* Added: + + * System power management for the :ref:`zephyr:nrf54h20dk_nrf54h20` board target on the application and radio cores. + * Application configurations for the nRF54L05 and nRF54L10 SoCs (emulated on the nRF54L15 DK). + The configurations are supported through ``nrf54l15dk/nrf54l10/cpuapp`` and ``nrf54l15dk/nrf54l05/cpuapp`` board targets. + For details, see the :ref:`nrf_desktop_board_configuration`. + * The ``dongle_small`` configuration for the nRF52833 DK. + The configuration enables logs and mimics the dongle configuration used for small SoCs. + * Requirement for zero latency in Zephyr's :ref:`zephyr:pm-system` while USB is active (:ref:`CONFIG_DESKTOP_USB_PM_REQ_NO_PM_LATENCY ` Kconfig option of the :ref:`nrf_desktop_usb_state_pm`). + The feature is enabled by default if Zephyr power management (:kconfig:option:`CONFIG_PM`) is enabled. + It prevents entering power states that introduce wakeup latency and ensures high performance. + * Static Partition Manager memory maps for single-image configurations (without bootloader and separate radio/network core image). + In the |NCS|, the Partition Manager is enabled by default for single-image sysbuild builds. + The static memory map ensures control over settings partition placement and size. + The introduced static memory maps might not be consistent with the ``storage_partition`` defined by the board-level DTS configuration. + * Support for GATT long (reliable) writes (:kconfig:option:`CONFIG_BT_ATT_PREPARE_COUNT`) to Fast Pair and Works With ChromeBook (WWCB) configurations. + This allows performing :ref:`fwupd ` DFU image upload over Bluetooth LE with GATT clients that do not perform MTU exchange (for example, ChromeOS using the Floss Bluetooth stack). + * The ``dongle`` and ``release_dongle`` application configurations for the nRF54H20 DK (``nrf54h20dk/nrf54h20/cpuapp``). + The configurations act as a HID dongle. + +* Updated: + + * RTT (:kconfig:option:`CONFIG_USE_SEGGER_RTT`) is disabled in the MCUboot configuration of the nRF52840 DK (`mcuboot_smp` file suffix). + Using RTT for logs in both the application and the bootloader leads to crashes. + The MCUboot bootloader provides logs over UART. + * The :ref:`nrf_desktop_failsafe` to use the Zephyr :ref:`zephyr:hwinfo_api` driver for getting and clearing the reset reason information (see the :c:func:`hwinfo_get_reset_cause` and :c:func:`hwinfo_clear_reset_cause` functions). + The Zephyr :ref:`zephyr:hwinfo_api` driver replaces the dependency on the nrfx reset reason helper (see the :c:func:`nrfx_reset_reason_get` and :c:func:`nrfx_reset_reason_clear` functions). + * The ``release`` configuration for the :ref:`zephyr:nrf54h20dk_nrf54h20` board target to enable the :ref:`nrf_desktop_failsafe` (see the :ref:`CONFIG_DESKTOP_FAILSAFE_ENABLE ` Kconfig option). + * By enabling Link Time Optimization (:kconfig:option:`CONFIG_LTO` and :kconfig:option:`CONFIG_ISR_TABLES_LOCAL_DECLARATION`) by default for an nRF Desktop application image. + LTO was also explicitly enabled in configurations of other images built by sysbuild (bootloader, network core image). + * Application configurations for nRF54L05, nRF54L10, and nRF54L15 SoCs to use Fast Pair PSA cryptography (:kconfig:option:`CONFIG_BT_FAST_PAIR_CRYPTO_PSA`). + Using PSA cryptography improves security and reduces memory footprint. + Also, increased the size of the Bluetooth receiving thread stack (:kconfig:option:`CONFIG_BT_RX_STACK_SIZE`) to prevent stack overflows. + * Application configurations for the nRF52820 SoC to reduce memory footprint: + + * Disabled Bluetooth long workqueue (:kconfig:option:`CONFIG_BT_LONG_WQ`). + * Limited the number of key slots in the PSA Crypto core to 10 (:kconfig:option:`CONFIG_MBEDTLS_PSA_KEY_SLOT_COUNT`). + + * Application configurations for HID peripherals by increasing the following thread stack sizes to prevent stack overflows during the :c:func:`settings_load` operation: + + * The system workqueue thread stack (:kconfig:option:`CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE`). + * The CAF settings loader thread stack (:kconfig:option:`CONFIG_CAF_SETTINGS_LOADER_THREAD_STACK_SIZE`). + + This change results from the Bluetooth subsystem transition to the PSA cryptographic API. + The GATT database hash calculation now requires a larger stack size. + + * Support for Bluetooth LE legacy pairing is no longer enabled by default, because it is not secure. + Using Bluetooth LE legacy pairing introduces, among others, a risk of passive eavesdropping. + Supporting Bluetooth LE legacy pairing makes devices vulnerable to downgrade attacks. + The :kconfig:option:`CONFIG_BT_SMP_SC_PAIR_ONLY` Kconfig option is enabled by default in Zephyr. + If you still need to support the Bluetooth LE legacy pairing, you need to disable the option in the configuration. + * :ref:`nrf_desktop_hid_state` and :ref:`nrf_desktop_fn_keys` to use :c:func:`bsearch` implementation from the C library. + This simplifies maintenance and allows you to use Picolibc (:kconfig:option:`CONFIG_PICOLIBC`). + * The IPC radio image configurations of the nRF5340 DK to use Picolibc (:kconfig:option:`CONFIG_PICOLIBC`). + This aligns the configurations with the IPC radio image configurations of the nRF54H20 DK. + Picolibc is used by default in Zephyr. + * The nRF Desktop application image configurations to use Picolibc (:kconfig:option:`CONFIG_PICOLIBC`) by default. + Using the minimal libc implementation (:kconfig:option:`CONFIG_MINIMAL_LIBC`) no longer decreases the memory footprint of the application image for most of the configurations. + * By enabling :ref:`nrf_desktop_usb_state_sof_synchronization` (:ref:`CONFIG_DESKTOP_USB_HID_REPORT_SENT_ON_SOF ` Kconfig option) by default on the nRF54H Series SoC (:kconfig:option:`CONFIG_SOC_SERIES_NRF54HX`). + The negative impact of USB polling jitter is more visible in case of USB High-Speed. + * The Fast Pair sysbuild configurations to align the application with the sysbuild Kconfig changes for controlling the Fast Pair provisioning process. + The Nordic device models intended for demonstration purposes are now supplied by default in the nRF Desktop Fast Pair configurations. + * The :ref:`nrf_desktop_dvfs` to no longer consume the :c:struct:`ble_peer_conn_params_event` event. + This allows to propagate the event to further listeners of the same or lower priority. + This prevents an issue where :ref:`nrf_desktop_ble_latency` is not informed about the connection parameter update (it might cause missing connection latency updates). + * The Low Latency Packet Mode (LLPM) dependency in the :ref:`nrf_desktop_ble_conn_params`. + The module relies on the :kconfig:option:`CONFIG_CAF_BLE_USE_LLPM` Kconfig option. + This allows using the module also when the Bluetooth LE controller is not part of the main application. + * By enabling the :ref:`CONFIG_DESKTOP_CONFIG_CHANNEL_OUT_REPORT ` Kconfig option for the nRF54H20 DK. + The option mitigates HID report rate drops during DFU image transfer through the nRF Desktop dongle. + * By explicitly enabling the :kconfig:option:`CONFIG_BT_CTLR_ASSERT_HANDLER` Kconfig option in IPC radio image configurations of the nRF54H20 DK. + This is done to use an assertion handler defined by the IPC radio image. + * By disabling the UDC DWC2 DMA support (:kconfig:option:`CONFIG_UDC_DWC2_DMA`) on the nRF54H20 DK. + The DMA support is experimental, and disabling the feature improves USB HID stability. + Since nRF Desktop uses only small HID reports (report size is smaller than 64 bytes), the DMA does not improve performance. + * The nRF Desktop device names to remove the``52`` infix, because the nRF Desktop application supports other SoC Series also. + This change breaks backwards compatibility. + Peripherals using firmware from the |NCS| v3.0.0 (or newer) will not pair with dongles using firmware from an older |NCS| release and the other way around. + The HID configurator script has also been aligned to the new naming scheme. + +* Removed: + + * Application configurations for the nRF52810 Desktop Mouse board (``nrf52810dmouse/nrf52810``). + The board is no longer supported in the |NCS|. + +Serial LTE modem +---------------- + +* Added: + + * A new page :ref:`slm_as_linux_modem`. + * An overlay file :file:`overlay-memfault.conf` to enable Memfault. + See :ref:`mod_memfault` for more information about Memfault features in |NCS|. + +* Updated the application to use the :ref:`lib_downloader` library instead of the deprecated :ref:`lib_download_client` library. + +Thingy:53: Matter weather station +--------------------------------- + +* Updated by enabling Link Time Optimization (LTO) by default for the ``release`` configuration. + +Samples +======= + +This section provides detailed lists of changes by :ref:`sample `. + +Bluetooth samples +----------------- + +* Added + + * Support for the ``nrf54l15dk/nrf54l05/cpuapp`` and ``nrf54l15dk/nrf54l10/cpuapp`` board targets in the following samples: + + * :ref:`central_and_peripheral_hrs` + * :ref:`central_bas` + * :ref:`bluetooth_central_hids` + * :ref:`bluetooth_central_hr_coded` + * :ref:`bluetooth_central_dfu_smp` + * :ref:`central_uart` + * :ref:`multiple_adv_sets` + * :ref:`peripheral_bms` + * :ref:`peripheral_cgms` + * :ref:`peripheral_cts_client` + * :ref:`peripheral_gatt_dm` + * :ref:`peripheral_hids_keyboard` + * :ref:`peripheral_hr_coded` + * :ref:`peripheral_mds` + * :ref:`peripheral_nfc_pairing` + * :ref:`peripheral_rscs` + * :ref:`peripheral_status` + * :ref:`shell_bt_nus` + * :ref:`ble_throughput` + + * The Advertising Coding Selection feature to the following samples: + + * :ref:`bluetooth_central_hr_coded` + * :ref:`peripheral_hr_coded` + +* Updated: + + * The configurations of the non-secure ``nrf5340dk/nrf5340/cpuapp/ns`` board target in the following samples to properly use the TF-M profile instead of the predefined minimal TF-M profile: + + * :ref:`bluetooth_central_hids` + * :ref:`peripheral_hids_keyboard` + * :ref:`peripheral_hids_mouse` + + This change results from the Bluetooth subsystem transition to the PSA cryptographic standard. + The Bluetooth stack can now use the PSA crypto API in the non-secure domain as all necessary TF-M partitions are configured properly. + + * The configurations of the following samples by increasing the main thread stack size (:kconfig:option:`CONFIG_MAIN_STACK_SIZE`) to prevent stack overflows: + + * :ref:`bluetooth_central_hids` + * :ref:`peripheral_hids_keyboard` + * :ref:`peripheral_hids_mouse` + + This change results from the Bluetooth subsystem transition to the PSA cryptographic API. + + * The following samples to use LE Secure Connection pairing (:kconfig:option:`CONFIG_BT_SMP_SC_PAIR_ONLY`): + + * :ref:`peripheral_gatt_dm` + * :ref:`peripheral_mds` + * :ref:`peripheral_cts_client` + +* :ref:`direct_test_mode` sample: + + * Added: + + * Loading of radio trims and a fix of a hardware errata for the nRF54H20 SoC to improve the RF performance. + * Support for the :ref:`nRF2220 front-end module `. + * Workaround for the hardware errata HMPAN-216 for the nRF54H20 SoC. + +* :ref:`central_uart` sample: + + * Added reconnection to bonded devices based on their address. + +* :ref:`peripheral_hids_keyboard` sample: + + * Fixed the issue with the :kconfig:option:`CONFIG_NFC_OOB_PAIRING` Kconfig option that is defined at the sample level and could not be enabled due to the unmet dependency on the :kconfig:option:`CONFIG_HAS_HW_NRF_NFCT` Kconfig option. + The issue is resolved by enabling the ``nfct`` node in the sample devicetree configuration, which sets the :kconfig:option:`CONFIG_HAS_HW_NRF_NFCT` Kconfig option to the expected value. + +* :ref:`power_profiling` sample: + + * Added the :kconfig:option:`CONFIG_BT_POWER_PROFILING_NFC_DISABLED` Kconfig option to reduce power consumption by disabling the NFC. + +* :ref:`peripheral_uart` sample: + + * Removed support for the nRF52805, nRF52810, and nRF52811 devices. + +Bluetooth Mesh samples +---------------------- + +* Added: + + * Support for nRF54L10 in the following samples: + + * :ref:`bluetooth_mesh_sensor_client` + * :ref:`bluetooth_mesh_sensor_server` + * :ref:`bluetooth_ble_peripheral_lbs_coex` + * :ref:`bt_mesh_chat` + * :ref:`bluetooth_mesh_light_switch` + * :ref:`bluetooth_mesh_silvair_enocean` + * :ref:`bluetooth_mesh_light_dim` + * :ref:`bluetooth_mesh_light` + * :ref:`ble_mesh_dfu_target` + * :ref:`bluetooth_mesh_light_lc` + * :ref:`ble_mesh_dfu_distributor` + + * Support for nRF54L05 in the following samples: + + * :ref:`bluetooth_mesh_sensor_client` + * :ref:`bluetooth_mesh_sensor_server` + * :ref:`bluetooth_ble_peripheral_lbs_coex` + * :ref:`bt_mesh_chat` + * :ref:`bluetooth_mesh_light_switch` + * :ref:`bluetooth_mesh_silvair_enocean` + * :ref:`bluetooth_mesh_light_dim` + * :ref:`bluetooth_mesh_light` + * :ref:`bluetooth_mesh_light_lc` + +* Updated: + + * The board configuration files for nRF54L15, nRF54L10, and nRF54L05 by increasing the values of :kconfig:option:`CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE` and :kconfig:option:`CONFIG_BT_RX_STACK_SIZE` Kconfig options to prevent stack overflows when :kconfig:option:`CONFIG_BT_MESH_USES_MBEDTLS_PSA` is selected. + * The following samples to include the value of the :kconfig:option:`CONFIG_BT_COMPANY_ID` option in the Firmware ID: + + * :ref:`ble_mesh_dfu_distributor` + * :ref:`ble_mesh_dfu_target` + + * :ref:`bluetooth_mesh_light_lc` sample by disabling the friend feature when the sample is compiled for the :ref:`zephyr:nrf52dk_nrf52832` board target to increase the amount of RAM available for the application. + +Bluetooth Fast Pair samples +--------------------------- + +* Added experimental support for the ``nrf54l15dk/nrf54l05/cpuapp`` and ``nrf54l15dk/nrf54l10/cpuapp`` board targets in all Fast Pair samples. + +* Updated: + + * The non-secure target (``nrf5340dk/nrf5340/cpuapp/ns`` and ``thingy53/nrf5340/cpuapp/ns``) configurations of all Fast Pair samples to use configurable TF-M profile instead of the predefined minimal TF-M profile. + This change results from the Bluetooth subsystem transition to the PSA cryptographic standard. + The Bluetooth stack can now use the PSA crypto API in the non-secure domain as all necessary TF-M partitions are configured properly. + * The configuration of all Fast Pair samples by increasing the following thread stack sizes to prevent stack overflows: + + * The system workqueue thread stack (:kconfig:option:`CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE`). + * The Bluetooth receiving thread stack (:kconfig:option:`CONFIG_BT_RX_STACK_SIZE`). + + This change results from the Bluetooth subsystem transition to the PSA cryptographic API. + * The sysbuild configurations in samples to align them with the sysbuild Kconfig changes for controlling the Fast Pair provisioning process. + +* Removed a separate workqueue for connection TX notify processing (:kconfig:option:`CONFIG_BT_CONN_TX_NOTIFY_WQ`) from configurations. + The MPSL flash synchronization issue (NCSDK-29354 in the :ref:`known_issues`) is fixed. + The workaround is no longer needed. + +* :ref:`fast_pair_locator_tag` sample: + + * Added: + + * Experimental support for the :ref:`zephyr:nrf54h20dk_nrf54h20` board target. + * Support for firmware update intents on the Android platform. + The configuration of the default device model in the Google Nearby Console has been updated to properly support this feature. + See the sample documentation for more information. + Integrated the new connection authentication callback from the FMDN module and the Device Information Service (DIS) to support firmware version read operation over the Firmware Revision characteristic. + Updated the sample documentation with a new section :ref:`android_notifications_fastpair` that contains the description of this feature and a :ref:`new testing procedure ` that demonstrates how this feature works. + For further details on the Android intent feature for firmware updates, see the :ref:`ug_bt_fast_pair_provisioning_register_firmware_update_intent` section of the Fast Pair integration guide. + + * Updated: + + * The partition layout for the ``nrf5340dk/nrf5340/cpuapp/ns`` and ``thingy53/nrf5340/cpuapp/ns`` board targets to accommodate the partitions needed due to a change in the TF-M profile configuration. + * The ``debug`` (default) configuration of the main image to enable the Link Time Optimization (LTO) with the :kconfig:option:`CONFIG_LTO` Kconfig option. + This change ensures consistency with the sample release configuration that has the LTO feature enabled by default. + * The ``nrf54l15dk/nrf54l15/cpuapp`` board target configuration to enable hardware cryptography for the MCUboot bootloader. + The application image is verified using a pure ED25519 signature and the public key used by MCUboot for validating the application image is securely stored in the Key Management Unit (KMU) hardware peripheral. + Support for the ``nrf54l15dk/nrf54l05/cpuapp`` and ``nrf54l15dk/nrf54l10/cpuapp`` board targets, which is added to this sample in this release iteration, also includes the same MCUboot bootloader configuration with the hardware cryptography enabled. + + The change modifies the memory partition layout for the ``nrf54l15dk/nrf54l15/cpuapp`` board target and changes the MCUboot image signing algorithm. + Because of that, the application images built for the ``nrf54l15dk/nrf54l15/cpuapp`` board target from this |NCS| release are not compatible with the MCUboot bootloader built from previous releases. + It is highly recommended to use hardware cryptography for the nRF54L Series SoC for improved security. + * The configurations for board targets with the MCUboot bootloader support to use a non-default signature key file (the ``SB_CONFIG_BOOT_SIGNATURE_KEY_FILE`` Kconfig option). + The application uses a unique signature key file for each board target, which is defined at the same directory level as the target sysbuild configuration file. + This modification changes the key set that is used by the MCUboot DFU solution. + Because of that, the application images from this |NCS| release are not compatible with the MCUboot bootloader built from previous releases. + * The MCUboot DFU signature type to the Elliptic curve digital signatures with curve P-256 (ECDSA P256 - the ``SB_CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256`` Kconfig option) for the ``nrf52840dk/nrf52840`` board target. + This is done to use Cryptocell 310 for image signature verification. + This change breaks the backwards compatibility, as performing DFU from an old signature type to a new one is impossible. + +Cellular samples +---------------- + +* Updated the following samples to use the :ref:`lib_downloader` library instead of the :ref:`lib_download_client` library: + + * :ref:`http_application_update_sample` + * :ref:`http_modem_delta_update_sample` + * :ref:`http_modem_full_update_sample` + * :ref:`location_sample` + * :ref:`lwm2m_carrier` + * :ref:`lwm2m_client` + * :ref:`modem_shell_application` + * :ref:`nrf_cloud_multi_service` + * :ref:`nrf_cloud_rest_fota` + +* :ref:`modem_shell_application` sample: + + * Added support for setting and getting socket options using the ``sock option set`` and ``sock option get`` commands. + * Removed the ``CONFIG_MOSH_LINK`` Kconfig option. + The link control functionality is now always enabled and cannot be disabled. + +* :ref:`nrf_cloud_multi_service` sample: + + * Fixed: + + * Wrong header naming in :file:`provisioning_support.h` file, which was causing build errors when :file:`sample_reboot.h` was included in other source files. + * An issue with an uninitialized variable in the :c:func:`handle_at_cmd_requests` function. + * An issue with a very small :kconfig:option:`CONFIG_COAP_EXTENDED_OPTIONS_LEN_VALUE` Kconfig value in the :file:`overlay-coap_nrf_provisioning.conf` file. + * Slow Wi-Fi connectivity startup by selecting ``TFM_SFN`` instead of ``TFM_IPC``. + * The size of TLS credentials buffer for Wi-Fi connectivity to allow installing both AWS and CoAP CA certificates. + * Build issues with Wi-Fi configuration using CoAP. + +* :ref:`lte_sensor_gateway` sample: + + * Fixed an issue with devicetree configuration after HCI updates in `sdk-zephyr`_. + +* :ref:`pdn_sample` sample: + + * Added dynamic PDN information. + +Cryptography samples +-------------------- + +* :ref:`crypto_tls` sample: + + * Added support for the TLS v1.3. + +Edge Impulse samples +-------------------- + +* Added support for the ``nrf54l15dk/nrf54l05/cpuapp`` and ``nrf54l15dk/nrf54l10/cpuapp`` board targets in all Edge Impulse samples. + +Enhanced ShockBurst samples +--------------------------- + +* Added support for the ``nrf54l15dk/nrf54l05/cpuapp`` and ``nrf54l15dk/nrf54l10/cpuapp`` board targets in all ESB samples. + +Matter samples +-------------- + +* Added :ref:`matter_manufacturer_specific_sample` sample that demonstrates an implementation of custom manufacturer-specific clusters used by the application layer. + +* :ref:`matter_template_sample` sample: + + * Updated: + + * The documentation with instructions on how to build the sample on the nRF54L15 DK with support for Matter OTA DFU and DFU over Bluetooth SMP, and using internal RRAM only. + * Link Time Optimization (LTO) to be enabled by default for the ``release`` configuration and ``nrf7002dk/nrf5340/cpuapp`` board target. + + * Removed support for nRF54H20 devices. + +* :ref:`matter_lock_sample` sample: + + * Updated the API of ``AppTask``, ``BoltLockManager``, and ``AccessManager`` to provide additional information for the ``LockOperation`` event. + * Removed support for nRF54H20 devices. + +Networking samples +------------------ + +* Added support for nRF7002-EB II with ``nrf54l15dk/nrf54l15/cpuapp`` board target in the following samples: + + * :ref:`aws_iot` + * :ref:`download_sample` + * :ref:`net_coap_client_sample` + * :ref:`https_client` + * :ref:`mqtt_sample` + * :ref:`udp_sample` + + +* Updated: + + * The :kconfig:option:`CONFIG_HEAP_MEM_POOL_SIZE` Kconfig option value to ``1280`` for all networking samples that had it set to a lower value. + This is a requirement from Zephyr and removes a build warning. + * The following samples to use the :ref:`lib_downloader` library instead of the :ref:`lib_download_client` library: + + * :ref:`aws_iot` + * :ref:`azure_iot_hub` + * :ref:`download_sample` + +NFC samples +----------- + +* Added support for the ``nrf54l15dk/nrf54l05/cpuapp`` and ``nrf54l15dk/nrf54l10/cpuapp`` board targets in the following samples: + + * :ref:`record_text` + * :ref:`record_launch_app` + * :ref:`nfc_shell` + * :ref:`nrf-nfc-system-off-sample` + * :ref:`nfc_tnep_tag` + * :ref:`writable_ndef_msg` + +nRF5340 samples +--------------- + +* Removed the nRF5340: Multiprotocol RPMsg sample. + Use the :ref:`ipc_radio` application instead. +* :ref:`smp_svr_ext_xip` sample: + + * Added the nRF5340 non-secure (TF-M) target. + +Peripheral samples +------------------ + +* :ref:`radio_test` sample: + + * Added: + + * Loading of radio trims and a fix of a hardware errata for the nRF54H20 SoC to improve the RF performance. + * Support for the :ref:`nRF2220 front-end module `. + * Workaround for the hardware errata HMPAN-216 for the nRF54H20 SoC. + +PMIC samples +------------ + +* Added: + + * The :ref:`npm2100_one_button` sample that demonstrates how to support wake-up, shutdown, and user interactions through a single button connected to the nPM2100 PMIC. + * The :ref:`npm2100_fuel_gauge` sample that demonstrates how to calculate the battery state of charge of primary cell batteries using the :ref:`nrfxlib:nrf_fuel_gauge`. + +* :ref:`npm1300_fuel_gauge` sample: + + * Updated to accommodate API changes in nRF Fuel Gauge library v1.0.0. + +SDFW samples +------------ + +* Removed the SDFW: Service Framework Client sample as all services demonstrated by the sample have been removed. + +SUIT samples +------------ + +* Added the :ref:`nrf54h_suit_ab_sample` sample that demonstrates how to perform A/B updates using SUIT manifests. + +* :ref:`nrf54h_suit_sample` sample: + + * Updated: + + * The memory maps to cover the entire available MRAM memory. + * The memory maps to place recovery firmware on lower addresses than the main firmware. + * By enabling secure entropy source in all main Bluetooth-enabled sample variants (except recovery firmware). + * By extending the manifests to process the ``suit-payload-fetch`` sequence of the Nordic top update candidate. + * By extending the manifests with build-time checks for consistency between MPI and envelope signing configuration. + * By migrating to the new JEDEC SPI-NOR flash driver that supports octal SPI transfer mode. + + +Trusted Firmware-M (TF-M) samples +--------------------------------- + +* :ref:`tfm_psa_template` sample: + + * Added support for the following attestation token fields: + + * Profile definition + * PSA certificate reference (optional), configured using the ``SB_CONFIG_TFM_OTP_PSA_CERTIFICATE_REFERENCE`` sysbuild Kconfig option + * Verification service URL (optional), configured using the :kconfig:option:`CONFIG_TFM_ATTEST_VERIFICATION_SERVICE_URL` Kconfig option + +* :ref:`tfm_secure_peripheral_partition` sample: + + * Updated documentation with information about how to access other TF-M partitions from the secure partition. + +Thread samples +-------------- + +* :ref:`ot_cli_sample` sample: + + * Removed support for the nRF54H20 DK. + +Zigbee samples +-------------- + +* Removed all Zigbee samples. + They are now available as separate `Zigbee R22`_ and `Zigbee R23`_ add-on repositories. + +Wi-Fi samples +------------- + +* Added support for nRF7002-EB II with nRF54 Series devices in the following samples: + + * :ref:`wifi_station_sample` + * :ref:`wifi_scan_sample` + * :ref:`wifi_shell_sample` + * :ref:`wifi_radio_test_sd` + * :ref:`wifi_radio_test` + * :ref:`wifi_softap_sample` + * :ref:`wifi_twt_sample` + * :ref:`wifi_offloaded_raw_tx_packet_sample` + * :ref:`wifi_raw_tx_packet_sample` + * :ref:`ble_wifi_provision` + +* :ref:`wifi_station_sample` sample: + + * Added an :file:`overlay-zperf.conf` overlay file for :ref:`performance benchmarking and memory footprint analysis `. + +* :ref:`wifi_radiotest_samples`: + + * Added: + + * The :ref:`wifi_radio_test_sd` sample to demonstrate the Wi-Fi and Bluetooth LE radio test running on the application core. + * The ``wifi_radio_test get_voltage`` command to read battery voltage. + + * Updated: + + * The :ref:`wifi_radio_test` sample is now moved to :file:`samples/wifi/radio_test/multi_domain`. + +* :ref:`wifi_shell_sample` sample: + + * Updated by modifying support for storing the nRF70 firmware patches in external flash using the :ref:`partition_manager`. + +* :ref:`wifi_wfa_qt_app_sample`: + + * Added a new section :ref:`wifi_qt_configuration_settings`. + +Other samples +------------- + +* Added :ref:`app_jwt_sample` sample that demonstrates how the application core can generate a signed JWT. + +* :ref:`coremark_sample` sample: + + * Added: + + * Support for the nRF54L05 and nRF54L10 SoCs (emulated on nRF54L15 DK). + * FLPR core support for the :ref:`zephyr:nrf54l15dk_nrf54l15` and :ref:`zephyr:nrf54h20dk_nrf54h20` board targets. + + * Removed the following compiler options that were set in the :kconfig:option:`CONFIG_COMPILER_OPT` Kconfig option: + + * ``-fno-pie`` + * ``-fno-pic`` + * ``-ffunction-sections`` + * ``-fdata-sections`` + + These options are enabled by default in Zephyr and do not need to be set with the dedicated Kconfig option. + +* :ref:`caf_sensor_manager_sample` sample: + + * Added low power configuration for the :ref:`zephyr:nrf54h20dk_nrf54h20` board target. + +Drivers +======= + +This section provides detailed lists of changes by :ref:`driver `. + +* Added a :ref:`flash_ipuc` that allows to manage SUIT IPUC memory through the Zephyr flash API. + +Wi-Fi drivers +------------- + +* Added: + + * Advanced debug shell for reading and writing registers and memory of the nRF70 Series chip. + The debug shell can be enabled using the :kconfig:option:`CONFIG_NRF70_DEBUG_SHELL` Kconfig option. + * A new shell command ``nrf70 util rpu_stats_mem`` to retrieve the RPU statistics even when the RPU processors are not functional (for example, if the LMAC processor has crashed). + +* Updated the ``wifi_util`` shell command, which is now renamed to ``nrf70 util``. + +Libraries +========= + +This section provides detailed lists of changes by :ref:`library `. + +Binary libraries +---------------- + +* :ref:`liblwm2m_carrier_readme` library: + + * Updated: + + * The library to v3.7.0. + See the :ref:`liblwm2m_carrier_changelog` for detailed information. + * The glue to use the :ref:`lib_downloader` library instead of the deprecated :ref:`lib_download_client` library. + +Bluetooth libraries and services +-------------------------------- + +* Added the :ref:`cs_de_readme` library. + +* :ref:`bt_fast_pair_readme` library: + + * Added: + + * A restriction on the :kconfig:option:`CONFIG_BT_FAST_PAIR_FMDN_TX_POWER` Kconfig option in the Find My Device Network (FMDN) extension configuration. + You must set this Kconfig option now to ``0`` at minimum as the Fast Pair specification requires that the conducted Bluetooth transmit power for FMDN advertisements must not be lower than 0 dBm. + * A new information callback, :c:member:`bt_fast_pair_fmdn_info_cb.conn_authenticated`, to the FMDN extension API. + In the FMDN context, this change is required to support firmware update intents on the Android platform. + For further details on the Android intent feature for firmware updates, see the :ref:`ug_bt_fast_pair_provisioning_register_firmware_update_intent` section in the Fast Pair integration guide. + * A workaround for the issue where the FMDN clock value might not be correctly set after the system reboot for nRF54L Series devices. + For details, see the NCSDK-32268 known issue in the :ref:`known_issues` page. + * A new function :c:func:`bt_fast_pair_fmdn_is_provisioned` for the FMDN extension API. + This function can be used to synchronously check the current FMDN provisioning state. + For more details, see the :ref:`ug_bt_fast_pair_gatt_service_fmdn_info_callbacks_provisioning_state` section in the Fast Pair integration guide. + + * Updated: + + * The :c:func:`bt_fast_pair_info_cb_register` API to allow registration of multiple callbacks. + * The Fast Pair sysbuild Kconfig options. + The ``SB_CONFIG_BT_FAST_PAIR`` Kconfig option is replaced with the ``SB_CONFIG_BT_FAST_PAIR_MODEL_ID`` and ``SB_CONFIG_BT_FAST_PAIR_ANTI_SPOOFING_PRIVATE_KEY``. + * The method of supplying the Fast Pair Model ID and Anti-Spoofing Private Key to generate the Fast Pair provisioning data HEX file. + The ``FP_MODEL_ID`` and ``FP_ANTI_SPOOFING_KEY`` CMake variables are replaced by the corresponding ``SB_CONFIG_BT_FAST_PAIR_MODEL_ID`` and ``SB_CONFIG_BT_FAST_PAIR_ANTI_SPOOFING_PRIVATE_KEY`` Kconfig options. + * The automatically generated ``bt_fast_pair`` partition definition (in the :file:`subsys/partition_manager/pm.yml.bt_fast_pair` file) to work correctly when building with TF-M. + * The behavior of the :c:member:`bt_fast_pair_fmdn_info_cb.provisioning_state_changed` callback. + The callback no longer reports the initial provisioning state after the Fast Pair subsystem is enabled with the :c:func:`bt_fast_pair_enable` function call. + See the :ref:`migration guide ` for mandatory changes and the :ref:`ug_bt_fast_pair_gatt_service_fmdn_info_callbacks_provisioning_state` section in the Fast Pair integration guide for the description on how to track the FMDN provisioning state with the new approach. + + * Removed the sysbuild control over the :kconfig:option:`CONFIG_BT_FAST_PAIR` Kconfig option that is defined in the main (default) image. + Sysbuild no longer sets the value of this Kconfig option. + +* :ref:`wifi_prov_readme` library: + + * Added a new section :ref:`wifi_provisioning_protocol`. + +* :ref:`bt_mesh`: + + * Fixed an issue in the :ref:`bt_mesh_light_ctrl_srv_readme` model to automatically resume the Lightness Controller after recalling a scene (NCSDK-30033 known issue). + +Common Application Framework +---------------------------- + +* :ref:`caf_buttons`: + + * Added: + + * The possibility of using more GPIOs. + Earlier, only **GPIO0** and **GPIO1** devices were supported. + Now, the generic solution supports all GPIOs available in the DTS. + * The :c:struct:`power_off_event` handling to prevent entering system off state with GPIO interrupt disabled. + Entering system off state with GPIO interrupt disabled would make CAF Buttons unable to trigger wakeup from the system off state on button press. + +* :ref:`caf_power_manager`: + + * Updated: + + * The :kconfig:option:`CONFIG_CAF_POWER_MANAGER` Kconfig option to imply the device power management (:kconfig:option:`CONFIG_PM_DEVICE`) instead of selecting it. + The device power management is not required by the module. + * The :kconfig:option:`CONFIG_CAF_POWER_MANAGER` Kconfig option to imply device runtime power management (:kconfig:option:`CONFIG_PM_DEVICE_RUNTIME`) for the nRF54H Series SoC (:kconfig:option:`CONFIG_SOC_SERIES_NRF54HX`). + The feature can be used to reduce the power consumption of device drivers. + Enabling the device runtime power management also prevents using system-managed device power management (:kconfig:option:`CONFIG_PM_DEVICE_SYSTEM_MANAGED`) by default. + The system-managed device power management does not work properly with some drivers (for example, nrfx UARTE) and should be avoided. + * The module implementation to use :c:func:`sys_poweroff` API instead of :c:func:`pm_state_force` API to enter the system off state. + * The module implementation to integrate the newly introduced :c:struct:`power_off_event`. + The event is used to inform application modules that system power off (:c:func:`sys_poweroff`) is about to happen. + +DFU libraries +------------- + +* Added: + + * Support for :ref:`manifest-controlled variables` that allow to control manifest logic based on previous evaluations as well as store integer values inside the SUIT non-volatile memory region. + * Support for :ref:`In-place Updateable Components (IPUC)` that allow to cross memory permission boundaries to update inactive memory regions from the main application. + +* :ref:`lib_fmfu_fdev`: + + * Regenerated the zcbor-generated code files using v0.9.0. + +* :ref:`subsys_suit`: + + * Added: + + * Support for manifest-controlled variables, that allow to control manifest logic based on previous evaluations as well as store integer values inside the SUIT non-volatile memory region. + * Support for in-place updateable components (IPUC) that allows to cross memory permission boundaries to update inactive memory regions from the main application. + * Support for IPUC in SUIT manifests that makes possible the following: + + * To fetch payloads directly into an IPUC. + * To declare an IPUC as DFU cache area. + * To trigger Nordic firmware updates from an IPUC-based DFU cache area. + + * Support for IPUC in DFU protocols that makes possible the following: + + * To write into IPUC using SMP image command group. + * To write into IPUC using SUIT SMP cache raw upload commands. + * To write into IPUC using SUIT :ref:`dfu_target` library. + + * Possibilities for the following: + + * To copy binaries into radio local RAM memory from SUIT radio manifests. + * To specify the minimal Nordic top manifest version in the :file:`VERSION` file. + * To block independent updates of Nordic manifests using the :kconfig:option:`CONFIG_SUIT_NORDIC_TOP_INDEPENDENT_UPDATE_FORBIDDEN` Kconfig option. + + * Updated by moving the MPI configuration from local Kconfig options to sysbuild. + +Modem libraries +--------------- + +* Deprecated the :ref:`at_params_readme` library. + +* :ref:`pdn_readme` library: + + * Deprecated the :c:func:`pdn_dynamic_params_get` function. + Use the new function :c:func:`pdn_dynamic_info_get` instead. + +* :ref:`lte_lc_readme` library: + + * Added sending of ``LTE_LC_EVT_NEIGHBOR_CELL_MEAS`` event with ``current_cell`` set to ``LTE_LC_CELL_EUTRAN_ID_INVALID`` in case an error occurs while parsing the ``%NCELLMEAS`` notification. + * Fixed handling of ``%NCELLMEAS`` notification with status 2 (measurement interrupted) and no cells. + +* :ref:`modem_key_mgmt` library: + + * Added: + + * The :c:func:`modem_key_mgmt_digest` function that would retrieve the SHA1 digest of a credential from the modem. + * The :c:func:`modem_key_mgmt_list` function that would retrieve the security tag and type of every credential stored in the modem. + + * Fixed: + + * An issue with the :c:func:`modem_key_mgmt_clear` function where it returned ``-ENOENT`` when the credential was cleared. + * A race condition in several functions where ``+CMEE`` error notifications could be disabled by one function before the other one got a chance to run its command. + * An issue with the :c:func:`modem_key_mgmt_clear` function where ``+CMEE`` error notifications were not restored to their original state if the ``AT%CMNG`` AT command failed. + * The :c:func:`modem_key_mgmt_clear` function to lock the shared scratch buffer. + +* :ref:`nrf_modem_lib_readme`: + + * Updated the :ref:`nrf_modem_lib_lte_net_if` to automatically set the actual link :term:`Maximum Transmission Unit (MTU)` on the network interface when PDN connectivity is gained. + * Fixed a bug where various subsystems would be erroneously initialized during a failed initialization of the library. + +* :ref:`lib_location` library: + + * Removed support for HERE location services. + +* :ref:`lib_at_host` library: + + * Fixed a bug where AT responses would erroneously be written to the logging UART instead of being written to the chosen ``ncs,at-host-uart`` UART device when the :kconfig:option:`CONFIG_LOG_BACKEND_UART` Kconfig option was set. + +* :ref:`modem_info_readme` library: + + * Added: + + * The :c:enum:`modem_info_data_type` type for representing LTE link information data types. + * The :c:func:`modem_info_data_type_get` function for requesting the data type of the current modem information type. + + * Deprecated the :c:func:`modem_info_type_get` function in favor of the :c:func:`modem_info_data_type_get` function. + +* :ref:`lib_modem_slm` library: + + * Updated: + + * By renaming the ``CONFIG_MODEM_SLM_WAKEUP_PIN`` and ``CONFIG_MODEM_SLM_WAKEUP_TIME`` Kconfig options to :kconfig:option:`CONFIG_MODEM_SLM_POWER_PIN` and :kconfig:option:`CONFIG_MODEM_SLM_POWER_PIN_TIME`, respectively. + * By renaming the ``modem_slm_wake_up`` function to :c:func:`modem_slm_power_pin_toggle`. + +Multiprotocol Service Layer libraries +------------------------------------- + +* Added: + + * Integration with the nrf2 clock control driver for the nRF54H20 SoC. + * Integration with Zephyr's system power management for the nRF54H20 SoC. + * Global domain HSFLL120 320MHz frequency request if MPSL is enabled. + The high frequency in global domain is required to ensure that fetching instructions from L2-cache and MRAM is as fast as possible. + It is needed for the radio protocols to operate correctly. + * MRAM always-on request for scheduled radio events. + It is needed to avoid MRAM wake-up latency for radio protocols. + +Libraries for networking +------------------------ + +* Added: + + * The :ref:`lib_downloader` library. + * A backend for the :ref:`TLS Credentials Subsystem ` that stores the credentials in the modem, see :kconfig:option:`CONFIG_TLS_CREDENTIALS_BACKEND_NRF_MODEM`. + +* Deprecated the :ref:`lib_download_client` library. + See the :ref:`migration guide ` for recommended changes. + +* Updated the following libraries to use the :ref:`lib_downloader` library instead of the :ref:`lib_download_client` library: + + * :ref:`lib_nrf_cloud` + * :ref:`lib_aws_fota` + * :ref:`lib_azure_fota` + * :ref:`lib_fota_download` + +* :ref:`lib_nrf_cloud_pgps` library: + + * Fixed the warning due to missing ``https`` download protocol. + +* :ref:`lib_fota_download` library: + + * Added error codes related to unsupported protocol, DFU failures, and invalid configuration. + +* :ref:`lib_nrf_cloud` library: + + * Added the :kconfig:option:`CONFIG_NRF_CLOUD` Kconfig option to prevent unintended inclusion of nRF Cloud Kconfig variables in non-nRF Cloud projects. + * Updated to use the :ref:`lib_app_jwt` library to generate JWT tokens. + +Other libraries +--------------- + +* Added new library :ref:`lib_app_jwt` library. + +* :ref:`mod_dm` library: + + * Updated the default timeslot duration to avoid an overstay assert when the ranging failed. + +* Removed the unused SDFW services ``echo_service``, ``reset_evt_service``, and ``sdfw_update_service``. + +Libraries for Zigbee +-------------------- + +* Removed Zigbee libraries. + They are now available as separate `Zigbee R22`_ and `Zigbee R23`_ add-on repositories. + +Scripts +======= + +This section provides detailed lists of changes by :ref:`script `. + +* :ref:`nrf_desktop_config_channel_script`: + + * Removed HID device type mapping for Development Kits. + A Development Kit may use various HID roles (depending on configuration). + Assigning a fixed type for each board might be misleading. + HID device type is still defined for boards that are always configured as the same HID device type. + +Integrations +============ + +This section provides detailed lists of changes by :ref:`integration `. + +Google Fast Pair integration +---------------------------- + +* Added: + + * Instructions on how to provision the Fast Pair data onto devices without the :ref:`partition_manager` support, specifically for the :ref:`zephyr:nrf54h20dk_nrf54h20`. + * Information on how to support the firmware update intent feature on the Android platform. + Expanded the documentation for the Fast Pair devices with the FMDN extension, which requires additional steps to support this feature. + +* Updated: + + * The :ref:`ug_bt_fast_pair_provisioning_register_hex_generation` section that describes how to generate the hex file with the Fast Pair provisioning data. + * The :ref:`ug_bt_fast_pair_prerequisite_ops_kconfig` section to align it with recent changes in the sysbuild configuration for Fast Pair. + * The :ref:`ug_bt_fast_pair_gatt_service_fmdn_info_callbacks_provisioning_state` section with changes to the FMDN API elements that are used for tracking of the FMDN provisioning state. + +Memfault integration +-------------------- + +* Added a new feature to automatically post coredumps to Memfault when network connectivity is available. + To enable this feature, set the :kconfig:option:`CONFIG_MEMFAULT_NCS_POST_COREDUMP_ON_NETWORK_CONNECTED` Kconfig option to ``y``. + Only supported for nRF91 Series devices. + +* Added a new feature to automatically capture and upload modem traces to Memfault with coredumps upon a crash. + To enable this feature, set the :kconfig:option:`CONFIG_MEMFAULT_NCS_POST_MODEM_TRACE_ON_COREDUMP` Kconfig option to ``y``. + Only supported for nRF91 Series devices. + +sdk-nrfxlib +----------- + +See the changelog for each library in the :doc:`nrfxlib documentation ` for additional information. + +* Added :ref:`soft_peripherals`. +* Removed the Zboss documentation. + It is now available in separate `Zigbee R22`_ and `Zigbee R23`_ add-on repositories (depending on the device you are working with). + +MCUboot +======= + +The MCUboot fork in |NCS| (``sdk-mcuboot``) contains all commits from the upstream MCUboot repository up to and including ``1b2fc096d9a683a7481b13749d01ca8fa78e7afd``, 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: + +* Fixed an issue where an unusable secondary slot was cleared three times instead of once during cleanup. +* Added keys revocation scheme support for nRF54L SoCs, see ``CONFIG_BOOT_KEYS_REVOCATION`` MCUboot Kconfig option. +* Improved time performance of firmware update by usage of best RRAM write operation buffering on nRF54L SoCs. +* Introduced improved swap algorithm: swap-using-offset, see ``CONFIG_BOOT_SWAP_USING_OFFSET`` MCUboot Kconfig option. +* Image compression support has been brought to production quality. +* Experimental support has been added for encrypted DFU with ECIES x25519 encryption using MCUboot for nRF54L SoCs. + +Zephyr +====== + +.. NOTE TO MAINTAINERS: All the Zephyr commits in the below git commands must be handled specially after each upmerge and each nRF Connect SDK release. + +The Zephyr fork in |NCS| (``sdk-zephyr``) contains all commits from the upstream Zephyr repository up to and including ``fdeb7350171279d4637c536fcceaad3fbb775392``, 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``): + +.. code-block:: none + + git log --oneline fdeb735017 ^beb733919d + +For the list of |NCS| specific commits, including commits cherry-picked from upstream, run: + +.. code-block:: none + + git log --oneline manifest-rev ^fdeb735017 + +The current |NCS| main branch is based on revision ``fdeb735017`` 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 `. + +Additions specific to |NCS| +--------------------------- + +The new ZMS settings backend is not backward compatible with the old version. + +Using the new backend, you can now enable some performance optimizations using the following Kconfig options: + +* :kconfig:option:`CONFIG_SETTINGS_ZMS_LL_CACHE` - Used for caching the linked list nodes related to Settings Key/Value entries. +* :kconfig:option:`CONFIG_SETTINGS_ZMS_LL_CACHE_SIZE` - Specifies the size of the linked list cache (each entry occupies 8 Bytes of RAM). +* :kconfig:option:`CONFIG_SETTINGS_ZMS_NO_LL_DELETE` - Disables deleting the linked list nodes when deleting a Settings Key. + Use this option only when the application is always using the same Settings Keys. + When the application uses random Keys, enabling this option could lead to incrementing the linked list nodes without corresponding Keys and cause excessive delays to loading of the Keys. + Use this option only to accelerate the delete operation for a fixed set of Settings elements. +* :kconfig:option:`CONFIG_SETTINGS_ZMS_LOAD_SUBTREE_PATH` - First loads the subtree path passed in the argument, then continues to load all the Keys in the same subtree if the handler returns a zero value. +* Using the :c:func:`settings_load_one` function to retrieve the value of a known Key is recommended with ZMS as it improves the read performance a lot. +* To get the value length of a Settings entry, it is recommended to use the :c:func:`settings_get_val_len` function. + +Documentation +============= + +* Added: + + * Extensive documentation on :ref:`Developing with coprocessors `. + It covers topics related to :ref:`High-Performance Framework (HPF) `, detailing how to create and integrate software peripherals using coprocessors. + * New page :ref:`ug_custom_board`. + This page includes the following subpages: + + * :ref:`defining_custom_board` - Previously located under :ref:`app_boards`. + * :ref:`programming_custom_board` - New subpage. + + * New page :ref:`thingy53_precompiled` under :ref:`ug_thingy53`. + This page includes some of the information previously located on the standalone page for Getting started with Nordic Thingy:53. + * New page :ref:`add_new_led_example` under :ref:`configuring_devicetree`. + This page includes information previously located in the |nRFVSC| documentation. + * The :ref:`cellular_psm` page under the :ref:`ug_lte` documentation, and the documentation is now split into subpages. + * The :ref:`ug_bootloader_main_config` page under the :ref:`app_dfu` documentation. + +* Updated: + + * The :ref:`create_application` page with the :ref:`creating_add_on_index` section. + * The :ref:`ug_nrf91` documentation to use `nRF Util`_ instead of nrfjprog. + * The :ref:`dm-revisions` section of the :ref:`dm_code_base` page with information about the preview release tag, which replaces the development tag. + * The :ref:`ug_bt_mesh_configuring` page with the security toolbox section and the key importer functionality. + * The :ref:`ug_nrf7002_gs` documentation to use `nRF Util`_ instead of nrfjprog. + +* Removed: + + * The entire Zigbee protocol, application, and samples documentation. + It is now available as separate `Zigbee R22`_ and `Zigbee R23`_ add-on repositories. + * The standalone page for getting started with Nordic Thingy:53. + The contents of this page have been moved to the :ref:`thingy53_precompiled` page and to the `Programmer app `_ documentation. + * The standalone page for getting started with Nordic Thingy:91. + The contents of this page are covered by the `Cellular IoT Fundamentals course`_ in the `Nordic Developer Academy`_. + The part about connecting the prototyping platform to nRF Cloud is now a standalone :ref:`thingy91_connect_to_cloud` page in the :ref:`thingy91_ug_intro` section. + * The standalone page for getting started with the nRF9160 DK. + This page has been replaced by the `Quick Start app`_ that supports the nRF9160 DK. + The content about connecting the DK to nRF Cloud is now a standalone :ref:`nrf9160_gs_connecting_dk_to_cloud` page in the :ref:`ug_nrf9160` section. + * The guide about migrating from Secure Partition Manager to Trusted Firmware-M (Secure Partition manager was removed in the |NCS| v2.1.0 release). + If you still need to migrate, see the `information in the nRF Connect SDK v2.0.0 documentation `_. diff --git a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst index 3332f2f040ad..97d74fc854ba 100644 --- a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst +++ b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst @@ -1,3 +1,5 @@ +:orphan: + .. _ncs_release_notes_changelog: Changelog for |NCS| v2.9.99 diff --git a/samples/bluetooth/fast_pair/locator_tag/README.rst b/samples/bluetooth/fast_pair/locator_tag/README.rst index 01160bcf2c34..c4a2348e67c0 100644 --- a/samples/bluetooth/fast_pair/locator_tag/README.rst +++ b/samples/bluetooth/fast_pair/locator_tag/README.rst @@ -237,6 +237,8 @@ This restriction helps satisfy FMDN privacy requirements, which prohibit the loc Moreover, after entering the DFU mode, the SMP GATT Service UUID is present in the Fast Pair advertising payload which helps to filter and find the devices that are in the DFU mode. It is located in advertising data when Fast Pair advertising is in the discoverable mode, or in the scan response data when it is in the not discoverable mode. +.. _android_notifications_fastpair: + Android notifications about firmware updates --------------------------------------------