Releases: espressif/esp-idf
ESP-IDF Pre-release v5.5-rc1
Documentation for IDF v5.5-rc1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.5-rc1/
ESP-IDF v5.5-rc1 is a preview release for ESP-IDF v5.5.
Obtaining v5.5-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.5-rc1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.5-rc1
cd esp-idf-v5.5-rc1/
This is the recommended way of obtaining v5.5-rc1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.5-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. 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.5-rc1/esp-idf-v5.5-rc1.zip
Major changes
Major New Features
Support for New SoCs
- Added preview support for ESP32-C5, refer to ESP32-C5 v1.0 support status for details
- Added preview support for ESP32-C61 v0.2. For the support status of ESP32-C61 v1.0, please refer to ESP32-C6 v1.0 support status for details
- Added support for ESP32-H2 revision v1.2 (9b876d9)
- Added support for ESP32-C2 chip rev2.0 (93aea4f)
Other Features
- Greatly improved support for placing IRAM code into flash, especially in when using CONFIG_SPI_FLASH_AUTO_SUSPEND. For a list of all such configs see sdkconfig.flash_auto_suspend_iram_reduction
- Coexistence: Supported BR/EDR (e)SCO and Wi-Fi coexistence. (79eb59d)
- Security: Added support for ESP-TEE (Trusted Execution Environment) on ESP32-C6 (9ee8daf)
- Log: Added Log v2 (the choice between v1 and v2 is made by CONFIG_LOG_VERSION). Supported centralized log formatting via a single handler for all log macros. (ec990f4)
- Log: Added support for binary logging in Log v2 (33cab69)
- Heap: Added per task peak heap usage information when heap task tracking is enabled (6ef7ad6)
- BitScrambler: Added BitScrambler loopback (memory2memory) driver (c8d4e1b)
- RMT: Added a new encoder for RMT TX driver, it allows the whole encoding session being controlled by the BitScrambler program. (3428044)
- PARL_IO: Supported to embed a BitScrambler program in the parlio_tx_unit_transmit function (929e149)
- PARL_IO: Supported the infinite loop transmission for PARL_IO_TX. (8e591a2)
- Storage/FATFS: Added options CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT and CONFIG_FATFS_DONT_TRUST_LAST_ALLOC to control how free space is calculated for a FATFS volume (#15241) (58fbcfb)
- Storage/NVS: Added limited support of nvs for bootloader (8255ba2)
- Storage/NVS: Added support for read-only NVS partitions smaller than 0x3000 (no empty pages, have to be flagged as "readonly" in the partition table CSV file) (#15317) (3ab1dda)
- Storage: Added support for std::filesystem (#13736) (3765290)
- Toolchain: Add support to link with picolibc (enable with "CONFIG_LIBC_PICOLIBC=y") (f297a9d)
- Core System: Added CONFIG_ESP_SYSTEM_USE_FRAME_POINTER to enable frame pointer generation, simplifying backtracing at runtime. (52b558d)
- UART: Added UART DMA driver support (f66a750)
- UART: Added support for HP UART wakeup modes UART_WK_MODE_FIFO_THRESH, UART_WK_MODE_START_BIT, and UART_WK_MODE_CHAR_SEQ for ESP32-C5, ESP32-C6, ESP32-C61 and ESP32-H2. (8e25a37)
- SD-Host: Supported UHS-I SDR50 (100MHz, 50MB/s), DDR50 (50MHz, 50MB/s) on ESP32P4 (ed8ec9d)
- ISP: Supported bypassing ISP to receive data from MIPI CSI (f3f3cad)
- JPEG: Added support for decoding JPEG images without Huffman table (e12db42)
- I2S: Supported PDM data format (RAW/PCM) selection (56349e6)
- LCD: Supported to simulate SPI/I80 interface LCD by Parlio peripheral (9632318)
- LCD: Support color conversion for MIPI LCD driver (ad476af)
- SPI Flash: New feature for software resume when auto-suspend enabled, improve performance (df1a7d5)
- SPI Flash: Add a new example for supporting customized nor flash driver which can be used both in app and bootloader (2b1c27f)
- TWAI: Added a unified driver interface to support both TWAI and TWAI-FD peripheral (a16f621)
- Touch Sensor: Support ULP touch sensor driver on ESP32-P4 (afda4c1)
- USB: Added support for OTG1.1 PHY on ESP32-P4 (70ead76)
- USB: Added select functionality to the USB CDC driver (1fa268c)
- USB Host: Added support for Low-Speed devices connected through Full-Speed HUB (#15683) (0ead362)
- USB Host: Added support for 2 USB instances on ESP32-P4 (1805efb)
- System Hardware: Add RTC battery backup support on ESP32-H2 (d816622)
- MSPI: Supported 120MHz Flash frequency timing tuning on ESP32P4 (4cb1820)
Breaking Changes
- Wi-Fi: Changed espnow sending callback function parameter mac_addr to esp_now_send_info_t. (2b390b2)
- 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. (21f59bd)
- 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. (16ba8f8)
- 15.4: Added a duration argument for ieee802154_receive_at() (82bd44d)
- 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. (4f5bed2)
- 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. (8771607)
- Bluetooth Common / Controller: Moved esp_wifi_bt_power_domain_on and esp_wifi_bt_power_domain_off from esp_bt.h to esp_phy_init.h (45bd677)
- Wi-Fi: Modified the type of "bandwidth" and comment in wifi_ap_record_t. (5c3cb06)
- Tools: Python 3.8 support has been deprecated. ESP-IDF requires Python 3.9 or newer versions. (30b13b1)
- ESP HTTPS Server: Updated the config ESP_TLS_SERVER_CERT_SELECT_HOOK in esp_https_server component (401fa7b)
- Security/MbedTLS: Starting from ESP-IDF v5.5, there is a change in how the SHA sub-function APIs,
esp_sha_block()
andesp_sha_dma()
, are used. Previously, these APIs used to set the SHA mode internally, however, in the updated version, you must explicitly set the SHA mode before invoking them. For instance, if you intend to use the SHA-256 algorithm, you must first callesp_sha_set_mode()
with the argumentSHA2_256
. (b37d4b3) - Peripheral Drivers/Touch Sensor: Adjust touch channel number on P4 from 0-13 to 1-14. (80abd1c)
Major Bug Fixes
- Update mbedTLS version to 3.6.3. (21f59bd)
- JPEG: Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (c07e270)
- PPA: Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (65044ef)
- UART: Eliminated the possibility of garbled data sent/received from the UART port during sleep process (dbfb663)
- USB: Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (#15932, #15912) (a652a84)
- System Hardware: Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (50e3a2b)
- Cache: Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (da31611)
- MSPI: Fixed startup stuck under Flash QIO and XIP_PSRAM 200MHz condition (#14979) (1ddf005)
Known Issues
- For ESP32-C5 (version v1.0), CONFIG_SPIRAM_SPEED_80M is not supported.
- For ESP32-C5, BLE transmission sometimes misfunctions in case of coexistence with 802.15.4.
- For ESP32-C5, BLE scan performance and 802.15.4 rx performance is poor when Wi-Fi switches channel without acquiring RF resource in Wi-Fi start-stop procedure.
- For ESP32-C5, wifi connection to softap will disconnect when lightsleep enabled with GPIO wakeup.
- Using Bluetooth with DFS enabled on ESP32 may cause exceptions.
Changelog
This is the list of changes since release v5.4.
15.4
- Added support for the ESP32C5 revision v0.2 (35d1704)
MAC
ESP-IDF Release v5.4.2
Documentation for IDF v5.4.2 is available at https://docs.espressif.com/projects/esp-idf/en/v5.4.2/
ESP-IDF v5.4.2 is a bugfix release for ESP-IDF v5.4.
Obtaining v5.4.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.4.2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.4.2
cd esp-idf-v5.4.2/
This is the recommended way of obtaining v5.4.2 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.4.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. 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.2/esp-idf-v5.4.2.zip
Major changes
Major New Features
- Coexistence: Supported BR/EDR (e)SCO and Wi-Fi coexistence. (d1b0c39)
- ADC: Supported ESP32P4 ADC calibration (7fe1903)
- GPIO: Allow RTC-IO API to set edge type wakeup sources for targets that support this (0228056)
- PSRAM: Supported UnilC Octal PSRAM on ESP32S3 (a8e166e)
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. (7ddb2ba)
- 15.4/MAC: Added a duration argument for ieee802154_receive_at() (8fa7bf6)
Major Bug Fixes
- Updated mbedTLS version to 3.6.3. (7ddb2ba)
- JPEG: Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (796bac0)
- PPA: Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (70ab1cc)
- UART: Eliminated the possibility of garbled data sent/received from the UART port during sleep process (d5a43ed)
- USB: Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (#15932, #15912) (6837ed3)
- System Hardware: Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (bb60389)
- Cache: Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (bfdca51)
- MMU: Fixed API thread-safety in
esp_mmu_map.h
(#15564) (0be3444)
Changelog
This is the list of changes since release v5.4.1.
15.4
MAC
- Added Tx/Rx frame dumping for debugging. (c0c7023)
- Added a duration argument for ieee802154_receive_at() (8fa7bf6)
Thread
- Supported bus_latency configuration for Thread BR (b999d10)
- Updated openthread submodule (ec2b0d487) (3fc7689)
- Supported OT_BR example for ESP32-P4 (3fc7689)
- Supported periodic parent search mechanism for MTD (c5f88c4)
- Added a function to ensure monotonically increasing frame counter (2423cd3)
- Added a callback to handle rcp reset failure (2423cd3)
- Bound DNS server to unspecified netif on Border Router (2423cd3)
- Supported DNS resolution / forwarding for Thread BR (0355d74)
- Fixed recursive multicast packet forwarding issue (0355d74)
- Updated openthread submodule (8c30b93) (0355d74)
- Fixed CSL issue in which RX is not turned off during idle periods (8fa7bf6)
Application Utilities
App Update
- Introduced
esp_ota_resume
API for managing OTA resumption scenarios. (54283c9)
CJSON
- Update to latest upstream cJSON master to fix CVE-2023-26819 (6f5c9d4)
ESP HTTP Client
- Added API to extract TLS error from HTTP client. (#15059) (9a36e3f)
- Updated header deletion by allowing value to NULL in esp_http_client_set_header() (#15715) (#15714) (6f36edd)
- Added a configuration to set address type (f481174)
- Fixed invalid content-length header (#15291) (710ed9b)
ESP HTTPS Server
- Fixed the HTTP server Async handler example for multiple /long URI requests and handled some error conditions. (#15587) (103db4a)
- 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. (cb24473)
BLE
BluFi
- Added support for stopping adv in BLUFI for nimble (837eeca)
Bluedroid
- Fixed issue with deleting link key when classic Bluetooth is not used. (282c1d6)
- Increased maximum attribute value length to 517 to prevent data loss. (0ba1b04)
- Fixed validation logic for BLE GAP appearance configuration. (0ba1b04)
- Added
sync_cte_type
in bluedroid PA sync fucntion (b9123d5) - Added throughput mode for BLE SPP example. (0bfda8c)
- Added BLE eddystone sender example. (180ee9e)
- Fixed missing event reporting in
esp_ble_create_sc_oob_data
. (26b9ba6) - Fixed BLE crash when disabling bluedroid host. (26b9ba6)
- Fixed potential uint32_t overflow in BLE
btu_start_timer
. (26b9ba6) - Fixed memory leak issue when using dynamic memory and deinitializing the host. (26b9ba6)
- 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. (26b9ba6)
- Added
esp_ble_gap_read_channel_map()
API to retrieve the BLE channel map of a connected device. (26b9ba6) - Reported cte_type in periodic adv report if CTE feature is enabled (8e473c6)
- Supported BLE iso in bluedroid host (4e61ce2)
- Supported BLE CTE in bluedroid host (4e61ce2)
- Supported BLE bluedroid host power control feature (4e61ce2)
- Supported BLE bluedroid host connection subrating feature (4e61ce2)
- Supported BLE vendor HCI event reporting (cebb126)
- Supported BLE setting vendor event mask (cebb126)
- Added Read Long Characteristic Values example. (4af2344)
- Added support for the "Read Periodic Advertiser List Size" command. (3fbc2b7)
- Reduced bluedroid host bin size (3fbc2b7)
- Fixed an issue where advertising data and scan response data were not reported together during BLE active scanning. (08d2987)
Controller
- Reduced bin size and IRAM for BLE rom code on ESP32-C3 and ESP32-S3 (9b329bb)
- Fixed missing ADV reports after bonding and connection on ESP32-C3 and ESP32-S3 (#15789) (76b003c)
- Fixed an occasional assertion issue in scan and connection scenarios on ESP32-C6. (734b1b1)
- Supported creating connections during scanning process on ESP32-C6 and ESP32-H2. (734b1b1)
- Fixed occasional packet loss issue in multi-connection scenarios on ESP32-C6. (734b1b1)
- Fixed crash issue caused by using os_mbuf_dup on ESP32-C6 and ESP32-H2. (734b1b1)
- Fixed occasional timeout issue during connection parameter update while latency is active on ESP32-C6 and ESP32-H2. (8ad0d3d)
- Fixed an issue where the DID was not refreshed after stopping advertising and updating the advertising data on ESP32-C6 and ESP32-H2. (8ad0d3d)
- Fixed an occasional assert issue when repeatedly starting and stopping extended advertising during periodic advertising scenario on ESP32-C6 and ESP32-H2. (8ad0d3d)
- Fixed an occasional interrupt watchdog timeout issue on ESP32-H2. (8ad0d3d)
- Fixed an occasional assert issue in function r_ble_lll_sched_check_remaining_entries when ble spi log is enabled for ESP32-H2. (8ad0d3d)
- Fixed MIC error disconnection when pairing with an iOS device on ESP32-C3 and ESP32-S3. (3e39358)
- Disabled anonymous extended advertising reporting on ESP32-C3 and ESP32-S3. (69173b1)
- Fixed BLE assert lld_adv.c 2992 on ESP32-C3 and ESP32-S3. (69173b1)
- Fixed heap assert due to advertising data buffer double freeing on ESP32-C3 and ESP32-S3. (69173b1)
- Fixed BLE 0x08 disconnection when the window size is greater than half of the connection interval on ESP32-C3 and ESP32-S3. (69173b1)
- Fixed an occasional assert issue when stopping aux scan on ESP32-C6 and ESP32-H2. (3ad3632)
- Fixed an occasional assert issue when the task is blocked during the extended scan scenario on ESP32-C6 and ESP32-H2. (3ad3632)
- Fixed an occasional issue of being unable to receive packets during the extended scan scenario on ESP32-C6 and ESP32-H2. (3ad3632)
- Fixed the cache error if controller runs in flash and BLE sleep is enabled on ESP32-C2. (017480b)
- Fixed possible assertion when multiple ACL runs concurrently on ESP32-C6, ESP32-H2. (017480b)
- Fixed occasional interrupt watchdog timeout issue when scanning and connection coexist on ESP32-C6. (017480b)
- Fixed an occasional issue where the connPeripheralLatency parameter was not properly applied on ESP32-C6, ESP32-H2. (017480b)
- Fixed bluetooth controller flash only bug if hci-uart is enabled on ESP32-C3 and ESP32-S3 (8e473c6)
- Fixed a heap assertion issue when enabling BLE and ESP32C2_REV_MIN_200 for ESP32-C2 v2.0 (a3cf6b0)
- Fixed an occasional
load access fault
issue when performingext_conn
creation for ESP32-C2. (dd9dbfc) - Added a function to maintain the connection when an instant pass issue occurs on ESP32-C2. (dd9d...
ESP-IDF Pre-release v5.5-beta1
Documentation for IDF v5.5-beta1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.5-beta1/
ESP-IDF v5.5-beta1 is a preview release for ESP-IDF v5.5.
Obtaining v5.5-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.5-beta1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.5-beta1
cd esp-idf-v5.5-beta1/
This is the recommended way of obtaining v5.5-beta1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.5-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. 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.5-beta1/esp-idf-v5.5-beta1.zip
Major changes
Major New Features
Support for New SoCs
- Added preview support for ESP32-C5, refer to ESP32-C5 v1.0 support status for details
- Added preview support for ESP32-C61 v0.2. For the support status of ESP32-C61 v1.0, please refer to ESP32-C6 v1.0 support status for details
- Added support for ESP32-H2 revision v1.2 (9b876d9)
- Added support for ESP32-C2 chip rev2.0 (93aea4f)
Other Features
- Greatly improved support for placing IRAM code into flash, especially in when using CONFIG_SPI_FLASH_AUTO_SUSPEND. For a list of all such configs see sdkconfig.flash_auto_suspend_iram_reduction
- Coexistence: Supported BR/EDR (e)SCO and Wi-Fi coexistence. (79eb59d)
- Security: Added support for ESP-TEE (Trusted Execution Environment) on ESP32-C6 (9ee8daf)
- Log: Added Log v2 (the choice between v1 and v2 is made by CONFIG_LOG_VERSION). Supported centralized log formatting via a single handler for all log macros. (ec990f4)
- Log: Added support for binary logging in Log v2 (33cab69)
- Heap: Added per task peak heap usage information when heap task tracking is enabled (6ef7ad6)
- BitScrambler: Added BitScrambler loopback (memory2memory) driver (c8d4e1b)
- RMT: Added a new encoder for RMT TX driver, it allows the whole encoding session being controlled by the BitScrambler program. (3428044)
- PARL_IO: Supported to embed a BitScrambler program in the parlio_tx_unit_transmit function (929e149)
- PARL_IO: Supported the infinite loop transmission for PARL_IO_TX. (8e591a2)
- Storage/FATFS: Added options CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT and CONFIG_FATFS_DONT_TRUST_LAST_ALLOC to control how free space is calculated for a FATFS volume (#15241) (58fbcfb)
- Storage/NVS: Added limited support of nvs for bootloader (8255ba2)
- Storage/NVS: Added support for read-only NVS partitions smaller than 0x3000 (no empty pages, have to be flagged as "readonly" in the partition table CSV file) (#15317) (3ab1dda)
- Storage: Added support for std::filesystem (#13736) (3765290)
- Toolchain: Add support to link with picolibc (enable with "CONFIG_LIBC_PICOLIBC=y") (f297a9d)
- Core System: Added CONFIG_ESP_SYSTEM_USE_FRAME_POINTER to enable frame pointer generation, simplifying backtracing at runtime. (52b558d)
- UART: Added UART DMA driver support (f66a750)
- UART: Added support for HP UART wakeup modes UART_WK_MODE_FIFO_THRESH, UART_WK_MODE_START_BIT, and UART_WK_MODE_CHAR_SEQ for ESP32-C5, ESP32-C6, ESP32-C61 and ESP32-H2. (8e25a37)
- SD-Host: Supported UHS-I SDR50 (100MHz, 50MB/s), DDR50 (50MHz, 50MB/s) on ESP32P4 (ed8ec9d)
- ISP: Supported bypassing ISP to receive data from MIPI CSI (f3f3cad)
- JPEG: Added support for decoding JPEG images without Huffman table (e12db42)
- I2S: Supported PDM data format (RAW/PCM) selection (56349e6)
- LCD: Supported to simulate SPI/I80 interface LCD by Parlio peripheral (9632318)
- LCD: Support color conversion for MIPI LCD driver (ad476af)
- SPI Flash: New feature for software resume when auto-suspend enabled, improve performance (df1a7d5)
- SPI Flash: Add a new example for supporting customized nor flash driver which can be used both in app and bootloader (2b1c27f)
- TWAI: Added a unified driver interface to support both TWAI and TWAI-FD peripheral (a16f621)
- Touch Sensor: Support ULP touch sensor driver on ESP32-P4 (afda4c1)
- USB: Added support for OTG1.1 PHY on ESP32-P4 (70ead76)
- USB: Added select functionality to the USB CDC driver (1fa268c)
- USB Host: Added support for Low-Speed devices connected through Full-Speed HUB (#15683) (0ead362)
- USB Host: Added support for 2 USB instances on ESP32-P4 (1805efb)
- System Hardware: Add RTC battery backup support on ESP32-H2 (d816622)
- MSPI: Supported 120MHz Flash frequency timing tuning on ESP32P4 (4cb1820)
Breaking Changes
- WI-FI: Changed espnow sending callback function parameter mac_addr to esp_now_send_info_t. (2b390b2)
- 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. (21f59bd)
- 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. (16ba8f8)
- 15.4: Added a duration argument for ieee802154_receive_at() (82bd44d)
- 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. (4f5bed2)
- 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. (8771607)
- Bluetooth Common / Controller: Moved esp_wifi_bt_power_domain_on and esp_wifi_bt_power_domain_off from esp_bt.h to esp_phy_init.h (45bd677)
- Wi-Fi: Modified the type of "bandwidth" and comment in wifi_ap_record_t. (5c3cb06)
- Tools: Python 3.8 support has been deprecated. ESP-IDF requires Python 3.9 or newer versions. (30b13b1)
- ESP HTTPS Server: Updated the config ESP_TLS_SERVER_CERT_SELECT_HOOK in esp_https_server component (401fa7b)
Major Bug Fixes
- Update mbedTLS version to 3.6.3. (21f59bd)
- JPEG: Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (c07e270)
- PPA: Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (65044ef)
- UART: Eliminated the possibility of garbled data sent/received from the UART port during sleep process (dbfb663)
- USB: Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (#15932, #15912) (a652a84)
- System Hardware: Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (50e3a2b)
- Cache: Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (da31611)
- MSPI: Fixed startup stuck under Flash QIO and XIP_PSRAM 200MHz condition (#14979) (1ddf005)
Known Issues
- For ESP32-C5 (version v1.0), CONFIG_SPIRAM_SPEED_80M is not supported.
- For ESP32-C5, BLE transmission sometimes misfunctions in case of coexistence with 802.15.4.
- For ESP32-C5, BLE scan performance and 802.15.4 rx performance is poor when Wi-Fi switches channel without acquiring RF resource in Wi-Fi start-stop procedure.
- For ESP32-C5, wifi connection to softap will disconnect when lightsleep enabled with GPIO wakeup.
- Using Bluetooth with DFS enabled on ESP32 may cause exceptions.
Known issues are planned to be fixed before the final v5.5 release.
Changelog
This is the list of changes since release v5.4.
15.4
- Added support for the ESP32C5 revision v0.2 (35d1704)
MAC
- Added Tx/Rx frame dumping for debugging. (fcbe493)
- Added a duration argument for ieee802154_receive_at() (82bd44d)
- Set 802.15.4 energy scan duration before cca (61a8aa8)
- Supported IEEE802.15.4 ISR callbacks registration feature (a29589e)
- Supported configuring 15.4 PTI at runtime (6f8c76d)
- Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels. (2e30111)
- Supported setting/getting ACK timeout APIs (9d1a4eb)
- Supported rx buffer and txrx statistics in 802.15.4 debugging mode (41b083d)
- Returned ESP_FAIL if enh-ack generating logic was not implemented. (a1ec278)
Thread
- Updated openthread submodule (ec2b0d487) (8836310)
- Supported OT_BR example for ESP32-...
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...