Releases: espressif/esp-idf
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
ESP-IDF Pre-release v5.4-beta2
Documentation for IDF v5.4-beta2 is available at https://docs.espressif.com/projects/esp-idf/en/v5.4-beta2/
ESP-IDF v5.4-beta2 is a preview release for ESP-IDF v5.4.
Obtaining v5.4-beta2
For full installation instructions, see the ESP-IDF Programming Guide.
The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:
Using git
To get this release, use the following commands:
git clone -b v5.4-beta2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.4-beta2
cd esp-idf-v5.4-beta2/
This is the recommended way of obtaining v5.4-beta2 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.4-beta2.zip
archive. It includes .git
directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.4-beta2/esp-idf-v5.4-beta2.zip
Major changes
This is the list of changes since release v5.3:
Major New Features
- Added support for ESP32-C2 chip rev 2.0 (e43ded7)
- Wi-Fi: Added FTM calibration values for ESP32-C6 (e990d1e)
- Wi-Fi: Reduced power consumption in coexistence mode when Wi-Fi is disconnected 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 ESP32-C6 and ESP32-P4 with, among others: OpenOCD debugging support, LP-ADC, LP-SPI, ETM wakeup, LP-IO wakeup.
- I2C: Added support for LP I2C instance on ESP32-P4 (ec3029e)
- ISP: Supported 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 driver for ESP32-P4 (c23165b)
- MbedTLS: Added support ESP32-C2 rev2.0 ROM mbedtls-v3.6.0 (9a47de5)
- PSRAM: Added support for APS3204L chip (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)
- Wi-Fi: Modified the type of "bandwidth" and comment in wifi_ap_record_t. (3b0cf1a)
- 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) - 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)
Known Issues
- For ESP32-C2 ECO4 chips, instruction access fault will be triggered only when receiving deauth packets with ccmp and crypto_aes_128_cmac encryption mode.
- 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. - Programming guide in PDF format is not available for this release.
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)
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)
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)
Fixed
- Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScan
calls (1754c8f)
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)
- Documentation: Added BLE major feature support status page to API Guides (9dba818)
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(#13872). (8971902)
- Added print and assert statements for memory allocation failures. (707dd9b)
- Added support for BLE 5.0 instances in related events (25f0713)
- Added definitions for BLE authentication failure reasons. (83cda5c)
- Added the check for setting BLE advertising parameters when deleting GATTS services. (27f06be)
- Added API to set BLE supported channel selection algorithm. (755d3a2)
Changed
ESP-IDF Pre-release v5.4-beta1
Documentation for IDF v5.4-beta1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.4-beta1/
ESP-IDF v5.4-beta1 is a preview release for ESP-IDF v5.4.
Obtaining v5.4-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.4-beta1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.4-beta1
cd esp-idf-v5.4-beta1/
This is the recommended way of obtaining v5.4-beta1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.4-beta1.zip
archive. It includes .git
directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.4-beta1/esp-idf-v5.4-beta1.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 H2
- ULP: Added LP core debugging support (a07eed6)
- I2C: Support lp i2c instance on ESP32-P4 (ec3029e)
- ISP: Support a series of ISP features on ESP32-P4
- LCD: Added i80 LCD driver support on ESP32-P4 (fdd90d4)
- Touch Sensor: Touch Driver-NG 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)
Known Issues
- BLE: An BLE assert may occur in the function
r_ble_lll_rxbuffer_free_all
under low-memory conditions on ESP32-H2. - For ESP32-C2 ECO4 chips, wifi_scan_threshold_t in wifi_sta_config_t structure is invalid.
- For ESP32-C2 ECO4 chips, when the country policy is set to WIFI_COUNTRY_POLICY_AUTO, the station will not scan for channels outside current country rules.
- Power Management: In light sleep mode, rejecting sleep due to a short duration can introduce an RTC clock error, causing
esp_timer
inaccuracies and potential Bluetooth disconnections. - For ESP32, Bluedroid Host memory leaks when HFP client or AG is enabled using HCI audio datapath.
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)
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)
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)
Application Utilities
Added
- ESP HTTP Client: Added new http method REPORT (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 SoC 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)
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)
- Documentation: Added BLE major feature support status page to API Guides (9dba818)
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(#13872). (8971902)
- Added print and assert statements for memory allocation failures. (707dd9b)
- Added support for BLE 5.0 instances in related events (25f0713)
- Added definitions for BLE authentication failure reasons. (83cda5c)
- Added the check for setting BLE advertising parameters when deleting GATTS services. (27f06be)
Changed
- Optimized BLE example for setting advertising data. (cd11782)
- Optimized documentation for BLE connection parameter updates. (368cfda)
- Optimized BLE event reporting time for connection failures (33b3408)
Fixed
- Fixed error when writing Client Supported Features characteristic. (1ba647d)
- Fixed BLE handle check for GATT API. (2381487)
- Fixed access fault when reading BLE controller information fails. (1a065dc)
- Check whether the work queue is NULL before deleting it when creating thread failed. (f54e1a8)
- Fixed memory out-of-bounds issue when parsing ADV data. (6a2bc24)
- Report HCI error status to application when command fails. (ba4e111)
- Fixed incorrect state issue when unregistering BLE GATTC application. (d371677)
- Cancelled the BLE connection initiation if the connection has already been established when both devices initiate a connection simultaneously. (b24dd77)
- Fixed the issue where BLE could not create a connection if the controller doesn't support the coexistence of scanning and connection initiating states. (2c44bb7)
- Reset BLE security parameters during initialization (#13869) (54da445)
- Fixed BLE security vulnerability when using fixed local IRK. (43af0fb)
- Display BLE controller init status for ESP32 and ESP32-C3/ESP32-S3 (705c21d)
Removed
- Removed error print when failing to remove a device from the resolving list. (83cda5c)
Bluetooth Low Energy Controller
Added
- Supported using exte...
ESP-IDF Release v5.1.5
Documentation for IDF v5.1.5 is available at https://docs.espressif.com/projects/esp-idf/en/v5.1.5/
ESP-IDF v5.1.5 is a bugfix update for ESP-IDF v5.1.
Obtaining v5.1.5
For full installation instructions, see the ESP-IDF Programming Guide.
The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:
Using git
To get this release, use the following commands:
git clone -b v5.1.5 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1.5
cd esp-idf-v5.1.5/
This is the recommended way of obtaining v5.1.5 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.1.5.zip
archive. It includes .git
directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.1.5/esp-idf-v5.1.5.zip
Major changes
This is the list of changes since release v5.1.4:
Major Features
- Support was added for ESP32-C2 revision 2.0
Changelog
802.15.4
802.15.4 MAC
Added
- Added a frame length check for the transmission frame (21ed2cb)
- Supported the large scale size of pending table (be1ba2e)
Changed
- Refactored the
next_operation()
logic to avoid some risks when multiple IEEE802154 events are processed in one ISR (21ed2cb) - Ignored bit8 for the frame length. (a08c207)
- Updated to log the "buffer full" message in debug mode only (a08c207)
Thread
Added
- Supported openthread time sync feature on both RCP and BR (be1ba2e)
- Supported changing openthread version information (9dad9f9)
- Added a task switching lock holder check (b6b4727)
- Added a method to set instance name of meshcop(e) mdns service (a08c207)
- Added max csmabackoffs numbers for transmission via spinel (ddc6cf9)
- Supported openthread ephemeral key feature (ddc6cf9)
- Added events for meshcop-e service publish and remove (ddc6cf9)
Changed
- Moved some LWIP API to LWIP task (ddc6cf9)
- Moved the registration of UART VFS devices to UART initialization function (c6ef988)
- Released openthread task switching lock before calling LWIP API in openthread udp (a08c207)
- Optimized the PIO logic in multiple BRs scenario (a08c207)
- Made ot task queue sending non-permanent blocking (e1b83ba)
- Updated CONFIG_LWIP_IPV6_NUM_ADDRESSES to 12 in Thread BR lib (e1b83ba)
- Updated openthread submodule (f32c18b) (9dad9f9)
Fixed
- Fixed dead lock issue related to MDNS (ddc6cf9)
- Fixed a deadlock risk by releasing ot task lock before tcpip_callback (a08c207)
Removed
- Removed the empty task for openthread tasklets (a08c207)
- Removed the range for some configurations (a08c207)
Application Utilities
Added
- Added check for
LWIP_NETIF_LOOPBACK
in the HTTP server control socket API (#13659) (3982d55) - ESP HTTP Client: Added support for OTA updates over TLS 1.3 (bbd9fe2)
- ESP HTTPS OTA: Added API to retrieve the most recent status logged from the HTTP response. (cd46411)
- Provisioning: Added support for ESP IP chips to work with Bluedroid stack (4f40bd4)
Changed
- Updated cJSON version to v1.7.18 (68c894b)
- Provisioning: Exposed API to set BLE random address (7c29c5f)
Fixed
- Fixed allocating
if_name
in client context multiple times (#13945) (c64c930) - Initialize mbedtls RNG context prior to setting client config in ESP-TLS, this fixes ECC key parsing issue for specific cases (2059071)
- Fixed esp_http_client to reset redirect_counter after completion of a request (#13633) (3982d55)
- Provisioning: Fixed incorrect input decoding when using console transport (321ffde)
Bluetooth Low Energy (BLE)
Added
- Documentation: Added BLE Features Support Status to API Guides (b9c2acc)
Bluetooth Low Energy Controller
Added
- Added option for BLE scan backoff in menuconfig on ESP32 (cb98558)
- Added support for BLE scanning and initiating state coexistence on ESP32. (fcc24e5)
- Supported disconnect again if the procedure is ongoing on ESP32 (cb98558)
- Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (cb98558)
- Added API to get low power clock source on ESP32-C3 and ESP32-S3 (b36c954)
- Supported enhanced BLE TX power setting and getting on ESP32-C3 and ESP32-S3. (670b6c7)
- Supported mesh duplicate with extended scan on ESP32-C3 and ESP32-S3. (0ca290d)
- Added support for configurable default TX power on ESP32-C6, ESP32-H2, and ESP32-C2. (51acf13)
- Supported UHCI function on ESP32-C6 and ESP32-H2. (d82f916)
Changed
- Optimized BLE notify and write throughput performance on ESP32. (fe475fe)
- Changed the maximum TX power to +20dBm on ESP32-C3 and ESP32-S3. (dbe47c3)
- Updated the BLE rom.ld file for ESP32-C2 v2.0. (464d5d5)
Fixed
- Fixed BLE scan backoff on ESP32 (8071b02)
- Use embedded assembly to get access to DPORT registers on ESP32 (cb98558)
- Fixed BLE scan assert on ESP32 (#8532) (cb98558)
- Fixed BLE assert when receiving a packet on ESP32 (cb98558)
- Fixed Wi-Fi BLE coexistence assert issue on ESP32 (cb98558)
- Fixed issues in BLE Direct Test Mode on ESP32 (cb98558)
- Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) (fe475fe)
- Fixed BLE connection timeout issue after using DTM on ESP32. (fe475fe)
- Fixed assert issue caused by DPORT access on ESP32. (fe475fe)
- Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. (836dba4)
- Fixed RPA generation after each reboot on ESP32-C3 and ESP32-S3. (836dba4)
- Fixed RPA renew timer start and stop on ESP32-C3 and ESP32-S3. (836dba4)
- Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3 (cb98558)
- Clear random address for extended advertising on ESP32-C3 and ESP32-S3 (cb98558)
- Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3 (cb98558)
- Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (4efd577)
- Fixed BLE interrupt allocation using system API on ESP32-C3 and ESP32-S3. (4efd577)
- Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (4efd577)
- Prevented BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (0ca290d)
- Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero on ESP32-C3 and ESP32-S3. (0ca290d)
- Fixed BLE channel map update issue when latency is non-zero on ESP32-C3 and ESP32-S3. (670b6c7)
- Fixed subsequent periodic advertising sync create failed after canceling sync before establishing sync on ESP32-C3 and ESP32-S3. (6436187)
- Fixed BLE util buffer free after controller reset on ESP32-C3 and ESP32-S3. (ed4220c)
- Fixed assert when BLE connection already exist and be connected again on ESP32-C3 and ESP32-S3. (ed4220c)
- Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 revision v1.1. (01bb4f9)
- Fixed BLE scan assert in lld_scan.c 1728 on ESP32-S3. (a693c96)
- Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive
SCAN_RSP
PDU on ESP32-C6 and ESP32-H2. (d456fdf) - Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive
SCAN_RSP
PDU on ESP32-C2. (d456fdf) - Fixed the issue where the
HCI_LE_Set_Extended_Scan_Parameters
command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 and less than 0xFFFF on ESP32-C6 and ESP32-H2. (d456fdf) - Fixed the issue where the
HCI_LE_Set_Extended_Scan_Parameters
command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32-C2. (d456fdf) - Fixed a disconnection issue due to timeout in multi-slave connection scenarios on ESP32-C6 and ESP32-H2. (d456fdf)
- Fixed an occasional interrupt WDT issue when creating sync on ESP32-C6 and ESP32-H2. (d4ed2ec)
- Fixed a crash issue during controller initialization when memory was insufficient on ESP32-C6 and ESP32-H2. (d4ed2ec)
- Fixed an occasional disconnection issue due to timeout after updating connection parameters on ESP32-C6 and ESP32-H2. (d4ed2ec)
- Fixed an issue with repeated memory deallocation during controller deinitialization after sending an
AUX_CHAIN_IND
packet on ESP32-C6 and ESP32-H2. (d4ed2ec) - Reduced the usage of flash and RAM when only legacy ADV and peripherals are enabled on ESP32-C2. (bd5335f)
- Fixed the issue where BLE light sleep randomly caused task watchdog upon power up on ESP32-H2. (17e072e)
- Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C6,ESP32-H2 and ESP32-C2. (aaeb03a)
- Fixed an occasional cache error crash in DTM process on ESP32-C2. (aaeb03a)
- Fixed an occasional assert issue in ADV and scan coexistence scenario on ESP32-C6. (aaeb03a)
- Fixed occasional packet loss issue during severe air interference on ESP32-C6 and ESP32-H2. (aaeb03a)
- Fixed occasional assertion issues during scan process on ESP32-H2. (344e9ad)
- Fixed occasional crash issue in multi-connect scenarios on ESP32-C6. (71bac64)
- Fixed occasional ACL data packet loss issue when using UHCI...
ESP-IDF Release v5.2.3
Documentation for IDF v5.2.3 is available at https://docs.espressif.com/projects/esp-idf/en/v5.2.3/
ESP-IDF v5.2.3 is a bugfix update for ESP-IDF v5.2.2.
Obtaining v5.2.3
For full installation instructions, see the ESP-IDF Programming Guide.
The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:
Using git
To get this release, use the following commands:
git clone -b v5.2.3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.2.3
cd esp-idf-v5.2.3/
This is the recommended way of obtaining v5.2.3 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.2.3.zip
archive. It includes .git
directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.2.3/esp-idf-v5.2.3.zip
Known Issues
- Crash seen in SoftAP communication with stations, when station connect and disconnect frequently. But it is not a new issue and not easy to reproduce.
Changelog
802.15.4
802.15.4 MAC
Added
- Supported the large scale size of pending table. (e98e6dc)
- Added a frame length check for the transmition frame. (f926af9)
Changed
- Refactored the
next_operation()
logic to avoid some risks when multiple IEEE802154 events are processed in one ISR (f926af9) - Updated to log the "buffer full" message in debug mode only (58264f5)
Fixed
- Ignored bit8 for the frame length (58264f5)
Thread
Added
- Supported openthread time sync feature on both RCP and BR (e98e6dc)
- Supported changing openthread version information (f7dd52f)
- Added a task switching lock holder check. (4426adf)
- Added a method to set instance name of meshcop(e) mdns service (58264f5)
Changed
- Made ot task queue sending non-permanent blocking (b4999cd)
- Updated CONFIG_LWIP_IPV6_NUM_ADDRESSES to 12 in Thread BR lib (b4999cd)
- Updated openthread submodule (f32c18b) (f7dd52f)
- Moved the registration of UART VFS devices to UART initialization function. (ce17358)
- Optimized the PIO logic in multiple BRs scenario (58264f5)
- Released openthread task switching lock before calling lwip API in openthread udp (58264f5)
- Removed the empty task for openthread tasklets (58264f5)
Fixed
- Fixed a deadlock risk by releasing ot task lock before tcpip_callback (58264f5)
Application Utilities
Added
- Added check for
LWIP_NETIF_LOOPBACK
in the HTTP server control socket API (#13659) (ab8ebe6) - Provisioning: Added support for ESP IP chips to work with bluedroid stack (59f8a48)
Changed
- Updated cJSON version to v1.7.18 (c5909dc)
Fixed
- Fixed allocating
if_name
in client context multiple times (#13945) (927e41f) - Initialize mbedtls RNG context prior to setting client config in ESP-TLS, this fixes ECC key parsing issue for specific cases (018409d)
- Fixed esp_http_client to reset redirect_counter after completion of a request (#13633) (ab8ebe6)
- Provisioning: Exposed API to set BLE random address (cfb057e)
- Fixed incorrect input decoding when using console transport (a1a05fe)
Bluetooth Low Energy (BLE)
Added
- Documentation: Added BLE Features Support Status to API Guides (7dd2a47)
Bluetooth Low Energy Controller
Added
- Supported UHCI function on ESP32-C6 and ESP32-H2. (d0da89f)
- Supported mesh duplicate with extended scan on ESP32-C3 and ESP32-S3. (9bed8f2)
- Added support for configurable default TX power on ESP32-C6, ESP32-H2, and ESP32-C2. (e149e10)
- Supported enhanced BLE TX power setting and getting on ESP32-C3 and ESP32-S3. (b8539f6)
Changed
- Optimized BLE notify and write throughput performance on ESP32. (6a4396c)
Fixed
- Fixed issue where subsequent periodic advertising sync creation failed after canceling sync prior to establishment on ESP32-C3 and ESP32-S3. (7bf8ae0)
- Fixed BLE util buffer free after controller reset on ESP32-C3 and ESP32-S3. (efdeaba)
- Fixed assertion when attempting to reconnect an existing BLE connection on ESP32-C3 and ESP32-S3. (efdeaba)
- Fixed a crash during host deinitialization after the controller had been deinitialized on ESP32-C2. (da9536d)
- Fixed instant wake-up from deep sleep when BLE is running on ESP32-H2. (fc4abfa)
- Fixed an occasional WDT issue when disabling the Controller on ESP32-C6. (a9da6b3)
- Fix BLE channel map update issue when the latency is non-zero on ESP32-C3 and ESP32-S3. (b8539f6)
- Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) (6a4396c)
- Fixed BLE connection timeout issue after using DTM on ESP32. (6a4396c)
- Fixed assert issue caused by DPORT access on ESP32. (6a4396c)
- Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C6 and ESP32-H2. (29bc80a)
- Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C2. (29bc80a)
- Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32-C6 and ESP32-H2. (29bc80a)
- Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32-C2. (29bc80a)
- Fixed a disconnect issue due to timeout in multi-slave connection scenarios on ESP32C6 and ESP32H2. (29bc80a)
- Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. (358e0d6)
- Fixed RPA generation after each reboot on ESP32-C3 and ESP32-S3. (358e0d6)
- Fixed RPA renew timer start/stop handling on ESP32-C3 and ESP32-S3. (358e0d6)
- Fixed an occasional interrupt WDT issue when creating sync on ESP32-C6 and ESP32-H2. (9ae3116)
- Fixed a crash issue during controller initialization when memory was insufficient on ESP32-C6 and ESP32-H2. (9ae3116)
- Fixed an occasional disconnect issue due to timeout after updating connection parameters on ESP32-C6 and ESP32-H2. (9ae3116)
- Fixed an issue with repeated memory deallocation during controller deinitialization after sending an AUX_CHAIN_IND packet on ESP32-C6 and ESP32-H2. (9ae3116)
- Fixed BLE scan backoff on ESP32 (9c63a9a)
- Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C6,ESP32-H2 and ESP32-C2. (a55fb17)
- Fixed occasional cache error crash in DTM process on ESP32-C2. (a55fb17)
- Fixed occasional assert in adv and scan coexistence scenario on ESP32-C6. (a55fb17)
- Fixed occasional packet loss issues during severe air interference on ESP32-C6 and ESP32-H2. (a55fb17)
- Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (1491b57)
- Fixed BLE interrupt allocation using system API on ESP32-C3 and ESP32-S3. (1491b57)
- Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (1491b57)
- Fixed occasional assertion issues during scan process on ESP32-H2. (401816e)
- Fixed the issue of occasional assertion in multi-synchronization scenarios on ESP32-H2. (d0da89f)
- Fixed the issue where directed advertising could not be connected when the advertisement filter was set to 0x2 on ESP32-C6, ESP32-H2, and ESP32-C2. (ab0e820)
- Fixed occasional WDT issue in multi-connection scenarios on ESP32H2. (ab0e820)
- Fixed a low-probability assertion issue in adv and scan coexistence scenarios on ESP32-C6. (ab0e820)
- Fixed the issue where connected advertising could still be set after reaching the maximum number of connections on ESP32-C6, ESP32-H2, and ESP32-C2. (ab0e820)
- Fixed response timeout triggered when updating connection parameters on ESP32-C6, ESP32-H2 and ESP32-C2. (ab0e820)
- Prevent BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (9bed8f2)
- Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero on ESP32-C3 and ESP32-S3. (9bed8f2)
ESP Bluedroid Host
Added
- Supported for adding BLE devices to the resolving list. (5da6f3f)
- Supported for creating BLE static random addresses and non-resolvable private addresses (5da6f3f)
- Supported for setting the resolvable private address timeout via API. (5da6f3f)
- Supported for setting BLE privacy mode for peer devices. (5da6f3f)
- Added definitions for BLE authentication failure reasons. (1491b57)
- Supported for BLE 5.0 instances in related events (17a18e8)
- Added the check for setting BLE advertising parameters when deleting GATTS services (17a18e8)
Changed
- Optimized BLE SPP example for improved compatibility (5da6f3f)
- Optimized BLE Bluedroid examples for setting advertising data. (9d6583f)
- Optimized BLE event reporting time for connection failures (b621e14)
Fixed
- Fixed issue with work queue deletion when thread creation fails. (36d2fd8)
- Fixed memory out-of-bounds issue when parsing adv data. (33539d1)
- Report HCI error status to application when command fails. (9eb139a)
- Cancelled the BLE connection initiation if the connection has already been established when both devices initiate a conn...
ESP-IDF Release v5.3.1
Documentation for IDF v5.3.1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.3.1/
ESP-IDF v5.3.1 is a bugfix release for ESP-IDF v5.3.
Obtaining v5.3.1
For full installation instructions, see the ESP-IDF Programming Guide.
The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:
Using git
To get this release, use the following commands:
git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3.1
cd esp-idf-v5.3.1/
This is the recommended way of obtaining v5.3.1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.3.1.zip
archive. It includes .git
directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.3.1/esp-idf-v5.3.1.zip
Major changes
This is the list of changes since release v5.3:
Known Issues
- For ESP32-P4, the data in PSRAM will be destroyed during lightsleep.
- For ESP32-P4, CPU frequency switching has become slightly slower when the DFS is used.
Changelog
15.4
Thread
Added
- Added a task switching lock holder check (e1f066e)
- Supported changing openthread version information (dc7fb34)
Changed
- Made ot task queue sending non-permanent blocking (be5feaf)
- Updated CONFIG_LWIP_IPV6_NUM_ADDRESSES to 12 in Thread BR lib (be5feaf)
- Updated openthread submodule (f32c18b) (dc7fb34)
- Move the registration of UART VFS devices to UART initialization function (c2d5712)
MAC
Added
- Added a frame length check for the transmition frame (23e2b6a)
Fixed
- Refactored the
next_operation()
logic to avoid some risks when multiple IEEE802154 events are processed in one ISR (23e2b6a)
Application Utilities
Fixed
- Provisioning: Exposed API to set BLE random address (8795e7a)
- Provisioning: Fixed incorrect input decoding when using console transport (f0ba6eb)
- ESP HTTP Client: Fixed allocating
if_name
in client context multiple times (#13945) (86b9fb7)
BLE
Changed
- Documentation: Revised and improved Bluetooth Controller && VHCI API references for ESP32. (25ff0fb)
Bluedroid
Added
- Added support for BLE 5.0 instances in related events (1fa25ff)
- Added the check for setting BLE advertising parameters when deleting GATTS services (1fa25ff)
- Added definitions for BLE authentication failure reasons. (638577b)
Changed
- Optimized BLE event reporting time for connection failures (67b0e9b)
Fixed
- Reset BLE security parameters during initialization (#13869) (883ee8b)
- Fixed incorrect state issue when unregistering BLE GATTC application. (530f10f)
- Fixed the issue where BLE could not create a connection if the controller doesn't support the coexistence of scanning and connection initiating states. (b81f351)
- Fixed BLE security vulnerability when using fixed local IRK. (638577b)
Removed
- Removed error print when failing to remove a device from the resolving list. (638577b)
Controller
Added
- Supported UHCI function on ESP32-C6 and ESP32-H2. (0efdd4a)
- Added support for configurable default TX power on ESP32-C6, ESP32-H2, and ESP32-C2. (0efdd4a)
- Supported mesh duplicate with extended scan on ESP32-C3 and ESP32-S3. (2ea1eff)
Fixed
- Fixed the issue where directed advertising could not be connected when the advertisement filter was set to 0x2 on ESP32-C6, ESP32-H2, and ESP32-C2. (bbe0750)
- Fixed occasional WDT issue in multi-connection scenarios on ESP32H2. (bbe0750)
- Fixed the issue where connected advertising could still be set after reaching the maximum number of connections on ESP32-C6, ESP32-H2, and ESP32-C2. (bbe0750)
- Fixed response timeout triggered when updating connection parameters on ESP32-C6, ESP32-H2 and ESP32-C2. (bbe0750)
- Fixed a low-probability assertion issue in adv and scan coexistence scenarios on ESP32-C6. (bbe0750)
- Prevent BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (2ea1eff)
- Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero on ESP32-C3 and ESP32-S3. (2ea1eff)
- Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (638577b)
- Using system API to alloc BLE interrupt on ESP32-C3 and ESP32-S3. (638577b)
- Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (638577b)
- Fixed the issue of occasional assertion in multi-synchronization scenarios on ESP32-H2. (0efdd4a)
- Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C6,ESP32-H2,ESP32-C5 and ESP32-C2. (0efdd4a)
- Fixed occasional cache error crash in DTM process on ESP32-C2. (0efdd4a)
- Fixed occasional assert issue in adv and scan coexistence scenario on ESP32-C6. (0efdd4a)
- Fixed occasional packet loss issue during severe air interference on ESP32-C6 and ESP32-H2. (0efdd4a)
Mesh
Fixed
- Fixed an issue which may cause transmission resources not been released correctly (1316c4b)
- Fixed that some of the advertised segmented message sent to subscribed group address are not transmitted (d4ac547)
NimBLE
Added
- Added support for host with callback option to provide IRK during host init. (d434587)
Changed
- Updated Advertising Tx power levels to match with specification. (c4d4bfd)
- Increased Timer stack size for nimble application to fix timer overflow issue. (e78cd20)
- Updated menuconfig options to consider BLE 5.0 support options. (14135f9)
Fixed
- Fixed BLE security vulnerability when using fixed local IRK (9f7f1f3)
- Fixed the sequence of posting pairing complete event to host (9f7f1f3)
- Fixed issue where cb information passed in connect request was getting corrupted. (9f7f1f3)
- Zero initialized variables to fix incorrect paired device number information received after host initialization. (8595590)
Bluetooth Common
Controller
Fixed
- Fixed Bluetooth disconnect issue after waking up from modem sleep with external 32k crystal on ESP32 (0bbd728)
Build & Config
Removed
Classic Bluetooth
Bluedroid
Fixed
- Fixed the
stack overflow
of uTask in bt examplespp initiator
(d390c6f) - Fixed the wrong connection handle in the event handler of BTA_JV_L2CAP_READ_EVT(#13847) (35e9a11)
Controller
Added
- Added integrity check for
HCI_Link_Key_Selection
command on ESP32 (9788842)
Fixed
- Fixed failure of eSCO connection establishment eSCO when connected to two devices on ESP32(#11172) (4a4d20f)
- Fixed uninitialized random number before pausing AES encryption on ESP32 (4a4d20f)
- Fixed not report HCI_Disconnection_Complete event after the controller has initiated a disconnection procedure on ESP32 (4a4d20f)
- Fixed disconnection caused by channel map update in sniff mode on ESP32 (808950a)
- Fixed an assertion in ACL link driver which can be triggered on peripheral SNIFF mode when RX window is adjusted on ESP32. (2e512fb)
Coexistence
Fixed
- Fixed LoadProhibited issue in coexistence scenario on ESP32-C3 and ESP32-S3. (2ea1eff)
Core System
Fixed
- Print backtrace for both CPUs when cache error does not determine CPU (68bdc86)
- Console: Fixed console freeze when USB Serial JTAG is used and input data is received prior to the initialization of the driver (see #13940) (6c52686)
- Newlib: Fixed ROM(P4/H2) nano newlib can not printf float issues (90bb23f)
- Pthread: Fixed pthread join/detach potentially freeing the wrong TLS pointer(#14084) (474a926)
- Watchdogs: Allow XTAL32K WDT only on supported chips (#13955) (3914802)
Debugging
Added
- Core Dump: Include .data, .bss, and heap sections into the core dump (5325cac)
Fixed
- Core Dump: Fixed array out of the bounds compile error (ba3a106)
Ethernet
Added
- Ethernet: Added configuration of SPI Ethernet MAC address based on esp_read_mac in Protocols Connect Example (#13808) (7f1b752)
FreeRTOS
Fixed
- IDF Additions: Fixed an issue where the
vTaskDeleteWithCaps()
API leaked memory (#14222) (cada05a) - IDF Kernel: Fixed a bug where the FreeRTOS port layer would incorrectly crash on an assert failure when the system is not in an interrupt context but the port layer determines the opposite. (39a3d54)
LWIP
Fixed
- Fixed compilation error in lwIP undefined reference to
if_nametoindex
.(#13577) (b82594e) - ESP Netif: Fixed setting missing IPv6 auto-configuration flag for PPP interfaces if enabled in menuconfig (#13713) (f5e6f72)
- ESP Netif: Fixed
esp_netif_get_all_ip6()
to return only valid addresses. (7a538b9)
Low Power Features
ULP
Added
- Added option for routing LP-Core prints to HP-Core console uart (fc847a0)
- Added support ...
ESP-IDF Release v5.0.7
Documentation for IDF v5.0.7 is available at https://docs.espressif.com/projects/esp-idf/en/v5.0.7/
ESP-IDF v5.0.7 is a bugfix update for ESP-IDF v5.0.
Obtaining v5.0.7
For full installation instructions, see the ESP-IDF Programming Guide.
The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:
Using git
To get this release, use the following commands:
git clone -b v5.0.7 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.0.7
cd esp-idf-v5.0.7/
This is the recommended way of obtaining v5.0.7 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.0.7.zip
archive. It includes .git
directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.0.7/esp-idf-v5.0.7.zip
Major changes
Major Bug Fixes
- SPI Flash: Fixed stuck during spi_flash operation when a task was not pinned to a certain CPU. (f0c2da6)
Changelog
This is the list of changes since release v5.0.6:
App Update
Added
- Updated
esp_ota_revoke_secure_boot_public_key
to validate the new app and the bootloader before key revocation. (68c450d)
App Utils
Changed
- Updated cJSON version to v1.7.18 (d962b76)
Fixed
- Added check for
LWIP_NETIF_LOOPBACK
in the HTTP server control socket API (#13659) (3043a83) - Fixed allocating
if_name
in client context multiple times (#13945) (6a28414) - Fixed esp_http_client to reset redirect_counter after completion of a request (#13633) (3043a83)
- Fixed incorrect processing of HTTP header (#13497) (9d1abd7)
- Fixed esp_http_client digest auth without qop (5af8e88)
- Esp Prov: Fixed incorrect input decoding when using console transport (bf87512)
Bluetooth Low Energy (BLE)
Fixed
- Example: Use correct struct type in discover service complete event in examples/bluetooth/bluedroid/ble/gatt_client. (d388c85)
- Example: Fixed UART HCI when flow control is off in examples/bluetooth/hci/controller_hci_uart_esp32c3_and_esp32s3. (7a649e8)
Bluetooth Low Energy Controller
Added
- Supported ESP32-C2 light sleep using an external 32.768 kHz oscillator at pin0 as a slow clock source. (2796f01)
- Added CCA-related config option on ESP32-C2 (2796f01)
- Added API to get low power clock source on ESP32-C3 and ESP32-S3 (3b6ee15)
- Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (dd61b7e)
- Added BLE scan backoff config in menuconfig on ESP32 (dd61b7e)
- Removed error print when disconnection again if the disconnection procedure is ongoing on ESP32 (dd61b7e)
- Added support for configurable default TX power on ESP32-C2. (4a46dce)
Changed
- Expanded the scan period to the maximum of 0xffff on ESP32-C2. (2796f01)
- Optimized BLE notify and write throughput performance on ESP32. (d156502)
- Optimized BLE event reporting time for connection failures (9a0c562)
- Changed the level of BLE interrupt to avoid allocation failure on ESP32S3. (13033ac)
Fixed
- Fixed HCI command status event sent when LLCP is busy on ESP32 (d388c85)
- Fixed HCI command status event sending for disconnection command on ESP32 (d388c85)
- Fixed LE transmitter test command parameters check on ESP32 (d388c85)
- Fixed an occasional assertion issue when enabling multiple periodic adv on ESP32-C2. (b1992f1)
- Fixed adv interval range limit error issue on ESP32-C2. (b1992f1)
- Fixed an occasional assertion issue when disabling the Controller on ESP32-C2. (b1992f1)
- Fixed scheduling when modem sleep wakeup is delayed on ESP32-C3 and ESP32-S3. (0c555c9)
- Fixed BLE IRQ FIFO overflow when entering critical on ESP32-C3 and ESP32-S3. (0c555c9)
- Fixed clock sync timeout when exiting modem sleep on ESP32-C3 and ESP32-S3. (0c555c9)
- Fixed directed adv with RPA when privacy was disabled on ESP32-C3 and ESP32-S3. (0c555c9)
- Fixed instant passed when connection updating or PHY updating on ESP32-C3 and ESP32-S3. (0c555c9)
- Fixed BLE TX count in direct test mode on ESP32-C3 and ESP32-S3. (0c555c9)
- Fixed BLE modem sleep enter failed sometimes on ESP32-C3 and ESP32-S3. (0c555c9)
- Fixed an occasional assertion issue during slave connection in WiFi coexistence scenarios on ESP32-C2. (38aef77)
- Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. (2796f01)
- Clear random address for extended advertising on ESP32-C3 and ESP32-S3 (dd61b7e)
- Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3 (dd61b7e)
- Fixed BLE scan assert on ESP32 (#8532) (dd61b7e)
- Fixed BLE assert when receiving packets on ESP32 (dd61b7e)
- Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3 (dd61b7e)
- Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) (d156502)
- Fixed BLE connection timeout issue after using DTM on ESP32. (d156502)
- Fixed assert issue caused by DPORT access on ESP32. (d156502)
- Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C2. (b6f8340)
- Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32C2. (b6f8340)
- Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. (bb71e79)
- Fixed the issue where RPA did not re-generage after each reboot on ESP32-C3 and ESP32-S3. (bb71e79)
- Fixed BLE scan backoff on ESP32 (d4f35fc)
- Fixed BLE coexistence assert on ESP32 (961ca4f)
- Fixed BLE DTM status and TX count error on ESP32 (961ca4f)
- Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. (fb12a68)
- Use embedded assembly to get access to DPORT registers on ESP32 (dd61b7e)
- Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (ef922dd)
- Fixed BLE interrupt allocation using system API on ESP32-C3 and ESP32-S3. (ef922dd)
- Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (ef922dd)
- Fixed controller task blocking issue when using UART HCI on ESP32-C2. (8d86ea0)
- Prevent BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (7109734)
- Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero (7109734)
- Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C2. (8599e25)
- Fixed occasional cache error crash in the DTM process on ESP32-C2. (8599e25)
ESP Bluedroid Host
Added
- Added bluerooth HCI layer data stream record (6d63daa)
- Added APIs for BLE direct test mode (6d63daa)
- Added API to send vendor HCI command (6d63daa)
- Added API to add BLE devices to the resolving list (2233d54)
- Support creating BLE static random address and NRPA (2233d54)
- Support API to set resolvable private address timeout (2233d54)
- Added support for setting BLE privacy mode for peer devices. (6d288ef)
- Added definitions for BLE authentication failure reasons. (ef922dd)
- Added support for BLE 5.0 instances in related events (a8f8936)
- Added the check for setting BLE advertising parameters when deleting GATTS services (a8f8936)
Changed
- Updated maximum BLE reconnection attempts configuration (597a7d1)
- Optimized BLE SPP example for improved compatibility (2233d54)
Fixed
- Fixed the issue where advertising does not restart due to disconnection reason 0x3e (6d63daa)
- Fixed crash when calculating GATTS database hash (d388c85)
- Fixed BLE crash when repeatedly initializing and deinitializing host (ffdd5dc)
- Fixed BLE periodic advertising to create sync parameter check error (ffdd5dc)
- Fixed xQueueSemaphoreTask assert when deinitializing host during scan (d253654)
- Fixed BLE appearance category ranges (#13626) (4ae73b7)
- Fixed BLE GATT max length of an attribute value (2233d54)
- Fixed the issue where the BLE data length change event was not triggered when the packet length was modified on the other connected device. (9e49bf8)
- Fixed BLE security vulnerability when using fixed local IRK. (ef922dd)
Removed
- Removed error print when failing to remove a device from the resolving list. (ef922dd)
ESP BLE Mesh
Changed
- Improved BLE mesh deinitialization procedure when using NimBLE Host (48570f5)
Fixed
- Fixed an issue that could cause incorrect transmission resources to be released (6ed2802)
- Fixed potential deadlock may happened during initialization when using Bluedroid Host (432f1ff)
- Fixed issue where the mesh deinit complete event may not be reported when using NimBLE Host (1505232)
- Fixed the struct initialization to meet C++ requirements for BLE Mesh stack (55adcbf)
- Fixed the struct initialization to meet C++ requirements for BLE Mesh examples (55adcbf)
- Fixed using wrong type value for ADV_NONCONN_IND in NimBLE Host adapter (1cc35f0)
ESP NimBLE Host
Added
- Added support for periodic ADV feature updates in BLE 5.3 (4...