Changelog for nRF Connect SDK v2.0.99
The most relevant changes that are present on the main branch of the nRF Connect SDK, as compared to the latest official release, are tracked in this file.
Note
This file is a work in progress and might not cover all relevant changes.
Known issues
Known issues are only tracked for the latest official release. See known issues for nRF Connect SDK v2.0.0 for the list of issues valid for the latest release.
Changelog
The following sections provide detailed lists of changes by component.
Application development
Added information about Supported operating systems to the Requirements page.
Added information about Output build files on the Build and configuration system page.
Board support
TF-M is now enabled by default on Thingy:91.
Partition Manager
Added
CONFIG_PM_PARTITION_REGION_LITTLEFS_EXTERNAL
,CONFIG_PM_PARTITION_REGION_SETTINGS_STORAGE_EXTERNAL
, andCONFIG_PM_PARTITION_REGION_NVS_STORAGE_EXTERNAL
to specify that the relevant partition must be located in external flash memory. You must add achosen
entry fornordic,pm-ext-flash
in your devicetree to make this option available. Seetests/subsys/partition_manager/region
for example configurations.Added
CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK
to override the external driver check. This is needed when using an external flash which is not using the QSPI NOR driver from Zephyr.
Protocols
This section provides detailed lists of changes by protocol. See Samples for lists of changes for the protocol-related samples.
Bluetooth LE
Added support for changing the radio transmitter’s default power level using the
sdc_default_tx_power_set()
function.Added support for changing the peripheral latency mode using the
sdc_hci_cmd_vs_peripheral_latency_mode_set()
function.Added support for changing the default TX power using
CONFIG_BT_CTLR_TX_PWR_*
.
For details, see Changelog.
Bluetooth mesh
Added support for usage of Emergency data storage. For details, see Bluetooth mesh samples and Bluetooth libraries and services.
See Bluetooth mesh samples for the list of changes for the Bluetooth mesh samples.
Matter
Introduced support for Matter over Wi-Fi to several samples.
Updated Matter with new pages about Matter SDK as well as information about Matter over Wi-Fi.
Removed the low-power configuration build type from all Matter samples.
See Matter samples for the list of changes for the Matter samples.
Matter fork
The Matter fork in the nRF Connect SDK (sdk-connectedhomeip
) contains all commits from the upstream Matter repository up to, and including, 708685f4821df2aa0304f02db2773c429ad25eb8
.
The following list summarizes the most important changes inherited from the upstream Matter:
Added:
Support for Matter device factory data. This includes a set of scripts for building the factory data partition content, and the
FactoryDataProvider
class for accessing this data.Experimental support for Matter over Wi-Fi.
Thread
Added information about Synchronized Sleepy End Device (SSED) and SED vs SSED activity in the Device types documentation.
Multiprotocol support was removed from
overlay-cert.config
and moved tooverlay-multiprotocol.conf
.
See Thread samples for the list of changes for the Thread samples.
Zigbee
Updated:
Enabled the PAN ID conflict resolution in applications that uses Zigbee application utilities library. For details, see Libraries for Zigbee.
Changed the default entropy source of Zigbee samples and unit tests to Cryptocell for SoCs that have Cryptocell.
See Zigbee samples for the list of changes for the Zigbee samples.
ESB
Fixed the
update_radio_crc()
function in order to correctly configure the CRC’s registers (8 bits, 16 bits, or none).
nRF IEEE 802.15.4 radio driver
Added option to configure IEEE 802.15.4 ACK frame timeout at build time using
CONFIG_NRF_802154_ACK_TIMEOUT_CUSTOM_US
.
Wi-Fi
Added support for nRF700x DK that supports Wi-Fi SoC, which implements IEEE 802.11 protocols.
See Wi-Fi samples for details about how to use Wi-Fi in your application.
RF Front-End Modules
Fixed a build error that occurred when building an application for nRF53 SoCs with Simple GPIO Front-End Module support enabled.
Added the
CONFIG_MPSL_FEM_ONLY
Kconfig option that allows the Front-end module feature API to be used without other MPSL features. The MPSL library is linked into the build without initialization. You cannot use other MPSL features when this option is enabled.Added the possibility to add custom models which split the requested TX power between the power on SoC output and the FEM gain in a way desired by the user.
Secure Partition Manager (SPM)
The Secure Partition Manager (SPM), the Kconfig option
CONFIG_SPM
, is deprecated. It is replaced by the Trusted Firmware-M (TF-M) as the supported trusted execution solution. See Running applications with Trusted Firmware-M for more information about the TF-M.
Applications
This section provides detailed lists of changes by application.
All applications running on non-secure boards are documented to use TF-M as the trusted execution solution by default. SPM is deprecated.
nRF9160: Asset Tracker v2
Added:
Motion impact detection using the ADXL372 accelerometer.
Added the following Kconfig options to set the threshold and timeout values:
Data sampling is now performed when the device detects both activity and inactivity in passive mode, notified by the
SENSOR_EVT_MOVEMENT_INACTIVITY_DETECTED
event of the sensor module.
CONFIG_MODEM_NEIGHBOR_SEARCH_TYPE
option.Removed:
CONFIG_APP_REQUEST_GNSS_ON_INITIAL_SAMPLING
option.
CONFIG_APP_REQUEST_NEIGHBOR_CELLS_DATA
option.
CONFIG_EXTERNAL_SENSORS_ACTIVITY_DETECTION_AUTO
option.
CONFIG_MODEM_CONVERT_RSRP_AND_RSPQ_TO_DB
option.
CONFIG_DATA_ACCELEROMETER_THRESHOLD
option.
CONFIG_DATA_ACCELEROMETER_BUFFER_STORE
option.
CONFIG_DATA_ACCELEROMETER_BUFFER_COUNT
option.
SENSOR_EVT_MOVEMENT_DATA_READY
event.Updated:
The default value of the GNSS timeout in the application’s Real-time configurations is now 30 seconds.
GNSS fixes are now published in PVT format instead of NMEA for nRF Cloud builds. To revert to NMEA, set the CONFIG_GNSS_MODULE_NMEA option.
The sensor module now forwards
SENSOR_EVT_MOVEMENT_ACTIVITY_DETECTED
andSENSOR_EVT_MOVEMENT_INACTIVITY_DETECTED
events.The Real-time configurations can now configure the upper and lower thresholds for motion detection. You can also configure the timeout after which the sensor reports inactivity. The following Kconfig options set the threshold and timeout values:
LwM2M schema has been updated. To use the new parameters, upload the updated
config_object_descript.xml
to AVSystem.The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.
Bootstrapping has been disabled by default to be able to connect to the default LwM2M service AVSystem’s Coiote Device Management using free tier accounts.
Added support for full modem FOTA updates for nRF Cloud builds.
CONFIG_DATA_DEVICE_MODE
option is now a choice that can be set to eitherCONFIG_DATA_DEVICE_MODE_ACTIVE
orCONFIG_DATA_DEVICE_MODE_PASSIVE
depending on the desired device mode.Restructured the documentation.
The default sample timeout for sample requests that include neighbor cell searches is now 11 seconds.
Fixed:
An issue that reports GNSS altitude, accuracy, and speed incorrectly when using LwM2M engine.
An issue that caused modem FOTA jobs to be reported as not validated to nRF Cloud.
nRF9160: Serial LTE modem
Added:
URC for GNSS timeout sleep event.
Selected flags support in #XRECV and #XRECVFROM commands.
Multi-PDN support in the Socket service.
The GNSS service now signifies location info to nRF Cloud.
New #XGPSDEL command to delete GNSS data from non-volatile memory.
New #XDFUSIZE command to get the size of the DFU file image.
Updated:
The AT response and the URC sent when the application enters and exits data mode.
WAKEUP_PIN
andINTERFACE_PIN
are now defined as Active Low. Both are High when the SLM application starts.Removed:
The software toggle of
INDICATE_PIN
in case of reset.
nRF5340 Audio
Added:
Support for Basic Audio Profile, including support for the stereo BIS (Broadcast Isochronous Stream).
Bonding between gateway and headsets in the CIS (Connected Isochronous Stream).
DFU support for internal and external flash layouts. See Configuring FOTA upgrades in the application documentation for details.
DFU advertising name based on role.
Updated:
Network controller.
Documentation in the Building and programming using script section. The text now mentions how to recover the device if programming using script fails.
Documentation of the operating temperature maximum range in the Key features of the nRF5340 Audio DK and Legal notices and disclaimers sections.
Removed:
Support for SBC.
nRF Machine Learning (Edge Impulse)
Added configuration of Bluetooth LE advertising providers. The subsystem is now used instead of the
*.def
file to configure advertising data and scan response data in CAF: Bluetooth LE advertising module.Updated Bluetooth advertising data and scan response data logic. The UUID128 of Nordic UART Service (NUS) is now added to the scan response data only if the NUS is enabled and the Bluetooth local identity in use has no bond.
nRF Desktop
nRF Desktop peripherals no longer automatically send security request immediately after Bluetooth LE connection is established. The feature can be turned on using
CONFIG_CAF_BLE_STATE_SECURITY_REQ
.nRF Desktop dongles start peripheral discovery immediately after Bluetooth LE connection is established. The dongles no longer wait until the connection is secured.
Added configuration of Bluetooth LE advertising providers. The subsystem is now used instead of the
*.def
file to configure advertising data and scan response data in CAF: Bluetooth LE advertising module.Updated Bluetooth advertising data and scan response data logic.
The TX power included in the advertising packet is no longer hardcoded, the application reads it from the Bluetooth controller. The TX power is included in advertising packets even if the Bluetooth local identity in use has bond.
The UUID16 of Battery Service (BAS) and Human Interface Device Service (HIDS) are included in advertising packets only if the Bluetooth local identity in use has no bond.
Thingy:53 Zigbee weather station
No changes since the latest nRF Connect SDK release.
Connectivity Bridge
Fixed:
Missing return statement that caused immediate asserts when asserts were enabled.
Too low UART RX timeout that caused high level of fragmentation of UART RX data.
Samples
This section provides detailed lists of changes by sample, including protocol-related samples. For lists of protocol-specific changes, see Protocols.
All samples running on non-secure boards are documented to use TF-M as the trusted execution solution, as SPM is deprecated.
Bluetooth samples
Added:
Bluetooth: Peripheral Memfault Diagnostic Service (MDS) sample, that demonstrates how to send Memfault diagnostic data through Bluetooth.
Bluetooth: Peripheral power profiling sample, that uses the system off mode and can be used for power consumption measurement.
Bluetooth: nRF Distance Measurement with Bluetooth LE discovery sample:
Split the configuration of the Distance Measurement module from the Nordic Distance Measurement library. This allows the use of the Nordic Distance Measurement library without the module.
Bluetooth: Direct Test Mode sample:
Added a workaround for nRF5340 revision 1 Errata 117.
Bluetooth: Peripheral Heart Rate Monitor with Coded PHY sample:
Added configuration for the nRF5340 target.
Fixed advertising start on the nRF5340 target with the Zephyr LL controller. Previously, it was not possible to start advertising, because the
CONFIG_BT_EXT_ADV
option was disabled for the Zephyr LL controller.
Bluetooth: Central Heart Rate Monitor with Coded PHY sample:
Added configuration for the nRF5340 target.
Fixed scanning start on the nRF5340 target with the Zephyr LL controller. Previously, it was not possible to start scanning, because the
CONFIG_BT_EXT_ADV
option was disabled for the Zephyr LL controller.
Bluetooth: nRF Distance Measurement with Bluetooth LE discovery sample:
Added support for the nRF5340 target.
Bluetooth: Fast Pair sample:
Added:
Possibility of toggling between show and hide UI indication in the Fast Pair not discoverable advertising.
Automatic switching to the not discoverable advertising with the show UI indication mode after 10 minutes of discoverable advertising.
Automatic switching from discoverable advertising to the not discoverable advertising with the show UI indication mode after a Bluetooth Central successfully pairs.
Bluetooth: Direction Finding Periodic Advertising Beacon sample:
Fixed a build error related to the missing
CONFIG_BT_DF_CONNECTIONLESS_CTE_TX
Kconfig option. The option has been added and set toy
in the sample’sprj.conf
file.
Bluetooth: Throughput sample:
Fixed peer throughput calculations. These were too low because the total transfer time incorrectly included 500ms delay without including the actual transfer.
Optimized throughput speed by increasing MTU to 498 and using the maximum connection event time.
Bluetooth: Direction finding central sample:
Added devicetree overlay file for the nRF5340 application core that configures GPIO pin forwarding. This enables the radio peripheral’s Direction Finding Extension for antenna switching.
Bluetooth: Direction Finding Periodic Advertising Locator sample:
Added devicetree overlay file for the nRF5340 application core that configures GPIO pin forwarding. This enables the radio peripheral’s Direction Finding Extension for antenna switching.
Bluetooth: Direction Finding Periodic Advertising Beacon sample:
Added devicetree overlay file for the nRF5340 application core that configures GPIO pin forwarding. This enables the radio peripheral’s Direction Finding Extension for antenna switching.
Bluetooth: Direction Finding Peripheral sample:
Added devicetree overlay file for the nRF5340 application core that configures GPIO pin forwarding. This enables the radio peripheral’s Direction Finding Extension for antenna switching.
Bluetooth mesh samples
Bluetooth: Mesh light fixture sample:
Added overlay file with support for storing data with Emergency data storage. Also changed the sample to restore Light state after power-down.
nRF9160 samples
Added nRF9160: Modem trace backend sample, demonstrating how to add a custom modem trace backend. The custom backend prints the amount of trace data received in bytes, trace data throughput, and CPU load.
Removed the AWS FOTA sample. The nRF9160: AWS IoT sample must be used, which implements AWS FOTA through AWS IoT.
TF-M is enabled by default for the applications and samples that support Thingy:91.
nRF9160: LwM2M Client sample:
Fixed:
Default configuration conforms to the LwM2M specification v1.0 instead of v1.1. For enabling v1.1 there is already an overlay file.
Bootstrap is not TLV only anymore. With v1.1, preferred content format is sent in the bootstrap request. SenML CBOR takes precedence over SenML JSON and OMA TLV, when enabled.
Generation of the timestamp of LwM2M Location object on obtaining location fix.
Added:
CoAP max message size is set to 1280 by default.
Number of SenML CBOR records is set to a higher value to cope with data exchange after registration with Coiote server.
Updated:
The sample now uses TF-M instead of SPM.
nRF9160: Memfault sample:
Updated the sample to reflect changes in logging to the Memfault SDK.
nRF9160: Modem Shell sample:
Added:
nRF9160 DK overlays for enabling BT support. When running this configuration, you can perform BT scanning and advertising using the
bt
command.Support for injecting GNSS reference altitude for low accuracy mode. For a position fix using only three satellites, GNSS module must have a reference altitude that can now be injected using the
gnss agps ref_altitude
command.New command
startup_cmd
, which can be used to store up to three MoSh commands to be run on start/bootup. By default, commands are run after the default PDN context is activated, but can be set to run N seconds after bootup.New command
link search
for setting periodic modem search parameters.Added printing of modem domain events.
MQTT support for
gnss
command A-GPS and P-GPS.An application-specific modem fault handler. The modem fault handler halts application execution in case of a modem crash.
Support for SEGGER’s Real Time Transfer (RTT) instead of UART.
Updated:
Changed timeout parameters from seconds to milliseconds in
location
andrest
commands.The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.
nRF9160: nRF Cloud MQTT multi-service sample:
Changed:
This sample now uses the Modem antenna library to configure the GNSS antenna instead of configuring it directly.
Minor logging and function structure improvements
nRF Cloud library is no longer de-initialized and re-initialized on disconnect and reconnect.
The nRF Cloud library function
nrf_cloud_gnss_msg_json_encode()
is used to send PVT location data instead of building an NMEA sentence.
Added:
Support for full modem FOTA.
LED status indication.
nRF9160: nRF Cloud REST FOTA sample:
Added:
Support for full modem FOTA updates.
nRF9160: AT monitor sample:
The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.
Thread samples
Enabled logging of errors and hard faults in CLI sample by default.
Extended the CLI sample documentation with SRP information.
Matter samples
Removed the low-power configuration build type from all Matter samples.
Optimized the usage of the QSPI NOR flash sleep mode to reduce power consumption during the Matter commissioning.
Reduced the size of MCUBoot partition on
nrf5340dk_nrf5340_cpuapp
by 16kB.-
Set
CONFIG_CHIP_ENABLE_SLEEPY_END_DEVICE_SUPPORT
to be enabled by default.Introduced support for Matter over Wi-Fi on
nrf7002dk_nrf5340_cpuapp
and onnrf5340dk_nrf5340_cpuapp
with thenrf7002_ek
shield.
-
Set
CONFIG_CHIP_ENABLE_SLEEPY_END_DEVICE_SUPPORT
to be enabled by default.Introduced support for Matter over Wi-Fi on
nrf7002dk_nrf5340_cpuapp
and onnrf5340dk_nrf5340_cpuapp
with thenrf7002_ek
shield.
-
Introduced support for Matter over Wi-Fi on
nrf7002dk_nrf5340_cpuapp
and onnrf5340dk_nrf5340_cpuapp
with thenrf7002_ek
shield.
-
Set
CONFIG_CHIP_ENABLE_SLEEPY_END_DEVICE_SUPPORT
andCONFIG_CHIP_THREAD_SSED
to be enabled by default.Added information about the SSED device type in the sample documentation.
NFC samples
Added a note to the documentation of each NFC sample about debug message configuration with the NFCT driver from the nrfx repository.
nRF5340 samples
No changes since the latest nRF Connect SDK release.
Gazell samples
No changes since the latest nRF Connect SDK release.
Zigbee samples
Zigbee: Light switch sample:
Fixed an issue where a buffer would not be freed after a failure occurred when sending a Match Descriptor request.
Zigbee: Shell sample:
Added support for nRF52840 Dongle.
Added an option to build Zigbee: Shell sample with the nRF USB CDC ACM as shell backend.
Zigbee: NCP sample:
Set
CONFIG_ZBOSS_TRACE_BINARY_LOGGING
to be disabled by default for NCP over USB variant.
Wi-Fi samples
Added Wi-Fi: Shell sample with the shell support.
Other samples
Radio test sample:
Fixed the way of setting gain for the nRF21540 Front-end Module with nRF5340.
CAF: Sensor manager sample:
Added configuration for the Sensor stub driver.
Added Identity key generation sample to show generation of an identity key that is stored in the Key Management Unit (KMU).
Added Identity key usage sample to show how to make use of a Key Management Unit (KMU) stored identity key.
Devicetree configuration
Thingy:91
Changed the PWM frequency of the pwmleds device from 50 Hz to 125 Hz.
Drivers
This section provides detailed lists of changes by driver.
Added Sensor stub driver
Libraries
This section provides detailed lists of changes by library.
Binary libraries
LwM2M carrier library:
Updated to v0.30.2. See the Changelog for detailed information.
Bluetooth libraries and services
Added:
Bluetooth LE advertising providers. The subsystem manages Bluetooth LE advertising data and scan response data. The subsystem does not control Bluetooth LE advertising by itself.
Google Fast Pair Service (GFPS) service:
Added a SHA-256 hash check to ensure the Fast Pair provisioning data integrity.
Added unit test for the storage module.
Extended API to allow setting the flag for the hide UI indication in the Fast Pair not discoverable advertising data.
Bluetooth EnOcean library
Added callback
decommissioned
tobt_enocean_callbacks
when EnOcean switch is decommissioned.
-
Added:
Use of decommissioned callback in Silvair EnOcean Proxy Server when EnOcean switch is decommissioned.
Emergency data storage support to:
Replay protection list (RPL)
Updated:
The
bt_mesh_sensor_ch_str_real
function is now replaced with thebt_mesh_sensor_ch_str()
function, which was previously a macro.
Bootloader libraries
DFU target library:
Moved the
dfu_ctx_mcuboot_set_b1_file()
function to FOTA download and renamed tofota_download_parse_dual_resource_locator()
.
Modem libraries
Updated:
LTE link controller library:
Fixed an issue that caused stack corruption in the
lte_lc_nw_reg_status_get()
function.
AT monitor library:
The
at_monitor_pause()
andat_monitor_resume()
macros are now functions, and take a pointer to the AT monitor entry.
Modem key management library:
Fixed:
An issue that would cause the library to assert on an unhandled CME error when the AT command failed to be sent.
AT command parser library:
Fixed:
An issue that would cause AT command responses like
+CNCEC_EMM
with underscore to be filtered out.
PDN library:
Added:
Support for setting multiple event callbacks for the default PDP context.
The
pdn_default_ctx_cb_dereg()
function to deregister a callback for the default PDP context.The
pdn_esm_strerror()
function to retrieve a textual description of an ESM error reason. The function is compiled whenCONFIG_PDN_ESM_STRERROR
Kconfig option is enabled.
Updated:
Renamed the
pdn_default_callback_set()
function topdn_default_ctx_cb_reg()
.Automatically subscribe to
+CNEC=16
and+CGEREP=1
if the LTE link controller library is used to change the modem’s functional mode.
Removed:
The
CONFIG_PDN_CONTEXTS_MAX
Kconfig option. The maximum number of PDP contexts is now dynamic.
Modem library integration layer library:
Updated:
Ability to add custom trace backends.
The trace module has been updated to use the new APIs in Modem library. The modem trace output is now handled by a dedicated thread that starts automatically. The trace thread is synchronized with the initialization and shutdown operations of the Modem library.
The Kconfig option
CONFIG_NRF_MODEM_LIB_TRACE_ENABLED
is replaced by the Kconfig optionCONFIG_NRF_MODEM_LIB_TRACE
. The Kconfig optionCONFIG_NRF_MODEM_LIB_TRACE_ENABLED
is now deprecated and will be removed in the future.Added the
CONFIG_NRF_MODEM_LIB_MEM_DIAG
option to enable thenrf_modem_lib_diag_stats_get()
function that retrieves memory runtime statistics, replacing thenrf_modem_lib_heap_diagnose
andnrf_modem_lib_shm_tx_diagnose
functions.Consolidated
CONFIG_NRF_MODEM_LIB_DEBUG_ALLOC
andCONFIG_NRF_MODEM_LIB_DEBUG_SHM_TX_ALLOC
into the newCONFIG_NRF_MODEM_LIB_MEM_DIAG_ALLOC
option.Consolidated
CONFIG_NRF_MODEM_LIB_HEAP_DUMP_PERIODIC
andCONFIG_NRF_MODEM_LIB_SHM_TX_DUMP_PERIODIC
into the newCONFIG_NRF_MODEM_LIB_MEM_DIAG_DUMP
option.Consolidated
CONFIG_NRF_MODEM_LIB_HEAP_DUMP_PERIOD_MS
andCONFIG_NRF_MODEM_LIB_SHMEM_TX_DUMP_PERIOD_MS
into the newCONFIG_NRF_MODEM_LIB_MEM_DIAG_DUMP_PERIOD_MS
option.
Removed:
The following Kconfig options:
CONFIG_NRF_MODEM_LIB_TRACE_THREAD_PROCESSING
CONFIG_NRF_MODEM_LIB_TRACE_HEAP_SIZE
CONFIG_NRF_MODEM_LIB_TRACE_HEAP_SIZE_OVERRIDE
CONFIG_NRF_MODEM_LIB_TRACE_HEAP_DUMP_PERIODIC
CONFIG_NRF_MODEM_LIB_TRACE_HEAP_DUMP_PERIOD_MS
CONFIG_NRF_MODEM_LIB_DEBUG_ALLOC
CONFIG_NRF_MODEM_LIB_DEBUG_SHM_TX_ALLOC
CONFIG_NRF_MODEM_LIB_HEAP_DUMP_PERIODIC
CONFIG_NRF_MODEM_LIB_HEAP_DUMP_PERIOD_MS
CONFIG_NRF_MODEM_LIB_SHM_TX_DUMP_PERIODIC
CONFIG_NRF_MODEM_LIB_SHMEM_TX_DUMP_PERIOD_MS
The following functions:
nrf_modem_lib_trace_start
nrf_modem_lib_trace_stop
nrf_modem_lib_heap_diagnose
nrf_modem_lib_shm_tx_diagnose
Deprecated the
nrf_modem_lib_get_init_ret
function.
Location library:
Changed timeout parameters’ type from uint16_t to int32_t, unit from seconds to milliseconds, and value to disable them from 0 to SYS_FOREVER_MS. This change is done to align with Zephyr’s style for timeouts.
Fixed an issue with P-GPS predictions not being used to speed up GNSS when first downloaded.
Modem information library:
The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.
Libraries for networking
Updated:
LwM2M client utils library:
Fixed:
Setting of the FOTA update result.
Reporting of the FOTA update result back to the LwM2M server.
Updated:
The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.
nRF Cloud library:
Fixed:
An issue that caused the application to receive multiple disconnect events.
An issue that prevented full modem FOTA updates to be installed during library initialization.
An issue that caused the
nrf_cloud_client_id_get()
function to fail if bothCONFIG_NRF_CLOUD_MQTT
andCONFIG_NRF_CLOUD_REST
were enabled.
Added:
nrf_cloud_fota_pending_job_validate()
function that enables an application to validate a pending FOTA job before initializing the nRF Cloud library.Handling for new nRF Cloud REST error code 40499. Moved the error log from the
nrf_cloud_parse_rest_error()
function into the calling function.Support for full modem FOTA updates.
nrf_cloud_fota_is_type_enabled()
function that determines if the specified FOTA type is enabled by the configuration.nrf_cloud_gnss_msg_json_encode()
function that encodes GNSS data (PVT or NMEA) into an nRF Cloud device message.nrf_cloud_fota_pending_job_type_get()
function that retreives the FOTA type of a pending FOTA job.Added unit test for the
nrf_cloud_init()
function.
Updated:
The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.
Function
nrf_cloud_fota_is_type_enabled()
no longer depends onCONFIG_NRF_CLOUD_FOTA
.
Location library:
Removed PoLTE support as the service is discontinued.
Multicell location library:
Added timeout parameter.
Made a structure for input parameters for multicell_location_get() to make updates easier in the future.
The conversions of RSRP and RSRQ now use common macros that follow the conversion algorithms defined in the AT Commands Reference Guide.
Removed PoLTE support as the service is discontinued.
REST client library:
Updated timeout handling. Now using http_client library timeout also.
Removed CONFIG_REST_CLIENT_SCKT_SEND_TIMEOUT and CONFIG_REST_CLIENT_SCKT_RECV_TIMEOUT.
Updated to handle a zero timeout value as “no timeout” (wait forever) to avoid immediate timeouts.
nRF Cloud REST library:
Updated the
nrf_cloud_rest_send_location()
function to accept anrf_cloud_gnss_data
pointer instead of an NMEA sentence.
nRF Cloud P-GPS library:
Reduced logging level for many messages to DBG.
Added the
CONFIG_NRF_CLOUD_PGPS_DOWNLOAD_TRANSPORT_HTTP
, andCONFIG_NRF_CLOUD_PGPS_DOWNLOAD_TRANSPORT_CUSTOM
Kconfig options.Added the
nrf_cloud_pgps_begin_update()
function that prepares the P-GPS subsystem to receive downloads from a custom transport.Added the
nrf_cloud_pgps_process_update()
function that stores a portion of a P-GPS download to flash.Added the
nrf_cloud_pgps_finish_update()
function that a user of the P-GPS library calls when the custom download completes.
Azure IoT Hub library:
The library has been reworked to use Azure SDK for Embedded C.
The APIs for both IoT Hub and DPS interaction have changed and the applications and samples that use the library have been updated.
Download client library:
Fixed handling of duplicated CoAP packets.
Fixed handling of timeout errors when using CoAP.
Libraries for NFC
No changes since the latest nRF Connect SDK release.
Other libraries
Added:
nRF RPC IPC Service transport library.
Identity key library.
Flash patch library:
Allow the
CONFIG_DISABLE_FLASH_PATCH
Kconfig option to be used on the nRF52833 SoC.
Firmware information module:
Fixed a bug where MCUboot would experience a fault when using the External APIs feature.
nRF RPC IPC Service transport:
This library can use different transport implementation for each nRF RPC group.
Memory for remote procedure calls is now allocated on a heap instead of the calling thread stack.
-
Updated
emds_entry_add()
to no longer use heap, but instead require a pointer to the dynamic entry structureemds_dynamic_entry
. The dynamic entry structure should be allocated in advance.
-
Added default metrics for Bluetooth.
Common Application Framework (CAF)
CAF: Bluetooth LE advertising module:
Added
CONFIG_CAF_BLE_ADV_FILTER_ACCEPT_LIST
Kconfig option. The option is used instead ofCONFIG_BT_FILTER_ACCEPT_LIST
option to enable the filter accept list.Integrated Bluetooth LE advertising providers. The subsystem is now used instead of the
*.def
file to configure advertising data and scan response data.Bluetooth device name is no longer automatically included in scan response data. A dedicated data provider (
CONFIG_BT_ADV_PROV_DEVICE_NAME
) can be used to add the Bluetooth device name to the scan response data.Added
ble_adv_data_update_event
that can be used to trigger update of advertising data and scan response data during undirected advertising. When the event is received, the module gets new data from providers and updates advertising payload.Added a wakeup call when connection is made in the grace period. With this change, the call wakes up the whole system to avoid inconsistent power state between modules.
CAF: Bluetooth LE state module:
Running on Bluetooth Peripheral no longer automatically send security request immediately after Bluetooth LE connection is established. The
CONFIG_CAF_BLE_STATE_SECURITY_REQ
can be used to enable this feature. The option can be used for both Bluetooth Peripheral and Bluetooth Central.
CAF: Sensor data aggregator module:
Added unit tests for the library.
-
No longer uses floats to calculate and determine if the sensor trigger is activated. This is because the float uses more space. Also, data sent to
sensor_event
usessensor_value
instead of float.
No changes since the latest nRF Connect SDK release.
Shell libraries
No changes since the latest nRF Connect SDK release.
Libraries for Zigbee
Zigbee application utilities library:
Added
CONFIG_ZIGBEE_PANID_CONFLICT_RESOLUTION
for enabling automatic PAN ID conflict resolution. This option is enabled by default.
sdk-nrfxlib
See the changelog for each library in the nrfxlib documentation for additional information.
Scripts
This section provides detailed lists of changes by script.
-
Added a SHA-256 hash of the Fast Pair provisioning data to ensure its integrity.
Unity
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 1d4404116a9a6b54d54ea9aa3dd2575286e666cd
, plus 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:
boot_serial:
Refactored and optimized the code, mainly in what affects the progressive erase implementation.
Fixed a compilation issue with the echo command code.
Upgraded from cddl-gen v0.1.0 to zcbor v0.4.0.
imgtool: Added support for providing signature through a third party.
zephyr:
Added initial support for leveraging the RAM-LOAD mode with the zephyr-rtos port.
Added the MCUboot status callback support. See
CONFIG_MCUBOOT_ACTION_HOOKS
.Edited includes to have the
zephyr/
prefix.Edited the DFU detection’s GPIO-pin configuration to be done through DTS using the
mcuboot-button0
pin alias.Edited the LED usage to prefer DTS’
mcuboot-led0
alias over thebootloader-led0
alias.Removed
device_get_binding()
usage in favor ofDEVICE_DT_GET()
.
Zephyr
The Zephyr fork in nRF Connect SDK (sdk-zephyr
) contains all commits from the upstream Zephyr repository up to and including 71ef669ea4a73495b255f27024bcd5d542bf038c
, plus 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 71ef669ea4 ^45ef0d2
For the list of nRF Connect SDK specific commits, including commits cherry-picked from upstream, run:
git log --oneline manifest-rev ^71ef669ea4
The current nRF Connect SDK main branch is based on revision 71ef669ea4
of Zephyr.
Additions specific to nRF Connect SDK
Added Wi-Fi L2 layer, this is a fork of Zephyr’s Wi-Fi L2 with the added support for WPA supplicant.
zcbor
The zcbor module has been updated from version 0.4.0 to 0.5.1.
Release notes for 0.5.0 and 0.5.1 can be found in ncs/modules/lib/zcbor/RELEASE_NOTES.md
.
Full modem firmware update from flash device code has been regenerated using zcbor 0.5.1.
Trusted Firmware-M
Added:
Added support for an identity key that can be used as a PSA attestation key
Fixed:
No changes since the latest nRF Connect SDK release.
cJSON
No changes since the latest nRF Connect SDK release.
Documentation
Added:
Software maturity entries for security features: TF-M, PSA crypto, Immutable bootloader, HW unique key.
Documentation for Working with nRF70 Series.
Documentation for the Partition Manager flash map library.
Documentation for the adp536x library.
Documentation for the Flash patch library.
Debugging an application section on the Testing and debugging an application. Also added links to this section in different areas of documentation.
Pre-built libraries as a separate page instead of being part of Configuring Thread in the nRF Connect SDK.
A section about NFC in the Memory footprint optimization page.
A section about Sending traces over UART1 on a custom board in the Modem library integration layer page.
A note in the Bluetooth LE Controller about the usage of the Zephyr LE Controller.
A section about Modem trace in the Features of nRF91 Series page.
A section about Gazell in the Memory footprint optimization page.
Updated:
Requirements page with a new section about Supported operating systems.
Working with nRF91 Series with the following changes:
In the Getting started with nRF9160 DK guide, Updating the modem firmware section is now moved before Updating the application firmware because updating modem firmware erases application firmware.
In the Developing with nRF9160 DK guide, the Building and programming section now mentions Visual Studio Code and command line instructions.
In the Getting started with Thingy:91 guide, Programming firmware and Connecting to nRF Cloud sections now have different structure.
The instructions and images in the Getting started with Thingy:91 and Getting started with nRF9160 DK documentation pages now also mention accepting eUICC Identifier (EID) when activating your iBasis SIM card from the nRF Cloud website.
Configuring Thread in the nRF Connect SDK page to better indicate what is required and what is optional. Also added further clarifications to the page to make everything clearer.
Matter tools page with a new section about the ZAP tool.
Updated TF-M/SPM related files, included in samples and applications with _ns build targets, to no longer include SPM as an alternative to TF-M.