OpenThread SDK Version 3.1.1 - Release Notes (Jul 29, 2026)#

OpenThread Version 3.1.1

Thread is a secure, reliable, scalable, and upgradeable wireless IPv6 mesh networking protocol. It provides low-cost bridging to other IP networks while optimized for low-power/battery-backed operation. The Thread stack is designed specifically for Connected Home applications where IP-based networking is desired and a variety of application layers may be required.

OpenThread, released by Google, is an open-source implementation of Thread. Google has released OpenThread to accelerate the development of products for the connected home and commercial buildings. With a narrow platform abstraction layer and a small memory footprint, OpenThread is highly portable. It supports system-on-chip (SoC), network co-processor (NCP), and radio co-processor (RCP) designs.

Silicon Labs has developed an OpenThread-based SDK tailored to work with Silicon Labs hardware. The Silicon Labs OpenThread SDK is a fully tested enhanced version of the GitHub source. It supports a broader range of hardware than does the GitHub version and includes documentation and example applications not available on GitHub.

Click here for earlier releases.

Release Summary#

Key Features | API Changes | Bug Fixes | Chip Enablement

Key Features#

Added in 3.1.1#

None.

Added in 3.1.0#

  • Added Thread 1.4 qualification support for OTBR in NCP mode

  • Continued Thread 1.4 qualification support for SoC and OTBR in RCP mode

  • Added Thread - SoC Empty sample applications

  • Added NAT64 and TREL support for Host / NCP configurations

  • Added OTBR Android 15 support with CPC spinel proxy support

  • Standardized Simplicity SDK example app titles and descriptions

  • Silicon Labs standard logger integration

API Changes#

Changed in 3.1.1#

None.

Changed in 3.1.0#

Refer to API changes as documented here, starting with the changes on November 11, 2025 and ending with the changes on April 29, 2026.

Bug Fixes#

Fixed in 3.1.1#

Targeted quality improvements and bug fixes.

Fixed in 3.1.0#

Targeted quality improvements and bug fixes.

Chip Enablement#

Added in 3.1.1#

None.

Added in 3.1.0#

None.

Key Features#

New Features | Enhancements | Removed Features | Deprecated Features

New Features#

Added in 3.1.1#

None.

Added in 3.1.0#

Thread - SoC Empty sample applications#

This release adds two new OpenThread SoC Empty sample applications:

  • ot-soc-empty - OpenThread - SoC Empty FTD

  • ot-soc-empty-freertos - OpenThread - SoC Empty FTD FreeRTOS

These sample applications provide minimal Full Thread Device (FTD) reference projects for baremetal and FreeRTOS environments. They are intended as starting points for developing Thread applications and include configurable default dataset values for form / join workflows.

OpenThread - SoC Empty FTD is a bare-metal application compatible with series 2 devices, while OpenThread - SoC Empty FTD FreeRTOS utilizes RTOS and is compatible with both series 2 and series 3 devices. Both applications contain only the essential elements required for a functional Thread application, and thus can serve as a base from which to build out OpenThread applications. The pre-made application code in SoC Empty provides basic out-of-the-box functionality to form a Thread network or join an existing one. It does so using dataset parameters that can be configured after project generation using the Simplicity Studio UI to configure the default Dataset Values component, or by modifying the application code directly.

Enhancements#

Added in 3.1.1#

None.

