Changelog for |NCS| v3.3.99
- Known issues
- Changelog
- IDE, OS, and tool support
- Board support
- Build and configuration system
- Bootloaders and DFU
- Developing with nRF91 Series
- Developing with nRF70 Series
- Developing with nRF54L Series
- Developing with nRF54H Series
- Developing with nRF53 Series
- Developing with nRF52 Series
- Developing with Thingy:91 X
- Developing with Thingy:91
- Developing with Thingy:53
- Developing with PMICs
- Developing with Front-End Modules
- Developing with custom boards
- Security
- Protocols
- Applications
- Samples
- Drivers
- Libraries
- Scripts
- Integrations
- MCUboot
- Zephyr
- zcbor
- Documentation
The most relevant changes that are present on the main branch of the |NCS|, as compared to the latest official release, are tracked in this file.
Note
This file is a work in progress and might not cover all relevant changes.
Known issues are only tracked for the latest official release. See `known issues for nRF Connect SDK v3.3.0`_ for the list of issues valid for the latest release.
The following sections provide detailed lists of changes by component.
- Updated the Thingy:91 and Thingy:91 X devicetree partitions to match the Partition Manager partitions.
- Added support for the new LCS API to control bootloader behavior. When this API is enabled, the bootloader can skip signature verification in early LCS states and abort the boot process in the decommissioned state.
Updated:
- MCUboot to support MRAM write protection for up to four images.
- Added:
- Support for the X25519 key pair storage in the :ref:`Key Management Unit (KMU) <ug_kmu_guides_supported_key_types>`.
- Updated:
- How the :kconfig:option:`CONFIG_NRF_SECURITY` and :kconfig:option:`CONFIG_PSA_CRYPTO` interact with each other. :kconfig:option:`CONFIG_NRF_SECURITY` is now promptless and auto-enabled indirectly by :kconfig:option:`CONFIG_PSA_CRYPTO`.
- Approach to store keys in the KMU so that AEAD algorithms with non-default (shortened) tag lengths are supported.
- Fixed:
- Issues with incorrect support status on the :ref:`ug_crypto_supported_features` page:
- The :kconfig:option:`CONFIG_PSA_WANT_ALG_GCM` Kconfig option is now correctly listed as unsupported for SoCs with Arm CryptoCell CC310.
- The tables for supported AES key wrapping algorithms for nRF54L Series devices now list the nRF54LS05 device (not supported in the CRACEN driver; experimental in the nrf_oberon driver).
- The post-quantum cryptography algorithms for nrf_oberon under Key types and key management are now correctly listed as experimental instead of supported.
- The SPAKE2+ for Matter is now correctly listed as supported instead of experimental.
- The WPA3-SAE hash-to-element algorithm is now correctly listed as a KDF algorithm, not a PAKE algorithm.
- The SHA-256/192 and SHAKE hashing algorithms are now correctly listed as not supported in the CRACEN driver and Experimental in the nrf_oberon driver. The only exception is the SHAKE256 512 bits algorithm, which is supported in the both the CRACEN and nrf_oberon drivers.
- Issues with incorrect support status on the :ref:`ug_crypto_supported_features` page:
- Removed:
- The following Kconfig options:
CONFIG_NRF_SECURITY_ADVANCED
- The following Kconfig options:
This section provides detailed lists of changes by :ref:`protocol <protocols>`. See Samples for lists of changes for the protocol-related samples.
This section provides detailed lists of changes by :ref:`application <applications>`.
- Added support for the nRF54LV10A SoC in HPF MSPI.
- Added the :kconfig:option:`CONFIG_BT_AUDIO_BROADCAST_BASE_PRINT` kconfig option to print the contents of the BASE when it is received. This option is intended for debugging purposes. It is only valid for the :ref:`broadcast sink application <nrf53_audio_broadcast_sink_app>`.
- :kconfig:option:`CONFIG_LTO` to enable link-time optimization for the application. It improves application performance and reduces code size.
- Updated the call to :c:func:`hci_vs_sdc_iso_read_tx_timestamp` so that, when sending ISO data, it is performed at regular intervals instead of every SDU interval. This change reduces the frequency of application-controller time synchronization, while significantly reducing processing overhead.
This section provides detailed lists of changes by :ref:`sample <samples>`.
- Added:
- The :ref:`channel_sounding_ipt_initiator` and :ref:`channel_sounding_ipt_reflector` samples to demonstrate how to use the Bluetooth Channel Sounding (CS) Inline Phase Correction Term Transfer (IPT) feature.
- :ref:`bluetooth_mesh_light` sample:
- The partition layout for the
nrf5340dk/nrf5340/cpuapp/nsboard target is not backward compatible with the previous versions of the sample. This affects builds with support of point-to-point Device Firmware Update (DFU) over the Simple Management Protocol (SMP). - Updated the approach to build the sample with point-to-point Device Firmware Update (DFU) over the Simple Management Protocol (SMP). There are no :file:`overlay-dfu.conf` and :file:`sysbuild-dfu.conf` files anymore. DFU support is enabled as a suffixed configuration.
- The partition layout for the
- :ref:`bluetooth_mesh_light_lc` sample:
- The partition layout for the
nrf5340dk/nrf5340/cpuapp/nsboard target is not backward compatible with the previous versions of the sample. This affects builds with support for the EMDS.
- The partition layout for the
- :ref:`ble_mesh_dfu_distributor` sample:
- The partition layout for the
nrf54l15dk/nrf54l15/cpuapp,nrf54l15dk/nrf54l10/cpuapp, andnrf54lm20dk/nrf54lm20a/cpuappboard targets is not backward compatible with the previous versions of the sample.
- The partition layout for the
- :ref:`ble_mesh_dfu_target` sample:
- The partition layout for the
nrf54l15dk/nrf54l15/cpuapp,nrf54l15dk/nrf54l10/cpuapp, andnrf54lm20dk/nrf54lm20a/cpuappboard targets is not backward compatible with the previous versions of the sample.
- The partition layout for the
Updated the DTS overlays of the Fast Pair samples to use the new
zephyr,mapped-partitioncompatible property for each partition node. The change aligns the board target overlays with the layout produced by the Partition Manager-to-DTS helper script (:file:`scripts/pm_to_dts.py`).Removed the remaining
nrf54h20dk/nrf54h20/cpuappboard target configurations from the following samples:Updated the sample documentation to remove all references to the
nrf54h20dk/nrf54h20/cpuappboard target, including descriptions of nRF54H-specific solutions such as the legacy SUIT DFU integration.Support for this target was already dropped during the IronSide SE migration in the |NCS| v3.1.0 release.
- Added support for the
nrf54ls05dk/nrf54ls05a/cpuappboard target to all samples, except :ref:`crypto_aes_kw`, :ref:`crypto_kmu_cracen_usage`, and :ref:`crypto_persistent_key`.
- Updated:
- The ref:mcuboot_minimal_configuration has been moved to the :file:`samples/dfu` directory.
|ISE| samples
- Removed support for the nRF7002 DK and nRF5340 DK used with the nRF7002 EK shield from all Matter samples, as this configuration was deprecated in |NCS| v3.2.0. The removal is mainly due to the very limited non-volatile memory available for application code. As an alternative, use the nRF54LM20A or nRF54LM20B SoC with the nRF7002-EB II shield. This combination provides significantly more non-volatile memory for Matter over Wi-Fi applications.
- :ref:`azure_iot_hub` sample:
- Added support for the nRF54LM20 DK with the nRF7002-EB II shield.
- :ref:`802154_phy_test` sample:
- Removed unused functions from the :file:`rf_proc.c` file and the :file:`rf_proc.h` header file.
- :ref:`radio_test` sample:
- Added:
start_tx_sweep_with_sleepshell command that allows for running a TX sweep with silent periods between each frequency.start_tx_sweep_with_sleep_modulatedshell command that allows for running a modulated TX sweep with silent periods between each frequency.set_channel_sequenceshell command that allows for setting a custom channel sequence for thestart_tx_sweep_with_sleepandstart_tx_sweep_with_sleep_modulatedcommands.print_channel_sequenceshell command that prints the currently configured channel sequence.set_channel_sequence_hopping_modeshell command that allows for setting the hopping mode for the channel sequence.- Support for pin debugging of radio events on nRF54L Series devices.
- Updated the
start_duty_cycle_modulated_txcommand to accept an optional argument specifying the number of packets to transmit. If no additional argument is provided, the command works as before. - Fixed an issue where the
start_duty_cycle_modulated_txcommand would not work correctly on nRF52 Series devices if the command was triggered more than once.
- Added:
This section provides detailed lists of changes by :ref:`driver <drivers>`.
This section provides detailed lists of changes by :ref:`library <libraries>`.
- :ref:`liblwm2m_carrier_readme` library:
- Added support for building without Partition Manager.
This requires an
lwm2m_carrierpartition to be defined in devicetree.
- Added support for building without Partition Manager.
This requires an
- :ref:`nrf_modem_lib_readme` library:
- Added support for building for the nRF91 board without Partition Manager.
This requires
cpuapp_cpucell_ipc_shm_ctrl,cpuapp_cpucell_ipc_shm_heap, andcpucell_cpuapp_ipc_shm_heappartitions to be defined in the devicetree. - Use a separate
cpucell_cpuapp_ipc_shm_tracepartition for modem tracing instead of splitting thecpucell_cpuapp_ipc_shm_heappartition.
- Added support for building for the nRF91 board without Partition Manager.
This requires
- Removed the deprecated PDN library. Use the PDN management functionality in the :ref:`lte_lc_readme` library instead.
- :ref:`lib_nrf_provisioning` library:
- Removed dependency on the :ref:`lte_lc_readme` library. The :ref:`at_monitor_readme` library is now used for tracking network connectivity status.
- :ref:`lib_nrf_cloud` library:
- Fixed:
- An issue where PEM private keys with CRLF line endings could not be decoded correctly for JWT signing used in nRF Cloud CoAP authentication.
- A DTLS socket option setup to inspect
errnoaftersetsockopt()failures instead of comparing the return value toEOPNOTSUPPorEINVAL, which could mishandle unsupported options during DTLS configuration. - The DTLS handshake timeout configuration on native (non-modem) sockets by using
TLS_DTLS_HANDSHAKE_TIMEOUT_MINandTLS_DTLS_HANDSHAKE_TIMEOUT_MAXinstead of the modem-onlyTLS_DTLS_HANDSHAKE_TIMEOoption, avoiding handshake failures when connecting to nRF Cloud over Wi-Fi. - The internal CoAP client socket descriptor not being updated immediately after a new DTLS socket was connected, which could leave
client->cc.fdstale during reconnect and interfere with CoAP polling, receive, and retransmit paths.
- Removed the nRF Cloud Alerts library. As part of the migration to nRF Cloud powered by Memfault, the nRF Cloud Alerts feature is now redundant. `Memfault's Trace Events <Memfault: Error Tracking with Trace Events_>`_ feature replaces the Alerts feature, as it provides equivalent functionality for event reporting, and it also adds enhanced debugging capabilities that were not available with Alerts.
- Fixed:
- :ref:`lib_nrf_cloud_pgps` library:
- Updated the range for the :kconfig:option:`CONFIG_NRF_CLOUD_PGPS_NUM_PREDICTIONS` and :kconfig:option:`CONFIG_NRF_CLOUD_PGPS_REPLACEMENT_THRESHOLD` Kconfig options to values supported by nRF Cloud.
- Fixed:
- An issue that caused predictions to be stored into incorrect index in flash, leading to an error when the affected predictions were used.
- An issue where the library tried to use predictions that had not yet been flushed to flash, leading to a prediction validation error.
- An issue where the library kept trying to use corrupted predictions.
See the changelog for each library in the :doc:`nrfxlib documentation <nrfxlib:README>` for additional information.
This section provides detailed lists of changes by :ref:`script <scripts>`.
- :ref:`west_sbom` script:
- Added:
- Licence handling of the LLVM toolchain libraries.
- Support for hex only
softdevicesysbuild domains. - Updated the SPDX License List database to version 3.28.0.
This section provides detailed lists of changes by :ref:`integration <integrations>`.
- Added a
memfaultEncontrol key in the Device Shadow, enabling dynamic enable/disable of Memfault chunk uploads at runtime. This is done through Device Shadow updates. A new control variable is used.
The MCUboot fork in |NCS| (sdk-mcuboot) contains all commits from the upstream MCUboot repository up to and including 8d14eebfe0b7402ebdf77ce1b99ba1a3793670e9, with some |NCS| specific additions.
The code for integrating MCUboot into |NCS| is located in the :file:`ncs/nrf/modules/mcuboot` folder.
The following list summarizes both the main changes inherited from upstream MCUboot and the main changes applied to the |NCS| specific additions:
- Fixed a possible infinite loop in the bootloader information sharing procedure when the Kconfig options :kconfig:option:`CONFIG_BOOT_SHARE_DATA_BOOTINFO` and :kconfig:option:`CONFIG_MCUBOOT_HW_DOWNGRADE_PREVENTION` are enabled. Iterating boot-info security counters could spin forever if the :c:func:`boot_nv_security_counter_get` function failed for an image index (for example, backends that expose only one NV counter when :kconfig:option:`CONFIG_BOOT_IMAGE_NUMBER` is greater than one).
The Zephyr fork in |NCS| (sdk-zephyr) contains all commits from the upstream Zephyr repository up to and including 684c9e8f32e4373a21098559f748f06915f950c9, with some |NCS| specific additions.
For the list of upstream Zephyr commits (not including cherry-picked commits) incorporated into |NCS| since the most recent release, run the following command from the :file:`ncs/zephyr` repository (after running west update):
git log --oneline 684c9e8f32 ^911b3da139
For the list of |NCS| specific commits, including commits cherry-picked from upstream, run:
git log --oneline manifest-rev ^684c9e8f32
The current |NCS| main branch is based on revision 684c9e8f32 of Zephyr.
Note
For possible breaking changes and changes between the latest Zephyr release and the current Zephyr version, refer to the :ref:`Zephyr release notes <zephyr_release_notes>`.
Additions specific to |NCS|
- Added:
- Description of the MRAM auto-powerdown tradeoff in the :ref:`ug_nrf54h20_pm_optimization` documentation page.
- MSD disable step in the :ref:`ug_nrf54h20_gs` guide.
- MRAM11 Ironside SE update limitations in the :ref:`ug_nrf54h20_ironside_update` and :ref:`ug_nrf54h20_ironside_services` documentation pages.
Updated:
- The :ref:`ug_nrf54h20_architecture_lifecycle` documentation page, expanding the description of the LCS states.