Skip to content

Releases: espressif/esp-idf

ESP-IDF Release v5.1.5

26 Oct 13:59
Compare
Choose a tag to compare

Documentation for IDF v5.1.5 is available at https://docs.espressif.com/projects/esp-idf/en/v5.1.5/

ESP-IDF v5.1.5 is a bugfix update for ESP-IDF v5.1.

Obtaining v5.1.5

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.1.5 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1.5
cd esp-idf-v5.1.5/

This is the recommended way of obtaining v5.1.5 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v5.1.5.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.1.5/esp-idf-v5.1.5.zip

Major changes

This is the list of changes since release v5.1.4:

Major Features

  • Support was added for ESP32-C2 revision 2.0

Changelog

802.15.4

802.15.4 MAC

Added

  • Added a frame length check for the transmission frame (21ed2cb)
  • Supported the large scale size of pending table (be1ba2e)

Changed

  • Refactored the next_operation() logic to avoid some risks when multiple IEEE802154 events are processed in one ISR (21ed2cb)
  • Ignored bit8 for the frame length. (a08c207)
  • Updated to log the "buffer full" message in debug mode only (a08c207)

Thread

Added

  • Supported openthread time sync feature on both RCP and BR (be1ba2e)
  • Supported changing openthread version information (9dad9f9)
  • Added a task switching lock holder check (b6b4727)
  • Added a method to set instance name of meshcop(e) mdns service (a08c207)
  • Added max csmabackoffs numbers for transmission via spinel (ddc6cf9)
  • Supported openthread ephemeral key feature (ddc6cf9)
  • Added events for meshcop-e service publish and remove (ddc6cf9)

Changed

  • Moved some LWIP API to LWIP task (ddc6cf9)
  • Moved the registration of UART VFS devices to UART initialization function (c6ef988)
  • Released openthread task switching lock before calling LWIP API in openthread udp (a08c207)
  • Optimized the PIO logic in multiple BRs scenario (a08c207)
  • Made ot task queue sending non-permanent blocking (e1b83ba)
  • Updated CONFIG_LWIP_IPV6_NUM_ADDRESSES to 12 in Thread BR lib (e1b83ba)
  • Updated openthread submodule (f32c18b) (9dad9f9)

Fixed

  • Fixed dead lock issue related to MDNS (ddc6cf9)
  • Fixed a deadlock risk by releasing ot task lock before tcpip_callback (a08c207)

Removed

  • Removed the empty task for openthread tasklets (a08c207)
  • Removed the range for some configurations (a08c207)

Application Utilities