Added in 3.1.0#

  • Thread 1.4 qualification coverage: This release extends Border Router qualification to support Thread 1.4 compliance in both RCP and NCP operating modes, while continuing Thread 1.4 compliance support for SoC applications.

  • Host / NCP NAT64 support: This release adds NAT64 support for OpenThread Border Router deployments that use a Host / NCP architecture.

  • Host / NCP TREL support: This release adds TREL peer-discovery and forwarding support for Host / NCP configurations.

  • Android CPC spinel proxy: This release adds the cpc-spinel-proxy application and related CPC transport refactoring to support Android Thread HAL integrations that communicate through a Unix socket, including OTBR deployments on Android 15.

  • Example metadata standardization: Standardized Simplicity SDK OpenThread example titles and descriptions to align naming and presentation across the example catalog.

  • Toolchain and platform integration updates: Added integration with the Silicon Labs standard logger.

  • Runtime initialization of IPv6 external address pools: OpenThread now supports runtime initialization of IPv6 external address pools via otIp6Init(), with CLI support through ifconfig init <ucast-addr-count> <mcast-addr-count>. This is not yet supported in NCP configurations.

    Impacted users: certification library configurations (non-NCP) in this release default to runtime external address pool initialization.

    • For non-NCP certification library users, update application flow to call otIp6Init() before otIp6SetEnabled() (or run ifconfig init ... before ifconfig up in CLI workflows).

    • For (non-NCP) certification source users, runtime behavior is optional: enable OPENTHREAD_CONFIG_IP6_INIT_EXT_ADDR_POOL_ENABLE (and OPENTHREAD_CONFIG_CLI_IFCONFIG_INIT_ENABLE for CLI) to use this API/CLI flow; otherwise continue using compile-time OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS / OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

  • Upgrade rules: Added project upgrade rules to preserve required NCP CLI support and serial-task stack sizing when upgrading existing projects.

  • Configurable ECDSA dependencies: Added OpenThread crypto component options to allow projects to choose deterministic or non-deterministic ECDSA behavior.

  • Default Dataset Values Component for testing purposes: This release adds a new component for OpenThread called Default Dataset Values. This component provides defines for the basic elements of an OpenThread dataset, those being Channel, PAN ID, and Network Key. Each of these is configurable via the component’s configuration menu in the Simplicity Studio UI. This component should only be used for testing, as utilizing a static default dataset in production applications poses a security risk.

  • OpenThread TrustZone applications: OpenThread TrustZone applications now utilize all available flash and RAM memory.

  • Packaging Updates: The filepaths of .slcc files and code classification headers inside openthread_stack have moved: component to component_stack and include to include/code_classification (but the SLC component interface to use this content in a project is unchanged).

  • Logging improvements: Added a new ot_sl_log component which, when included in an application, utilizes the standard Silicon Labs debug logger.

Removed Features#

None.

Deprecated Features#

None.

API Changes#

Changed in 3.1.1#

None.

Changed in 3.1.0#

Refer to API changes as documented here, starting with the changes on November 11, 2025 and ending with the changes on April 29, 2026.

Impact of Release Changes#

Impact Statements | Migration Guide

Impact Statements#

ot-ncp-ftd-cpc and ot-ncp-mtd-cpc now require devices with at least 128 KB RAM because CPC buffer sizing was increased to handle larger Spinel / IP traffic.

Migration Guide#

None.

Bug Fixes#

Fixed in 3.1.1#

ID Issue Description GitHub / Salesforce Reference (if any) Affected Software Variants, Hardware, Modes, Host Interfaces
1565673 Fixed an OTBR / NCP certification issue where both the NCP and the host OTBR could advertise MeshCoP services, resulting in duplicate DNS-SD service registration with incorrect ports. None OTBR / NCP Thread 1.4 certification configurations
1677527, 1692803 Fixed an issue where, when OpenThread runs on the NCP (network co-processor), the border router does not forward DNS queries from Thread devices to upstream DNS resolvers on the infrastructure link. None Host / NCP architectures

Fixed in 3.1.0#

