Releases: espressif/esp-idf
ESP-IDF Release v5.0.9
Documentation for IDF v5.0.9 is available at https://docs.espressif.com/projects/esp-idf/en/v5.0.9/
ESP-IDF v5.0.9 is a bugfix update for ESP-IDF v5.0 and also the last bug fix release of ESP-IDF v5.0. According to ESP-IDF Support Period Policy, ESP-IDF v5.0 release branch reached end-of-life in May 2025. With EOL, new features, bug fixes, and security fixes will no longer be supported on this branch. Customers who are currently using ESP-IDF v5.0 release branch are encouraged to upgrade their projects to more recent ESP-IDF releases, such as ESP-IDF v5.3.x.
Obtaining v5.0.9
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.9 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.0.9
cd esp-idf-v5.0.9/
This is the recommended way of obtaining v5.0.9 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.0.9.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. To reduce the size of the archive, the .git
directory doesn't include the history of commits older than one year. Users who need to use git checkout
to access an older release of IDF will have to use git fetch
first to download the remaining part of the history.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.0.9/esp-idf-v5.0.9.zip
Major changes
Major Bug Fixes
- Disable debug vendor HCI command on ESP32. (1f51604)
Breaking Changes
- Security/MbedTLS: If using MbedTLS for server certificate verification, it is mandatory to call mbedtls_ssl_set_hostname before the connection begins. No change is required if the application uses esp-tls layer. (34240b1)
- Bluetooth Common: Starting from this version, Espressif's Bluetooth vendor-specific HCI commands and events for all ESP Bluetooth chips are disabled by default in HCI UART mode and non-ESP host mode. Please refer to esp_bt_vs.h (E.g., components/bt/include/esp32/include/esp_bt_vs.h) for detailed information. (87a728c)
- Application Utilities/Provisioning: Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (7ff4650)
Changelog
This is the list of changes since release v5.0.9.
Application Utilities
ESP HTTPS Server
- Updated the CA certificates that were used for self-signing/mutual authentication use cases to contain the
Key Usage
parameter due to the change in Python3.13's default ssl context requirements. (8df0a41)
Protocomm
- Add salt-verifier generation API in SRP6a implementation and make its interface public (6cb14d5)
Provisioning
- Update security2 scheme to fix the incorrect AES-GCM IV usage (7ff4650)
- Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (7ff4650)
BLE
BluFi
- Fixed crash issue during memcpy in BluFi example. (9aea05c)
- Fixed potential out-of-bounds memory access issue in Blufi example. (8dde4f9)
Bluedroid
- Fix missing event reporting in
esp_ble_create_sc_oob_data
. (a5ecb8a) - Fixed BLE crash when disable bluedroid host. (a5ecb8a)
- Fix potential uint32_t overflow in BLE btu_start_timer. (a5ecb8a)
- Fixed memory leak issue when using dynamic memory and deinitializing the host. (a5ecb8a)
- Added a new API esp_bt_config_file_path_get() to retrieve the Bluetooth configuration file path used for storing bond keys in the NVS module. (a5ecb8a)
- Added esp_ble_gap_read_channel_map() to retrieve the BLE channel map of a connected device. (a5ecb8a)
- Added BLE eddystone sender example. (c08af7b)
- Supported read periodic advertiser list size command. (cedd9a1)
- Added Read Long Characteristic Values example. (df5d6cd)
- Supported BLE vendor hci event reporting (e69a866)
- Supported BLE setting vendor event mask (e69a866)
- Supported SPI log output options for HCI. (66319fb)
- Fixed an issue where advertising data and scan response data were not reported together during BLE active scanning. (94adab5)
- Added BLE get started examples for Bluedroid. (743ed7b)
- Optimize the references to BLE GATT related APIs. (a68962b)
Controller
- Fixed BLE disconnection due to MIC error when pairing with an iOS device on ESP32-C3 and ESP32-S3. (54ec0a9)
- Disable anonymous extended advertising reporting on ESP32-C3 and ESP32-S3. (1779887)
- Fixed BLE assert lld_adv.c 2992 on ESP32-C3 and ESP32-S3. (1779887)
- Fixed heap assert due to advertising data buffer double freeing on ESP32-C3 and ESP32-S3. (1779887)
- Fixed BLE 0x08 disconnect when the window size is greater than half of the connection interval on ESP32-C3 and ESP32-S3. (1779887)
- Fixed the cache error if controller runs in flash and BLE sleep is enabled on ESP32-C2. (5fe7b4c)
- Fixed a heap assertion issue when enabling BLE and ESP32C2_REV_MIN_200 for ESP32-C2 v2.0 (8efb55e)
- Fixed an occasional
load access fault
issue when performing ext_conn creation for ESP32-C2. (87a728c) - Added definitions for bluetooth hci vendor commands and events (87a728c)
- Fixed hci assertion issue when uart interference occurs on ESP32-C2. (096fb7f)
- Changed the maximum supported value of the whitelist to 31 on ESP32-C2. (096fb7f)
- Added a function to maintain the connection when an instant pass issue occurs on ESP32-C2. (e29cfa8)
- Fixed extended advertising interval upper limit issue on ESP32-C6 and ESP32-H2. (e29cfa8)
- reduce controller bin size for ESP32-C3 and ESP32-S3 (651fa8f)
- Fixed enhanced TX power setting and getting for legacy adv on ESP32-C3 and ESP32-S3. (95cafb5)
- Fixed BLE assert lld_con.c 2387 on ESP32-C3 and ESP32-S3. (95cafb5)
- Fixed compatibility issues during the encryption procedure on ESP32-C3 and ESP32-S3. (95cafb5)
- Added BLE debug log module on ESP32-C3 and ESP32-S3. (e831ba7)
- Fixed scan duplicate filter failure when receiving ADV_DIRECT_IND for ESP32-C2. (0364a68)
- Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (5dbf151)
- Fixed an issue where the default tx power of connection is incorrect after setting the scan tx power on ESP32-C6 and ESP32-H2. (5dbf151)
- Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (5dbf151)
- Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (5dbf151)
- Supported for putting ble code into flash on ESP32-C6 and ESP32-H2. (5dbf151)
- Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (5dbf151)
- Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (5dbf151)
- Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (a55d6bc)
- Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (a55d6bc)
- Fixed the issue where disconnection events were not reported as a slave on ESP32. (a55d6bc)
- Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (a55d6bc)
- Enhance Access Address validation in compatibility mode on ESP32. (a55d6bc)
- Provided DTM configuration command in HCI example. (245fb72)
- Support resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (eb5c888)
- Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (eb5c888)
- Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (eb5c888)
- Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (eb5c888)
- Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (eb5c888)
- Added parameter validation for Periodic Advertising Enable on ESP32-C3 and ESP32-S3. (eb5c888)
Documentation
- Updated the BLE feature support status in API Guides. (6dcddbc)
NimBLE
- Fix sync handle assignment for PAwR connection (8480197)
- Fixed incorrect OTA address type assignment (152eb37)
- Corrected event posting in Read Remote Features event handling [ Closes https://github.com//issues/15670 ] (e5dc75e)
- Added missing ble_hs_unlock for periodic adv sync reattempt case. (d1deab0)
- Fix conversion for min-max itvl of periodic adv param in example (3adb4ed)
- Exposed the ble_gap_wl_tx_add API to add a device in whitelist (ac367ac)
- Fix SMP command allocation (30ff865)
- Add support for Vendor Event mask VSC (0ba9ba4)
- Fix incorrect event deinit in gatt caching discovery (e6c139e)
- Fixed pairing failure issue when SC only mode is selected (c22e7ae)
- Added a change in the BLE SPP Client example to allow the client to subscribe to the server. (16a0789)
- Handle application code compilation issue due to removal of link_estab structure (f55e6c3)
- Update controller data length upon connection creation. (e85dbe0)
- Deprecate BLE_GAP_EVENT_LINK_ESTAB event. (57ed699)
- Handle nested locks when BT_NIMBLE_DEBUG enabled (#15014, #15294, #15202) (608d5a7)
- Enhanced error handling by adding to...
ESP-IDF Release v5.3.3
Documentation for IDF v5.3.3 is available at https://docs.espressif.com/projects/esp-idf/en/v5.3.3/
ESP-IDF v5.3.3 is a bugfix update for ESP-IDF v5.3.
Obtaining v5.3.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.3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3.3
cd esp-idf-v5.3.3/
This is the recommended way of obtaining v5.3.3 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.3.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. To reduce the size of the archive, the .git
directory doesn't include the history of commits older than one year. Users who need to use git checkout
to access an older release of IDF will have to use git fetch
first to download the remaining part of the history.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.3.3/esp-idf-v5.3.3.zip
Major changes
Major Features
- Supported ESP32-H2 revision v1.2 (d05db915)
Major Bug Fixes
- Bluetooth Common/Controller: Disable debug vendor HCI command on ESP32. (efec039)
Breaking Changes
- Bluetooth Common Starting from this version, Espressif's Bluetooth vendor-specific HCI commands and events for all ESP Bluetooth chips are disabled by default in HCI UART mode and non-ESP host mode. Please refer to esp_bt_vs.h (E.g., components/bt/include/esp32/include/esp_bt_vs.h) for detailed information . (07f4ff8)
- Application Utilities / Provisioning Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (352c4de)
- System Hardware Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. For ESP32C6, to continue to use RC32K clock as the RTC slow clock source now requires to select RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED Kconfig first; For ESP32H2/P4, this option is completely removed. (4c422b1)
Changelog
This is the list of changes since release v5.3.2.
15.4
- Set 802.15.4 energy scan duration before cca (84e3f04)
- Supported IEEE802.15.4 ISR callbacks registration feature (182dcd8)
- Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels. (8b5008b)
- Supported rx buffer and txrx statistics in 802.15.4 debugging mode (2c786a4)
MAC
- Supported configuring 15.4 PTI at runtime (90de6ac)
- Supported setting/getting ACK timeout APIs (e27cc7c)
- Returned ESP_FAIL if enh-ack generating logic was not implemented. (2ecc042)
Thread
- Supported hardware reset RCP while processing RCP failure for the example
ot_br
(b544acb) - Added an API to to set RCP version string (b46c030)
- Fixed SRP server to support zero number of subtype item when updating service (9e58ddd)
- Added Thread connect support in protocol_common component (ad6fd3f)
- Supported
otPlatRadioGetPreferredChannelMask
, added a configuration to set the preferred channel mask. (8b5008b) - Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (53a38bd)
- Added set dns server address API for Thread network interface (53a38bd)
- Released Thread BR lib based on IDF v5.3 branch (fde54d5)
- Supported custom header file for openthread configuration (3a4396b)
Application Utilities
- Fixed build errors when only TLS 1.3 is enabled (48a7476)
App Update
- Introduced
esp_ota_resume
API for managing OTA resumption scenarios. (eb9019a)
ESP HTTP Client
- Include port number to the URL returned by the API esp_http_client_get_url(). (74b2b39)
- Fix connection close condition check for a case where no explicit
errno
is set (#14724) (8ce6ba1)
ESP HTTP Server
- Added support to handle HTTP 1.0 requests for legacy compliance purpose (de65ee5)
Provisioning
- Update security2 scheme to fix the incorrect AES-GCM IV usage (352c4de)
- Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (352c4de)
BLE
- Fixed crash in BLE HID host example during logging (0b7cbb4)
BluFi
- Enhanced security in BLUFI example. (5f78978)
- Fixed crash issue during memcpy in example. (4b4bc91)
- Fixed potential out-of-bounds memory access issue in Blufi example. (3b92422)
- Fixed crash issue in Blufi example during prepare write operation. (14075e8)
- Fixed Blufi initialization failure after deinitialization on ESP32(#14898). (0b7cbb4)
Bluedroid
- Supported BLE vendor hci event reporting (9bc2bab)
- Supported BLE setting vendor event mask (9bc2bab)
- Supported SPI log output options for HCI. (5db0534)
- reduced bluedroid host bin size (af4ad22)
- Fixed ADV data and scan response data not reported together in BLE active scan. (4aa1a37)
- Supported change HID task size by Kconfig in HID example(#15320). (d4bb0e2)
- Optimized the references to BLE GATT related APIs. (d0a157e)
- Added BLE get started examples for Bluedroid. (4dd4435)
- Fixed the issue where the BLE channel selection algorithm event was not reported. (ede55da)
- Fixed event reporting upon completion of preferred connection parameter settings. (ede55da)
- Added config for saving BLE bonding keys to NVS flash. (a0fdc9f)
- Fixed BLE create connection failed because of invalid own address type. (0a49e28)
- Added BLE 5.0 throughput examples. (52066e6)
Controller
- Added definitions for bluetooth hci vendor commands and events (07f4ff8)
- reduced controller bin size for ESP32-C3 and ESP32-S3 (5a170df)
- Added BLE debug log module on ESP32-C3 and ESP32-S3. (eddaf03)
- Added channel assessment function on ESP32-H2 and ESP32-C6. (d76e076)
- Added continuous connection function when instant pass issue triggers on ESP32-H2 and ESP32-C6. (d76e076)
- Fixed the issue where disconnection events were not reported as a slave on ESP32. (6fd6c4d)
- Enhanced Access Address validation in compatibility mode on ESP32. (6fd6c4d)
- Fixed scan duplicate filter failure when receiving ADV_DIRECT_IND for ESP32-C2. (0c8da9f)
- Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (403a3e0)
- Fixed an issue where the default tx power of connection is incorrect after setting the scan tx power on ESP32-C6 and ESP32-H2. (403a3e0)
- Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (403a3e0)
- Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (403a3e0)
- Supported for putting ble code into flash on ESP32-C6 and ESP32-H2. (403a3e0)
- Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (403a3e0)
- Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (403a3e0)
- Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (171a0b9)
- Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (171a0b9)
- Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (171a0b9)
- Support resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (608ac0b)
- Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (608ac0b)
- Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (608ac0b)
- Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (608ac0b)
- Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (608ac0b)
- Added parameter validation for Periodic Advertising Enable on ESP32-C3 and ESP32-S3. (608ac0b)
- Provided DTM configuration command in HCI example. (505a359)
- Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3 (73c6ff0)
- Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (73c6ff0)
- Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (73c6ff0)
- Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (77d0629)
- Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (77d0629)
- Fixed an occasional WDT issue with long running time on ESP32-C2. (77d0629)
- Removed BLE creating connection assertion when the connection already exists on ESP32. (78b9bfe)
- Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (2cb1dbd)
- Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (e1c1bef)
- Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (e1c1bef)
- Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (e1c1bef)
- Fixed a occasional wdt issue in multi-connection scenarios on ESP32-C6. (69e8c4a)
- Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (69e8c4a)
...
ESP-IDF Release v5.4.1
Documentation for IDF v5.4.1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.4.1/
ESP-IDF v5.4.1 is a bugfix update for ESP-IDF v5.4.
Obtaining v5.4.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.4.1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.4.1
cd esp-idf-v5.4.1/
This is the recommended way of obtaining v5.4.1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.4.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. To reduce the size of the archive, the .git
directory doesn't include the history of commits older than one year. Users who need to use git checkout
to access an older release of IDF will have to use git fetch
first to download the remaining part of the history.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.4.1/esp-idf-v5.4.1.zip
Major changes
Major Features
- Supported ESP32-H2 revision v1.2 (57d976b)
Major Bug Fixes
- Secure Boot: Fixed secure boot verification failure when multiple keys are used to sign the bootloader and the application is signed with a key other than the first key that is used to sign the bootloader. (3144cef)
- Bluetooth Common/Controller: Disable debug vendor HCI command on ESP32. (061ba0c)
Breaking Changes
- Provisioning: Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (f884315)
- Bluetooth Common: Starting from this version, Espressif's Bluetooth vendor-specific HCI commands and events for all ESP Bluetooth chips are disabled by default in HCI UART mode and non-ESP host mode. Please refer to esp_bt_vs.h (E.g., components/bt/include/esp32/include/esp_bt_vs.h) for detailed information. (daf8117)
Known Issues
- Power management: Occasionally crash on ESP32P4 when enabled DFS and PSRAM, where in older version, the issue was the value in PSRAM may be corrupted
Changelog
This is the list of changes since release v5.4.
802.15.4
802.15.4 MAC
- Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels (f6c3040)
- Set 802.15.4 energy scan duration before cca (f4e4591)
- Supported IEEE802.15.4 ISR callbacks registration feature (1ceb4e4)
- Supported rx buffer and txrx statistics in 802.15.4 debugging mode (8b1b4df)
- Supported configuring 15.4 PTI at runtime (d43f647)
- Supported setting/getting ACK timeout APIs (ebd77e1)
Thread
- Added an API to to set RCP version string (5fa3e38)
- Added Thread connect support in protocol_common component (89e47be)
- Added set dns server address API for Thread network interface (2e06b60)
- Supported
otPlatRadioGetPreferredChannelMask
, added a configuration to set the preferred channel mask (f6c3040) - Supported hardware reset RCP while processing RCP failure for the example
ot_br
(b853fc6) - Fixed SRP server to support zero number of subtype item when updating service (3b41c1a)
- Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (2e06b60)
Application Utilities
ESP HTTP Client
- Include port number to the URL returned by the API esp_http_client_get_url(). (9acf088)
Provisioning
- Updated security2 scheme to fix the incorrect AES-GCM IV usage (f884315)
Bluetooth Low Energy (BLE)
- Fixed crash in BLE HID host example during logging (3146964)
Bluetooth Low Energy Controller
- Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (fe24a1c)
- Fixed the issue where disconnection events were not reported as a slave on ESP32. (8deb26b)
- Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (fe24a1c)
- Fixed interrupt watchdog timeout when shutting down Bluetooth controller on ESP32. (fe24a1c)
- Enhanced Access Address validation in compatibility mode on ESP32. (8deb26b)
- Added parameter validation for Periodic Advertising Enable on ESP32-C3 and ESP32-S3. (4986601)
- Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (9909d42)
- Supported resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (4986601)
- Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (4986601)
- Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (4986601)
- Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (4986601)
- Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (4986601)
- Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3 (9909d42)
- Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (9909d42)
- Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (9909d42)
- Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (192874f)
- Fixed scan duplicate filter failure issue when receiving
ADV_DIRECT_IND
for ESP32-C2. (b05de81) - Fixed an issue where the ESP32-C2 failed to establish a connection when using a resolvable private address. (192874f)
- Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (ceffa4f)
- Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (ceffa4f)
- Fixed an occasional WDT issue with long running time on ESP32-C2. (ceffa4f)
- Added channel assessment function on ESP32-H2 and ESP32-C6. (93651dd)
- Added continuous connection function when instant pass issue triggers on ESP32-H2 and ESP32-C6. (93651dd)
- Supported for putting BLE code into flash on ESP32-C6 and ESP32-H2. (192874f)
- Fixed an occasional assertion issue when MSYS memory cannot be obtained on ESP32-C6 and ESP32-H2. (192874f)
- Fixed an issue where the default TX power of connection is incorrect after setting the scan TX power on ESP32-C6 and ESP32-H2. (192874f)
- Fixed an issue where the ESP32-C6 and ESP32-H2 failed to establish a connection when using a resolvable private address. (192874f)
- Fixed an occasional ACL disconnection issue under multiple connections on ESP32-C6 and ESP32-H2. (192874f)
- Provided DTM configuration command in HCI example for ESP32-C2, ESP32-C6, and ESP32H2. (f4138ad)
- Reduced controller bin size for ESP32-C3 and ESP32-S3 (5cbd2a3)
- Added definitions for bluetooth hci vendor commands and events (daf8117)
ESP Bluedroid Host
- Added BLE Get Started examples for Bluedroid. (05fa0e7)
- Added config for saving BLE bonding keys to NVS flash. (ae31b78)
- Supported change HID task size by Kconfig in HID example(#15320). (b9ebf6c)
- Optimized the references to BLE GATT related APIs. (aa87a69)
- Fixed the issue where the BLE channel selection algorithm event was not reported. (faca49d)
- Fixed event reporting upon completion of preferred connection parameter settings. (faca49d)
ESP NimBLE Host
- Added support for Multiple Variable Length Notifications. (0880fc0)
- Added support for Multiple EATT bearers. (0880fc0)
- Added support for LE GATT Security Level Characteristic (0880fc0)
- Added support for PAwR feature (0880fc0)
- Added support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (0880fc0)
- Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (0880fc0)
- Added a menuconfig option to enable L2CAP Enhanced COC (0880fc0)
- Added a host configuration option to enable/disable SC Only mode (0880fc0)
- Added fixes for CVE-2024-(47248/47249/47250/51569) vulnerabilities for nimble (ad9e0d5)
- Added a change to assign correct peer OTA address type (ad9e0d5)
- Added a function for printing HCI error definition (ad9e0d5)
- Added a check for invalid offset (ad9e0d5)
- Added menuconfig option to enable SC only mode. (0880fc0)
- Fixed an issue by clearing the IRK from the controller when clearing keys from NVS during signed write operation (0880fc0)
- Handled an issue by preventing the disconnect event from being sent if the connect event was not sent (ae5cf32)
- Added an offset in GATT server long read context (f30ee2a)
- Restarted advertising / sync when periodic sync fails due to 0x3E (15da152)
- Enhanced error handling by adding to print core error definitions (18ba5dd)
- Fixed NVS corruption due to
BLE_ENV_ADV_DATA
flag (9555aa0) - Resolved a compilation issue observed when WARN_WRITE_STRINGS is set . [ PR: espressif/esp-nimble#84 ] (49262fd)
- Updated README.md by removing unclear line (#15284) (86a8f69)
- Handled nested locks when BT_NIMBLE_DEBUG enabled (#15014, #15294, #15202) (f9f71f0)
- Fixed compilation warnings in nimble examples. [ Closes #15157 ] (2ebbfef)
- Ensured proper cleanup of local and peer security records during unpairing (c6637ae)
- Additional PAwR changes support for ESP IP (c6637ae)
- Reset global variables during link disconnection (c66...
ESP-IDF Release v5.2.5
Documentation for IDF v5.2.5 is available at https://docs.espressif.com/projects/esp-idf/en/v5.2.5/
ESP-IDF v5.2.5 is a bugfix update for ESP-IDF v5.2.
Note: ESP-IDF V5.2.5 is released earlier than the planning, aimed at fixing the known issue in ESP-IDF v5.2.4.
Obtaining v5.2.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.2.5 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.2.5
cd esp-idf-v5.2.5/
This is the recommended way of obtaining v5.2.5 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.2.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.2.5/esp-idf-v5.2.5.zip
Major changes
This is the list of changes since release v5.2.4:
Major Features
- Supported ESP32-H2 chip revision v1.2
The Only Bug Fix
- BLE: Fixed the issue that the RSSI measurement using ESP32-H2 chip revision v1.2 is 10 dBm higher than the actual value. (260c81d)
ESP-IDF Release v5.2.4
Documentation for IDF v5.2.4 is available at https://docs.espressif.com/projects/esp-idf/en/v5.2.4/
ESP-IDF v5.2.4 is a bugfix update for ESP-IDF v5.2.
Obtaining v5.2.4
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.4 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.2.4
cd esp-idf-v5.2.4/
This is the recommended way of obtaining v5.2.4 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.2.4.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.4/esp-idf-v5.2.4.zip
Major changes
This is the list of changes since release v5.2.3:
Major Features
- Supported ESP32-C2 chip revision v2.0 (a83eb05)
Breaking Changes
- SPI Flash: Removed auto suspend support for XMC-C flash series (1a389cc)
- SPI Flash: Removed XMC-C suspend support because there is risk that erase operation might never finishes (1a389cc)
- MbedTLS: MbedTLS option
MBEDTLS_ECP_FIXED_POINT_OPTIM
is disabled by default to save on significant (~27KB) flash footprint. This allows easier migration from IDF 4.x to 5.x release. If the performance is desired and ECC accelerator is not available then the config can be turned on. (2ea3334) - MbedTLS: Support for SHA3 operations is now configurable and disabled by default to save flash size. The config can be enabled if an application needs to perform SHA3 operations. (2ea3334)
- For ESP32-C6, to continue to use RC32K clock as the RTC slow clock source now requires to select RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED Kconfig first; For ESP32H2, this option is completely removed. (b3b14bd)
- Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. (b3b14bd)
Known Issues
- BLE: The RSSI measurement using ESP32-H2 chip revision v1.2 is 10 dBm higher than the actual value.
The known issue will be fixed in release v5.2.5.
Changelog
802.15.4
802.15.4 MAC
Added
- Set 802.15.4 energy scan duration before cca (ce956ec)
- Supported IEEE802.15.4 ISR callbacks registration feature (4e0b39f)
- Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels (50fe685)
- Supported rx buffer and txrx statistics in 802.15.4 debugging mode (1408102)
- Supported configuring 15.4 PTI at runtime (721def3)
- Supported setting/getting ACK timeout APIs (87ea365)
Fixed
- Returned ESP_FAIL if enh-ack generating logic was not implemented. (da635ec)
Thread
Added
- Added OpenThread dataset changed event (4e88543)
- Enabled vendor hooks for rcp operating in spi mode (9ce3654)
- TSupported Thread Radio Encapsulation Link (TREL) feature (9ce3654)
- Added set dns server address API for Thread network interface (a40f7af)
- Supported custom header file for openthread configuration (7f6cb15)
- upported RCP compatibility mismatch error handler (be05f8d)
- Supported to allocate NAT64 session from PSRAM. (be05f8d)
- Enabled bbr feature to support multicast by default (be05f8d)
- Supported modifying port and txt in SRP server (be05f8d)
- Added Thread connect support in protocol_common component (eb4a519)
- Supported
otPlatRadioGetPreferredChannelMask
, added a configuration to set the preferred channel mask. (50fe685)
Changed
- Replaced NETCONN_EXT_RESOLVE_HOOK with DNS_EXT_RESOLVE_HOOK to support more application layer protocols (c92f5db)
- Updated openthread submodule (005c5ce) (be05f8d)
Fixed
- Fixed SRP server to support zero number of subtype item when updating service (0f5b20f)
- Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (a40f7af)
- Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly. (be05f8d)
- Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScan
calls (11888be)
Zigbee
Changed
- Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (f1a28c5)
- Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (f1a28c5)
Removed
- Removed the esp_zigbee_rcp example (f1a28c5)
Application Utilities
Added
- ESP HTTPS OTA: Added API to retrieve the most recent status logged from the HTTP response. (505625f)
- Provisioning: Added support for Notify attribute in provisioning service (4fb04ce)
Fixed
- Fixed build errors when only TLS 1.3 is enabled (b369dfe)
- Fixed issue with PUT requests with async handler (#14196) (450d537)
- Provisioning: Fixed hostname resolving for IPv6-only host (214910f)
- ESP HTTP Client: Fixed connection close condition check for a case where no explicit
errno
is set (#14724) (c19a00b) - ESP HTTP Client: Include port number to the URL returned by the API esp_http_client_get_url(). (7351290)
Bluetooth Low Energy (BLE)
Added
- Documentation: Added Bluetooth SIG Qualification information to API Guides. (8394e29)
- Documentation: Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (7aa63a9)
Fixed
- Fixed crash in BLE HID host example during logging (aabe255)
Bluetooth Low Energy Controller
Added
- Supported for BLE scanning and initiating state coexistence on ESP32. (5dbb1cf)
- Added config to enable or disable BLE channel assessment and ping procedure on ESP32. (d5cd3b7)
- Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32. (81c4470)
- Added a verification step for the Access Address within the
CONNECT_IND
PDU on ESP32. (81c4470) - Supported resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (a10be2b)
- Supported external 32k oscillator as Bluetooth sleep clock on ESP32/C3/S3 (ff42187)
- Added parameter validation for Periodic advertising enable on ESP32-C3 and ESP32-S3. (a10be2b)
- Provided DTM configuration command in HCI example. (3c799b3)
- Added a verification step for the Access Address within the
CONNECT_IND
PDU on ESP32-C3 and ESP32-S3. (455ea95) - Supported for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (6c8c6ce)
- Supported for putting code in flash on ESP32-C2 (e186bba)
- Supported for putting BLE code into flash on ESP32-C6 and ESP32-H2. (72d91b5)
Changed
- Changed the maximum TX power to +20dBm on ESP32-C3 and ESP32-S3. (a5d128b)
- Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2. (72d91b5)
- Updated the BLE rom.ld file for ESP32-C2 v2.0. (b7d0eeb)
Fixed
- Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (d5cd3b7)
- Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (d5cd3b7)
- Fixed the issue where the BLE connection can't be established when initiating and advertising coexist on ESP32. (81c4470)
- Fixed assert in ke_mem.c at line 409 when controller resets on ESP32. (81c4470)
- Fixed the issue where scan could not be reset when the Controller was reset during scanning on ESP32. (95ac2b1)
- Fixed early wake-up during light sleep when using the RC oscillator on ESP32-C3 and ESP32-S3. (c842477)
- Fixed BLE TX power retrieval failure on ESP32-C3 and ESP32-S3. (c842477)
- Fixed extended connectable advertising data length check on ESP32-C3 and ESP32-S3. (ad8f970)
- Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 revision v1.1. (d43f3b9)
- Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (a10be2b)
- Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (a10be2b)
- Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (a10be2b)
- Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (a10be2b)
- Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3. (455ea95)
- Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (455ea95)
- Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (b00f4a4)
- Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 and ESP32-S3. (087adbe)
- Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (72d91b5)
- Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (1a64da0)
- Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (1a64da0)
- Fixed an occasional WDT issue with long running time on ESP32-C2. (1a64da0)
- Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (6e07162)
- Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (6e07162)
- Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (6e07162)
- Fixed occasional assertion issue when enabling logging on ESP32-C2. (9b100a3)
- Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (72d91b5)
- Fixed an issue where the defa...
ESP-IDF Release v5.1.6
Documentation for IDF v5.1.6 is available at https://docs.espressif.com/projects/esp-idf/en/v5.1.6/
ESP-IDF v5.1.6 is a bugfix update for ESP-IDF v5.1.
Obtaining v5.1.6
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.6 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1.6
cd esp-idf-v5.1.6/
This is the recommended way of obtaining v5.1.6 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.1.6.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.6/esp-idf-v5.1.6.zip
Major changes
This is the list of changes since release v5.1.5:
Major Features
Breaking Changes
- SPI Flash: Removed auto suspend support for XMC-C flash series (5b6aa19)
- SPI Flash: Removed XMC-C suspend support because there is risk that erase operation might never finishes (5b6aa19)
- For ESP32-C6, to continue to use RC32K clock as the RTC slow clock source now requires to select RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED Kconfig first; For ESP32-H2, this option is completely removed. (fd3da18)
- Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. (fd3da18)
- MbedTLS: MbedTLS option
MBEDTLS_ECP_FIXED_POINT_OPTIM
is disabled by default to save significant (approx. 27 kB) flash footprint. This allows easier migration from IDF 4.x to 5.x release. If the performance is desired and ECC accelerator is not available then the config can be turned on. (289ffe7) - MbedTLS: Support for SHA3 operations is now configurable and disabled by default to save flash size. The config can be enabled if an application needs to perform SHA3 operations. (289ffe7)
Changelog
802.15.4
802.15.4 MAC
Added
- Set 802.15.4 energy scan duration before cca (0192db5)
- Supported IEEE802.15.4 ISR callbacks registration feature (4a83e6b)
- Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels (d326f02)
- Supported rx buffer and txrx statistics in 802.15.4 debugging mode (50b36ec)
- Supported configuring 15.4 PTI at runtime (515b025)
- Supported setting/getting ACK timeout APIs (f032c5c)
Fixed
- Returned ESP_FAIL if enh-ack generating logic was not implemented. (cd50023)
Thread
Added
- Added an API to to set RCP version string (822764f)
- Supported hardware reset RCP while processing RCP failure for the example
ot_br
(026d8ae) - Added Thread connect support in protocol_common component (79f444f)
- Supported
otPlatRadioGetPreferredChannelMask
, added a configuration to set the preferred channel mask. (d326f02) - Added set dns server address API for Thread network interface (cc58cf3)
- Supported custom header file for openthread configuration (a355efb)
- Supported RCP compatibility mismatch error handler (7805969)
- Supported to allocate NAT64 session from PSRAM (7805969)
- Enabled bbr feature to support multicast by default (7805969)
- Supported modifying port and txt in SRP server (7805969)
- Enabled vendor hooks for rcp operating in spi mode (954f6ba)
- Supported Thread Radio Encapsulation Link (TREL) feature (954f6ba)
- Added OpenThread dataset changed event (122462f)
Changed
- Updated openthread submodule (005c5ce) (7805969)
- Replaced NETCONN_EXT_RESOLVE_HOOK with DNS_EXT_RESOLVE_HOOK to support more application layer protocols (06efbee)
Fixed
- Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScan
calls (740de14) - Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly (7805969)
- Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (cc58cf3)
- Fixed SRP server to support zero number of subtype item when updating service (bd5e1c3)
Zigbee
Changed
- Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (bdc59fc)
- Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (bdc59fc)
Removed
- Removed the esp_zigbee_rcp example (bdc59fc)
Application Utilities
Fixed
- ESP HTTP Client: Fixed connection close condition check for a case where no explicit
errno
is set (#14724) (6bca6f4) - ESP HTTP Server: Updated logic to enforce HTTP/1.0 or HTTP/1.1, no longer supporting other versions (#14723) (ed5f875 & c1931f0)
- Provisioning: Fixed hostname resolving for IPv6-only host (937d309)
Bluetooth Low Energy (BLE)
Added
- Documentation: Added Bluetooth SIG Qualification information to API Guides. (c08c117)
- Documentation: Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (0f1400b)
Fixed
- Fixed crash in BLE HID host example during logging (e423469)
Bluetooth Low Energy Controller
Added
- Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (e77ee13)
- Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32. (15fb892)
- Added a verification step for the Access Address within the
CONNECT_IND
PDU on ESP32. (15fb892) - Supported using external 32k oscillator as Bluetooth sleep clock on ESP32, ESP32-C3 and ESP32-S3. (de8cdc5)
- Added support for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (f068192)
- Added a verification step for the Access Address within the
CONNECT_IND
PDU on ESP32-C3 and ESP32-S3. (90b1dbb) - Supported resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (b33c50d)
- Added parameter validation when enabling Periodic Advertising on ESP32-C3 and ESP32-S3. (b33c50d)
- Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32-C3 and ESP32-S3. (3f87a40)
- Supported for putting code in flash on ESP32-C2 (febfdf6)
- Supported for putting BLE code into flash on ESP32-C6 and ESP32-H2. (40fe9c1)
- Provided DTM configuration command in HCI example for ESP32-C2, ESP32-C6 and ESP32-H2. (b370b75)
Changed
- Updated the BLE
rom.ld
file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (40fe9c1)
Fixed
- Fixed occasional connection supervision timeout when coexisting with WiFi and light sleep enabled on ESP32-C6 and ESP32-H2. (2d6c938)
- Fixed an occasional issue where BLE fails to send ADV packeting when Wi-Fi keeps scanning in the coexistence scenario on ESP32-C6. (f604a60)
- Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (e77ee13)
- Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (e77ee13)
- Removed BLE creating connection assertion when the connection already exists on ESP32. (8cee3e3)
- Fixed the issue where the BLE connection can't be established when initiating and advertising coexist on ESP32. (15fb892)
- Fixed assert in
ke_mem.c
at line 409 when controller resets on ESP32. (15fb892) - Fixed the issue where SCAN could not be reset when the Controller was reset during scanning on ESP32. (626d642)
- Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (b33c50d)
- Resolved assertion failure "assert lld_scan.c 1728, param 00000000 00000000" on ESP32-C3 and ESP32-S3. (b33c50d)
- Fixed BLE assert
rwble.c
505 param 00400010 on ESP32-C3 and ESP32-S3. (b33c50d) - Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (b33c50d)
- Fixed that the resolvable private address does not change when light sleep is enabled on ESP32-C3 and ESP32-S3 (90b1dbb)
- Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (90b1dbb)
- Fixed BLE assert
ke_mem.c
267 on ESP32-C3 and ESP32-S3 (eb935a2) - Fixed
btdm_sleep_clock_sync
timeout when exiting sleep on ESP32-C3 and ESP32-S3. (3f87a40) - Fixed extended connectable advertising data length check on ESP32-C3 and ESP32-S3. (ed06d92)
- Fixed early wake-up during light sleep when using the RC oscillator on ESP32-C3 and ESP32-S3. (2627e8b)
- Fixed BLE TX power retrieval failure on ESP32-C3 and ESP32-S3. (2627e8b)
- Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (9ed0dac)
- Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (9ed0dac)
- Fixed an occasional WDT issue with long running time on ESP32-C2. (9ed0dac)
- Fixed an issue where the default TX power of connection is incorrect after setting the scan TX power on ESP32-C2. (9ed0dac)
- Fixed a occasional WDT issue in multi-connection scenarios on ESP32-C6. (2928d40)
- Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (2928d40)
- Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (43e4dd5)
- Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (43e4dd5)
- Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (43e4...
ESP-IDF Release v5.0.8
Documentation for IDF v5.0.8 is available at https://docs.espressif.com/projects/esp-idf/en/v5.0.8/
ESP-IDF v5.0.8 is a bugfix update for ESP-IDF v5.0.
Obtaining v5.0.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 v5.0.8 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.0.8
cd esp-idf-v5.0.8/
This is the recommended way of obtaining v5.0.8 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.0.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/v5.0.8/esp-idf-v5.0.8.zip
Major changes
This is the list of changes since release v5.0.7:
Breaking Changes
- SPI Flash: Remove XMC-C suspend support because there is risk that erase operation might never finishes (6afa87b)
- MbedTLS: MbedTLS option
MBEDTLS_ECP_FIXED_POINT_OPTIM
is disabled by default to save on significant (~27KB) flash footprint. This allows easier migration from IDF 4.x to 5.x release. If the performance is desired and ECC accelerator is not available then the config can be turned on. (060aefc) - MbedTLS: Support for SHA3 operations is now configurable and disabled by default to save flash size. The config can be enabled if an application needs to perform SHA3 operations. (060aefc)
Known Issues
-
Wi-Fi:
WIFI_AUTH_WPA2_ENTERPRISE
(which equals toWIFI_AUTH_ENTERPRISE
) will be recognized asWIFI_AUTH_WPA2_WPA3_ENTERPRISE
by mistake, this will cause fail to scanWIFI_AUTH_WPA2_ENTERPRISE
APs. Also the values of newly added macroWIFI_AUTH_WPA3_ENTERPRISE
andWIFI_AUTH_WPA2_WPA3_ENTERPRISE
are not compatible enough, using them in your code may stop you upgrading to newer versions like v5.0.9+, v5.1.6+, v5.2.4+,v5.3.3+ and v5.4+.If you already use Wi-Fi Enterprise including
WIFI_AUTH_WPA2_ENTERPRISE
andWIFI_AUTH_ENTERPRISE
in your code, strongly suggest you not upgrade to v5.0.8, instead, you can wait until v5.0.9.
Changelog
Application Utilities
Added
- ESP HTTPS OTA: Added API to retrieve the most recent status logged from the HTTP response (b7c1ad7)
- Provisioning: Added support for ESP IP chips to work with bluedroid stack (4a43fbd)
Fixed
- ESP HTTP Client: Fixed connection close condition check for a case where no explicit
errno
is set (#14724) (8ec2220) - ESP HTTP Server: Updated logic to enforce HTTP/1.0 or HTTP/1.1, no longer supporting other versions (#14723) (a974ea3 & d855d1d)
- Provisioning: Exposed API to set BLE random address (a01bd13)
Bluetooth Low Energy (BLE)
Fixed
- Fixed crash in BLE HID host example during logging (f924f61)
BluFi
Fixed
- Fixed crash issue in Blufi example during prepare write operation. (94f3007)
- Fixed Blufi initialization failure after deinitialization on ESP32(#14898). (f924f61)
ESP Bluedroid Host
Added
- Added config for saving BLE bonding keys to NVS flash. (57ef4c4)
- Added BLE 5.0 throughput examples. (389e738)
- Added API to set BLE supported channel selection algorithm. (84cae3a)
- Added BLE connection ID parameter for ESP_GATTS_RESPONSE_EVT. (c01e90d)
Changed
- Refactored the print for gatt_server and gatt_client example. (2edaf52)
- Refactored the print for BLE examples. (2edaf52)
- Optimized BLE examples for setting advertising data. (018e508)
Fixed
- Fixed the issue where the BLE channel selection algorithm event was not reported. (8b93db7)
- Fixed event reporting upon completion of preferred connection parameter settings. (8b93db7)
- Fixed BLE create connection fail because of invalid own address type. (29013b4)
- Fixed Classic Bluetooth build failure when enabling dynamic memory and disable BLE (efe70fe)
- Fixed BLE build failure when enabling dynamic memory with BLE 5.0 (e991d16)
- Fixed crash issue in BLE SMP when a disconnection process is ongoing (fb0b52c)
- Fixed BLE handle check for GATT API. (05437c1)
- Fixed error when writing Client Supported Features characteristic. (0e477e6)
- Fixed access fault when reading BLE controller information fails. (c01e90d)
- Fixed compile warning for gatt_sr_hash.c when optimize for performance. (9b4c775)
- Fixed memory out-of-bounds issue when parsing adv data. (ef0f7f6)
- Reported HCI error status to application when command fails. (fd859c6)
- Cancelled the BLE connection initiation if the connection has already been established when both devices initiate a connection simultaneously. (fd859c6)
- Added print and assert statements for memory allocation failures. (fd859c6)
- Checked whether the work queue is NULL before deleting it when creating thread failed. (fd859c6)
- Fixed incorrect state issue when unregistering BLE GATTC application. (7ae93db)
- Reset BLE security parameters during initialization (#13869) (dba15f8)
- Fixed the issue where BLE could not create a connection if the controller doesn't support the coexistence of scanning and connection initiating states. (054d8c9)
Bluetooth Low Energy Controller
Added
- Supported for putting code in flash on ESP32-C2 (240dd4f)
- Added support for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (48cb852)
- Supported using external 32k oscillator as Bluetooth sleep clock on ESP32/ESP32-C3/ESP32-S3 (314b9d5)
- Added support for BLE scanning and initiating state coexistence on ESP32. (c060436)
- Supported mesh duplicate with extended scan on ESP32-C3 and ESP32-S3. (745cd37)
- Supported enhanced BLE TX power setting and getting on ESP32-C3 and ESP32-S3. (745cd37)
Changed
- Updated the BLE rom.ld file for ESP32-C2 v2.0. (828adbb)
- Changed the maximum TX power to +20dBm on ESP32-C3 and ESP32-S3. (b2dae87)
Fixed
- Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3 (548ad60)
- Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (548ad60)
- Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (548ad60)
- Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (d0a52ca)
- Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (d0a52ca)
- Fixed an occasional WDT issue with long running time on ESP32-C2. (d0a52ca)
- Fixed an issue where the default tx power of connection is incorrect after setting the scan tx power on ESP32-C2. (d0a52ca)
- Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (e4c8719)
- Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (8642718)
- Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (8642718)
- Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (8642718)
- Removed BLE creating connection assertion when the connection already exists on ESP32. (afea334)
- Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32. (c0d14da)
- Fixed the issue where the BLE connection can't be established when initiating and advertising coexist on ESP32. (c0d14da)
- Fixed assert in ke_mem.c at line 409 when controller resets on ESP32. (c0d14da)
- Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32. (c0d14da)
- Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32-C3 and ESP32-S3. (d062566)
- Fixed btdm_sleep_clock_sync timeout when exiting sleep on ESP32-C3 and ESP32-S3. (d062566)
- Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 revision v1.1. (5e5c314)
- Fixed the issue where SCAN could not be reset when the Controller was reset during scanning on ESP32. (b980af1)
- Fixed early wake-up during light sleep when using the RC oscillator on ESP32-C3 and ESP32-S3. (4b0cee2)
- Fixed BLE TX power retrieval failure on ESP32-C3 and ESP32-S3. (4b0cee2)
- Fixed extended connectable advertising data length check on ESP32-C3 and ESP32-S3. (dc5567f)
- Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 and ESP32-S3. (e0945a0)
- Fixed subsequent periodic advertising sync create failed after canceling sync before sync established on ESP32-C3 and ESP32-S3. (2d02e60)
- Fixed occasional assertion issue when enabling logging on ESP32-C2. (39878b3)
- Fixed memory leak issue when deinit uart hci on ESP32-C2. (39878b3)
- Fixed BLE util buffer free after controller reset on ESP32-C3 and ESP32-S3. (f082886)
- Fixed assert when BLE connection already exist and be connected again on ESP32-C3 and ESP32-S3. (f082886)
- Fixed a crash during host deinitialization after the controller had been deinitialized on ESP32-C2. (4991ebf)
- Fixed instant wake up from deep sleep when BLE is running on ESP32-H2. (57daec0)
- Fixed the issue where directed advertising could not be connected when the advertisement filter was set to 0x2 on ESP32-C2. (b54d992)
- Fixed the issue where connected advertising could still be set after reaching the maximum number of co...
ESP-IDF Release v5.4
Documentation for IDF v5.4 is available at https://docs.espressif.com/projects/esp-idf/en/v5.4/
ESP-IDF v5.4 is a minor update for ESP-IDF v5.3. Release v5.4 is mostly compatible with apps written for ESP-IDF v5.3.
Obtaining v5.4
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.4 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.4
cd esp-idf-v5.4/
This is the recommended way of obtaining v5.4 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.4.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.4/esp-idf-v5.4.zip
Major changes
This is the list of changes since release v5.3:
Major New Features
- Wi-Fi: Supported ESP32-C2 chip rev2.0 Wi-Fi (e43ded7)
- Wi-Fi: Added FTM calibration values for ESP32-C6 (e990d1e)
- Wi-Fi: Supported lower coexistence power consumption when Wi-Fi disconnects from AP (5a5c004)
- ESP Bluedroid Host: Added support of Cover Art feature in AVRCP Controller (cda2846)
- ESP Bluedroid Host: Added support of Device Identification Profile (ca05aa5)
- Bootloader: Added mocks for bootloader_support component (90cc261)
- Power Management: Added support for PSRAM retention in light sleep on ESP32-P4(82e76ab)
- Peripheral Drivers: Added support for sleep retention of several peripherals in light sleep on ESP32-C6 and ESP32-H2
- ULP: Greatly expanded support for LP Core on C6 and P4 with among others: openocd debugging support, LP-ADC, LP-SPI, ETM wakeup, LP-IO wakeup.
- I2C: Support lp i2c instance on ESP32-P4 (ec3029e)
- ISP: Support a series of ISP features on ESP32-P4
- LCD: Added i80 and RGB LCD driver support on ESP32-P4 (fdd90d4) (6d71638)
- Touch Sensor: New touch sensor on ESP32-P4 (c23165b)
- MbedTLS: Support ESP32-C2 rev2.0 ROM mbedtls-v3.6.0 (9a47de5)
- Supported ESP32-C2 chip rev2.0 (b70331a)
- PSRAM: Supported APS3204L (cb9f474)
- Thread: Supported Thread Radio Encapsulation Link (TREL) feature (d1ef423)
Breaking Changes
- Core System: Renamed
__VA_NARG__
and its macros to be prefixed withESP_
, i.e.__VA_NARG__
toESP_VA_NARG
to avoid naming collisions. If using these then update to use the new name. (bb8fa93) - Security / ESP Cert Bundle: Due to changes in the certificate bundle format to reduce RAM usage, the use of pre-generated certificate bundles using the older format would now be incompatible with the newer application binaries. You now need to either use the default ESP-IDF build system method for attaching the certificate bundle while building applications or update your pre-generated certificate bundle binaries by generating them using the latest gen_crt_bundle.py script. (fa4c387)
- SDMMC: Function
sdmmc_host_init
no longer returnsESP_ERR_INVALID_STATE
when the SDMMC host is already initialized, now it returnsESP_OK
. (d1571c1) - SPI Flash: Removed XMC-C suspend support because there is risk that erase operation might never finish (121a272)
- Wi-Fi: Removed the definition of the "WIFI_BAND_2G_5G" field in "wifi_band_t". (7b5014a)
- ESP Bluedroid Host: Added new Kconfig option to enable SDP APIs and remove the dependency of SDP on L2CAP Kconfig option
- LWIP / PPP: PPPoS internal callback function has incompatible prototype. Please use
esp_netif
API or update your function callbacks. (d4f60fe) - Modify the type of "bandwidth" and comment in wifi_ap_record_t. (3b0cf1a)
- ESP HTTP Server: HTTP version 1.0 was previously supported due to a software bug. With this update, only HTTP/1.1 is allowed. (57553ec)
- MbedTLS: MbedTLS option
MBEDTLS_ECP_FIXED_POINT_OPTIM
is disabled by default to save on significant (~27KB) flash footprint. This allows easier migration from IDF 4.x to 5.x release. If the performance is desired and ECC accelerator is not available then the config can be turned on. (27f11f8) - MbedTLS: Supported for SHA3 operations is now configurable and disabled by default to save flash size. The config can be enabled if an application needs to perform SHA3 operations. (27f11f8)
- Bluetooth Common / Controller: Move
esp_wifi_bt_power_domain_on
andesp_wifi_bt_power_domain_off
fromesp_bt.h
toesp_phy_init.h
(a09d574) - For ESP32-C6, to continue to use RC32K clock as the RTC slow clock source now requires to select RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED Kconfig first; For ESP32-H2/ESP32-P4, this option is completely removed. (0f1bec1)
Known Issues
- For ESP32-P4 chips, when
ESP_SLEEP_KEEP_DCDC_ALWAYS_ON
is not enabled (enabled by default), accessing external storage (Flash/ PSRAM) after waking up from light sleep may get incorrect data.
Changelog
802.15.4
Added
- Supported the large scale size of pending table (8aacb78)
- Added a frame length check for the transmission frame (c7d15c1)
Changed
- Refactored the
next_operation()
logic to avoid some risks when multiple IEEE802154 events are processed in one ISR (c7d15c1) - Ignored the bit8 of the frame length (83eaef8)
Fixed
- Returned ESP_FAIL if enh-ack generating logic was not implemented (84569bc)
Thread
Added
- Supported openthread time sync feature on both RCP and BR (2ca453d)
- Supported changing openthread version information (93c32d4)
- Added a task switching lock holder check (e42b95d)
- Supported Thread Radio Encapsulation Link (TREL) feature (d1ef423)
- Enabled vendor hooks for rcp operating in SPI mode (b835986)
- Added OpenThread dataset changed event (f012157)
- Supported custom header file for openthread configuration (9181eca)
- Supported RCP compatibility mismatch error handler (69a9b17)
- Supported to allocate NAT64 session from PSRAM. (69a9b17)
- Supported modifying port and txt in SRP server (69a9b17)
- Enabled bbr feature to support multicast by default (69a9b17)
Changed
- Replaced NETCONN_EXT_RESOLVE_HOOK with DNS_EXT_RESOLVE_HOOK to support more application layer protocols (4d4062a)
- Made ot task queue sending non-permanent blocking (9f1f285)
- Updated CONFIG_LWIP_IPV6_NUM_ADDRESSES to 12 in Thread BR lib (9f1f285)
- Updated openthread submodule (f32c18b) (ad8f175)
- Moved the registration of UART VFS devices to UART initialization function (9e5e1f0)
- Updated openthread submodule (005c5ce) (69a9b17)
Fixed
- Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScan
calls (1754c8f) - Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly. (69a9b17)
Zigbee
Changed
- Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (dd8b4fa)
- Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (dd8b4fa)
Removed
- Removed the esp_zigbee_rcp example (dd8b4fa)
Application Utilities
Added
- ESP HTTP Client: Added new feature of http method (beda3dc)
- Added HTTP Code 413 support in esp_http_server (#13746) (245ec91)
- Added config option to set timeout for posting events in esp_http_client, esp_http_server, esp_https_server and esp_https_ota (9294914)
- ESP HTTPS OTA: Added API to retrieve the most recent status logged from the HTTP response. (fe47676)
- Provisioning: Added an event that triggers a blocking callback to allow users set advanced WiFi configurations (2f0dc01)
- Provisioning: Added support for Notify attribute in provisioning service (0f11052)
- Provisioning: Added support for ESP IP chips to work with bluedroid stack (6e5414b)
- Provisioning: Added API to keep BLE on after provisioning. (5b56ff6)
- ESP HTTP Server: Added support to handle HTTP 1.0 requests for legacy compliance purpose (0fae01c)
Changed
- Provisioning: Exposed API to set BLE random address (07e377c)
Fixed
- Fixed issue with PUT requests with async handler (#14196) (940578f)
- Fixed build errors when only TLS 1.3 is enabled (3aaac6c)
- Fix mass_mfg tool for supporting u64/i64 types (#14159) (1c351e5)
- Fixed allocating
if_name
in client context multiple times (#13945) (f0781c4) - Fixed memory leaks in HTTPS Server initialization (ade6a5e)
- ESP HTTP Client: Fixed connection close condition check for a case where no explicit
errno
is set (#14724) (95145c3) - Provisioning: Fixed incorrect input decoding when using console transport (8b4a712)
- ESP HTTP Server: Updated logic to enforce HTTP/1.1, no longer supporting other versions (#14723) (57553ec)
- Provisioning: Fixed hostname resolving for IPv6-only host (343bb81)
Bluetooth Low Energy (BLE)
Added
- Documentation: Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (a11aa9c)
- Documentation: Added BLE Features Support Status to API Guides (782b8f0)
ESP Bluedroid Host
Added
- Added BLE connection ID parameter for
ESP_GATTS_RESPONSE_EVT
. (1a065dc) - Added support for retrieving the BLE address type within the bond list(https://github.com/espressif/...
ESP-IDF Pre-release v5.4-rc1
Documentation for IDF v5.4-rc1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.4-rc1/
ESP-IDF v5.4-rc1 is a preview release for ESP-IDF v5.4.
Obtaining v5.4-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.4-rc1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.4-rc1
cd esp-idf-v5.4-rc1/
This is the recommended way of obtaining v5.4-rc1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.4-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.4-rc1/esp-idf-v5.4-rc1.zip
Major changes
This is the list of changes since release v5.3:
Major New Features
- Wi-Fi: Supported ESP32-C2 chip rev2.0 Wi-Fi (e43ded7)
- Wi-Fi: Added FTM calibration values for ESP32-C6 (e990d1e)
- Wi-Fi: Supported lower coexistence power consumption when Wi-Fi disconnects from AP (5a5c004)
- ESP Bluedroid Host: Added support of Cover Art feature in AVRCP Controller (cda2846)
- ESP Bluedroid Host: Added support of Device Identification Profile (ca05aa5)
- Bootloader: Added mocks for bootloader_support component (90cc261)
- Power Management: Added support for PSRAM retention in light sleep on ESP32-P4(82e76ab)
- Peripheral Drivers: Added support for sleep retention of several peripherals in light sleep on ESP32-C6 and ESP32-H2
- ULP: Greatly expanded support for LP Core on C6 and P4 with among others: openocd debugging support, LP-ADC, LP-SPI, ETM wakeup, LP-IO wakeup.
- I2C: Support lp i2c instance on ESP32-P4 (ec3029e)
- ISP: Support a series of ISP features on ESP32-P4
- LCD: Added i80 and RGB LCD driver support on ESP32-P4 (fdd90d4) (6d71638)
- Touch Sensor: New touch sensor on ESP32-P4 (c23165b)
- MbedTLS: Support ESP32-C2 rev2.0 ROM mbedtls-v3.6.0 (9a47de5)
- System Hardware: Supported ESP32-C2 chip rev2.0 (e43ded7)
- PSRAM: Supported APS3204L (cb9f474)
- Thread: Supported Thread Radio Encapsulation Link (TREL) feature (d1ef423)
Breaking Changes
- Core System: Renamed
__VA_NARG__
and its macros to be prefixed withESP_
, i.e.__VA_NARG__
toESP_VA_NARG
to avoid naming collisions. If using these then update to use the new name. (bb8fa93) - Security / ESP Cert Bundle: Due to changes in the certificate bundle format to reduce RAM usage, the use of pre-generated certificate bundles using the older format would now be incompatible with the newer application binaries. You now need to either use the default ESP-IDF build system method for attaching the certificate bundle while building applications or update your pre-generated certificate bundle binaries by generating them using the latest gen_crt_bundle.py script. (fa4c387)
- SDMMC: Function
sdmmc_host_init
no longer returnsESP_ERR_INVALID_STATE
when the SDMMC host is already initialized, now it returnsESP_OK
. (d1571c1) - SPI Flash: Removed XMC-C suspend support because there is risk that erase operation might never finish (121a272)
- Wi-Fi: Removed the definition of the "WIFI_BAND_2G_5G" field in "wifi_band_t". (7b5014a)
- ESP Bluedroid Host: Added new Kconfig option to enable SDP APIs and remove the dependency of SDP on L2CAP Kconfig option
- LWIP / PPP: PPPoS internal callback function has incompatible prototype. Please use
esp_netif
API or update your function callbacks. (d4f60fe) - Modify the type of "bandwidth" and comment in wifi_ap_record_t. (3b0cf1a)
- ESP HTTP Server: HTTP version 1.0 was previously supported due to a software bug. With this update, only HTTP/1.1 is allowed. (57553ec)
- MbedTLS: MbedTLS option
MBEDTLS_ECP_FIXED_POINT_OPTIM
is disabled by default to save on significant (~27KB) flash footprint. This allows easier migration from IDF 4.x to 5.x release. If the performance is desired and ECC accelerator is not available then the config can be turned on. (27f11f8) - MbedTLS: Supported for SHA3 operations is now configurable and disabled by default to save flash size. The config can be enabled if an application needs to perform SHA3 operations. (27f11f8)
- Bluetooth Common / Controller: Move
esp_wifi_bt_power_domain_on
andesp_wifi_bt_power_domain_off
fromesp_bt.h
toesp_phy_init.h
(a09d574) - For ESP32-C6, to continue to use RC32K clock as the RTC slow clock source now requires to select RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED Kconfig first; For ESP32-H2/ESP32-P4, this option is completely removed. (0f1bec1)
Known Issues
- For ESP32-P4 chips, when
ESP_SLEEP_KEEP_DCDC_ALWAYS_ON
is not enabled (enabled by default), accessing external storage (Flash/ PSRAM) after waking up from light sleep may get incorrect data.
Known issues are planned to be fixed before the final v5.4 release.
Changelog
802.15.4
Added
- Supported the large scale size of pending table (8aacb78)
- Added a frame length check for the transmission frame (c7d15c1)
Changed
- Refactored the
next_operation()
logic to avoid some risks when multiple IEEE802154 events are processed in one ISR (c7d15c1) - Ignored the bit8 of the frame length (83eaef8)
Fixed
- Returned ESP_FAIL if enh-ack generating logic was not implemented (84569bc)
Thread
Added
- Supported openthread time sync feature on both RCP and BR (2ca453d)
- Supported changing openthread version information (93c32d4)
- Added a task switching lock holder check (e42b95d)
- Supported Thread Radio Encapsulation Link (TREL) feature (d1ef423)
- Enabled vendor hooks for rcp operating in SPI mode (b835986)
- Added OpenThread dataset changed event (f012157)
- Supported custom header file for openthread configuration (9181eca)
- Supported RCP compatibility mismatch error handler (69a9b17)
- Supported to allocate NAT64 session from PSRAM. (69a9b17)
- Supported modifying port and txt in SRP server (69a9b17)
- Enabled bbr feature to support multicast by default (69a9b17)
Changed
- Replaced NETCONN_EXT_RESOLVE_HOOK with DNS_EXT_RESOLVE_HOOK to support more application layer protocols (4d4062a)
- Made ot task queue sending non-permanent blocking (9f1f285)
- Updated CONFIG_LWIP_IPV6_NUM_ADDRESSES to 12 in Thread BR lib (9f1f285)
- Updated openthread submodule (f32c18b) (ad8f175)
- Moved the registration of UART VFS devices to UART initialization function (9e5e1f0)
- Updated openthread submodule (005c5ce) (69a9b17)
Fixed
- Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScan
calls (1754c8f) - Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly. (69a9b17)
Zigbee
Changed
- Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (dd8b4fa)
- Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (dd8b4fa)
Removed
- Removed the esp_zigbee_rcp example (dd8b4fa)
Application Utilities
Added
- ESP HTTP Client: Added new feature of http method (beda3dc)
- Added HTTP Code 413 support in esp_http_server (#13746) (245ec91)
- Added config option to set timeout for posting events in esp_http_client, esp_http_server, esp_https_server and esp_https_ota (9294914)
- ESP HTTPS OTA: Added API to retrieve the most recent status logged from the HTTP response. (fe47676)
- Provisioning: Added an event that triggers a blocking callback to allow users set advanced WiFi configurations (2f0dc01)
- Provisioning: Added support for Notify attribute in provisioning service (0f11052)
- Provisioning: Added support for ESP IP chips to work with bluedroid stack (6e5414b)
- Provisioning: Added API to keep BLE on after provisioning. (5b56ff6)
Changed
- Provisioning: Exposed API to set BLE random address (07e377c)
Fixed
- Fixed issue with PUT requests with async handler (#14196) (940578f)
- Fixed build errors when only TLS 1.3 is enabled (3aaac6c)
- Fix mass_mfg tool for supporting u64/i64 types (#14159) (1c351e5)
- Fixed allocating
if_name
in client context multiple times (#13945) (f0781c4) - Fixed memory leaks in HTTPS Server initialization (ade6a5e)
- ESP HTTP Client: Fixed connection close condition check for a case where no explicit
errno
is set (#14724) (95145c3) - Provisioning: Fixed incorrect input decoding when using console transport (8b4a712)
- ESP HTTP Server: Updated logic to enforce HTTP/1.1, no longer supporting other versions (#14723) (57553ec)
- Provisioning: Fixed hostname resolving for IPv6-only host (343bb81)
Bluetooth Low Energy (BLE)
Added
- Documentation: Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (a11aa9c)
- Documentation: Added BLE Features Support Status to API Guides (782b8f0)
ESP Bluedroid Host
Added
ESP-IDF Release v5.3.2
Documentation for IDF v5.3.2 is available at https://docs.espressif.com/projects/esp-idf/en/v5.3.2/
ESP-IDF v5.3.2 is a bugfix update for ESP-IDF v5.3.
Obtaining v5.3.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.3.2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3.2
cd esp-idf-v5.3.2/
This is the recommended way of obtaining v5.3.2 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.3.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.3.2/esp-idf-v5.3.2.zip
Major changes
This is the list of changes since release v5.3.1:
- Thread: Supported Thread Radio Encapsulation Link (TREL) feature (47dc6f3)
Breaking Changes
- MbedTLS option
MBEDTLS_ECP_FIXED_POINT_OPTIM
is disabled by default to save on significant (~27KB) flash footprint. This allows easier migration from IDF 4.x to 5.x release. If the performance is desired and ECC accelerator is not available then the config can be turned on. - MbedTLS Support for SHA3 operations is now configurable and disabled by default to save flash size. The config
MBEDTLS_SHA3_C
can be enabled if an application needs to perform SHA3 operations.
Known Issues
- For ESP32-P4 chips, when
ESP_SLEEP_KEEP_DCDC_ALWAYS_ON
is not enabled (enabled by default), accessing external storage (Flash/ PSRAM) after waking up from light sleep may get incorrect data.
Known issues are planned to be fixed before the next v5.3 release.
Changelog
802.15.4
Thread
Added
- Supported the large scale size of pending table (dddc293)
- Supported RCP compatibility mismatch error handler (d271b6b)
- Supported to allocate NAT64 session from PSRAM (d271b6b)
- Supported modifying port and txt in SRP server (d271b6b)
- Added OpenThread dataset changed event (6ba4aa7)
- Supported openthread time sync feature on both RCP and BR (dddc293)
- Supported Thread Radio Encapsulation Link (TREL) feature (47dc6f3)
Changed
- Updated openthread submodule (005c5ce) (d271b6b)
- Replaced NETCONN_EXT_RESOLVE_HOOK with DNS_EXT_RESOLVE_HOOK to support more application layer protocols (ae4b955)
Fixed
- Enabled bbr feature to support multicast by default (d271b6b)
- Enabled vendor hooks for rcp operating in spi mode (47dc6f3)
- Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly (f18a122)
- Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScan
calls (6df4318)
Zigbee
Changed
- Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (7e712b6)
- Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (7e712b6)
Removed
- Removed the esp_zigbee_rcp example (7e712b6)
Application Utilities
Added
- ESP HTTPS OTA: Added API to retrieve the most recent status logged from the HTTP response (1f68652)
- Provisioning: Added support for Notify attribute in provisioning service (77475b4)
- Provisioning: Added support for ESP IP chips to work with bluedroid stack (a034b21)
Changed
- ESP HTTP Server: Updated logic to enforce HTTP/1.1, no longer supporting other versions (#14723) (8b6ef89)
Fixed
- ESP HTTP Server: Fixed issue with PUT requests with async handler (#14196) (d8a2be0)
- Provisioning: Fixed hostname resolving for IPv6-only host (dc2b26c)
Bluetooth Low Energy (BLE)
Added
- Documentation: Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (a7782d0)
- Documentation: Added BLE Features Support Status to API Guides (4913f93)
ESP Bluedroid Host
Added
- Added API to set BLE supported channel selection algorithm. (6948697)
- Added BLE connection ID parameter for
ESP_GATTS_RESPONSE_EVT
. (d4a69b5)
Changed
- Optimized BLE examples for setting advertising data. (0593e04)
Fixed
- Fixed Classic Bluetooth build failure when enabling dynamic memory and disable BLE (f35389e)
- Fixed crash issue in BLE SMP when a disconnection process is ongoing (951aaa2)
- Fixed BLE build failure when enabling dynamic memory with BLE 5.0 (845a925)
- Fixed an error when writing Client Supported Features characteristic. (89bf068)
- Fixed BLE handle check for GATT API. (fe53000)
- Fixed access fault when reading BLE controller information fails. (d4a69b5)
- Fixed memory out-of-bounds issue when parsing ADV data. (140873d)
- Reported HCI error status to application when commands fail. (1720dc7)
- Cancelled the BLE connection initiation if the connection has already been established when both devices initiate a connection simultaneously. (1720dc7)
- Added print and assert statements for memory allocation failures. (1720dc7)
- Checked whether the work queue is NULL before deleting it when creating thread failed. (1720dc7)
Bluetooth Low Energy Controller
Added
- Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32. (d22ed3f)
- Added a verification step for the Access Address within the
CONNECT_IND
PDU on ESP32. (d22ed3f) - supported for BLE scanning and initiating state coexistence on ESP32. (1245cb2)
- supported for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (9196ca3)
- Supported using external 32k oscillator as Bluetooth sleep clock on ESP32/ESP32-C3/ESP32-S3 (5bb5407)
- Supported enhanced BLE TX power setting and getting on ESP32-C3 and ESP32-S3. (dfbbbab)
- Supported for putting code in flash on ESP32-C2 (7cd3d4a)
Changed
- Changed the maximum TX power to +20dBm on ESP32-C3 and ESP32-S3. (1bde824)
- Updated the BLE rom.ld file for ESP32-C2 revision 2.0. (5ccf21e)
Fixed
- Fixed the issue where the BLE connection can't be established when initiating and advertising coexist on ESP32. (d22ed3f)
- Fixed the issue where SCAN could not be reset when the Controller was reset during scanning on ESP32. (88030d4)
- Fixed assert in ke_mem.c at line 409 when controller resets on ESP32. (d22ed3f)
- Fixed an occasional issue where BLE fails to send ADV packets when Wi-Fi keeps scanning in the coexistence scenario. (0a14e9a)
- Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 revision v1.1. (03a0b7a)
- Fixed early wake-up during light sleep when using the RC oscillator on ESP32-C3 and ESP32-S3. (7531d7e)
- Fixed BLE TX power retrieval failure on ESP32-C3 and ESP32-S3. (7531d7e)
- Fixed extended connectable advertising data length check on ESP32-C3 and ESP32-S3. (530f891)
- Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 and ESP32-S3. (351e920)
- Fixed the issue where the subsequent periodic advertising sync creation failed after canceling sync before sync established on ESP32-C3 and ESP32-S3. (ee735d7)
- Fixed the BLE assert on emi.c 210 on ESP32-C3 and ESP32-S3. (4d0db70)
- Fixed assert when the BLE connection already exists and is connected again on ESP32-C3 and ESP32-S3. (4d0db70)
- Fixed BLE channel map update issue when latency is non-zero on ESP32-C3 and ESP32-S3. (dfbbbab)
- Fixed occasional crash issue in low memory scenarios on ESP32-C6 and ESP32-H2. (dc1265c)
- Fixed occasional crash issue in multi-connect scenarios on ESP32-C6. (a286bc3)
- Fixed occasional ACL data packet loss issue when using UHCI on ESP32C6 and ESP32-H2. (a286bc3)
- Fixed occasional assertion issue when enabling logging on ESP32-C2. (a286bc3)
- Fixed memory leak issue when deinitialising UART HCI on ESP32-C2, ESP32-H2 and ESP32-C6. (a286bc3)
- Fixed instant wake up from deep sleep when BLE is running on ESP32-H2. (5a14b3c)
- Fixed a crash during host deinitialization after the controller had been deinitialized on ESP32-C2. (8afaec4)
- Fixed an occasional WDT issue when disabling the Controller on ESP32-C6. (990a84a)
ESP BLE Mesh
Added
- Added an option
BLE_MESH_V11_SUPPORT
to enable or disable BLE Mesh v1.1 features (ded2989)
Fixed
- Fixed wrongly updating time set parameter in the time scene server model (48088ec)
- Fixed crash may happen when using NimBLE host at compilation level Os (310e71e)
ESP NimBLE Host
Added
- Added support for ext adv param v2 HCI command (3743d38)
- Added support for bidirectional data transfer between SPP client and server (7c0c3fa)
- Created a function to make
CCCD
flags configurable (50abf54) - Updated
BT_HCI_LOG_INCLUDED
usage according to nimble nomenclature (64d8797) - Added BLE NimBLE Get Started examples added under examples/bluetooth/ble_get_started/nimble (b1f6f33)
- Added new event to indicate link establishment. (10bba8f)
- Added support to initiate a connection while a scan is in progress. (7506432)
- Supported Bluetooth LE 5.1 direction finding on nimble host. (30d5bd0)
Changed
- Update correct parameter in set Data len API in case where BLE 5.0 support is disabled (5f5feed)
Fixed