Added

  • Added check for LWIP_NETIF_LOOPBACK in the HTTP server control socket API (#13659) (3982d55)
  • ESP HTTP Client: Added support for OTA updates over TLS 1.3 (bbd9fe2)
  • ESP HTTPS OTA: Added API to retrieve the most recent status logged from the HTTP response. (cd46411)
  • Provisioning: Added support for ESP IP chips to work with Bluedroid stack (4f40bd4)

Changed

  • Updated cJSON version to v1.7.18 (68c894b)
  • Provisioning: Exposed API to set BLE random address (7c29c5f)

Fixed

  • Fixed allocating if_name in client context multiple times (#13945) (c64c930)
  • Initialize mbedtls RNG context prior to setting client config in ESP-TLS, this fixes ECC key parsing issue for specific cases (2059071)
  • Fixed esp_http_client to reset redirect_counter after completion of a request (#13633) (3982d55)
  • Provisioning: Fixed incorrect input decoding when using console transport (321ffde)

Bluetooth Low Energy (BLE)

Added

  • Documentation: Added BLE Features Support Status to API Guides (b9c2acc)

Bluetooth Low Energy Controller

Added

  • Added option for BLE scan backoff in menuconfig on ESP32 (cb98558)
  • Added support for BLE scanning and initiating state coexistence on ESP32. (fcc24e5)
  • Supported disconnect again if the procedure is ongoing on ESP32 (cb98558)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (cb98558)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (b36c954)
  • Supported enhanced BLE TX power setting and getting on ESP32-C3 and ESP32-S3. (670b6c7)
  • Supported mesh duplicate with extended scan on ESP32-C3 and ESP32-S3. (0ca290d)
  • Added support for configurable default TX power on ESP32-C6, ESP32-H2, and ESP32-C2. (51acf13)
  • Supported UHCI function on ESP32-C6 and ESP32-H2. (d82f916)

Changed

  • Optimized BLE notify and write throughput performance on ESP32. (fe475fe)
  • Changed the maximum TX power to +20dBm on ESP32-C3 and ESP32-S3. (dbe47c3)
  • Updated the BLE rom.ld file for ESP32-C2 v2.0. (464d5d5)

Fixed

  • Fixed BLE scan backoff on ESP32 (8071b02)
  • Use embedded assembly to get access to DPORT registers on ESP32 (cb98558)
  • Fixed BLE scan assert on ESP32 (#8532) (cb98558)
  • Fixed BLE assert when receiving a packet on ESP32 (cb98558)
  • Fixed Wi-Fi BLE coexistence assert issue on ESP32 (cb98558)
  • Fixed issues in BLE Direct Test Mode on ESP32 (cb98558)
  • Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) (fe475fe)
  • Fixed BLE connection timeout issue after using DTM on ESP32. (fe475fe)
  • Fixed assert issue caused by DPORT access on ESP32. (fe475fe)
  • Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. (836dba4)
  • Fixed RPA generation after each reboot on ESP32-C3 and ESP32-S3. (836dba4)
  • Fixed RPA renew timer start and stop on ESP32-C3 and ESP32-S3. (836dba4)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3 (cb98558)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3 (cb98558)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3 (cb98558)
  • Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (4efd577)
  • Fixed BLE interrupt allocation using system API on ESP32-C3 and ESP32-S3. (4efd577)
  • Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (4efd577)
  • Prevented BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (0ca290d)
  • Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero on ESP32-C3 and ESP32-S3. (0ca290d)
  • Fixed BLE channel map update issue when latency is non-zero on ESP32-C3 and ESP32-S3. (670b6c7)
  • Fixed subsequent periodic advertising sync create failed after canceling sync before establishing sync on ESP32-C3 and ESP32-S3. (6436187)
  • Fixed BLE util buffer free after controller reset on ESP32-C3 and ESP32-S3. (ed4220c)
  • Fixed assert when BLE connection already exist and be connected again on ESP32-C3 and ESP32-S3. (ed4220c)
  • Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 revision v1.1. (01bb4f9)
  • Fixed BLE scan assert in lld_scan.c 1728 on ESP32-S3. (a693c96)
  • Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C6 and ESP32-H2. (d456fdf)
  • Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C2. (d456fdf)
  • Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 and less than 0xFFFF on ESP32-C6 and ESP32-H2. (d456fdf)
  • Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32-C2. (d456fdf)
  • Fixed a disconnection issue due to timeout in multi-slave connection scenarios on ESP32-C6 and ESP32-H2. (d456fdf)
  • Fixed an occasional interrupt WDT issue when creating sync on ESP32-C6 and ESP32-H2. (d4ed2ec)
  • Fixed a crash issue during controller initialization when memory was insufficient on ESP32-C6 and ESP32-H2. (d4ed2ec)
  • Fixed an occasional disconnection issue due to timeout after updating connection parameters on ESP32-C6 and ESP32-H2. (d4ed2ec)
  • Fixed an issue with repeated memory deallocation during controller deinitialization after sending an AUX_CHAIN_IND packet on ESP32-C6 and ESP32-H2. (d4ed2ec)
  • Reduced the usage of flash and RAM when only legacy ADV and peripherals are enabled on ESP32-C2. (bd5335f)
  • Fixed the issue where BLE light sleep randomly caused task watchdog upon power up on ESP32-H2. (17e072e)
  • Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C6,ESP32-H2 and ESP32-C2. (aaeb03a)
  • Fixed an occasional cache error crash in DTM process on ESP32-C2. (aaeb03a)
  • Fixed an occasional assert issue in ADV and scan coexistence scenario on ESP32-C6. (aaeb03a)
  • Fixed occasional packet loss issue during severe air interference on ESP32-C6 and ESP32-H2. (aaeb03a)
  • Fixed occasional assertion issues during scan process on ESP32-H2. (344e9ad)
  • Fixed occasional crash issue in multi-connect scenarios on ESP32-C6. (71bac64)
  • Fixed occasional ACL data packet loss issue when using UHCI...
Read more

ESP-IDF Release v5.2.3

25 Sep 07:33
v5.2.3
Compare
Choose a tag to compare

Documentation for IDF v5.2.3 is available at https://docs.espressif.com/projects/esp-idf/en/v5.2.3/

ESP-IDF v5.2.3 is a bugfix update for ESP-IDF v5.2.2.

Obtaining v5.2.3

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.2.3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.2.3
cd esp-idf-v5.2.3/

This is the recommended way of obtaining v5.2.3 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v5.2.3.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.2.3/esp-idf-v5.2.3.zip

Known Issues

  • Crash seen in SoftAP communication with stations, when station connect and disconnect frequently. But it is not a new issue and not easy to reproduce.

Changelog

802.15.4

802.15.4 MAC

Added

  • Supported the large scale size of pending table. (e98e6dc)
  • Added a frame length check for the transmition frame. (f926af9)

Changed

  • Refactored the next_operation() logic to avoid some risks when multiple IEEE802154 events are processed in one ISR (f926af9)
  • Updated to log the "buffer full" message in debug mode only (58264f5)

Fixed

  • Ignored bit8 for the frame length (58264f5)

Thread

Added

  • Supported openthread time sync feature on both RCP and BR (e98e6dc)
  • Supported changing openthread version information (f7dd52f)
  • Added a task switching lock holder check. (4426adf)
  • Added a method to set instance name of meshcop(e) mdns service (58264f5)

Changed

  • Made ot task queue sending non-permanent blocking (b4999cd)
  • Updated CONFIG_LWIP_IPV6_NUM_ADDRESSES to 12 in Thread BR lib (b4999cd)
  • Updated openthread submodule (f32c18b) (f7dd52f)
  • Moved the registration of UART VFS devices to UART initialization function. (ce17358)
  • Optimized the PIO logic in multiple BRs scenario (58264f5)
  • Released openthread task switching lock before calling lwip API in openthread udp (58264f5)
  • Removed the empty task for openthread tasklets (58264f5)

Fixed

  • Fixed a deadlock risk by releasing ot task lock before tcpip_callback (58264f5)

Application Utilities

Added

  • Added check for LWIP_NETIF_LOOPBACK in the HTTP server control socket API (#13659) (ab8ebe6)
  • Provisioning: Added support for ESP IP chips to work with bluedroid stack (59f8a48)

Changed

  • Updated cJSON version to v1.7.18 (c5909dc)

Fixed

  • Fixed allocating if_name in client context multiple times (#13945) (927e41f)
  • Initialize mbedtls RNG context prior to setting client config in ESP-TLS, this fixes ECC key parsing issue for specific cases (018409d)
  • Fixed esp_http_client to reset redirect_counter after completion of a request (#13633) (ab8ebe6)
  • Provisioning: Exposed API to set BLE random address (cfb057e)
  • Fixed incorrect input decoding when using console transport (a1a05fe)

Bluetooth Low Energy (BLE)

Added

  • Documentation: Added BLE Features Support Status to API Guides (7dd2a47)

Bluetooth Low Energy Controller

Added

  • Supported UHCI function on ESP32-C6 and ESP32-H2. (d0da89f)
  • Supported mesh duplicate with extended scan on ESP32-C3 and ESP32-S3. (9bed8f2)
  • Added support for configurable default TX power on ESP32-C6, ESP32-H2, and ESP32-C2. (e149e10)
  • Supported enhanced BLE TX power setting and getting on ESP32-C3 and ESP32-S3. (b8539f6)

Changed

  • Optimized BLE notify and write throughput performance on ESP32. (6a4396c)

Fixed

  • Fixed issue where subsequent periodic advertising sync creation failed after canceling sync prior to establishment on ESP32-C3 and ESP32-S3. (7bf8ae0)
  • Fixed BLE util buffer free after controller reset on ESP32-C3 and ESP32-S3. (efdeaba)
  • Fixed assertion when attempting to reconnect an existing BLE connection on ESP32-C3 and ESP32-S3. (efdeaba)
  • Fixed a crash during host deinitialization after the controller had been deinitialized on ESP32-C2. (da9536d)
  • Fixed instant wake-up from deep sleep when BLE is running on ESP32-H2. (fc4abfa)
  • Fixed an occasional WDT issue when disabling the Controller on ESP32-C6. (a9da6b3)
  • Fix BLE channel map update issue when the latency is non-zero on ESP32-C3 and ESP32-S3. (b8539f6)
  • Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) (6a4396c)
  • Fixed BLE connection timeout issue after using DTM on ESP32. (6a4396c)
  • Fixed assert issue caused by DPORT access on ESP32. (6a4396c)
  • Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C6 and ESP32-H2. (29bc80a)
  • Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C2. (29bc80a)
  • Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32-C6 and ESP32-H2. (29bc80a)
  • Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32-C2. (29bc80a)
  • Fixed a disconnect issue due to timeout in multi-slave connection scenarios on ESP32C6 and ESP32H2. (29bc80a)
  • Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. (358e0d6)
  • Fixed RPA generation after each reboot on ESP32-C3 and ESP32-S3. (358e0d6)
  • Fixed RPA renew timer start/stop handling on ESP32-C3 and ESP32-S3. (358e0d6)
  • Fixed an occasional interrupt WDT issue when creating sync on ESP32-C6 and ESP32-H2. (9ae3116)
  • Fixed a crash issue during controller initialization when memory was insufficient on ESP32-C6 and ESP32-H2. (9ae3116)
  • Fixed an occasional disconnect issue due to timeout after updating connection parameters on ESP32-C6 and ESP32-H2. (9ae3116)
  • Fixed an issue with repeated memory deallocation during controller deinitialization after sending an AUX_CHAIN_IND packet on ESP32-C6 and ESP32-H2. (9ae3116)
  • Fixed BLE scan backoff on ESP32 (9c63a9a)
  • Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C6,ESP32-H2 and ESP32-C2. (a55fb17)
  • Fixed occasional cache error crash in DTM process on ESP32-C2. (a55fb17)
  • Fixed occasional assert in adv and scan coexistence scenario on ESP32-C6. (a55fb17)
  • Fixed occasional packet loss issues during severe air interference on ESP32-C6 and ESP32-H2. (a55fb17)
  • Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (1491b57)
  • Fixed BLE interrupt allocation using system API on ESP32-C3 and ESP32-S3. (1491b57)
  • Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (1491b57)
  • Fixed occasional assertion issues during scan process on ESP32-H2. (401816e)
  • Fixed the issue of occasional assertion in multi-synchronization scenarios on ESP32-H2. (d0da89f)
  • Fixed the issue where directed advertising could not be connected when the advertisement filter was set to 0x2 on ESP32-C6, ESP32-H2, and ESP32-C2. (ab0e820)
  • Fixed occasional WDT issue in multi-connection scenarios on ESP32H2. (ab0e820)
  • Fixed a low-probability assertion issue in adv and scan coexistence scenarios on ESP32-C6. (ab0e820)
  • Fixed the issue where connected advertising could still be set after reaching the maximum number of connections on ESP32-C6, ESP32-H2, and ESP32-C2. (ab0e820)
  • Fixed response timeout triggered when updating connection parameters on ESP32-C6, ESP32-H2 and ESP32-C2. (ab0e820)
  • Prevent BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (9bed8f2)
  • Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero on ESP32-C3 and ESP32-S3. (9bed8f2)

ESP Bluedroid Host

Added

  • Supported for adding BLE devices to the resolving list. (5da6f3f)
  • Supported for creating BLE static random addresses and non-resolvable private addresses (5da6f3f)
  • Supported for setting the resolvable private address timeout via API. (5da6f3f)
  • Supported for setting BLE privacy mode for peer devices. (5da6f3f)
  • Added definitions for BLE authentication failure reasons. (1491b57)
  • Supported for BLE 5.0 instances in related events (17a18e8)
  • Added the check for setting BLE advertising parameters when deleting GATTS services (17a18e8)

Changed

  • Optimized BLE SPP example for improved compatibility (5da6f3f)
  • Optimized BLE Bluedroid examples for setting advertising data. (9d6583f)
  • Optimized BLE event reporting time for connection failures (b621e14)

Fixed

  • Fixed issue with work queue deletion when thread creation fails. (36d2fd8)
  • Fixed memory out-of-bounds issue when parsing adv data. (33539d1)
  • Report HCI error status to application when command fails. (9eb139a)
  • Cancelled the BLE connection initiation if the connection has already been established when both devices initiate a conn...
Read more

ESP-IDF Release v5.3.1

04 Sep 03:05
v5.3.1
Compare
Choose a tag to compare

Documentation for IDF v5.3.1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.3.1/

ESP-IDF v5.3.1 is a bugfix release for ESP-IDF v5.3.

Obtaining v5.3.1

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3.1
cd esp-idf-v5.3.1/

This is the recommended way of obtaining v5.3.1 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v5.3.1.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.3.1/esp-idf-v5.3.1.zip

Major changes

This is the list of changes since release v5.3:

Known Issues

  • For ESP32-P4, the data in PSRAM will be destroyed during lightsleep.
  • For ESP32-P4, CPU frequency switching has become slightly slower when the DFS is used.

Changelog

15.4

Thread

Added

  • Added a task switching lock holder check (e1f066e)
  • Supported changing openthread version information (dc7fb34)

Changed

  • Made ot task queue sending non-permanent blocking (be5feaf)
  • Updated CONFIG_LWIP_IPV6_NUM_ADDRESSES to 12 in Thread BR lib (be5feaf)
  • Updated openthread submodule (f32c18b) (dc7fb34)
  • Move the registration of UART VFS devices to UART initialization function (c2d5712)

MAC

Added

  • Added a frame length check for the transmition frame (23e2b6a)

Fixed

  • Refactored the next_operation() logic to avoid some risks when multiple IEEE802154 events are processed in one ISR (23e2b6a)

Application Utilities

Fixed

  • Provisioning: Exposed API to set BLE random address (8795e7a)
  • Provisioning: Fixed incorrect input decoding when using console transport (f0ba6eb)
  • ESP HTTP Client: Fixed allocating if_name in client context multiple times (#13945) (86b9fb7)

BLE

Changed

  • Documentation: Revised and improved Bluetooth Controller && VHCI API references for ESP32. (25ff0fb)

Bluedroid

Added

  • Added support for BLE 5.0 instances in related events (1fa25ff)
  • Added the check for setting BLE advertising parameters when deleting GATTS services (1fa25ff)
  • Added definitions for BLE authentication failure reasons. (638577b)

Changed

  • Optimized BLE event reporting time for connection failures (67b0e9b)

Fixed

  • Reset BLE security parameters during initialization (#13869) (883ee8b)
  • Fixed incorrect state issue when unregistering BLE GATTC application. (530f10f)
  • Fixed the issue where BLE could not create a connection if the controller doesn't support the coexistence of scanning and connection initiating states. (b81f351)
  • Fixed BLE security vulnerability when using fixed local IRK. (638577b)

Removed

  • Removed error print when failing to remove a device from the resolving list. (638577b)

Controller

Added

  • Supported UHCI function on ESP32-C6 and ESP32-H2. (0efdd4a)
  • Added support for configurable default TX power on ESP32-C6, ESP32-H2, and ESP32-C2. (0efdd4a)
  • Supported mesh duplicate with extended scan on ESP32-C3 and ESP32-S3. (2ea1eff)

Fixed

  • Fixed the issue where directed advertising could not be connected when the advertisement filter was set to 0x2 on ESP32-C6, ESP32-H2, and ESP32-C2. (bbe0750)
  • Fixed occasional WDT issue in multi-connection scenarios on ESP32H2. (bbe0750)
  • Fixed the issue where connected advertising could still be set after reaching the maximum number of connections on ESP32-C6, ESP32-H2, and ESP32-C2. (bbe0750)
  • Fixed response timeout triggered when updating connection parameters on ESP32-C6, ESP32-H2 and ESP32-C2. (bbe0750)
  • Fixed a low-probability assertion issue in adv and scan coexistence scenarios on ESP32-C6. (bbe0750)
  • Prevent BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (2ea1eff)
  • Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero on ESP32-C3 and ESP32-S3. (2ea1eff)
  • Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (638577b)
  • Using system API to alloc BLE interrupt on ESP32-C3 and ESP32-S3. (638577b)
  • Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (638577b)
  • Fixed the issue of occasional assertion in multi-synchronization scenarios on ESP32-H2. (0efdd4a)
  • Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C6,ESP32-H2,ESP32-C5 and ESP32-C2. (0efdd4a)
  • Fixed occasional cache error crash in DTM process on ESP32-C2. (0efdd4a)
  • Fixed occasional assert issue in adv and scan coexistence scenario on ESP32-C6. (0efdd4a)
  • Fixed occasional packet loss issue during severe air interference on ESP32-C6 and ESP32-H2. (0efdd4a)

Mesh

Fixed

  • Fixed an issue which may cause transmission resources not been released correctly (1316c4b)
  • Fixed that some of the advertised segmented message sent to subscribed group address are not transmitted (d4ac547)

NimBLE

Added

  • Added support for host with callback option to provide IRK during host init. (d434587)

Changed

  • Updated Advertising Tx power levels to match with specification. (c4d4bfd)
  • Increased Timer stack size for nimble application to fix timer overflow issue. (e78cd20)
  • Updated menuconfig options to consider BLE 5.0 support options. (14135f9)

Fixed

  • Fixed BLE security vulnerability when using fixed local IRK (9f7f1f3)
  • Fixed the sequence of posting pairing complete event to host (9f7f1f3)
  • Fixed issue where cb information passed in connect request was getting corrupted. (9f7f1f3)
  • Zero initialized variables to fix incorrect paired device number information received after host initialization. (8595590)

Bluetooth Common

Controller

Fixed

  • Fixed Bluetooth disconnect issue after waking up from modem sleep with external 32k crystal on ESP32 (0bbd728)

Build & Config

Removed

  • Removed duplicate entry for IDF_TARGET_LINUX from the project Kconfig file. (#14145) (e438c69)

Classic Bluetooth

Bluedroid

Fixed

  • Fixed the stack overflow of uTask in bt example spp initiator (d390c6f)
  • Fixed the wrong connection handle in the event handler of BTA_JV_L2CAP_READ_EVT(#13847) (35e9a11)

Controller

Added

  • Added integrity check for HCI_Link_Key_Selection command on ESP32 (9788842)

Fixed

  • Fixed failure of eSCO connection establishment eSCO when connected to two devices on ESP32(#11172) (4a4d20f)
  • Fixed uninitialized random number before pausing AES encryption on ESP32 (4a4d20f)
  • Fixed not report HCI_Disconnection_Complete event after the controller has initiated a disconnection procedure on ESP32 (4a4d20f)
  • Fixed disconnection caused by channel map update in sniff mode on ESP32 (808950a)
  • Fixed an assertion in ACL link driver which can be triggered on peripheral SNIFF mode when RX window is adjusted on ESP32. (2e512fb)

Coexistence

Fixed

  • Fixed LoadProhibited issue in coexistence scenario on ESP32-C3 and ESP32-S3. (2ea1eff)

Core System

Fixed

  • Print backtrace for both CPUs when cache error does not determine CPU (68bdc86)
  • Console: Fixed console freeze when USB Serial JTAG is used and input data is received prior to the initialization of the driver (see #13940) (6c52686)
  • Newlib: Fixed ROM(P4/H2) nano newlib can not printf float issues (90bb23f)
  • Pthread: Fixed pthread join/detach potentially freeing the wrong TLS pointer(#14084) (474a926)
  • Watchdogs: Allow XTAL32K WDT only on supported chips (#13955) (3914802)

Debugging

Added

  • Core Dump: Include .data, .bss, and heap sections into the core dump (5325cac)

Fixed

  • Core Dump: Fixed array out of the bounds compile error (ba3a106)

Ethernet

Added

  • Ethernet: Added configuration of SPI Ethernet MAC address based on esp_read_mac in Protocols Connect Example (#13808) (7f1b752)

FreeRTOS

Fixed

  • IDF Additions: Fixed an issue where the vTaskDeleteWithCaps() API leaked memory (#14222) (cada05a)
  • IDF Kernel: Fixed a bug where the FreeRTOS port layer would incorrectly crash on an assert failure when the system is not in an interrupt context but the port layer determines the opposite. (39a3d54)

LWIP

Fixed

  • Fixed compilation error in lwIP undefined reference to if_nametoindex.(#13577) (b82594e)
  • ESP Netif: Fixed setting missing IPv6 auto-configuration flag for PPP interfaces if enabled in menuconfig (#13713) (f5e6f72)
  • ESP Netif: Fixed esp_netif_get_all_ip6() to return only valid addresses. (7a538b9)

Low Power Features

ULP

Added

  • Added option for routing LP-Core prints to HP-Core console uart (fc847a0)
  • Added support ...
Read more

ESP-IDF Release v5.0.7

14 Aug 18:56
v5.0.7
Compare
Choose a tag to compare

Documentation for IDF v5.0.7 is available at https://docs.espressif.com/projects/esp-idf/en/v5.0.7/

ESP-IDF v5.0.7 is a bugfix update for ESP-IDF v5.0.

Obtaining v5.0.7

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.0.7 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.0.7
cd esp-idf-v5.0.7/

This is the recommended way of obtaining v5.0.7 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v5.0.7.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.0.7/esp-idf-v5.0.7.zip

Major changes

Major Bug Fixes

  • SPI Flash: Fixed stuck during spi_flash operation when a task was not pinned to a certain CPU. (f0c2da6)

Changelog

This is the list of changes since release v5.0.6:

App Update

Added

  • Updated esp_ota_revoke_secure_boot_public_key to validate the new app and the bootloader before key revocation. (68c450d)

App Utils

Changed

  • Updated cJSON version to v1.7.18 (d962b76)

Fixed

  • Added check for LWIP_NETIF_LOOPBACK in the HTTP server control socket API (#13659) (3043a83)
  • Fixed allocating if_name in client context multiple times (#13945) (6a28414)
  • Fixed esp_http_client to reset redirect_counter after completion of a request (#13633) (3043a83)
  • Fixed incorrect processing of HTTP header (#13497) (9d1abd7)
  • Fixed esp_http_client digest auth without qop (5af8e88)
  • Esp Prov: Fixed incorrect input decoding when using console transport (bf87512)

Bluetooth Low Energy (BLE)

Fixed

  • Example: Use correct struct type in discover service complete event in examples/bluetooth/bluedroid/ble/gatt_client. (d388c85)
  • Example: Fixed UART HCI when flow control is off in examples/bluetooth/hci/controller_hci_uart_esp32c3_and_esp32s3. (7a649e8)

Bluetooth Low Energy Controller

Added

  • Supported ESP32-C2 light sleep using an external 32.768 kHz oscillator at pin0 as a slow clock source. (2796f01)
  • Added CCA-related config option on ESP32-C2 (2796f01)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (3b6ee15)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Added BLE scan backoff config in menuconfig on ESP32 (dd61b7e)
  • Removed error print when disconnection again if the disconnection procedure is ongoing on ESP32 (dd61b7e)
  • Added support for configurable default TX power on ESP32-C2. (4a46dce)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C2. (2796f01)
  • Optimized BLE notify and write throughput performance on ESP32. (d156502)
  • Optimized BLE event reporting time for connection failures (9a0c562)
  • Changed the level of BLE interrupt to avoid allocation failure on ESP32S3. (13033ac)

Fixed

  • Fixed HCI command status event sent when LLCP is busy on ESP32 (d388c85)
  • Fixed HCI command status event sending for disconnection command on ESP32 (d388c85)
  • Fixed LE transmitter test command parameters check on ESP32 (d388c85)
  • Fixed an occasional assertion issue when enabling multiple periodic adv on ESP32-C2. (b1992f1)
  • Fixed adv interval range limit error issue on ESP32-C2. (b1992f1)
  • Fixed an occasional assertion issue when disabling the Controller on ESP32-C2. (b1992f1)
  • Fixed scheduling when modem sleep wakeup is delayed on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed BLE IRQ FIFO overflow when entering critical on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed clock sync timeout when exiting modem sleep on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed directed adv with RPA when privacy was disabled on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed instant passed when connection updating or PHY updating on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed BLE TX count in direct test mode on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed BLE modem sleep enter failed sometimes on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed an occasional assertion issue during slave connection in WiFi coexistence scenarios on ESP32-C2. (38aef77)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. (2796f01)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Fixed BLE scan assert on ESP32 (#8532) (dd61b7e)
  • Fixed BLE assert when receiving packets on ESP32 (dd61b7e)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) (d156502)
  • Fixed BLE connection timeout issue after using DTM on ESP32. (d156502)
  • Fixed assert issue caused by DPORT access on ESP32. (d156502)
  • Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C2. (b6f8340)
  • Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32C2. (b6f8340)
  • Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. (bb71e79)
  • Fixed the issue where RPA did not re-generage after each reboot on ESP32-C3 and ESP32-S3. (bb71e79)
  • Fixed BLE scan backoff on ESP32 (d4f35fc)
  • Fixed BLE coexistence assert on ESP32 (961ca4f)
  • Fixed BLE DTM status and TX count error on ESP32 (961ca4f)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. (fb12a68)
  • Use embedded assembly to get access to DPORT registers on ESP32 (dd61b7e)
  • Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (ef922dd)
  • Fixed BLE interrupt allocation using system API on ESP32-C3 and ESP32-S3. (ef922dd)
  • Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (ef922dd)
  • Fixed controller task blocking issue when using UART HCI on ESP32-C2. (8d86ea0)
  • Prevent BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (7109734)
  • Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero (7109734)
  • Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C2. (8599e25)
  • Fixed occasional cache error crash in the DTM process on ESP32-C2. (8599e25)

ESP Bluedroid Host

Added

  • Added bluerooth HCI layer data stream record (6d63daa)
  • Added APIs for BLE direct test mode (6d63daa)
  • Added API to send vendor HCI command (6d63daa)
  • Added API to add BLE devices to the resolving list (2233d54)
  • Support creating BLE static random address and NRPA (2233d54)
  • Support API to set resolvable private address timeout (2233d54)
  • Added support for setting BLE privacy mode for peer devices. (6d288ef)
  • Added definitions for BLE authentication failure reasons. (ef922dd)
  • Added support for BLE 5.0 instances in related events (a8f8936)
  • Added the check for setting BLE advertising parameters when deleting GATTS services (a8f8936)

Changed

  • Updated maximum BLE reconnection attempts configuration (597a7d1)
  • Optimized BLE SPP example for improved compatibility (2233d54)

Fixed

  • Fixed the issue where advertising does not restart due to disconnection reason 0x3e (6d63daa)
  • Fixed crash when calculating GATTS database hash (d388c85)
  • Fixed BLE crash when repeatedly initializing and deinitializing host (ffdd5dc)
  • Fixed BLE periodic advertising to create sync parameter check error (ffdd5dc)
  • Fixed xQueueSemaphoreTask assert when deinitializing host during scan (d253654)
  • Fixed BLE appearance category ranges (#13626) (4ae73b7)
  • Fixed BLE GATT max length of an attribute value (2233d54)
  • Fixed the issue where the BLE data length change event was not triggered when the packet length was modified on the other connected device. (9e49bf8)
  • Fixed BLE security vulnerability when using fixed local IRK. (ef922dd)

Removed

  • Removed error print when failing to remove a device from the resolving list. (ef922dd)

ESP BLE Mesh

Changed

  • Improved BLE mesh deinitialization procedure when using NimBLE Host (48570f5)

Fixed

  • Fixed an issue that could cause incorrect transmission resources to be released (6ed2802)
  • Fixed potential deadlock may happened during initialization when using Bluedroid Host (432f1ff)
  • Fixed issue where the mesh deinit complete event may not be reported when using NimBLE Host (1505232)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh stack (55adcbf)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh examples (55adcbf)
  • Fixed using wrong type value for ADV_NONCONN_IND in NimBLE Host adapter (1cc35f0)

ESP NimBLE Host

Added

  • Added support for periodic ADV feature updates in BLE 5.3 (4...
Read more

ESP-IDF Release v5.3

25 Jul 08:06
v5.3
Compare
Choose a tag to compare

Documentation for IDF v5.3 is available at https://docs.espressif.com/projects/esp-idf/en/v5.3/

ESP-IDF v5.3 is a minor update for ESP-IDF v5.2. Release v5.3 is mostly compatible with apps written for ESP-IDF v5.2.

Obtaining v5.3

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3
cd esp-idf-v5.3/

This is the recommended way of obtaining v5.3 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v5.3.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.3/esp-idf-v5.3.zip

Major changes

This is the list of changes since release v5.2:

Major New Features

Support for New SoCs

ESP32-P4
  • Low Power System
    • Low Power Core (RISC-V)
    • Low-power GPIO
    • Low-power I2C Master
    • Low-power SPI
    • Low-power Timer
    • Low-power UART
    • Low-power Watchdog Timer
  • Peripherals
    • ADC
      • ADC continuous mode driver
      • ADC oneshot mode driver
    • DMA (Direct Memory Access)
      • 2DDMA
      • DMA channel allocator
      • GDMA
        • CRC Calculator
      • GDMA2
    • Ethernet driver
      • SPI Ethernet driver
      • internal MAC driver
    • Event Task Matrix
    • GPIO driver
      • Analog Comparator
      • GPIO ETM
      • Glitch Filter
      • RTC IO (LP IO) driver
    • GPIO sigma delta driver
    • GPSPI
      • SPI Master driver
      • SPI Slave HD driver
      • SPI Slave driver
    • GPTimer driver
    • H264 Encoder
    • I2C
      • I2C master driver
      • I2C slave driver
    • I2S
      • I2S driver
        • I2S PDM rx mode
        • I2S PDM tx mode
        • I2S STD mode
        • I2S TDM mode
      • I2S legacy driver
    • JPEG
      • JPEG Decoder Driver
      • JPEG Encoder Driver
    • LCD driver
      • MIPI DSI
    • LEDC driver
      • Gamma Curve Generation
    • MCPWM driver
    • MIPI CSI
    • PCNT driver
    • PSRAM
      • PSRAM Device Driver
      • XIP PSRAM
    • Parallel IO
      • Parallel IO RX Driver
      • Parallel IO TX Driver
    • Pixel Processing Accelorator Driver
    • RMT driver
    • SD/SDIO/MMC driver
      • SDMMC Host driver
      • SDSPI Host driver
    • SPI Flash driver
    • Systimer driver
      • Esptimer implementation over systimer
      • OS tick port over systimer
    • Temperature Sensor driver
    • Touch Sensor driver
    • UART
      • Support Low Power UART instance
      • UART FIFO mode driver
    • USB OTG
      • USB Device (TinyUSB) driver
        • USB 2.0 Device Support
      • USB Host driver
        • USB 2.0 Host Support
    • memory copy by DMA
  • Power management
    • Auto Light Sleep
    • Deep Sleep
    • Dynamic Frequency Switch
    • Light Sleep
  • Security Features
    • AES accelerator
    • Digital Signature driver
    • ECC accelerator
    • Flash encryption
    • HMAC driver
    • RNG
    • RSA hardware accelerator driver
    • SHA accelerator
    • Secure boot
  • System Features
    • Bootloader Support
    • Cache
      • Cache Driver
    • Console
    • Cxx Component
    • ESP Event
    • ESP ROM
    • ESP Ringbuffer
    • ESP Timer
    • Efuse controller driver
    • Floating Point Unit
    • FreeRTOS
    • MMU
    • MSPI
      • MSPI tuning (Flash & PSRAM DDR and/or over 80 MHz)
      • SPI Flash auto suspend
    • POSIX Threads
    • Panic Handling Features
      • Core Dump
      • Debug Watchpoint
      • GDB Stub
      • Panic Handler
      • Stack Guard
    • Ram App
    • TCM
    • Watch Dog Timers
    • newlib
  • Wireless Expansion
    • Bluedroid Host
    • NimBLE Host
    • ESP8689 SDIO/SPI driver
    • Coexistence

Other Features

  • Supported external Wi-Fi connections for ESP32-P4 and other espressif chips. (3f486c4)
  • Added support for merging hosted Wi-Fi solution in esp_wifi component. (2a6b3df)

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Known Issues

  • Linker issue [VFS/FatFS]: multiple definitions on directory manipulation routines when using std::filesystem namespace. The issue shall be fixed soon. For the meantime, please avoid using std::filesystem or use the patch mentioned here #13736 (comment). See also #14174
  • For ESP32-P4, the data in PSRAM will be destroyed during lightsleep.
  • For ESP32-P4, CPU frequency switching has become slightly slower when the DFS is used.

Changelog

802.15.4

802.15.4 MAC

Added

  • Added the pending tx while rx feature (d499ba4)
  • Added the feature of received done handler (f3039dd)
  • Added ieee802154 examples (bae3c28)
  • Added packets statistic of IEEE802.15.4 (b516012)
  • Added 802.15.4 coex break notification (fdf5783)
  • Supported IEEE802.15.4 MAC deinit (45f95e3)

Fixed

  • Fixed pending tx will be delayed issue (ac76d44)
  • Fixed the issue of not receiving packets when RSSI is positive in ESP32-H2 (0a1f378)
  • Fixed ieee802154 include header file issue and unused value issue (d022682)
  • Ignored bit8 for the frame length (6e2950d)
  • Updated to log the "buffer full" message in debug mode only (6e2950d)

Removed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Thread

Added

  • Added deep sleep support for SED (a66055f)
  • Added netif check when calling udp api (ff89cf5)
  • Added max csmabackoffs numbers for transmission via spinel (8edaa94)
  • Added cli support in openthread sleep example (c97077c)
  • Added state indicator in Thread examples (1e01517)
  • Added configure option for openthread address query (f9f32d4)
  • Added ESP Radio spinel for external protocol stack (3b44a59)
  • Added ESP OpenThread vendor commands support ( b44a596)
  • Supported rcp re-initialization (58992e2)
  • Supported the common console command in OT CLI (65c838b)
  • Supported openthread radio caps rx on when idle (e358506)
  • Supported setting netif_idx of udp pcb to no_index when binding UDP PCB to netif (d7b9a3b)
  • Enabled uart ISR in IRAM for UART RCP process (ac76d44)
  • Actively set raw pcb ttl value to 255 for icmpv6 message of border router (93d68c2)
  • Supported openthread ephemeral key feature (6e2950d)
  • Added a method to set instance name of meshcop(e) mdns service (6e2950d)

Changed

  • Updated OpenThread upstream to 41ef807 (58992e2)
  • Updated SRP server update response error code (58992e2)
  • Enabled RCP uart configuration for BR by default (d183000)
  • Disabled the rx on when idle in coex scenario (ac76d44)
  • Released openthread task switching lock before calling lwip API in openthread udp (6e2950d)
  • Optimized the PIO logic in multiple BRs scenario (6e2950d)

Fixed

  • Fixed checking the lifetime value before calling sys_timeout (58992e2)
  • Fixed filter the zero-length prefix when adding router table (58992e2)
  • Moved router entry pointer in timeout handler (58992e2)
  • Added parsing when txt entry key pointer is NULL (58992e2)
  • Fixed eventfd missing issue when SPI interface is enabled (feb62db)
  • Fixed the race condition in rx buffer count operation (54e7b73)
  • Fixed openthread alarm timer calculation remaining_us overflow issue (cda92ca)
  • Fixed RCP handle timeout crashing issue (ac76d44)
  • Fixed frequent tx timeout && RCP recover issue when using SPI radio (f0d10c8)
  • Fixed ot netif destroy netif order issue (eaf4fb9)
  • Fixed a deadlock risk by releasing ot task lock before tcpip_callback (6e2950d)

Removed

  • Removed the range for some configurations (6e2950d)
  • Removed the empty task for openthread tasklets (6e2950d)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 (e81932d)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE scan backoff config option in menuconfig on ESP32 (e3839a3)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (6b453b8)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (f36a16b)
  • Added CCA related config option on ESP32-C6, ESP32-H2 and ESP32-C2 (28f68a0)
  • Added support for selecting whether to use CSA#2 through the configured option on ESP32-C2, ESP32-C6 and ESP32-H2 (083fe84)
  • Supported enabling AUX packet when extended advertising data length is zero on ESP32-C3 and ESP32-S3 (ed025da)
  • Supported ESP32-C2 light sleep using the external 32.768 kHz oscillator at pin0 as a slow clock source. (28f68a0)
  • Supported initiating a disconnection again if the disconnection procedure is already ongoing on ESP32 (e3839a3)
  • Supported clearing BLE legacy advertising on ESP32-C3 and ESP32-S3 (ca33198)
  • Supported clearing BLE legacy advertising on ESP32 (dc66da9)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2 (28f68a0)
  • Use embedded assembly to get access to DPORT registers on ESP32 (7fcac31)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32 (dc66da9)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled...
Read more

ESP-IDF Pre-release v5.3-rc1

10 Jul 10:37
v5.3-rc1
Compare
Choose a tag to compare
Pre-release

Documentation for IDF v5.3-rc1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.3-rc1/

ESP-IDF v5.3-rc1 is a preview release for ESP-IDF v5.3.

Obtaining v5.3-rc1

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.3-rc1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3-rc1
cd esp-idf-v5.3-rc1/

This is the recommended way of obtaining v5.3-rc1 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v5.3-rc1.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.3-rc1/esp-idf-v5.3-rc1.zip

Major changes

This is the list of changes since release v5.2:

Major New Features

Support for New SoCs

ESP32-P4
  • Low Power System
    • Low Power Core (RISC-V)
    • Low-power GPIO
    • Low-power I2C Master
    • Low-power SPI
    • Low-power Timer
    • Low-power UART
    • Low-power Watchdog Timer
  • Peripherals
    • ADC
      • ADC continuous mode driver
      • ADC oneshot mode driver
    • DMA (Direct Memory Access)
      • 2DDMA
      • DMA channel allocator
      • GDMA
        • CRC Calculator
      • GDMA2
    • Ethernet driver
      • SPI Ethernet driver
      • internal MAC driver
    • Event Task Matrix
    • GPIO driver
      • Analog Comparator
      • GPIO ETM
      • Glitch Filter
      • RTC IO (LP IO) driver
    • GPIO sigma delta driver
    • GPSPI
      • SPI Master driver
      • SPI Slave HD driver
      • SPI Slave driver
    • GPTimer driver
    • H264 Encoder
    • I2C
      • I2C master driver
      • I2C slave driver
    • I2S
      • I2S driver
        • I2S PDM rx mode
        • I2S PDM tx mode
        • I2S STD mode
        • I2S TDM mode
      • I2S legacy driver
    • JPEG
      • JPEG Decoder Driver
      • JPEG Encoder Driver
    • LCD driver
      • MIPI DSI
    • LEDC driver
      • Gamma Curve Generation
    • MCPWM driver
    • MIPI CSI
    • PCNT driver
    • PSRAM
      • PSRAM Device Driver
      • XIP PSRAM
    • Parallel IO
      • Parallel IO RX Driver
      • Parallel IO TX Driver
    • Pixel Processing Accelorator Driver
    • RMT driver
    • SD/SDIO/MMC driver
      • SDMMC Host driver
      • SDSPI Host driver
    • SPI Flash driver
    • Systimer driver
      • Esptimer implementation over systimer
      • OS tick port over systimer
    • Temperature Sensor driver
    • Touch Sensor driver
    • UART
      • Support Low Power UART instance
      • UART FIFO mode driver
    • USB OTG
      • USB Device (TinyUSB) driver
        • USB 2.0 Device Support
      • USB Host driver
        • USB 2.0 Host Support
    • memory copy by DMA
  • Power management
    • Auto Light Sleep
    • Deep Sleep
    • Dynamic Frequency Switch
    • Light Sleep
  • Security Features
    • AES accelerator
    • Digital Signature driver
    • ECC accelerator
    • Flash encryption
    • HMAC driver
    • RNG
    • RSA hardware accelerator driver
    • SHA accelerator
    • Secure boot
  • System Features
    • Bootloader Support
    • Cache
      • Cache Driver
    • Console
    • Cxx Component
    • ESP Event
    • ESP ROM
    • ESP Ringbuffer
    • ESP Timer
    • Efuse controller driver
    • Floating Point Unit
    • FreeRTOS
    • MMU
    • MSPI
      • MSPI tuning (Flash & PSRAM DDR and/or over 80 MHz)
      • SPI Flash auto suspend
    • POSIX Threads
    • Panic Handling Features
      • Core Dump
      • Debug Watchpoint
      • GDB Stub
      • Panic Handler
      • Stack Guard
    • Ram App
    • TCM
    • Watch Dog Timers
    • newlib
  • Wireless Expansion
    • Bluedroid Host
    • NimBLE Host
    • ESP8689 SDIO/SPI driver
    • Coexistence

Other Features

  • Supported external Wi-Fi connections for ESP32-P4 and other espressif chips. (3f486c4)
  • Added support for merging hosted Wi-Fi solution in esp_wifi component. (2a6b3df)

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Known Issues

  • For ESP32-P4, under the dual-core PD_TOP sleep scenario, if the sleep request is rejected, it may lead to a system deadlock triggering the watchdog.
  • For ESP32-P4, RTC peripheral power domain cannot be powered down, resulting in ~20uA more power consumption.
  • For ESP32-P4, there is a probability that the watchdog will be triggered due to the mpll being disabled and the L2 Cache not being able to write back when the PSRAM is enabled to sleep.
  • For ESP32-P4, GPIO wake-up function and EXT1 wake-up function of GPIO8~15 are not available during deepsleep.

Changelog

802.15.4

802.15.4 MAC

Added

  • Added the pending tx while rx feature (d499ba4)
  • Added the feature of received done handler (f3039dd)
  • Added ieee802154 examples (bae3c28)
  • Added packets statistic of IEEE802.15.4 (b516012)
  • Added 802.15.4 coex break notification (fdf5783)
  • Supported IEEE802.15.4 MAC deinit (45f95e3)

Fixed

  • Fixed pending tx will be delayed issue (ac76d44)
  • Fixed the issue of not receiving packets when RSSI is positive in ESP32-H2 (0a1f378)
  • Fixed ieee802154 include header file issue and unused value issue (d022682)
  • Ignored bit8 for the frame length (6e2950d)
  • Updated to log the "buffer full" message in debug mode only (6e2950d)

Removed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Thread

Added

  • Added deep sleep support for SED (a66055f)
  • Added netif check when calling udp api (ff89cf5)
  • Added max csmabackoffs numbers for transmission via spinel (8edaa94)
  • Added cli support in openthread sleep example (c97077c)
  • Added state indicator in Thread examples (1e01517)
  • Added configure option for openthread address query (f9f32d4)
  • Added ESP Radio spinel for external protocol stack (3b44a59)
  • Added ESP OpenThread vendor commands support ( b44a596)
  • Supported rcp re-initialization (58992e2)
  • Supported the common console command in OT CLI (65c838b)
  • Supported openthread radio caps rx on when idle (e358506)
  • Supported setting netif_idx of udp pcb to no_index when binding UDP PCB to netif (d7b9a3b)
  • Enabled uart ISR in IRAM for UART RCP process (ac76d44)
  • Actively set raw pcb ttl value to 255 for icmpv6 message of border router (93d68c2)
  • Supported openthread ephemeral key feature (6e2950d)
  • Added a method to set instance name of meshcop(e) mdns service (6e2950d)

Changed

  • Updated OpenThread upstream to 41ef807 (58992e2)
  • Updated SRP server update response error code (58992e2)
  • Enabled RCP uart configuration for BR by default (d183000)
  • Disabled the rx on when idle in coex scenario (ac76d44)
  • Released openthread task switching lock before calling lwip API in openthread udp (6e2950d)
  • Optimized the PIO logic in multiple BRs scenario (6e2950d)

Fixed

  • Fixed checking the lifetime value before calling sys_timeout (58992e2)
  • Fixed filter the zero-length prefix when adding router table (58992e2)
  • Moved router entry pointer in timeout handler (58992e2)
  • Added parsing when txt entry key pointer is NULL (58992e2)
  • Fixed eventfd missing issue when SPI interface is enabled (feb62db)
  • Fixed the race condition in rx buffer count operation (54e7b73)
  • Fixed openthread alarm timer calculation remaining_us overflow issue (cda92ca)
  • Fixed RCP handle timeout crashing issue (ac76d44)
  • Fixed frequent tx timeout && RCP recover issue when using SPI radio (f0d10c8)
  • Fixed ot netif destroy netif order issue (eaf4fb9)
  • Fixed a deadlock risk by releasing ot task lock before tcpip_callback (6e2950d)

Removed

  • Removed the range for some configurations (6e2950d)
  • Removed the empty task for openthread tasklets (6e2950d)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 (e81932d)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE scan backoff config option in menuconfig on ESP32 (e3839a3)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (6b453b8)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (f36a16b)
  • Added CCA related config option on ESP32-C6, ESP32-H2 and ESP32-C2 (28f68a0)
  • Added support for selecting whether to use CSA#2 through the configured option on ESP32-C2, ESP32-C6 and ESP32-H2 (083fe84)
  • Supported enabling AUX packet when extended advertising data length is zero on ESP32-C3 and ESP32-S3 (ed025da)
  • Supported ESP32-C2 light sleep using the external 32.768 kHz oscillator at pin0 as a slow clock source. (28f68a0)
  • Supported initiating a disconnection again if the disconnection procedure is already ongoing on ESP32 (e3839a3)
  • Supported clearing BLE legacy advertising on ESP32-C3 and ESP32-S3 (ca33198)
  • Supported clearing BLE legacy advertising on ESP32 (dc66da9)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2 (28f68a0)
  • Use embedded assembly to get access to DPORT registers on ESP32 (7fcac31)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32 (dc66da9)
  • Reduced the usage of flash and RAM when only legacy adv and periph...
Read more

ESP-IDF Release v4.4.8

28 Jun 08:28
v4.4.8
Compare
Choose a tag to compare

Documentation for IDF v4.4.8 is available at https://docs.espressif.com/projects/esp-idf/en/v4.4.8/

ESP-IDF v4.4.8 is a bugfix update for ESP-IDF v4.4 and also the last bug fix release of ESP-IDF v4.4. According to ESP-IDF Support Period Policy, ESP-IDF v4.4 release branch reached end-of-life in July 2024. With EOL, new features, bug fixes, and security fixes will no longer be supported on this branch. Customers who are currently using ESP-IDF v4.4 release branch are encouraged to upgrade their projects to more recent ESP-IDF releases, such as ESP-IDF v5.x.

Obtaining v4.4.8

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v4.4.8 --recursive https://github.com/espressif/esp-idf.git esp-idf-v4.4.8
cd esp-idf-v4.4.8/

This is the recommended way of obtaining v4.4.8 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v4.4.8.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v4.4.8/esp-idf-v4.4.8.zip

Changelog

This is the list of changes since release v4.4.7.

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 ( a4eb486)
  • Added API to get low power clock source on ESP32C3 and ESP32S3 ( 7731658)
  • Added BLE scan backoff config in menuconfig on ESP32 ( a4eb486)
  • Support sending disconnection command again if the disconnection procedure is on-going on ESP32 ( a4eb486)

Changed

  • Controller: Optimized BLE notify and write throughput performance on ESP32. ( 7c2922a)

Fixed

  • Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. ( 79e71e0)
  • Fixed RPA generation after each reboot on ESP32-C3 and ESP32-S3. ( 79e71e0)
  • Fixed RPA renew timer start and stop on ESP32-C3 and ESP32-S3. ( 79e71e0)
  • Fixed BLE scan backoff on ESP32 ( 4a69a88)
  • Fixed BLE coex assert on ESP32 ( c1f02f6)
  • Fixed BLE DTM status and TX count error on ESP32 ( c1f02f6)
  • Use embedded assembly to get access to DPORT registers on ESP32 ( a4eb486)
  • Fixed BLE scan assert on ESP32 (#8532) ( a4eb486)
  • Fixed BLE assert when receiving packet on ESP32 ( a4eb486)
  • Fixed extend uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3 ( a4eb486)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3 ( a4eb486)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3 ( a4eb486)
  • Fixed HCI command status event send when LLCP busy on ESP32 ( 5bd00ec)
  • Fixed HCI command status event sending for disconnection command on ESP32 ( 5bd00ec)
  • Fixed LE transmitter test command parameters check error on ESP32 ( 5bd00ec)
  • Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) ( 7c2922a)
  • Fixed BLE connection timeout issue after using DTM on ESP32. ( 7c2922a)
  • Fixed assert issue caused by DPORT access on ESP32. ( 7c2922a)

ESP Bluedroid Host

Added

  • Added support for setting BLE privacy mode for peer devices. ( d84b40d)
  • Supported adding BLE device to resolving list ( 29221d1)
  • Supported creating BLE static random address and NRPA ( 29221d1)
  • Supported setting resolvable provate address timeout by api ( 29221d1)
  • Added bluerooth hci layer data stream record ( 5c8b63c)
  • Added APIs for BLE direct test mode ( 5c8b63c)
  • Added api to send vendor hci command ( 5c8b63c)

Changed

  • Optimized BLE SPP example for improved compatibility ( 29221d1)
  • Optimized BLE documentation comments to comply with Doxygen syntax ( 29221d1)
  • Optimized the BLE documentation ( 29221d1)
  • Updated maximum BLE reconnection attempts configuration ( 8247e0b)

Fixed

  • Example: Use correct struct type in discover service complete event ( 5bd00ec)
  • Fixed BLE GATT max length of an attribute value ( 29221d1)
  • Fixed BLE appearance category ranges (#13626) ( d1f549f)
  • Fixed ADV do not restart due to disconnection reason 0x3e ( 5c8b63c)
  • Fixed crash when calculating GATTS database hash ( 5bd00ec)
  • Fixed "report" typo in esp_ble_gap_ext_adv_reprot_t ( 5bd00ec)
  • Fixed BLE crash when repeatedly iniitialize and deinitialize host ( c4ce15b)
  • Fixed BLE periodic advertising create sync parameter check ( c4ce15b)
  • Bluedroid: Fixed the issue where the BLE data length change event was not triggered when the packet length was modified on the other connected device. ( d1c8a1d)

ESP NimBLE Host

Added

  • Added ble_host_rpa_enabled flag for address resoultion for esp32 ( cfb86ec)
  • Added API to get resolve ADV data ( 799e503)
  • Added change to start readvertising for disconnect with 0x3E code in slave mode ( 1424b2b)
  • Added support for data length change event ( 74767e9)
  • Created separate API to only extract cb info ( 3168c79)
  • Added APIs to handle vs HCI commands and events ( ff9db0d)
  • Added support for deleting the oldest bonded device across reboot ( 718cdd6)
  • Added the check to prevent address resolution in case of identity addr for esp32 ( 407795d)
  • Expose API to set RPA timeout in stack. ( 370636b)

Changed

  • Changed 'move_count' to uint8_t type to fix compilation issue in nimble for -O2 flag. ( 7a00499)
  • Increased range of reattempt connection count ( 29f9259)
  • Improved find conn by ble_addr_t function ( fdfe99c)
  • Updated help sections for BLE_RPA_TIMEOUT config. ( c93a15c)

Fixed

  • Fixed compilation issues when CCCD is set to 0 ( 96db015)
  • Fixed for CVE-2024-24746 vulnerability ( caa1e63)
  • Set correct peer_addr during reattempt connection ( fadb408)
  • Simplify reconnection code ( b65ac34)
  • Handled missing free in ble spp example ( 3193203)
  • Fixed dangling pointer error during compilation (#12491) ( 6f4ff9b)
  • Fixed type in blehr/README (#13034) ( f2d72fe)
  • Authorize or deauthorize a BLE device for a connection ( 0eb7ad2)
  • Fixed memory leak during reattempt adv data usage ( fd916b3)
  • Copy data correctly into reattempt buffer ( fd916b3)
  • Explicitly NULL assign adv data pointer after free. ( fd916b3)
  • Reserve space for one extra ext adv packet ( fd916b3)

BluFi

Fixed

  • Fixed BluFi module link error(C++ hybrid compilation) ( 5bd00ec)

ESP-BLE-MESH

Fixed

  • Fixed potential deadlock during mesh GATT initialization when using Bluedroid Host ( a94dcb9)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh stack ( 29efc96)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh examples ( 29efc96)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Added description of use limitations of security masks in SPP API document ( 6cb955e)

Changed

  • Unify the conversion of error code between HCI status and esp_bt_status_t constants( e1f8314)

Fixed

  • Fixed the HID Host inner error state caused by repeat connection of the same device ( 22dd4ba)
  • Fixed inconsistency of connection initiator state for HID Host open event ( 22dd4ba)
  • Fixed the HID Device inner error state caused by the failed connection ( 22dd4ba)
  • Allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is enabled ( be2fba6)
  • Fixed SPP crash due to the connection not being disconnected before esp_spp_deinit was called ( e83ed8b)

Classic Bluetooth Controller

Fixed

  • Register coexist functions into Bluetooth controller on ESP32-C3/ESP32-S3 ( a4eb486)
  • Fixed assert 1024 issue when Classic Blueooth TX and Wifi coexist on ESP32 ( 4a69a88)
  • Fixed the error in parsing packet_type argument for HCI_Enhanced_Setup_Synchronous_Connection, which causes acception of eSCO EDR packet types when they are configured not to be used ( 4a69a88)
  • Fixed the incorrect timing in reporting HCI_Link_Key_Type_Changed event on ESP32 ( efcbfbe)
  • Fixed the incorrect initialization vector during resuming encryption on ESP32 ( efcbfbe)
  • Fixed incorrect link key returned from HCI command HCI_READ_STORED_LINK_KEY on ESP32 ( efcbfbe)
  • Fixed crash issue when doing Bluetooth deinit in coexistence scenario on ESP32. ( dc35452)
  • Fixed invalid transmission of LMP_MAX_POWER PDU in case that peer device is expected peer to increase TX power to maximum on ESP32. ( dc35452)
  • Fixed incorrect link key returned from HCI_rd_stored_link_key command on ESP32 ( 2146569)
  • Fixed the assert triggered during APB TX on ESP32 ( 2146569)
  • Fixed role switch LMP collision bug on ESP32 ( 2146569)

Bluetooth Common

Added

  • Added an option to make alarm number configurable ( 5510aab)
  • Fixed missing linker generated symbols in using esp_bt_mem_release when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY is enabled (#10427, #11377) ( 9160abc)

Bluedroid

Fixed

  • Fixed controller using null pointer after bluedroid deinit ( 0f65165)

Controller

Added

...

Read more

ESP-IDF Pre-release v5.3-beta2

07 Jun 09:28
Compare
Choose a tag to compare
Pre-release

Documentation for IDF v5.3-beta2 is available at https://docs.espressif.com/projects/esp-idf/en/v5.3-beta2/

ESP-IDF v5.3-beta2 is a preview release for ESP-IDF v5.3.

Obtaining v5.3-beta2

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.3-beta2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3-beta2
cd esp-idf-v5.3-beta2/

This is the recommended way of obtaining v5.3-beta2 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v5.3-beta2.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.3-beta2/esp-idf-v5.3-beta2.zip

Major changes

This is the list of changes since release v5.2:

Major New Features

Support for New SoCs

ESP32-P4
  • Low Power System
    • Low Power Core (RISC-V)
    • Low-power GPIO
    • Low-power I2C Master
    • Low-power Timer
    • Low-power UART
    • Low-power Watchdog Timer
  • Peripherals
    • DMA (Direct Memory Access)
      • 2DDMA
      • DMA channel allocator
      • GDMA
        • CRC Calculator
      • GDMA2
    • Ethernet driver
      • SPI Ethernet driver
      • internal MAC driver
    • Event Task Matrix
    • GPIO driver
      • Analog Comparator
      • GPIO ETM
      • Glitch Filter
      • RTC IO (LP IO) driver
    • GPIO sigma delta driver
    • GPSPI
      • SPI Master driver
      • SPI Slave HD driver
      • SPI Slave driver
    • GPTimer driver
    • I2C
      • I2C master driver
      • I2C slave driver
    • I2S
      • I2S driver
        • I2S PDM rx mode
        • I2S PDM tx mode
        • I2S STD mode
        • I2S TDM mode
      • I2S legacy driver
    • JPEG
      • JPEG Decoder Driver
      • JPEG Encoder Driver
    • LCD driver
      • MIPI DSI
    • LEDC driver
      • Gamma Curve Generation
    • MCPWM driver
    • MIPI CSI
    • PCNT driver
    • PSRAM
      • PSRAM Device Driver
    • Parallel IO
      • Parallel IO TX Driver
    • RMT driver
    • SD/SDIO/MMC driver
      • SDMMC Host driver
      • SDSPI Host driver
    • SPI Flash driver
    • Systimer driver
      • Esptimer implementation over systimer
      • OS tick port over systimer
    • Temperature Sensor driver
    • UART
      • Support Low Power UART instance
      • UART FIFO mode driver
    • USB OTG
      • USB Device (TinyUSB) driver
        • USB 2.0 Device Support
      • USB Host driver
        • USB 2.0 Host Support
    • memory copy by DMA
  • Power management
    • Auto Light Sleep
    • Deep Sleep
    • Dynamic Frequency Switch
    • Light Sleep
  • Security Features
    • AES accelerator
    • Digital Signature driver
    • ECC accelerator
    • ECDSA driver
    • Flash encryption
    • HMAC driver
    • HUK Generator
    • Key Manager
    • RNG
    • RSA hardware accelerator driver
    • SHA accelerator
    • Secure boot
  • System Features
    • Bootloader Support
    • Cache
      • Cache Driver
    • Console
    • Cxx Component
    • ESP Event
    • ESP ROM
    • ESP Ringbuffer
    • ESP Timer
    • Efuse controller driver
    • Floating Point Unit
    • FreeRTOS
    • MMU
    • MSPI
      • MSPI tuning (Flash & PSRAM DDR and/or over 80 MHz)
    • POSIX Threads
    • Panic Handling Features
      • Core Dump
      • Debug Watchpoint
      • Panic Handler
      • Stack Guard
    • Ram App
    • TCM
    • Watch Dog Timers
    • newlib
  • Wireless Expansion
    • Bluedroid Host

Other Features

  • Supported external Wi-Fi connections for ESP32-P4 and other espressif chips. ( 3f486c4)
  • Added support for merging hosted Wi-Fi solution in esp_wifi component. ( 2a6b3df)

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame ( b056ac7)

Changelog

802.15.4

802.15.4 MAC

Added

  • Added the pending tx while rx feature ( d499ba4)
  • Added the feature of received done handler ( f3039dd)
  • Added ieee802154 examples ( bae3c28)
  • Added packets statistic of IEEE802.15.4 ( b516012)
  • Added 802.15.4 coex break notification ( fdf5783)
  • Supported IEEE802.15.4 MAC deinit ( 45f95e3)

Fixed

  • Fixed pending tx will be delayed issue ( ac76d44)
  • Fixed the issue of not receiving packets when RSSI is positive in ESP32-H2 ( 0a1f378)
  • Fixed ieee802154 include header file issue and unused value issue ( d022682)

Removed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame ( b056ac7)

Thread

Added

  • Added deep sleep support for SED ( a66055f)
  • Added netif check when calling udp api ( ff89cf5)
  • Added max csmabackoffs numbers for transmission via spinel ( 8edaa94)
  • Added cli support in openthread sleep example ( c97077c)
  • Added state indicator in Thread examples ( 1e01517)
  • Added configure option for openthread address query ( f9f32d4)
  • Added ESP Radio spinel for external protocol stack ( 3b44a59)
  • Added ESP OpenThread vendor commands support ( 3b44a59)
  • Supported rcp re-initialization ( 58992e2)
  • Supported the common console command in OT CLI ( 65c838b)
  • Supported openthread radio caps rx on when idle ( e358506)
  • Supported setting netif_idx of udp pcb to no_index when binding UDP PCB to netif ( d7b9a3b)
  • Enabled uart ISR in IRAM for UART RCP process ( ac76d44)
  • Actively set raw pcb ttl value to 255 for icmpv6 message of border router ( 93d68c2)

Changed

  • Updated OpenThread upstream to 41ef807 ( 58992e2)
  • Updated SRP server update response error code ( 58992e2)
  • Enabled RCP uart configuration for BR by default ( d183000)
  • Disabled the rx on when idle in coex scenario ( ac76d44)

Fixed

  • Fixed checking the lifetime value before calling sys_timeout ( 58992e2)
  • Fixed filter the zero-length prefix when adding router table ( 58992e2)
  • Moved router entry pointer in timeout handler ( 58992e2)
  • Added parsing when txt entry key pointer is NULL ( 58992e2)
  • Fixed eventfd missing issue when SPI interface is enabled ( feb62db)
  • Fixed the race condition in rx buffer count operation ( 54e7b73)
  • Fixed openthread alarm timer calculation remaining_us overflow issue ( cda92ca)
  • Fixed RCP handle timeout crashing issue ( ac76d44)
  • Fixed frequent tx timeout && RCP recover issue when using SPI radio ( f0d10c8)
  • Fixed ot netif destroy netif order issue ( eaf4fb9)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 ( e81932d)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE scan backoff config option in menuconfig on ESP32 ( e3839a3)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 ( 6b453b8)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 ( f36a16b)
  • Added CCA related config option on ESP32C6, ESP32H2 and ESP32C2 ( 28f68a0)
  • Added support for selecting whether to use CSA#2 through the configured option on ESP32-C2, ESP32-C6 and ESP32-H2. ( 083fe84)
  • Supported enable aux packet when extend advertising data length is zero on ESP32-C3 and ESP32-S3 ( ed025da)
  • Supported ESP32-C2 light sleep using external 32.768 kHz oscillator at pin0 as slow clock source. ( 28f68a0)
  • Supported disconnection again if the disconnection procedure is on-going on ESP32 ( e3839a3)
  • Supported clear BLE legacy advertising on ESP32-C3 and ESP32-S3 ( ca33198)
  • Supported clear BLE legacy advertising on ESP32. ( dc66da9)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2. ( 28f68a0)
  • Use embedded assembly to get access to DPORT registers on ESP32 ( 7fcac31)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32 ( dc66da9)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. ( 148aa32)

Fixed

  • Example: Fixed UART HCI when flow control is off on ESP32C3 and ESP32S3. ( 4c190c5)
  • Fixed BLE coex assert on ESP32 ( 30fce03)
  • Fixed BLE DTM status error and TX count error on ESP32 ( 30fce03)
  • Fixed an occasional assertion issue during slave connection in coexistence scenarios on ESP32C2. ( 2cdd56e)
  • Fixed the compilation issue when use nimble host only on ESP32-H2,ESP32-C6 and ESP32-C2. ( 8ea943e)
  • Fixed BLE scan assert on ESP32(#8532) ( e3839a3)
  • Fixed BLE assert when receiving packet on ESP32 ( e3839a3)
  • Fixed the issue that BLE light sleep may randomly cause task watchdog upon power up on ESP32-H2. ( ca71f77)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3. ( f36a16b)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3. ( f36a16b)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3. ( f36a16b)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. ( 28f68a0)
  • Fixed occasional assert issue in modem sleep mode on ESP32-C6 and ESP32-H2. ( 3dc9d66)
  • Fixed issue of slave latency applied when not receiving valid PDU on ESP32-C6 and ESP32-H2 ( 3dc9d66)
  • Fixed HCI command status event sending for disconnect command on ESP32. ( 9c075b9)
  • Fixed BLE transmitter test command parameters...
Read more

ESP-IDF Release v5.2.2

04 Jun 07:04
v5.2.2
Compare
Choose a tag to compare

Documentation for IDF v5.2.2 is available at https://docs.espressif.com/projects/esp-idf/en/v5.2.2/

ESP-IDF v5.2.2 is a bugfix update for ESP-IDF v5.2.1.

Obtaining v5.2.2

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.2.2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.2.2
cd esp-idf-v5.2.2/

This is the recommended way of obtaining v5.2.2 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v5.2.2.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.2.2/esp-idf-v5.2.2.zip

Major changes

This is the list of changes since release v5.2.1:

Changelog

802.15.4

802.15.4 MAC

Fixed

  • Fixed ieee802154 include header file issue and unused value issue (8531594)

Thread

Added

  • Added max csmabackoffs numbers for transmission via spinel (1b9597f)
  • Added cli support in openthread sleep example (9607a11)
  • Added state indicator in Thread examples (fd4b09f)
  • Added events for meshcop-e service publish and remove (66c164b)
  • Supported openthread ephemeral key feature (66c164b)

Changed

  • Moved some lwip api to lwip task (66c164b)
  • Enabled RCP uart configuration for BR by default (fd4b09f)

Fixed

  • Fixed dead lock issue related to mdns (66c164b)
  • Fixed the race condition in rx buffer count operation (fd4b09f)
  • Fixed openthread alarm timer calculation remaining_us overflow issue (6c1542e)

Removed

  • Removed the range for some configurations (70fc0e3)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Supported sending disconnection command if the disconnection procedure is on-going on ESP32 (8c52152)
  • Supported ESP32-C2 light sleep using external 32.768 kHz oscillator at pin0 as slow clock source. (4c96e52)
  • Added CCA related config option on ESP32-C6, ESP32-H2 and ESP32-C2 (4c96e52)
  • Added API to get low power clock source on ESP32C3 and ESP32S3 (228f922)
  • Added BLE scan backoff config option in menuconfig on ESP32 (8c52152)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3. (8c52152)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2. (4c96e52)

Fixed

  • Fixed BLE ASSERT_PARAM(0,0) in rwble.c in coexistence scenarios on ESP32 (408294a)
  • Register coexist functions into Bluetooth controller on ESP32-C3/ESP32-S3 (8c52152)
  • Fixed BLE DTM status and TX count error on ESP32 (408294a)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. (5fa3428)
  • Fixed BLE light sleep issue which will randomly cause task watchdog upon power up on ESP32-H2. (5aad850)
  • Fixed an occasional assertion issue during slave connection in coexistence scenarios on ESP32-C2. (b19e27d)
  • Use embedded assembly to get access to DPORT registers on ESP32 (8c52152)
  • Fixed BLE scan assert(10,0) on ESP32(#8532) (8c52152)
  • Fixed BLE assert when receiving packet on ESP32 (8c52152)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3. (8c52152)
  • Cleared random address for extended advertising on ESP32-C3 and ESP32-S3. (8c52152)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3. (8c52152)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. (4c96e52)
  • Fixed occasional assert issue in modem sleep mode on ESP32-C6 and ESP32-H2. (1097ed0)
  • Fixed issue of slave latency applied when not receiving valid PDU on ESP32-C6 and ESP32-H2. (1097ed0)
  • Fixed HCI command status event send when LLCP is busy on ESP32 (daa6a0d)
  • Fixed HCI command status event sending for disconnection command on ESP32 (daa6a0d)
  • Fixed LE transmitter test command parameters check error on ESP32 (daa6a0d)
  • Fixed an occasional assertion issue when enabling multiple periodic adv on ESP32-C2. (c630c04)
  • Fixed adv interval range limit error issue on ESP32-C2,ESP32-C6 and ESP32-H2. (c630c04)
  • Fixed an occasional assertion issue when disable controller on ESP32-C2. (c630c04)

ESP Bluedroid Host

Added

  • Added bluerooth hci layer data stream record (40d3981)
  • Added API to send vendor hci command (40d3981)

Changed

  • Updated maximum BLE reconnection attempts configuration (35630f5)

Fixed

  • Fixed BLE appearance category ranges (#13626) (e362358)
  • Fixed ADV do not restart due to disconnection reason 0x3e (40d3981)
  • Fixed crash when calculating GATTS database hash (daa6a0d)
  • Fixed "report" typo in esp_ble_gap_ext_adv_reprot_t (daa6a0d)
  • Fixed BLE crash when repeatedly iniitialize and deinitialize host (8def30a)
  • Fixed BLE periodic advertising create sync parameters check error (8def30a)
  • Example: Use correct struct type in discover service complete event (daa6a0d)

Removed

  • Removed BLE functions discard declaration (2a9108f)

ESP NimBLE Host

Added

  • Added usage of esp_timer_get_expiry_time to get current remaining ticks (d9be451)
  • Added the check to prevent address resolution in case of identity addr for esp32 (391c3a1)
  • Added support for data length change event in host (abd2184)
  • Added support for deleting the oldest bonded device across reboot (a6895ce)
  • Added documentation for ESP32-P4 gpio pins configuration (a253028)
  • Added ble_host_rpa_enabled flag for address resoultion for esp32 (69dc6f3)
  • Added support to send and receive read multiple variable length characteristic request and response. (61f8f19)

Changed

  • Increased range of reattempt connection count in menuconfig (94bec84)
  • Simplify reconnection code (8599ec3)
  • Improved documentation for bleprph_host_only example. (909e7fc)
  • Updated help sections for BLE_RPA_TIMEOUT config. (1f8e365)

Fixed

  • Expose API to set RPA timeout in stack. (2ba5320)
  • Fixed aggressive termination in signed write procedure (0190214)
  • Fixed unpair API ignoring devices bonded with CSRK (0190214)
  • Fixed compilation issues when CCCD is set to 0 (f9163c6)
  • Fixed for CVE-2024-24746 vulnerability (709b74c)
  • Fixed the size of number packets in dtm event (33c6315)
  • Set correct peer_addr during reattempt connection (3d0682d)
  • Handled missing free in ble spp example (6020d08)
  • Handled auto connection flag in extended connect (064df2a)
  • Fixed call to ble_hid_task_startup and compilation issues due to incorrect prototypes (962d9de)
  • Fixed compilation issue occurring after disabling security. (ec7e307)
  • Fixed type in blehr/README (#13034) (374a03f)
  • Fixed compilation error for strict-prototype enabled (464a62b)
  • Exposed baud rate in the menuconfig. (259e2ba)
  • Handled memory leak in callout deinit (deacd79)
  • Changed 'move_count' to uint8_t type to fix compilation issue in nimble for -O2 flag. (c0faa8f)

BluFi

Fixed

  • Fixed BluFi module link error(C++ hybrid compilation) (daa6a0d)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Fixed

  • Fixed the HID Host inner error state caused by repeat connection of the same device (d4e3253)
  • Fixed inconsistency of connection initiator state for HID Host open event (d4e3253)
  • Allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is enabled (1c09bc1)
  • Fixed SPP crash due to the connection not being disconnected before esp_spp_deinit was called (8096a16)
  • Fixed the crash caused by using illegal pointers during SDP deinit (a70bb45)
  • Fixed missing of callback event when removing an invalid SDP record (a70bb45)

Classic Bluetooth Controller

Fixed

  • Fixed the incorrect timing in reporting HCI_Link_Key_Type_Changed event on ESP32 (d34b024)
  • Fixed the incorrect initialization vector during resuming encryption on ESP32 (d34b024)
  • Fixed incorrect link key returned from HCI command HCI_READ_STORED_LINK_KEY (d34b024)
  • Fixed crash during Bluetooth deinitialization in coexistence scenario on ESP32 (f2e1c06)
  • Fixed invalid transmission of LMP_MAX_POWER PDU in case that peer device is expected peer to increase TX power to maximum on ESP32 (f2e1c06)
  • Fixed the loss of coexistence request event during sniff transition process due to insufficient of message queue length, which causes Bluetooth link disconnection in case of wireless coexistence on ESP32 (daa6a0d)
  • Clear sniff state in coexistence scheme when no connections exist (daa6a0d)

Bluetooth Common

Added

  • Added an option to make alarm number configurable (cc5101f)

Fixed

  • Fixed error in CMakeLists on ESP32-C2 (#13451) (7646dd5)
  • Fixed missing linker generated symbols in using esp_bt_mem_release when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY is enabled (#10427, #11377) (dc3e953)

Bluedroid

Fixed

  • Fixed controller using null pointer after bluedroid deinitialization (b0eef7f)

Controller

Changed

  • Use compile options -ffunction-sections and `-fdata-section...
Read more

ESP-IDF Pre-release v5.3-beta1

21 May 06:58
v5.3-beta1
Compare
Choose a tag to compare
Pre-release

Documentation for IDF v5.3-beta1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.3-beta1/

ESP-IDF v5.3-beta1 is a preview release for ESP-IDF v5.3.

Obtaining v5.3-beta1

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.3-beta1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3-beta1
cd esp-idf-v5.3-beta1/

This is the recommended way of obtaining v5.3-beta1 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v5.3-beta1.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.3-beta1/esp-idf-v5.3-beta1.zip

Major changes

This is the list of changes since release v5.2:

Major New Features

Support for New SoCs

ESP32-P4
  • Low Power System
    • Low Power Core (RISC-V)
    • Low-power GPIO
    • Low-power I2C Master
    • Low-power Timer
    • Low-power UART
    • Low-power Watchdog Timer
  • Peripherals
    • DMA (Direct Memory Access)
      • 2DDMA
      • DMA channel allocator
      • GDMA
        • CRC Calculator
      • GDMA2
    • Ethernet driver
      • SPI Ethernet driver
      • internal MAC driver
    • Event Task Matrix
    • GPIO driver
      • Analog Comparator
      • GPIO ETM
      • Glitch Filter
      • RTC IO (LP IO) driver
    • GPIO sigma delta driver
    • GPSPI
      • SPI Master driver
      • SPI Slave HD driver
      • SPI Slave driver
    • GPTimer driver
    • I2C
      • I2C master driver
      • I2C slave driver
    • I2S
      • I2S driver
        • I2S PDM rx mode
        • I2S PDM tx mode
        • I2S STD mode
        • I2S TDM mode
      • I2S legacy driver
    • JPEG
      • JPEG Decoder Driver
      • JPEG Encoder Driver
    • LCD driver
      • MIPI DSI
    • LEDC driver
      • Gamma Curve Generation
    • MCPWM driver
    • MIPI CSI
    • PCNT driver
    • PSRAM
      • PSRAM Device Driver
    • Parallel IO
      • Parallel IO TX Driver
    • RMT driver
    • SD/SDIO/MMC driver
      • SDMMC Host driver
      • SDSPI Host driver
    • SPI Flash driver
    • Systimer driver
      • Esptimer implementation over systimer
      • OS tick port over systimer
    • Temperature Sensor driver
    • UART
      • Support Low Power UART instance
      • UART FIFO mode driver
    • USB OTG
      • USB Device (TinyUSB) driver
        • USB 2.0 Device Support
      • USB Host driver
        • USB 2.0 Host Support
    • memory copy by DMA
  • Power management
    • Auto Light Sleep
    • Deep Sleep
    • Dynamic Frequency Switch
    • Light Sleep
  • Security Features
    • AES accelerator
    • Digital Signature driver
    • ECC accelerator
    • ECDSA driver
    • Flash encryption
    • HMAC driver
    • HUK Generator
    • Key Manager
    • RNG
    • RSA hardware accelerator driver
    • SHA accelerator
    • Secure boot
  • System Features
    • Bootloader Support
    • Cache
      • Cache Driver
    • Console
    • Cxx Component
    • ESP Event
    • ESP ROM
    • ESP Ringbuffer
    • ESP Timer
    • Efuse controller driver
    • Floating Point Unit
    • FreeRTOS
    • MMU
    • MSPI
      • MSPI tuning (Flash & PSRAM DDR and/or over 80 MHz)
    • POSIX Threads
    • Panic Handling Features
      • Core Dump
      • Debug Watchpoint
      • Panic Handler
      • Stack Guard
    • Ram App
    • TCM
    • Watch Dog Timers
    • newlib
  • Wireless Expansion
    • Bluedroid Host

Other Features

  • Supported external Wi-Fi connections for ESP32-P4 and other espressif chips. (3f486c4)
  • Added support for merging hosted Wi-Fi solution in esp_wifi component. (2a6b3df)

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Known Issues

  • No known issues

Known issues are planned to be fixed before the final v5.3 release.

Changelog

802.15.4

802.15.4 MAC

Added

  • Added the pending tx while rx feature (d499ba4)
  • Added the feature of received done handler (f3039dd)
  • Added ieee802154 examples (bae3c28)
  • Added packets statistic of IEEE802.15.4 (b516012)
  • Added 802.15.4 coex break notification (fdf5783)
  • Supported IEEE802.15.4 MAC deinit (45f95e3)

Fixed

  • Fixed pending tx will be delayed issue (ac76d44)
  • Fixed the issue of not receiving packets when RSSI is positive in ESP32-H2 (0a1f378)
  • Fixed ieee802154 include header file issue and unused value issue (d022682)

Removed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Thread

Added

  • Added deep sleep support for SED (a66055f)
  • Added netif check when calling udp api (ff89cf5)
  • Added max csmabackoffs numbers for transmission via spinel (8edaa94)
  • Added cli support in openthread sleep example (c97077c)
  • Added state indicator in Thread examples (1e01517)
  • Added configure option for openthread address query (f9f32d4)
  • Added ESP Radio spinel for external protocol stack (3b44a59)
  • Added ESP OpenThread vendor commands support (3b44a59)
  • Supported rcp re-initialization (58992e2)
  • Supported the common console command in OT CLI (65c838b)
  • Supported openthread radio caps rx on when idle (e358506)
  • Supported setting netif_idx of udp pcb to no_index when binding UDP PCB to netif (d7b9a3b)
  • Enabled uart ISR in IRAM for UART RCP process (ac76d44)
  • Actively set raw pcb ttl value to 255 for icmpv6 message of border router (93d68c2)

Changed

  • Updated OpenThread upstream to 41ef807 (58992e2)
  • Updated SRP server update response error code (58992e2)
  • Enabled RCP uart configuration for BR by default (d183000)
  • Disabled the rx on when idle in coex scenario (ac76d44)

Fixed

  • Fixed checking the lifetime value before calling sys_timeout (58992e2)
  • Fixed filter the zero-length prefix when adding router table (58992e2)
  • Moved router entry pointer in timeout handler (58992e2)
  • Added parsing when txt entry key pointer is NULL (58992e2)
  • Fixed eventfd missing issue when SPI interface is enabled (feb62db)
  • Fixed the race condition in rx buffer count operation (54e7b73)
  • Fixed openthread alarm timer calculation remaining_us overflow issue (cda92ca)
  • Fixed RCP handle timeout crashing issue (ac76d44)
  • Fixed frequent tx timeout && RCP recover issue when using SPI radio (f0d10c8)
  • Fixed ot netif destroy netif order issue (eaf4fb9)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 (e81932d)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE scan backoff config in menuconfig on ESP32 (e3839a3)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (6b453b8)
  • Add config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3. (f36a16b)
  • Added CCA related config option on ESP32C6, ESP32H2 and ESP32C2 (28f68a0)
  • Added support for selecting whether to use CSA#2 through the configured option on ESP32-C2, ESP32-C6 and ESP32-H2. (083fe84)
  • Support enable aux packet when extend advertising data length is zero on ESP32-C3 and ESP32-S3 (ed025da)
  • Supported ESP32-C2 light sleep using external 32.768 kHz oscillator at pin0 as slow clock source. (28f68a0)
  • Supported disconnect again if the procedure is on-going on ESP32 (e3839a3)
  • Supported clear BLE legacy advertising on ESP32-C3 and ESP32-S3. (ca33198)
  • Supported clear BLE legacy advertising on ESP32. (dc66da9)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2. (28f68a0)
  • Use embedded assembly to get access to DPORT registers (7fcac31)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32. (dc66da9)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. (148aa32)

Fixed

  • Example: Fixed UART HCI when flow control is off on ESP32C3 and ESP32S3. (4c190c5)
  • Fixed BLE coex assert on ESP32 (30fce03)
  • Fixed BLE DTM status and TX count on ESP32 (30fce03)
  • Fixed an occasional assertion issue during slave connection in coexistence scenarios on ESP32C2. (2cdd56e)
  • Fixed the compilation issue when use nimble host only on ESP32-H2,ESP32-C6 and ESP32-C2. (8ea943e)
  • Fixed BLE scan assert on ESP32(#8532) (e3839a3)
  • Fixed BLE assert when receiving packet on ESP32 (e3839a3)
  • Fixed BLE light sleep randomly caused task watchdog upon power up on ESP32-H2. (ca71f77)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3. (f36a16b)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3. (f36a16b)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3. (f36a16b)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. (28f68a0)
  • Fixed occasional assert issue in modem sleep mode on ESP32-C6 and ESP32-H2. (3dc9d66)
  • Fixed issue of slave latency applied when not receiving valid PDU. (3dc9d66)
  • Fixed HCI command status event sending for disconnect command on ESP32. (9c075b9)
  • Fixed LE transmitter test command param check on ESP32. (9c075b9)
  • Fixed HCI comm...
Read more