ID Issue Description GitHub / Salesforce Reference (if any) Affected Software Variants, Hardware, Modes, Host Interfaces
1224581, 1224586 Updated the Silicon Labs OpenThread platform layer to avoid configuration-dependent Mbed TLS / PSA Crypto ABI mismatches when using precompiled libraries with customized Mbed TLS settings. None Applications using precompiled OpenThread libraries with customized Mbed TLS / PSA Crypto configurations
1485392, 1582132 Fixed issue in which the RTOS stack task would unexpectedly process serial data. None RTOS OpenThread applications using the serial task
1566197 Fixed an issue where certain Thread communications could be disrupted between a pair of devices in which a ble connection is open. None Thread Multiprotocol applications with BLE
1569156 Linking with the “OpenThread certification library” and enabling both “SHA-384 and SHA-512” components will no longer result in a hard fault. 00336033 Applications using the OpenThread certification libraries and customized PSA / MBEDTLS configurations
1589205 Fixed otPlatRadioEnergyScan to return OT_ERROR_BUSY when radio is already performing energy scan, as required by OpenThread platform API contract. None Multi-instance applications
1590627 OTBR Debian packages now install NAT64 and other default OTBR services correctly. None Debian OTBR installations
1569103 Fixed an issue where a disconnected CPC endpoint during frame transmission was incorrectly treated as a successful send, leading to undetected frame loss. None OTBR / NCP CPC configurations
1602474 During the join process for a Synchronized Sleepy End Device (SSED), the NCP support no longer errors out in the MAC when processing enhanced ACKs. This occurred only during the CSL negotiation and not in other cases. None Synchronized Sleepy End Devices (SSEDs)
1605124 Fixed issue in which an assert is occasionally caused by starting an alarm while another alarm is active. 00335311 All OPNs, boards, modes and interfaces
1621998 Corrected the value returned by otPlatRadioGetTransmitPower() so transmit power is reported in dBm. 00340226 All OPNs, boards, modes and interfaces
1635295 Fixed a busfault / hardfault that could occur when building or running OpenThread applications with NDEBUG=1. 00341017 All OPNs, boards, modes and interfaces
1640055 Fixed an issue where openthread was reinitializing the sl_iostream_debug stream causing the system default stream to become sl_iostream_debug. 00341123 All OPNs, boards, modes and interfaces
1633284 Fixed a CSL issue with otbr + rcp by increasing OPENTHREAD_CONFIG_MAC_CSL_REQUEST_AHEAD_US on host. None Host / OTBR configurations using sleepy end devices on Series 3

Chip Enablement#

None.

Application Example Changes#

New Examples | Modified Examples | Removed Examples | Deprecated Examples

New Examples#

Added in 3.1.1#

None.

Added in 3.1.0#

Example Name Description Supported Software Variants (if applicable) Supported Modes Supported OPNs / Boards / OPN Combinations Supported Host Interfaces

ot-soc-empty

See README.

This is a minimal OpenThread SoC application on a Full Thread Device (FTD), intended as a starting point for developing Thread applications in a baremetal environment. Full Thread Device SoC Series 2 devices None

ot-soc-empty-freertos

See README.

This is a minimal OpenThread SoC application on a Full Thread Device (FTD), intended as a starting point for developing Thread applications in a FreeRTOS environment. Full Thread Device SoC All OPNs and boards that support Thread None

Modified Examples#

Modified in 3.1.1#

ot-ncp-ftd-cpc and ot-ncp-mtd-cpc sample applications are now limited to devices with at least 128 KB RAM.

Modified in 3.1.0#

  • OpenThread example application titles and descriptions were standardized across the Simplicity SDK example catalog.

  • The OpenThread BLE DMP samples were moved to multiprotocol.

  • Watchdog support has been added to all sample apps.

Removed Examples#

None.

Deprecated Examples#

None.

Known Issues and Limitations#

Issues in bold were added since the previous release.

ID Issue or Limitation Description GitHub / Salesforce Reference (if any) Workaround (if any) Affected Software Variants, Hardware, Modes, Host Interfaces
1625968 Radio may not return to IDLE when CSL is in use in multi-protocol environments. 00339903 Contact customer support for workaround. Multi-protocol environments with CSL enabled
1629296 RxFrame::ProcessReceiveAesCcm() can take more than 5 ms to process on Series 2 platforms. 00340682 Contact customer support for workaround. All Series 2 devices
1634898 Intermittent Ping Failures when using ot-ble-multi-instance app. None No known workaround. All devices