Bluetooth Mesh SDK Version 9.0.0 (June 16, 2025) - Release Notes#

Bluetooth Mesh Version 9.0.0

Simplicity SDK Version 2025.6.0

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#

Improved formatting of model configuration data that is stored on the device.

API Changes#

  • Added API for migrating existing model configuration data to new format that provides more flexibility for DFU.

  • Fixed API issues for configuration client, proxy solicitation, and scene model deinitialization.

  • Removed deprecated test APIs.

Bug Fixes#

  • Corrected a number of remote provisioning issues.

  • Corrected a number of generic, lighting, and LC model issues.

  • Fixed API issues for configuration client, proxy solicitation, and scene model deinitialization.

Chip Enablement#

None.

Key Features#

New Features | Enhancements | Removed Features | Deprecated Features

New Features#

None.

Enhancements#

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#

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#

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 API Name

Was Deprecated?

sl_btmesh_prov_test_identity

Yes

sl_btmesh_test_set_adv_scan_params

Yes

sl_btmesh_test_set_segment_send_delay

Yes

sl_btmesh_test_set_sar_config

Yes

Deprecated APIs#

Deprecated API Name

Planned Removal Date

sl_btmesh_node_get_networks

Dec 2025

Bug Fixes#

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:
  • Use the intended network key specified by enc_netkey_index to transmit sl_btmesh_config_client_get_model_pub() request;
  • Do not allow removing the network key used to transmit sl_btmesh_client_remove_netkey() request as a response would not be sent after the removal;
  • Corrected publication retransmission reporting
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#

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
    All
None

Modified Examples#

Example Name Changes Supported Software Variants if applicable Supported Modes Supported OPNs / Boards / OPN Combinations Supported Host Interfaces

btmesh_host_dfu

  • The application allows firmware update without reprovisioning
  • The fw_image_path is no longer a positional argument in the btmesh_host_dfu example
N/A NCP
  • Boards: All
  • External Hosts: PC
UART
All embedded examples Standard SoC
    All
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
1412121 Currently, only one Scheduler Server model is permitted, and it has to be located on the primary element. None None All; generic software issue
1413864, 1425025, 1452212, 1452213 DFU distributor server has issues in tracking node state correctly when packet loss or communication timeouts occur, especially in environments with unusually high packet rate. 325400 Ensure that the network is not overloaded with traffic; or, update smaller sets of nodes at a time. All; generic software issue
1427300 Mesh BLOB Transfer server model does not complete pull mode transfers correctly None None All; generic software issue
1434214 DFU distributor server does not handle all values of SL_BTMESH_CONFIG_APP_TXQ_SIZE correctly None Configure SL_BTMESH_CONFIG_APP_TXQ_SIZE to match the expected number of parallel requests All; generic software issue
1453059 If an application uses the btmesh_lighting_server component then Generic level move set with transition this can lead into an infinite update-loop at the end values (0% or 100%) None None All; generic software issue
1456316 Device configuration data page 129 is being used instead of page 1 after device firmware update before the new device term starts. Generic and lighting model initialization may then fail due to mismatch in composition and model correspondence data. None Avoid initializing models that rely on page 1 data to determine the corresponding model relations before the new device term starts. All; generic software issue
1456429 Migrating an embedded provisioner from SDK version 1.x runs into issues when migrating the provisioning database if there are unused entries in the database. 329602 Fill up the provisioning database with junk entries before migration; remove the junk entries after migration completes.
Additionally, the number of provisioning bearers must be set to 3 even if remote provisioning is not being used.
All; generic software issue
1457535 Cryptographic operations may fail on MicriumOS due to heap exhaustion on some devices. None Either configure SL_MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS to 1 to restrict cryptographic operations' heap usage, or enlarge heap size. MicriumOS; xG27 devices