Changelog for nRF Connect SDK v3.1.0-preview3
This changelog reflects the most relevant changes from the latest official release.
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.
Changelog
The following sections provide detailed lists of changes by component.
IDE, OS, and tool support
No changes since the latest nRF Connect SDK release.
Board support
Added:
Bias-pull-up for Thingy:91 X nRF9151 UART RX pins.
Alternative partition tables for Thingy:91 X.
Build and configuration system
No changes since the latest nRF Connect SDK release.
Bootloaders and DFU
No changes since the latest nRF Connect SDK release.
Developing with nRF91 Series
No changes since the latest nRF Connect SDK release.
Developing with nRF70 Series
No changes since the latest nRF Connect SDK release.
Developing with nRF54L Series
Increased the default value of the
CONFIG_MPSL_HFCLK_LATENCYKconfig option to support slower crystals. See the Kconfig description for a detailed description on how to select the correct value for a given application.Added the Configuring DFU and MCUboot documentation page, describing how to configure Device Firmware Update (DFU) and secure boot settings using MCUboot and NSIB.
Developing with nRF54H Series
No changes since the latest nRF Connect SDK release.
Developing with nRF53 Series
No changes since the latest nRF Connect SDK release.
Developing with nRF52 Series
No changes since the latest nRF Connect SDK release.
Developing with Thingy:91 X
No changes since the latest nRF Connect SDK release.
Developing with Thingy:91
No changes since the latest nRF Connect SDK release.
Developing with Thingy:53
No changes since the latest nRF Connect SDK release.
Developing with PMICs
No changes since the latest nRF Connect SDK release.
Developing with Front-End Modules
Added:
Support for the nRF21540 Front-End Module in GPIO/SPI mode for nRF54L Series devices.
Developing with custom boards
No changes since the latest nRF Connect SDK release.
Security
Added the new section about Cryptography in the nRF Connect SDK. The new section includes pages about Cryptographic architecture overview (new page) and Cryptographic drivers (moved from nRF Security library).
Updated:
The TF-M logging page with more details about how to configure logging on the same UART instance as the application for nRF5340 and nRF91 Series devices.
The Cryptographic drivers page with more details about the driver selection process.
Protocols
No changes since the latest nRF Connect SDK release.
Amazon Sidewalk
No changes since the latest nRF Connect SDK release.
Bluetooth® LE
Added the
CONFIG_BT_CTLR_CHANNEL_SOUNDING_TESTKconfig option. This option reduces the NVM usage of Channel Sounding when disabled by removing theLE CS TestandLE CS Test EndHCI commands.
No changes since the latest nRF Connect SDK release.
Bluetooth Mesh
No changes since the latest nRF Connect SDK release.
DECT NR+
No changes since the latest nRF Connect SDK release.
Enhanced ShockBurst (ESB)
No changes since the latest nRF Connect SDK release.
Gazell
No changes since the latest nRF Connect SDK release.
Matter
Added FastTrack Recertification and Portfolio Certification programs.
Updated:
The
west zap-generatecommand to remove previously generated ZAP files before generating new files. To skip removing the files, use the--keep-previousargument.The Creating manufacturer-specific clusters in Matter application user guide by adding information about implementing custom commands.
Matter fork
No changes since the latest nRF Connect SDK release.
nRF IEEE 802.15.4 radio driver
Updated:
The Kconfig option
CONFIG_NRF_802154_CCA_ED_THRESHOLDhas been replaced byCONFIG_NRF_802154_CCA_ED_THRESHOLD_DBMto ensure consistent behavior on different SoC families and to reduce the likelihood of misconfiguration.
Thread
No changes since the latest nRF Connect SDK release.
Wi-Fi®
No changes since the latest nRF Connect SDK release.
Applications
No changes since the latest nRF Connect SDK release.
Connectivity bridge
Fixed to resume Bluetooth connectable advertising after a disconnect.
IPC radio firmware
No changes since the latest nRF Connect SDK release.
Matter bridge
No changes since the latest nRF Connect SDK release.
nRF5340 Audio
Added:
Experimental support for Audio on the nRF5340 DK, with LED state indications and button controls.
Updated:
The application to use the
NFC.TAGHEADER0value from FICR as the broadcast ID instead of using a random ID.The application to change from Newlib to Picolib to align with nRF Connect SDK and Zephyr.
The application to use the Network Buffers API to pass audio data between threads. The Network Buffers will also contain the metadata about the audio stream in the
user_datasection of the API. This change was done to transition to standard Zephyr APIs, as well as to have a structured way to pass N-channel audio between modules.The optional buildprog tool to use nRF Util instead of nrfjprog that has been deprecated.
The documentation pages with information about the SD card playback module and how to enable it.
Removed:
The uart_terminal tool to use standardized tools. Similar functionality is provided through the nRF Terminal in the nRF Connect for VS Code.
nRF Desktop
Added:
The HID event queue utility. The utility can be used by an application module to temporarily queue HID events related to keypresses (button press or release) to handle them later.
The HID keymap utility. The utility can be used by an application module to map an application-specific key ID to a HID report ID and HID usage ID pair according to statically defined user configuration. The
hid_keymap.hfile was moved from theconfiguration/commondirectory to thesrc/utildirectory. The file is now the header of the HID keymap utility and contains APIs exposed by the utility.
Updated:
The application configurations for dongles on memory-limited SoCs (such as nRF52820) to reuse the system workqueue for GATT Discovery Manager (
CONFIG_BT_GATT_DM_WORKQ_SYS). This helps to reduce RAM usage.Link Time Optimization (
CONFIG_LTO) to be enabled in MCUboot configurations of the nRF52840 DK (mcuboot_smp,mcuboot_qspi). LTO no longer causes boot failures and it reduces the memory footprint.The HID Service module to use shared callbacks for multiple HID reports:
Use the
bt_hids_inp_rep_send_userdata()function to send HID input reports while in report mode.Use an extended callback with the notification event to handle subscriptions for HID input reports in report mode (
bt_hids_inp_rep).Use generic callbacks to handle HID feature and output reports.
This approach simplifies the process of adding support for new HID reports.
The HID state module to:
Use the HID event queue utility to temporarily queue HID events related to keypresses before a connection to the HID host is established.
Use the HID keymap utility to map an application-specific key ID from
button_eventto a HID report ID and HID usage ID pair.
The features were implemented directly in the HID state module before. This change simplifies the HID state module implementation and allows code reuse.
The HID input and output report maps (
input_reportsandoutput_reportsarrays defined in theconfiguration/common/hid_report_desc.hfile) to contain only IDs of enabled HID reports.The default value of the
CONFIG_APP_EVENT_MANAGER_MAX_EVENT_CNTKconfig option to64. This ensures that more complex configurations fit in the limit.The HID report queue utility to accept HID report IDs that do not belong to HID input reports supported by the application (are not part of the
input_reportsarray defined inconfiguration/common/hid_report_desc.hfile). Before the change, providing an unsupported HID report ID caused an assertion failure. Function signatures of thehid_reportq_subscribe()andhid_reportq_unsubscribe()functions were slightly changed (both functions return an error in case the provided HID report ID is unsupported).
nRF Machine Learning (Edge Impulse)
No changes since the latest nRF Connect SDK release.
Serial LTE modem
Added:
The
AT#XAPOLLcommand to asynchronously poll sockets for data.The send flags for
#XSEND,#XSENDTO,#XTCPSENDand#XUDPSENDcommands.The send flag value
512for waiting for acknowledgment of the sent data.
Updated:
The
AT#XPPPcommand to support the CID parameter to specify the PDN connection used for PPP.The
#XPPPnotification to include the CID of the PDN connection used for PPP.The initialization of the application to ignore a failure in nRF Cloud module initialization. This occurs sometimes especially during development.
The initialization of the application to send “INIT ERROR” over to UART and show clear error log to indicate that the application is not operational in case of failing initialization.
The PPP downlink data to trigger the indicate pin when SLM is in idle.
The
AT#XTCPCLIand theAT#XUDPCLIcommands to support CID of the PDN connection.
Thingy:53: Matter weather station
No changes since the latest nRF Connect SDK release.
Samples
This section provides detailed lists of changes by sample.
Amazon Sidewalk samples
No changes since the latest nRF Connect SDK release.
Bluetooth samples
Added experimental
llvmtoolchain support for the nRF54L Series board targets to the following samples:Bluetooth: ISO time synchronization sample:
Fixed an issue where the sample would assert with the
CONFIG_ASSERTKconfig option enabled. This was due to calling thebt_iso_chan_send()function from a timer ISR handler and sending SDUs to the controller with invalid timestamps.
Bluetooth: Peripheral HIDS keyboard and Bluetooth: Peripheral HIDS mouse samples:
Added a workaround to an issue with unexpected disconnections that resulted from improper handling of the Bluetooth Link Layer procedures by the connected Bluetooth Central device. This resolves the known issue NCSDK-33632.
No changes since the latest nRF Connect SDK release.
Bluetooth Mesh samples
No changes since the latest nRF Connect SDK release.
Bluetooth Fast Pair samples
Bluetooth Fast Pair: Locator tag sample:
Added possibility to build and run the sample without the motion detector support (with the
CONFIG_BT_FAST_PAIR_FMDN_DULT_MOTION_DETECTORKconfig option disabled).Updated the Android notifications about firmware updates section to improve the test procedure. The application provides now an additional log message to indicate that the firmware version is being read.
Cellular samples
Added support for the Thingy:91 X to the following samples:
nRF Cloud REST Device Message sample
nRF Cloud REST cellular location sample
nRF Cloud REST FOTA sample
Deprecated the LTE Sensor Gateway sample. It is no longer maintained.
Cellular: Modem Shell sample:
Added
ATE0andATE1in AT command mode to handle echo off/on.
nRF Cloud multi-service sample:
Added support for native simulator platform and updated the documentation accordingly.
Cellular: nRF Device provisioning sample:
Updated the sample to use Zephyr’s Connection Manager feature.
Cellular: nRF Cloud REST Device Message sample:
Updated the sample to use Zephyr’s Connection Manager feature.
Removed Provisioning service and JITP.
Cellular: nRF Cloud REST cellular location sample:
Removed JITP.
Cellular: nRF Cloud REST FOTA sample:
Updated the sample to use Zephyr’s Connection Manager feature.
Fixed SMP FOTA for the nRF9160 DK.
Removed JITP.
Cryptography samples
No changes since the latest nRF Connect SDK release.
Debug samples
No changes since the latest nRF Connect SDK release.
DECT NR+ samples
No changes since the latest nRF Connect SDK release.
Edge Impulse samples
No changes since the latest nRF Connect SDK release.
Enhanced ShockBurst samples
No changes since the latest nRF Connect SDK release.
Gazell samples
No changes since the latest nRF Connect SDK release.
Keys samples
No changes since the latest nRF Connect SDK release.
Matter samples
Changed Bluetooth Low Energy variant of the Soft Device Controller (SDC) to use the Peripheral-only role in all Matter samples.
Networking samples
Download sample:
Added the CONFIG_SAMPLE_PROVISION_CERT Kconfig option to provision the root CA certificate to the modem. The certificate is provisioned only if the CONFIG_SAMPLE_SECURE_SOCKET Kconfig option is set to
y.Fixed an issue where the network interface was not re-initialized after a fault.
NFC samples
Added experimental
llvmtoolchain support for thenrf54l15dk/nrf54l15/cpuappboard target to the following samples:NFC: Text record sample:
Added support for the
nrf54l15dk/nrf54l15/cpuapp/nsboard target.
nRF5340 samples
No changes since the latest nRF Connect SDK release.
Peripheral samples
Radio test (short-range) sample:
Added experimental
llvmtoolchain support for thenrf54l15dk/nrf54l15/cpuappboard target.
PMIC samples
No changes since the latest nRF Connect SDK release.
Protocol serialization samples
No changes since the latest nRF Connect SDK release.
SDFW samples
No changes since the latest nRF Connect SDK release.
Sensor samples
No changes since the latest nRF Connect SDK release.
SUIT samples
No changes since the latest nRF Connect SDK release.
Trusted Firmware-M (TF-M) samples
TF-M secure peripheral partition sample:
Added support for the
nrf54l15dk/nrf54l15/cpuapp/nsboard target.
Thread samples
No changes since the latest nRF Connect SDK release.
Wi-Fi samples
-
Updated Wi-Fi: Radio test (Multi domain) and Wi-Fi: Bluetooth LE Wi-Fi Radio test (Single domain) samples to clarify platform support for single-domain and multi-domain radio tests.
Other samples
No changes since the latest nRF Connect SDK release.
Drivers
This section provides detailed lists of changes by driver.
Added the sQSPI MSPI shim driver that allows for communication with devices that use MSPI bus-based Zephyr drivers.
Wi-Fi drivers
No changes since the latest nRF Connect SDK release.
Flash drivers
No changes since the latest nRF Connect SDK release.
Libraries
This section provides detailed lists of changes by library.
Binary libraries
No changes since the latest nRF Connect SDK release.
Bluetooth libraries and services
Google Fast Pair Service (GFPS) library:
Updated the
CONFIG_BT_FAST_PAIR_FMDN_RING_REQ_TIMEOUT_DULT_MOTION_DETECTORKconfig option dependency. The dependency has been updated from theCONFIG_BT_FAST_PAIR_FMDN_DULTKconfig option toCONFIG_BT_FAST_PAIR_FMDN_DULT_MOTION_DETECTOR.
Common Application Framework
CAF: Bluetooth LE state module:
Removed the tracking of the active Bluetooth connections. CAF no longer assumes that the Bluetooth Peripheral device (
CONFIG_BT_PERIPHERAL) supports only one simultaneous connection (CONFIG_BT_MAX_CONN).
Debug libraries
Added an experimental Zephyr Core Dump backend that writes a core dump to an internal flash or RRAM partition. To enable this backend, set the
CONFIG_DEBUG_COREDUMP_BACKEND_OTHERandCONFIG_DEBUG_COREDUMP_BACKEND_NRF_FLASH_PARTITIONKconfig options.CPU load measurement library:
Added prefix
NRF_to all Kconfig options (for example,CONFIG_NRF_CPU_LOAD) to avoid conflicts with Zephyr Kconfig options with the same names.
DFU libraries
No changes since the latest nRF Connect SDK release.
Gazell libraries
No changes since the latest nRF Connect SDK release.
Security libraries
nRF Security library:
Updated:
The name of the Kconfig option
CONFIG_PSA_USE_CRACEN_ASYMMETRIC_DRIVERtoCONFIG_PSA_USE_CRACEN_ASYMMETRIC_ENCRYPTION_DRIVER, which is more descriptive and more consistent with the options of the other drivers.The placement of the page about nRF Security drivers. The page was moved to Cryptography in the nRF Connect SDK and renamed to Cryptographic drivers.
Modem libraries
Modem library integration layer:
Fixed an issue with modem fault handling in the Network interface driver, where the event must be deferred from interrupt context before it can be forwarded to the Zephyr’s Network Management module.
AT parser library:
Added support for parsing DECT NR+ modem firmware names.
Updated the following macros and functions to return
-ENODATAwhen the target subparameter to parse is empty:
LTE link control library:
Added the
CONFIG_LTE_LC_DNS_FALLBACK_MODULEandCONFIG_LTE_LC_DNS_FALLBACK_ADDRESSKconfig options to enable setting a fallback DNS address. TheCONFIG_LTE_LC_DNS_FALLBACK_MODULEKconfig option is enabled by default. If the application has configured a DNS server address in Zephyr’s native networking stack, using theCONFIG_DNS_SERVER1Kconfig option, the same server is set as the fallback address for DNS queries offloaded to the nRF91 Series modem. Otherwise, theCONFIG_LTE_LC_DNS_FALLBACK_ADDRESSKconfig option controls the fallback DNS server address that is set to Cloudflare’s DNS server: 1.1.1.1 by default. The device might or might not receive a DNS address by the network during PDN connection. Even within the same network, the PDN connection establishment method (PCO vs ePCO) might change when the device operates in NB-IoT or LTE Cat-M1, resulting in missing DNS addresses when one method is used, but not the other. Having a fallback DNS address ensures that the device always has a DNS to fallback to.
Modem SLM library:
Added:
The
CONFIG_MODEM_SLM_UART_RX_BUF_COUNTKconfig option for configuring RX buffer count.The
CONFIG_MODEM_SLM_UART_RX_BUF_SIZEKconfig option for configuring RX buffer size.The
CONFIG_MODEM_SLM_UART_TX_BUF_SIZEKconfig option for configuring TX buffer size.The
CONFIG_MODEM_SLM_AT_CMD_RESP_MAX_SIZEKconfig option for buffering AT command responses.
Updated:
The software maturity of the library to supported instead of experimental.
The UART implementation between the host device, using the Modem SLM library, and the device running the Serial LTE modem application.
Removed:
The
CONFIG_MODEM_SLM_DMA_MAXLENKconfig option. UseCONFIG_MODEM_SLM_UART_RX_BUF_SIZEinstead.The
modem_slm_reset_uart()function, as there is no longer a need to reset the UART.
Modem information library:
Added:
The
modem_info_get_rsrq()function for requesting the RSRQ.The
SNR_IDX_TO_DBmacro for converting the SNR index to dB.
Multiprotocol Service Layer libraries
Added an implementation of the API required by the MPSL (defined by
mpsl_hwres.h) for the nRF53 and nRF54L Series devices.Updated the implementation of the following interrupt service routine wrappers:
mpsl_timer0_isr_wrapper()mpsl_rtc0_isr_wrapper()mpsl_radio_isr_wrapper()
Now, they do not trigger the kernel scheduler or use any kernel APIs.
Note
Invoking kernel APIs or triggering the kernel scheduler from Zero Latency Interrupts is considered undefined behavior. Users of MPSL timeslots should not assume that thread rescheduling will occur automatically at the end of a timeslot.
Libraries for networking
nRF Cloud library:
Updated:
To return negative
errno.herrors instead of positive ZCBOR errors.The CoAP download authentication to no longer depend on the CoAP Client library.
nRF Cloud device provisioning library:
Added
The
CONFIG_NRF_PROVISIONING_INITIAL_BACKOFFKconfig option to configure the initial backoff time for provisioning retries.The
CONFIG_NRF_PROVISIONING_STACK_SIZEKconfig option to configure the stack size of the provisioning thread.A new query parameter to limit the number of provisioning commands included in a single provisioning request. This limit can be configured using the
CONFIG_NRF_PROVISIONING_CBOR_RECORDSKconfig option.
Updated:
Limited key-value pairs in a single provisioning command to
10. This is done to reduce the RAM usage of the library.
Fixed an issue where the results from the
zsock_getaddrinfo()function were not freed when the CoAP protocol was used for connection establishment.
Downloader library:
Fixed:
A bug in the shell implementation causing endless download retries on errors.
A bug in the shell to allow multiple downloads.
Libraries for NFC
No changes since the latest nRF Connect SDK release.
nRF RPC libraries
No changes since the latest nRF Connect SDK release.
Other libraries
Detecting Unwanted Location Trackers (DULT) library:
Updated the write handler of the accessory non-owner service (ANOS) GATT characteristic to no longer assert on write operations if the DULT was not enabled at least once.
Shell libraries
No changes since the latest nRF Connect SDK release.
sdk-nrfxlib
See the changelog for each library in the nrfxlib documentation for additional information.
Scripts
Added the
ncs_ironside_se_update.pyscript in thescripts/west_commandsfolder. The script adds the west commandwest ncs-ironside-se-updatefor installing an IronSide SE update.HID configurator for nRF Desktop Python script:
Updated:
The udev rules for Debian, Ubuntu, and Linux Mint HID host computers (replaced the
99-hid.rulesfile with60-hid.rules). This is done to ensure that the rules are properly applied for an nRF Desktop device connected directly over Bluetooth LE. The new udev rules are applied to any HID device that uses the Nordic Semiconductor Vendor ID (regardless of Product ID).The HID device discovery to ensure that a discovery failure of a HID device would not affect other HID devices. Without this change, problems with discovery of a HID device could lead to skipping discovery and listing of other HID devices (even if the devices work properly).
Integrations
This section provides detailed lists of changes by integration.
Google Fast Pair integration
No changes since the latest nRF Connect SDK release.
Edge Impulse integration
No changes since the latest nRF Connect SDK release.
Memfault integration
No changes since the latest nRF Connect SDK release.
AVSystem integration
No changes since the latest nRF Connect SDK release.
nRF Cloud integration
No changes since the latest nRF Connect SDK release.
CoreMark integration
No changes since the latest nRF Connect SDK release.
DULT integration
No changes since the latest nRF Connect SDK release.
MCUboot
The MCUboot fork in nRF Connect SDK (sdk-mcuboot) contains all commits from the upstream MCUboot repository up to and including 81315483fcbdf1f1524c2b34a1fd4de6c77cd0f4, with some nRF Connect SDK specific additions.
The code for integrating MCUboot into nRF Connect SDK is located in the ncs/nrf/modules/mcuboot folder.
The following list summarizes both the main changes inherited from upstream MCUboot and the main changes applied to the nRF Connect SDK specific additions:
Fixed an issue related to referencing the ARM Vector table of the application, which causes jumping to wrong address instead of the application reset vector for some builds when Zephyr LTO (Link Time Optimization) was enabled.
Zephyr
The Zephyr fork in nRF Connect SDK (sdk-zephyr) contains all commits from the upstream Zephyr repository up to and including 9a6f116a6aa9b70b517a420247cd8d33bbbbaaa3, with some nRF Connect SDK specific additions.
For the list of upstream Zephyr commits (not including cherry-picked commits) incorporated into nRF Connect SDK since the most recent release, run the following command from the ncs/zephyr repository (after running west update):
git log --oneline 9a6f116a6a ^fdeb735017
For the list of nRF Connect SDK specific commits, including commits cherry-picked from upstream, run:
git log --oneline manifest-rev ^9a6f116a6a
The current nRF Connect SDK main branch is based on revision 9a6f116a6a of Zephyr.
Note
For possible breaking changes and changes between the latest Zephyr release and the current Zephyr version, refer to the Zephyr release notes.
Additions specific to nRF Connect SDK
No changes since the latest nRF Connect SDK release.
zcbor
No changes since the latest nRF Connect SDK release.
Trusted Firmware-M
No changes since the latest nRF Connect SDK release.
cJSON
No changes since the latest nRF Connect SDK release.
Documentation
Added the Logging Remote Procedure Call library documentation page.