Bluetooth Mesh SDK Version 9.0.1 (July 21, 2025) - Release Notes#
Simplicity SDK Version 2025.6.1
Bluetooth Mesh is a standards-based, many-to-many communication topology available for Bluetooth Low Energy (LE) devices, optimized for large-scale networks and ideally suited for building automation, sensor networks, and asset tracking.
Click here for earlier releases.
Release Summary#
Key Features | API Changes | Bug Fixes | Chip Enablement
Key Features#
Added in 9.0.1#
None.
Added in 9.0.0#
Node firmware can now be updated without having to reprovsion the node.
Multiple bug fixes and quality improvements
API Changes#
Added in 9.0.1#
None.
Added in 9.0.0#
Added API for controlling BLOB transfer and firmware update message sending cadence.
Added API for switching to a more robust BLOB transfer server interface.
Bug Fixes#
Fixed in 9.0.1#
None.
Fixed in 9.0.0#
Corrected a number of BLOB transfer and firmware update issues.
Corrected a number of generic, lighting, and LC model issues.
Fixed embedded provisioner migration from old SDK versions
Chip Enablement#
None.
Key Features#
New Features | Enhancements | Removed Features | Deprecated Features
New Features#
Added in 9.0.1#
Node firmware can now be updated without having to reprovsion the node. The new formatting of model configuration data allows models and elements on the node to be changed as a result of a firmware update without having to reprovision the device (although a Node Address Refresh procedure or a Node Composition Refresh procedure may still be required). Note that projects that make use of the old formatting of model configuration data must first migrate to use the new format.
Added in 9.0.0#
Improved formatting of model configuration data that is stored on the device.
Enhancements#
Added in 9.0.1#
None.
Added in 9.0.0#
Improved formatting of model configuration data that is stored on the device, using model storage component version 2, is now the default; the new format provides more flexibility for project structure changes. Projects using the legacy model storage must first be converted to use the new storage. A migration component is provided to help in the conversion.
Removed Features#
None.
Deprecated Features#
None.
API Changes#
New APIs | Modified APIs | Removed APIs | Deprecated APIs
New APIs#
Added in 9.0.1#
New API Signature | Deprecated API replaced by this (if any) |
---|---|
sl_status_t sl_btmesh_fw_dist_server_configure_throttle | N/A |
sl_status_t sl_btmesh_fw_standalone_updater_configure_throttle | N/A |
sl_status_t sl_btmesh_mbt_client_configure_throttle | N/A |
sl_status_t sl_btmesh_mbt_server_block_start_rsp | N/A |
sl_status_t sl_btmesh_mbt_server_enable_block_start_req | N/A |
Added in 9.0.0#
New API Signature | Deprecated API replaced by this (if any) |
---|---|
sl_status_t sl_btmesh_model_migration_migrate_models | N/A |
sl_status_t sl_btmesh_node_compare_dcd | N/A |
sl_status_t sl_btmesh_scene_client_deinit | N/A |
sl_status_t sl_btmesh_scene_setup_server_deinit | N/A |
Modified APIs#
Added in 9.0.1#
None.
Added in 9.0.0#
Old API | Modified |
---|---|
sl_status_t sl_btmesh_proxy_send_solicitation(uint8_t netkey_index, uint16_t element_index, uint16_t dst) | sl_status_t sl_btmesh_proxy_send_solicitation(uint16_t netkey_index, uint16_t element_index, uint16_t dst) |
sl_status_t sl_btmesh_remote_provisioning_client_open_link(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint16_t timeout_sec, uint8_t dkri, uuid_128 uuid) | sl_status_t sl_btmesh_remote_provisioning_client_open_link(uint16_t enc_netkey_index, uint16_t server, uint16_t elem_index, uint16_t timeout_sec, enum sl_btmesh_remote_provisioning_client_nppi_operation_t dkri, uuid_128 uuid) |
Removed APIs#
Removed in 9.0.1#
None.
Removed in 9.0.0#
Removed API Name | Was Deprecated? |
---|---|
Yes | |
Yes | |
Yes | |
Yes |
Deprecated APIs#
Deprecated in 9.0.1#
None.
Deprecated in 9.0.0#
Deprecated API Name | Planned Removal Date |
---|---|
Dec 2025 |
Bug Fixes#
Fixed in 9.0.1#
ID | Issue Description | GitHub / Salesforce Reference (if any) | Affected Software Variants, Hardware, Modes, Host Interfaces |
---|---|---|---|
1412121 | Allow more than one Scheduler Server model. | None | All; generic software issue |
1413864, 1425025, 1451316, 1452212, 1452213 | Multiple fixes and improvements to make Firnware Update model operation more robust in a high-load environment. | 325400 | All; generic software issue |
1427300 | Correct Mesh BLOB Transfer Server model pull mode transfers completion | None | All; generic software issue |
1434214 | DFU distributor server message sending corrected to handle all values of SL_BTMESH_CONFIG_APP_TXQ_SIZE correctly | None | All; generic software issue |
1449127 | Fix regressions with CTL, HSL, and LC model handling of power on/off state, and state transitions in general | None | All; generic software issue |
1453059, 1455793 | Fix regression with Generic Level Move and Generic Level Delta handing when reacing min/max values | None | All; generic software issue |
1455257 | Return at most 255 bytes of statistics data even if more are requested by application. | 329287 | All; generic software issue |
1456316 | Corrected the use of device composition page 1 when a device has received a firmware update but has not yet begun a new term | None | All; generic software issue |
1456429 | Fixed issues with migrating an embedded provisioner from SDK version 1.x | 329602 | All; generic software issue |
1457535 | Optimized heap usage on MicriumOS. | None | MicriumOS; xG27 devices |
1470416, 1473472 | Corrected issues related to Mesh BLOB Transfer Server model timeout and state transition handling | None | All; generic software issue |
1470419, 1470424 | Fixed issues Mesh BLOB Transfer models and application communication, as well as Device Firmware Update models and application communication; unreliable event to the application caused issues in high load conditions. | None | All; generic software issue |
Fixed in 9.0.0#
ID | Issue Description | GitHub / Salesforce Reference (if any) | Affected Software Variants, Hardware, Modes, Host Interfaces |
---|---|---|---|
1384577 | Allow Device Composition Data state change during Node Address Refresh Procedure. | None | All; generic software issue |
1406862 | Fixed an unintended deactivation of LC mode when entering standby mode. | None | All; generic software issue |
1412725 | Corrected parameter value range for sl_btmesh_proxy_send_solicitation API call. | None | All; generic software issue |
1439194, 1453067, 1453189 | Fixed a number of issues in lighting and generic model state updates stemming from using generic level move operation. | 327432 | All; generic software issue |
1442415 | Close remote provisioning link only after Link Close message has been transmitted. | None | All; generic software issue |
1449114 |
Corrected minor issues in Configuration Client BGAPI:
|
None | All; generic software issue |
1450910 | Properly handle provisioning bearer timeout during remote provisioning. | None | All; generic software issue |
1451240 | Send the correct device address during Node Composition Refresh procedure. | None | All; generic software issue |
1451726 | Fixed a problem in restoring generic model state on power up. | None | All; generic software issue |
1426807 | Fixed a problem in Bluetooth Mesh Sensor Client application which can be stuck in UART write loop. | None | All; generic software issue |
1451726 | Missing bootloader for btmesh_soc_nlc_basic_lightness_controller demo. | None | BRD2602A |
Chip Enablement#
None.
Application Example Changes#
New Examples | Modified Examples | Removed Examples | Deprecated Examples
New Examples#
Added in 9.0.1#
None.
Added in 9.0.0#
Example Name | Description | Supported Software Variants (if applicable) | Supported Modes | Supported OPNs / Boards / OPN Combinations | Supported Host Interfaces |
---|---|---|---|---|---|
Bluetooth Mesh - NLC Energy Monitor. |
An out-of-the-box Software Demo where the device acts as a mock Energy Monitor in a Networked Lighting Control (NLC) system. | Standard | SoC |
|
None |
Modified Examples#
Modified in 9.0.1#
None.
Modified in 9.0.0#
Example Name | Changes | Supported Software Variants if applicable | Supported Modes | Supported OPNs / Boards / OPN Combinations | Supported Host Interfaces |
---|---|---|---|---|---|
btmesh_host_dfu |
|
N/A | NCP |
|
UART |
All embedded examples |
|
Standard | SoC |
|
N/A |
Removed Examples#
None.
Deprecated Examples#
None.
Known Issues and Limitations#
ID | Issue or Limitation Description | GitHub / Salesforce Reference (if any) | Workaround (if any) | Affected Software Variants, Hardware, Modes, Host Interfaces |
---|---|---|---|---|
401550 | No BGAPI event for segmented message handling failure. | 212392, 214429, 216665 | Application needs to deduce failure from timeout / lack of application layer response; for vendor models, an API has been provided. | All; generic software issue |
454059 | A large number of key refresh state change events are generated at the end of KR process, and that may flood NCP queue. | None | Increase NCP queue length in the project. | NCP interface; generic software issue |
454061 | Slight performance degradation compared to 1.5 in round-trip latency tests was observed. | None | None | All; generic software issue |
624514 | Issue with re-establishing connectable advertising if all connections have been active and GATT proxy is in use. | 235615 | Allocate one more connection than is needed. | All; generic software issue |
841360 | Poor performance of segmented message transmission over GATT bearer. | 283876 | Ensure that the underlying BLE connection’s Connection interval is short; ensure that ATT MTU is large enough to fit a full Mesh PDU; tune the minimum connection event length to allow multiple LL packets to be transmitted per connection event. | All; generic software issue |
1204017 | Distributor is not able to handle parallel self FW Update and FW Upload. | None | Don’t run self FW update and FW upload in parallel. | All; generic software issue |
1226127 | Host provisioner example can be stuck when it starts to provision a second node. | None | Restart the host provisioner app before provisioning the second node. | All; generic software issue |