-
ESP-IDF Pre-release v5.5-rc1
Stablereleased this
2025-07-09 20:19:31 +00:00 | 12134 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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.gitdirectory doesn't include the history of commits older than one year. Users who need to usegit checkoutto access an older release of IDF will have to usegit fetchfirst 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 (
9b876d93) - Added support for ESP32-C2 chip rev2.0 (
93aea4f6)
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. (
79eb59dc) - Security: Added support for ESP-TEE (Trusted Execution Environment) on ESP32-C6 (
9ee8daf3) - 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. (
ec990f4a) - Log: Added support for binary logging in Log v2 (
33cab69f) - Heap: Added per task peak heap usage information when heap task tracking is enabled (
6ef7ad67) - BitScrambler: Added BitScrambler loopback (memory2memory) driver (
c8d4e1b0) - RMT: Added a new encoder for RMT TX driver, it allows the whole encoding session being controlled by the BitScrambler program. (
34280444) - PARL_IO: Supported to embed a BitScrambler program in the parlio_tx_unit_transmit function (
929e1495) - PARL_IO: Supported the infinite loop transmission for PARL_IO_TX. (
8e591a21) - 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 (https://github.com/espressif/esp-idf/issues/15241) (
58fbcfb4) - Storage/NVS: Added limited support of nvs for bootloader (
8255ba29) - 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) (https://github.com/espressif/esp-idf/issues/15317) (
3ab1ddaa) - Storage: Added support for std::filesystem (https://github.com/espressif/esp-idf/pull/13736) (
37652904) - Toolchain: Add support to link with picolibc (enable with "CONFIG_LIBC_PICOLIBC=y") (
f297a9d4) - Core System: Added CONFIG_ESP_SYSTEM_USE_FRAME_POINTER to enable frame pointer generation, simplifying backtracing at runtime. (
52b558d2) - UART: Added UART DMA driver support (
f66a750a) - 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. (
8e25a37f) - SD-Host: Supported UHS-I SDR50 (100MHz, 50MB/s), DDR50 (50MHz, 50MB/s) on ESP32P4 (
ed8ec9de) - ISP: Supported bypassing ISP to receive data from MIPI CSI (
f3f3cad0) - JPEG: Added support for decoding JPEG images without Huffman table (
e12db428) - I2S: Supported PDM data format (RAW/PCM) selection (
56349e6d) - LCD: Supported to simulate SPI/I80 interface LCD by Parlio peripheral (
96323188) - LCD: Support color conversion for MIPI LCD driver (
ad476afb) - SPI Flash: New feature for software resume when auto-suspend enabled, improve performance (
df1a7d5b) - SPI Flash: Add a new example for supporting customized nor flash driver which can be used both in app and bootloader (
2b1c27fe) - TWAI: Added a unified driver interface to support both TWAI and TWAI-FD peripheral (
a16f621e) - Touch Sensor: Support ULP touch sensor driver on ESP32-P4 (
afda4c18) - USB: Added support for OTG1.1 PHY on ESP32-P4 (
70ead76a) - USB: Added select functionality to the USB CDC driver (
1fa268c7) - USB Host: Added support for Low-Speed devices connected through Full-Speed HUB (https://github.com/espressif/esp-idf/issues/15683) (
0ead3627) - USB Host: Added support for 2 USB instances on ESP32-P4 (
1805efb0) - System Hardware: Add RTC battery backup support on ESP32-H2 (
d8166220) - MSPI: Supported 120MHz Flash frequency timing tuning on ESP32P4 (
4cb18200)
Breaking Changes
- Wi-Fi: Changed espnow sending callback function parameter mac_addr to esp_now_send_info_t. (
2b390b2b) - 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. (
21f59bd0) - 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. (
16ba8f89) - 15.4: Added a duration argument for ieee802154_receive_at() (
82bd44d6) - 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. (
4f5bed28) - 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. (
87716075) - 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 (
45bd677c) - Wi-Fi: Modified the type of "bandwidth" and comment in wifi_ap_record_t. (
5c3cb06d) - Tools: Python 3.8 support has been deprecated. ESP-IDF requires Python 3.9 or newer versions. (
30b13b13) - ESP HTTPS Server: Updated the config ESP_TLS_SERVER_CERT_SELECT_HOOK in esp_https_server component (
401fa7b0) - 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. (b37d4b33) - Peripheral Drivers/Touch Sensor: Adjust touch channel number on P4 from 0-13 to 1-14. (
80abd1c7)
Major Bug Fixes
- Update mbedTLS version to 3.6.3. (
21f59bd0) - JPEG: Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (
c07e2705) - PPA: Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (
65044efa) - UART: Eliminated the possibility of garbled data sent/received from the UART port during sleep process (
dbfb663b) - USB: Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (https://github.com/espressif/esp-idf/pull/15932, https://github.com/espressif/esp-idf/issues/15912) (
a652a847) - System Hardware: Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (
50e3a2bc) - Cache: Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (
da316111) - MSPI: Fixed startup stuck under Flash QIO and XIP_PSRAM 200MHz condition (https://github.com/espressif/esp-idf/issues/14979) (
1ddf0052)
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 (
35d17049)
MAC
- Added Tx/Rx frame dumping for debugging. (
fcbe4930) - Added a duration argument for ieee802154_receive_at() (
82bd44d6) - Set 802.15.4 energy scan duration before cca (
61a8aa80) - Supported IEEE802.15.4 ISR callbacks registration feature (
a29589e2) - Supported configuring 15.4 PTI at runtime (
6f8c76df) - Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels. (
2e301113) - Supported setting/getting ACK timeout APIs (
9d1a4eba) - Supported rx buffer and txrx statistics in 802.15.4 debugging mode (
41b083d2) - Returned ESP_FAIL if enh-ack generating logic was not implemented. (
a1ec2782)
Thread
- Updated openthread submodule (ec2b0d487) (
8836310b) - Supported OT_BR example for ESP32-P4 (
8836310b) - Supported bus_latency configuration for Thread BR (
77efe91c) - Supported periodic parent search mechanism for MTD (
b79b7ac2) - Added a callback to handle rcp reset failure (
bdf0ccaa) - Bound DNS server to unspecified netif on Border Router (
211074d7) - Supported DNS resolution / forwarding for Thread BR (
3eed1624) - Fixed recursive multicast packet forwarding issue (
3eed1624) - Added a function to ensure monotonically increasing frame counter (
c0ba3613) - Fixed CSL issue in which RX is not turned off during idle periods (
82bd44d6) - Added an API to to set RCP version string (
c2e90612) - Supported hardware reset RCP while processing RCP failure for the example
ot_br(3c74432f) - Fixed SRP server to support zero number of subtype item when updating service (
e9914423) - Supported
otPlatRadioGetPreferredChannelMask, added a configuration to set the preferred channel mask. (2e301113) - Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (
5a261da8) - Added set dns server address API for Thread network interface (
5a261da8) - Added Thread connect support in protocol_common component (
7d46a4a0) - Supported custom header file for openthread configuration (
42cbc7aa) - Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly (
8576f40c) - Supported RCP compatibility mismatch error handler (
37305679) - Enabled bbr feature to support multicast by default (
37305679) - Supported modifying port and txt in SRP server (
37305679) - Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScancalls (7bc93933) - Added OpenThread dataset changed event (
a2f35850) - Supported to allocate NAT64 session from PSRAM. (
8ac260a9) - Added a function to exit openthread main loop safely (
f7046307)
Zigbee
- Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (
47c8ca55) - Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (
47c8ca55) - Removed the esp_zigbee_rcp example (
47c8ca55)
Application Utilities
- Added feature for OTA resumption in case of any error or reboot during OTA process. (https://github.com/espressif/esp-idf/issues/13127) (
23ce1cc4) - Provision for specifying prefix counter for encrypted key files (
54622401) - Updated mfg_gen.py script to add serial count prefix for intermediate csv and bin files (
b3bae69c)
App Update
- Added a new API esp_ota_mark_app_invalid_rollback() to allow marking the app as invalid for rollback without triggering an immediate restart. (https://github.com/espressif/esp-idf/pull/15030) (
ff13eb17) - Invalidate ota data slot of last boot app in esp_ota_begin (https://github.com/espressif/esp-idf/issues/14808) (
95891227) - Supported OTA update for any partitions (bootloader, partition_table, nvs, etc.) (https://github.com/espressif/esp-idf/issues/14195 https://github.com/espressif/esp-idf/issues/13824) (
f817b85f)
CJSON
- Update to latest upstream cJSON master. (
07787485)
ESP HTTP Client
- Updated header deletion by allowing value to NULL in esp_http_client_set_header() (https://github.com/espressif/esp-idf/pull/15715) (https://github.com/espressif/esp-idf/issues/15714) (
a0c707e5) - Fixed invalid content-length header. (https://github.com/espressif/esp-idf/pull/15291) (
61f992a0) - Fixed host header for IPv6 address (https://github.com/espressif/esp-idf/pull/15388) (
e2fc3634) - Added API to extract TLS error from HTTP client. (Closes https://github.com/espressif/esp-idf/pull/15059) (
bc63628f) - Added a configuration to set address type (
aad91f9e) - Fixed memory leak issue while preparing basic digest auth. (Closes https://github.com/espressif/esp-idf/issues/14885) (
b20a7f1d) - Replaced MEM_CHECK macro with an enhanced version to log memory allocation failures and ensure safe handling during exhaustion of the OTA process. (
706a4457) - Include port number to the URL returned by the API esp_http_client_get_url(). (
57269c3a)
ESP HTTP Server
- Incorrect API spelling fix in esp_http_server. (https://github.com/espressif/esp-idf/pull/15821) (
bb9f73a7) - Improved the performance of http parser for parsing the URI. (https://github.com/espressif/esp-idf/pull/15288) (
c263a3f9) - Added support to handle HTTP 1.0 requests for legacy compliance purpose (
a5fbd96f) - Added Server Sent Events demo in http_server/simple example (
d90bd6a1)
ESP HTTPS OTA
- Added missing dependencies for component esp_https_ota (https://github.com/espressif/esp-idf/issues/15680) (
2e2f39b9) - Added chip revision validation for maximum and minimum revision checks while performing OTA. (
83cb9d73) - Added check for revision verification while performing OTA. (
843729c6) - Removed the support of pre_encrypted_ota example from esp-idf. This example has been moved to idf-extra-components under the esp_encrypted_img component. (
5c5e80ca) - Handled case if the HTTP server responded with response code 304 (NOT_MODIFIED) (Closes https://github.com/espressif/esp-idf/issues/14839) (
3029a4b9)
ESP HTTPS Server
- Fixed the HTTP server Async handler example for multiple /long URI requests and handled some error conditions. (https://github.com/espressif/esp-idf/issues/15587) (
fbc38a95) - Updated the CA certificates that were used for self-signing/mutual authentication use cases to contain the
Key Usageparameter due to the change in Python3.13's default ssl context requirements. (ccf71785) - Optimized memory usage for HTTP request with dynamic memory allocation for header and CONFIG_HTTPD_MAX_REQ_HDR_LEN now serving as the maximum limit. (
e3e49d74) - Updated the config ESP_TLS_SERVER_CERT_SELECT_HOOK in esp_https_server component (
401fa7b0) - Fixed httpd_register_uri_handler api for memory leak (https://github.com/espressif/esp-idf/issues/15878) (
95b7c023)
ESP Local Control
- Fixed esp_local_ctrl CMakelists.txt by adding esp_netif in PRIV_REQUIRES (https://github.com/espressif/esp-idf/pull/15818) (
999a81b0)
Provisioning
- Update security2 scheme to fix the incorrect AES-GCM IV usage (
4f5bed28) - Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (
4f5bed28) - Fix hostname resolving for IPv6-only host (
7aaab5a3)
BLE
- Removed support for the ESP32C5 revision v0.1 (
35d17049) - Added support for the ESP32C5 revision v0.2 (
35d17049) - Add Bluetooth LE direction finding feature (CTE) for ESP32-H2. (
aac2e92f) - Fixed crash in BLE HID host example during logging (
817de148)
BluFi
- Added support for stopping adv in BLUFI for nimble (
b20122ca) - Enhance security in BLUFI example. (
7ff0087d) - Fixed crash issue during memcpy in example. (
b7f3f677) - Fixed potential out-of-bounds memory access issue in Blufi example. (
b48aa982) - Fixed crash issue in Blufi example during prepare write operation. (
56696866) - Fixed Blufi initialization failure after deinitialization on ESP32(https://github.com/espressif/esp-idf/issues/14898). (
ed61b22e)
Bluedroid
- Increased maximum attribute value length to 517 to prevent data loss. (
f03b0fe0) - Fixed validation logic for BLE GAP appearance configuration. (
f03b0fe0) - Added
sync_cte_typein bluedroid PA sync fucntion (38628f98) - Added throughput mode for BLE SPP example. (
3b16d5cf) - Reported cte_type in periodic adv report if CTE feature is enabled (
241afda2) - Fixed missing event reporting in
esp_ble_create_sc_oob_data. (21ca2378) - Fixed BLE crash when disable bluedroid host. (
21ca2378) - Fixed potential uint32_t overflow in BLE btu_start_timer. (
21ca2378) - Fixed memory leak issue when using dynamic memory and deinitializing the host. (
21ca2378) - 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. (
21ca2378) - Added esp_ble_gap_read_channel_map() API to retrieve the BLE channel map of a connected device. (
21ca2378) - Supported BLE iso feature in bluedroid host (
6d3bd5df) - Supported BLE CTE feature in bluedroid host (
6d3bd5df) - Supported BLE bluedroid host power control feature (
6d3bd5df) - Supported BLE bluedroid host connection subrating feature (
6d3bd5df) - Added BLE eddystone sender example. (
2217fb81) - Supported read periodic advertiser list size command. (
bcea8c98) - Added Read Long Characteristic Values example. (
5787da0a) - Supported SPI log output options for HCI. (
5f2a7f4d) - Fixed an issue where advertising data and scan response data were not reported together during BLE active scanning. (
1bfc6edd) - Supported BLE vendor hci event reporting (
8ad16fd5) - Supported BLE setting vendor event mask (
8ad16fd5) - Reduced bluedroid host bin size (
7d751dcc) - Supported change HID task size by Kconfig in HID example(https://github.com/espressif/esp-idf/pull/15320). (
b51d4d2a) - Optimized the references to BLE GATT related APIs. (
19b5381c) - Added BLE get started examples for Bluedroid. (
b87ba038) - Added config for saving BLE bonding keys to NVS flash. (
79aae54f) - Fixed connection params copying when creating BLE connection. (
b6b0758e) - Supported setting BLE connection parameters when creating connection. (
93257ed7) - Fixed event reporting upon completion of preferred connection parameter settings. (
79f26ad6) - Fixed the issue where the BLE channel selection algorithm event was not reported. (
21acfc28) - Fixed an issue where BLE connection creation failed due to an invalid own address type. (
f420609c) - Added BLE 5.0 throughput examples. (
5910fc82) - Fixed a build failure in Classic Bluetooth that occurred when dynamic memory was enabled and BLE was disabled. (
c014ced2) - Fixed BLE build failure when enabling dynamic memory with BLE 5.0 (
08f1c368) - Fixed extended adv restart failure during reconnection. (
7b1cbb89) - Fixed BLE SMP state machine inconsistency on disconnection (
624175fc) - Fixed null pointer assert in
l2c_link_check_send_pkts(9a74093e) - Fixed issue with deleting link key when classic Bluetooth is not used. (
0e585a29)
Controller
- Fixed an occasional assertion issue in scan and connection scenarios on ESP32-C6. (
a3edce57) - Supported creating connections during scanning process on ESP32-C6 and ESP32-H2. (
a3edce57) - Fixed an occasional packet loss issue in multi-connection scenarios on ESP32-C6. (
a3edce57) - Fixed a crash issue caused by using os_mbuf_dup on ESP32-C6 and ESP32-H2. (
a3edce57) - Fixed an occasional timeout issue during connection parameter update while latency is active on ESP32-C6 and ESP32-H2. (
3f2f57a3) - Fixed an issue where the DID was not refreshed after stopping advertising and updating the advertising data on ESP32-C6 and ESP32-H2. (
3f2f57a3) - Fixed an occasional assert issue when repeatedly starting and stopping extended advertising during periodic advertising scenario on ESP32-C6 and ESP32-H2. (
3f2f57a3) - Fixed an occasional interrupt watchdog timeout issue on ESP32-H2. (
3f2f57a3) - Fixed an occasional assert issue in function r_ble_lll_sched_check_remaining_entries when ble spi log is enabled for ESP32-H2. (
3f2f57a3) - Fixed disconnection due to MIC error when pairing with an iOS device on ESP32-C3 and ESP32-S3. (
7a3925a5) - Fixed an occasional assert issue when stopping aux scan on ESP32-C6 and ESP32-H2. (
7ee1bf0c) - Fixed an occasional assert issue when the task is blocked during the extended scan scenario on ESP32-C6 and ESP32-H2. (
7ee1bf0c) - Fixed the occasional issue of not receiving packets during the extended scan scenario on ESP32-C6 and ESP32-H2. (
7ee1bf0c) - Fixed the cache error if controller runs in flash and BLE sleep is enabled on ESP32-C2. (
57fd0513) - Fixed possible assertion when multiple ACL runs concurrently on ESP32-C6, ESP32-H2 and ESP32-C5. (
57fd0513) - Fixed occasional interrupt watchdog timeout issue when scanning and connection coexist on ESP32-C6. (
57fd0513) - Fixed an occasional issue where the connPeripheralLatency parameter was not properly applied on ESP32-C6, ESP32-H2 and ESP32-C5. (
57fd0513) - Disabled anonymous extended advertising reporting on ESP32-C3 and ESP32-S3. (
1edf45e3) - Fixed BLE assert lld_adv.c 2992 on ESP32-C3 and ESP32-S3. (
1edf45e3) - Fixed heap assert due to advertising data buffer double freeing on ESP32-C3 and ESP32-S3. (
1edf45e3) - Fixed BLE 0x08 disconnect when the window size is greater than half of the connection interval on ESP32-C3 and ESP32-S3. (
1edf45e3) - Fixed bluetooth controller flash only bug if hci-uart is enabled on ESP32-C3 and ESP32-S3 (
241afda2) - Fixed a heap assertion issue when enabling BLE and ESP32C2_REV_MIN_200 for ESP32-C2 v2.0 (
f7218f77) - Fixed an occasional
load access faultissue when performing ext_conn creation for ESP32-C2. (16ba8f89) - Added definitions for Bluetooth hci vendor commands and events (
16ba8f89) - Fixed hci assertion issue when uart interference occurs on ESP32-C2, ESP32-C6,ESP32-H2,ESP32-C5 and ESP32-C61. (
8d97ce5d) - Changed the maximum supported value of the whitelist to 31 on ESP32-C2, ESP32-C6,ESP32-H2,ESP32-C5 and ESP32-C61. (
8d97ce5d) - Fixed gpio unavailable warning when repeatedly reconfiguring hci uart pins on ESP32-C2, ESP32-C6,ESP32-H2,ESP32-C5 and ESP32-C61. (
8d97ce5d) - Added a function to maintain the connection when an instant pass issue occurs on ESP32-C2. (
cafbd7bd) - Fixed extended advertising interval upper limit issue on ESP32-C6 and ESP32-H2. (
cafbd7bd) - Reduced controller bin size and heap for ESP32-C3 and ESP32-S3 (
f941b0d9) - Fixed enhanced TX power setting and getting for legacy adv on ESP32-C3 and ESP32-S3. (
7e00ea43) - Fixed BLE assert lld_con.c 2387 on ESP32-C3 and ESP32-S3(https://github.com/espressif/esp-idf/issues/14938) (
7e00ea43) - Fixed compatibility issues during the encryption procedure on ESP32-C3 and ESP32-S3. (
7e00ea43) - Added BLE debug log module on ESP32-C3 and ESP32-S3. (
0461e2ff) - Added channel assessment function on ESP32-H2 and ESP32-C6. (
5abfc059) - Won't terminate the connection when instant pass issue triggers on ESP32-H2 and ESP32-C6. (
5abfc059) - Fixed the issue where disconnection events were not reported as a slave on ESP32. (
1f84180a) - Enhance Access Address validation in compatibility mode on ESP32. (
1f84180a) - Fixed scan duplicate filter failure when receiving ADV_DIRECT_IND for ESP32-C2. (
07ce83a3) - Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (
8563c2fc) - Fixed an issue where the default tx power of connection is incorrect after setting the scan tx power on ESP32-C6 and ESP32-H2. (
8563c2fc) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (
8563c2fc) - Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (
8563c2fc) - Supported for putting ble code into flash on ESP32-C6 and ESP32-H2. (
8563c2fc) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (
8563c2fc) - Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (
8563c2fc) - Supported resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Added parameter validation for Periodic Advertising Enable on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (
6cc06c6c) - Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (
6cc06c6c) - Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (
6cc06c6c) - Provided DTM configuration command in HCI example. (
60fea222) - Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3 (
ad42627d) - Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (
8458cfff) - Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (
8458cfff) - Fixed an occasional WDT issue with long running time on ESP32-C2. (
8458cfff) - Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (
397fb43d) - Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (
397fb43d) - Fixed a occasional wdt issue in multi-connection scenarios on ESP32-C6. (
3075efd8) - Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (
3075efd8) - Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (
bcfe6469) - Removed BLE creating connection assertion when the connection already exists on ESP32. (
d54390ec) - Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (
4f226b4e) - Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (
4f226b4e) - Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (
4f226b4e) - Fixed occasional ACL disconnect when light sleep is enabled on ESP32C61. (
a3922cd1) - Supported for putting code in flash on ESP32-C2 (
ea31e155) - Fixed occasional crash issue in low memory scenarios on ESP32C6 and ESP32H2. (
1f49c9a8) - Supported for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (
92e4b80a) - Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32. (
1acc70f4) - Reduced bin size and IRAM for BLE rom code on ESP32-C3 and ESP32-S3 (
5c6701aa) - Fixed double free exception during BLE init under low memory on ESP32-C3/S3 (
5c6701aa) - Fixed an APM panic issue when enabling TEE in the BLE scenario on ESP32-C6, ESP32-H2 and ESP32-C5. (
24e32368) - Fixed an occasional abnormal scanning stop issue on ESP32-C6, ESP32-H2 and ESP32-C5. (
24e32368) - Fixed an issue where the central role would disconnect abnormally when the peripheral did not support the Connection Parameters Request Procedure on ESP32-C6, ESP32-H2 and ESP32-C5. (
24e32368) - Fixed an occasional assertion issue during scanning on ESP32-C6. (
24e32368) - Fixed missing ADV reports after bonding and connection on ESP32-C3 and ESP32-S3 (https://github.com/espressif/esp-idf/issues/15789) (
fc71a864)
Documentation
- Updated the Bluetooth SIG Qualification information for ESP32-C6. (
96af7b4a) - Updated the BLE feature support status in API Guides. (
96af7b4a) - Added Bluetooth SIG Qualification information to API Guides. (
fa41fafd)
Mesh
- Support for using multiple advertising instances on BLE Mesh (
305f1c1e) - Optimized the performance of remote provisioning (
604ccb8f) - Fixed an issue where an unprovisioned device could be simultaneously provisioned by both a provisioner and a remote provisioning client. (
604ccb8f) - Supported Proxy Client and Proxy Server coexistence (
d74bf059) - Support BLE 5.0 on Bluedroid and NimBLE host. (
87e4f63c)
NimBLE
- Added new Gattc + Gatts BLE coex example for nimble . (
06ee44ef) - Fixed incorrect comparison with gattc proc that can cause request-response mismatches (
5273ba97) - Added support for anonymous address type for whitelist (
4498eea2) - Added fix for an async race condition with HCI outstanding packets counter (
4498eea2) - Add configurable option to select ext adv v2 command (
4498eea2) - Added api's to fetch gatt cache info (
f8cdf02b) - Added option to enable stack to handle repeat pairing internally (
7cf5dacd) - Added runtime configurable support for observer role, security mode 1 level, and GATT caching (
386a3905) - Modified HID KIR and MIR Characteristic write permission from hardcoded to configurable (
386a3905) - Fixed LLS crash when no callback was registered for LLS event (
386a3905) - Added SPS callback event to expose changes in scan parameters (
386a3905) - Fixed incorrectly passed in GATT Caching disovery operations (
386a3905) - Enabled Connection Subrating bit in ESP32C6 (
386a3905) - Optimized nimble throughput example by extended adv support and switching between different Phy modes. (
e0da61ca) - feat(nimble): Added tutorials for PAwR examples (
61d1a1ff) - Fix sync handle assignment for PAwR connection (
cc98f5b2) - Fixed incorrect OTA address type assignment (https://github.com/espressif/esp-idf/issues/15740) (
771e9db7) - Corrected event posting in Read Remote Features event handling (https://github.com/espressif/esp-idf/issues/15670) (
1c468f68) - Added missing ble_hs_unlock for periodic adv sync reattempt case. (
cc4fc21b) - Fix conversion for min-max itvl of periodic adv param in example (
6e1f0716) - Fix SMP command allocation (
ffe83c23) - Add support for Vendor Event mask VSC (
bbca89da) - Fix incorrect event deinit in gatt caching discovery (
77346e0b) - Exposed the ble_gap_wl_tx_add API to add a device in whitelist (
b1effd0c) - Fixed pairing failure issue when SC only mode is selected (
3eeca52e) - Added a change in the BLE SPP Client example to allow the client to subscribe to the server. (
030cdf98) - Handle application code compilation issue due to removal of link_estab structure (
cf169a40) - Update controller data length upon connection creation. (
3bf56f7d) - Deprecate BLE_GAP_EVENT_LINK_ESTAB event. (
10800641) - Handle not sending disconnect event if connect event was not sent (
d65d2fd4) - Add offset in GATT server long read context (
9411fd0a) - Restart adv / sync when periodic sync fails due to 0x3E (
90bad97f) - Enhanced error handling by adding to print core error definitions (
cefefb3d) - Fixed nvs corruption due to BLE_ENV_ADV_DATA flag (
b70c995b) - Address compilation issue observed when WARN_WRITE_STRINGS is set. (https://github.com/espressif/esp-nimble/pull/84) (
a1154699) - Updated README.md by removing unclear line (https://github.com/espressif/esp-idf/issues/15284) (
6e596644) - Handle nested locks when BT_NIMBLE_DEBUG enabled (https://github.com/espressif/esp-idf/issues/15014, https://github.com/espressif/esp-idf/issues/15294, https://github.com/espressif/esp-idf/issues/15202) (
56fb641d) - Fix compilation warnings in nimble examples. (https://github.com/espressif/esp-idf/issues/15157) (
5dda7315) - Clear our and peer security records cleanly during unpair. (
a77c4e7e) - Additional PAwR changes support for ESP IP (
a77c4e7e) - Added HCI Read Remote Version Information command. (
a77c4e7e) - Reset global variables during link disconnection (
4a071793) - Corrected storing method of csfc to nvs (
724663ee) - Fixed coverity reported issues. (
d0ffd254) - fix(nimble): Save the gatt context in case of preemption (
429d9982) - Fixed compilation issue for combination of Ext Adv and Reattempt connection flag. (
e2882a11) - Add ATT Tx queue cleanup during link disconnection (
32a5b6e4) - Fix compilation issues when BLE_MAX_STORE_BOND is set to 0. (https://github.com/espressif/esp-idf/issues/14712) (
172bebe4) - Added a check for invalid offset (
2100a5a0) - Added change to assign correct peer OTA address type (
27a48c03) - Fixed memory leak issue in BluFi Example (
9ee2f9e1) - Updated error print function to include HCI opcode information (
a6b1b33c) - Changing esp_rom_printf to ESP_LOGI when memory allocation fails (
c3381e74) - Corrected link_estab event handling parameters (
4885e24e) - Changed CSFC max size to avoid invalid NVS overflow event (
2c31596a) - Added fixes for CVE-2024-(47248/47249/47250/51569) vulnerabilities for nimble (
a8691924) - Added a function for printing HCI error definition (
79930189) - Fix compilation issue in esp_hid_host example (
5d250a23) - Replace ESP_LOG* with esp_rom_printf in controller context callback (
2d1a2a7a) - Add support for Multiple Variable Length Notifications. (
e5177611) - Add support for Multiple EATT bearers. (
e5177611) - Added support of LE GATT Security Level Characteristic (
e5177611) - Fixed issue in L2CAP regarding incorrect comparison between SDU length and MTU/MPS (
e5177611) - Added menuconfig option to enable SC only mode. (
e5177611) - Added fix to clear IRK from controller when clearing keys from NVS during signed write operation (
e5177611) - Add support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (
e5177611) - Fixed memory issue in multiple L2CAP COC connections. (
e5177611) - Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (
e5177611) - Added menuconfig option to enable L2CAP Enhanced COC (
e5177611) - Fixed issues in connection subrating request. (
e5177611) - Fixed crash issue in read multiple variable length callback (
e5177611) - Added support for PAwR feature (
e5177611) - Added a host config to enable/disable SC Only mode (
e5177611) - Fixed Device Information, Battery Level service and Scan Parameters (https://github.com/espressif/esp-idf/issues/14864) (
e5177611) - Resolved watchdog due to memory exceed prints (
8eeb3e20) - Nimble Error logs in case of memory overflow/failure (
749cfa1c) - Removed min/max macro definition from os.h (https://github.com/espressif/esp-idf/issues/14840) (
393b7410) - Added sdkconfig with options to showcase DRAM reduction for NimBLE examples. (
aac26c84) - Fixed issue of Adv report not observed in PAwR example. (
2f3351f1) - Add Support for Apple Notification Center Service (ANCS) in NimBLE (
39ebd0b1) - Wrap BLE service API with extern "C" (
e17993b1) - Fix compilation issue when CSFCS is set to 0. (
e17993b1) - Add chip dependancy flag for Flow control feature (
e536aa67) - Handled memory leak due to missing mempool_deinit call (
e536aa67)
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 . (
16ba8f89) - Add support for converting BT HCI logs to btsnoop format. (
39eb6732)
Bluedroid
- Set default value of BT_BLUEDROID_ESP_COEX_VSC to n if software coexistence is not required, (
895bb2af)
Controller
- Fixed the issue that disable Bluetooth controller may cause interrupt watchdog timeout on ESP32 (
be5cad56) - Disable debug vendor HCI command on ESP32. (
bdd9077b) - Added API to get/set low power clock source on ESP32 (
ef740321) - Move
esp_wifi_bt_power_domain_onandesp_wifi_bt_power_domain_offfromesp_bt.htoesp_phy_init.h(45bd677c)
Bootloader
- Fixed partition size cannot exceed 16MB issue, when CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH or CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH is on (
574b27d0) - Added a new custom bootloader example that implements multiboot (
55955a5c) - Added support to use flash MMU page size from app binary header (
4c6cda73) - Added the CMake variable
BOOTLOADER_EXTRA_COMPONENT_DIRS, making it possible to add extra components to the bootloader build, without the need to place them inbootloader_components/(56922248)
Build & Config
- Changed build fatal error to warning when the ESP_ROM_ELF_DIR environment variable is not set (
135f4e21) - Added support for the CMock subdir option with idf_component_mock (https://github.com/espressif/esp-idf/pull/15308) (
2fb93845) - Fixed C standard preferences for the Linux target (
e4cf8191) - Fixed CMake configuration warning CMP0165 for Linux target (https://github.com/espressif/esp-idf/issues/15488) (
7ce80cef) - Included the test components specified by TEST_COMPONENTS in minimal build (https://github.com/espressif/esp-idf/issues/15485) (
da69aee8) - Fix compilation issues in the idf_as_lib example (https://github.com/espressif/esp-idf/pull/15401) (
4f968c3f) - Fixed ESP32-P4 linker script that was missing the
arraysattribute for external RAM section. (77604966) - Added the MINIMAL_BUILD build property and modified examples to use it in order to reduce their build time (
46e37515) - Wrote the components properties file once instead of rewriting it in a loop for each component (https://github.com/espressif/esp-idf/pull/14733) (
542a5d28)
Classic Bluetooth
Bluedroid
- Added support for initializing secure connection host support feature during Bluedroid initialization (
ee9c524b) - Fixed the issue that l2cap stop server did not report the
ESP_BT_L2CAP_SRV_STOP_EVTevent (141d19ce) - Fixed no report of ESP_SPP_WRITE_EVT and Bluedroid btc task being blocked when SPP connecion number reaches the upper limit (
660898dc) - Added events for l2cap register and unregister vfs (
03c229e9) - Fixed
write_readtask stack overflow in l2cap example (03c229e9) - Fixed the issue with l2cap not using dynamic memory (
03c229e9) - Added APIs to get status on such information as initialization state, connection number, for Classic Bluetooth profiles (
5f3097f2) - Refactor HFP and A2DP audio data path to support using external codec (
96244e08) - Fixed connection failure due to insufficient number of service security records when multiple profiles are initialized. (
fb0a087d) - Fixed the issue that PBAC may free undefined memory when connection close with service discovery failed (
569f97da) - Fixed the issue that some memory in OBEX not being freed when deinitializing Bluedroid (
569f97da) - Fixed reporting of unexpected
ESP_BT_GAP_DISC_STATE_CHANGED_EVTevent upon ACL disconnection, due to uninitialized local variable (2bf3fd52) - Fixed the issue that after SPP reaches the maximum number of connections, it will mistakenly free the server resources when disconnecting, causing the next server start to fail. (
9ba55278) - Fixed memory leaks in SPP callback mode (
9aaa7f82) - Add sdkconfig for SDP size options (https://github.com/espressif/esp-idf/pull/15321) (
26a1b69a) - Add Kconfig option to keep device bonding information when HID virtual cable unplugging (
f390fcbd) - Fixed incorrect records in SDP record search response using 16-bit UUID (
9dde33e8) - Fixed error type returned when searching for SAP records (
9dde33e8) - Support get play status feature in AVRCP CT (
6109542f) - Fixed memory leak issue in esp_avrc_ct_cover_art_get_image API (
cb3ac742) - Support Phone Book Access profile client role (
cb3ac742) - Fixed NULL pointer access exception in HFP callback handler (
c8b9ea3b) - Disconnect SDP connection on receiving incorrect response or the ACL connection will never be released (
56a55c09) - Fixed the incorrect service UUID in the callback parameter of ESP_SDP_SEARCH_COMP_EVT due to byte alignment issue (
4097a27c) - Added HFP callback event for notification of profile ON/OFF state (
6c62e08b) - Fixed AVRCP compatibility issue on absolute volume synchronization (
f0ab5513) - Fixed memory leak for synchronous data queue when disabling Bluedroid (
bb5a53c6) - Added AVRCP callback event for notification of profile ON/OFF state (
c4747aae) - Fixed the issue where an incorrect mask was used to exclude SCO packets during the establishment of eSCO link (
0ea73a92)
Controller
- Implemented a workaround for potential data packet exchange issues when secure connection is enabled on ESP32 (
ee9c524b) - Fixed a crash issue caused by accessing external memory in ISR context on ESP32 (
eb0d3677) - Fixed ACL has few chance to run when it coexists with SCO on ESP32 (
abe76801) - Fixed errors in dynamic priority configuration in Bluetooth dual mode on ESP32 (
abe76801) - Fix the incorrect unit of
duration_minin CPB TX on ESP32 (dbe3c111) - Recalculate the channel map when AFH is enabled on ESP32 (
dbe3c111) - Fixed assessing NULL pointer in case of handling earlier message when Bluetooth Classic connection gets disconnected (https://github.com/espressif/esp-idf/issues/15128) (
94cfe394) - Avoid accessing released ACL resources in SCO logic on ESP32 (
94cfe394) - Fixed no release of event scheduling element in after SNIFF negotiation failure on ESP32 (https://github.com/espressif/esp-idf/issues/13605) (
9f68b151) - Removed an assertion in SCO data TX handler after disconnection on ESP32 (https://github.com/espressif/esp-idf/issues/15176, https://github.com/espressif/esp-idf/issues/15084) (
9f68b151) - Fixed missing critical protections on linked-list structure of (e)SCO buffers on ESP32 (
21e07da1) - Fixed the issue where the pause and resume encryption requests were not initiated after the link key upgrade completion on ESP32 (
04429da4) - Fixed the issue that the create_conn_cancel_cmd was rejected to cancel connection creation process and returned inappropriate error code in some states on ESP32 (
2b8c581e) - Fixed duplicated encryption restart process when new lk type is semi-permanent key on ESP32 (
df69b78a) - Fixed the issue where
HCI_Encryption_Changewas not reported to host after changing the key type, even when the encryption mode was correctly changed viaHCI_Set_Connection_Encryptioncommand on ESP32 (df69b78a) - Fixed zero attempt value set by role switch which cause fatal hardware error on ESP32 (
e4102c54) - Fixed missing of critical protection for the free method of (e)SCO buffers on ESP32 (
e4102c54) - Fixed wrong logic in handling sniff transaction collision at slave side on ESP32. (
7bc8b998) - Fixed the issue ACL is stopped too early before eSCO on ESP32. This issue can cause ACL Perihperal to be unable to receive acknowledgements from the ACL Central, resulting in an infinite retransmission of a certain packet on the Peripheral side. (
7bc8b998) - Fix crash upon name request from peer device without setting local device name on ESP32 (
203e5432) - Set the QoS value to the minimum value if the calculated QoS is less than the minumum on ESP32 (
203e5432)
Coexistence
- Supported BR/EDR (e)SCO and Wi-Fi coexistence. (
79eb59dc) - Fixed disable external coexist fail issue. (
5fd47af0) - Added coexistence scheme for BT Inquiry/Page coexist with WIFI (
22869af2) - Fixed the issue that BLE connection may disconnect when WIFI is reconnecting on ESP32C2 (
6fd5f514)
Core System
- Added unit test ordering by file path and line number (https://github.com/espressif/esp-idf/issues/15529) (
182b33ef) - Fixed DRAM_DMA_ALIGNED_ATTR for ESP32-P4 (
53e84d97) - Ensure proper reset for crypto peripherals before software restart. This fixes a rare and intermittent secure boot verification failure based on RSA-PSS scheme. The fix is recommended for aggressive revocation config. Please see commit log for more details. (
e37c47f6) - Added CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS option to improve memcpy/memcmp/memmove/str[n]cpy/str[n]cmp performance for misaligned memory access for riscv chips. (
a31f4877) - Fixed system console not correctly outputting to usb-serial-jtag secondary output console on newer chips (
afedcb7c) - Fixed esp_ptr_executable to specifically check if the pointer is in PSRAM memory on esp32p4. (
7e93f4b5) - Fixed missing implementation of __atomic_test_and_set required by GCC 14 (https://github.com/espressif/esp-idf/issues/15167) (
66cf5184) - Improved detection of illegal writes to flash rodata on ESP32-S3, exception should now trigger faster and provide more accurate error information. (
b0776182) - Deprecated
TARGET/rtc.hheader file, these have been replaced byesp_rtc_time.h(2e6a6c0d) - Fixed linker script for ESP32-C3, ESP32-S2 and ESP32-S3, reducing Flash usage by up to 512 bytes. (
bcd80c92) - Fixed esp-ringbuf logic errors when compiling with CONFIG_COMPILER_STATIC_ANALYZER (
184a8aa6) - Fixed typo in ROM API documentation (https://github.com/espressif/esp-idf/pull/14518) (
b6be76f5) - Corrected the address used to fetch the application image header during system startup (
5504a596) - Fixed an issue that prevented RTC reserved area to have a size multiple of 4 (https://github.com/espressif/esp-idf/issues/13082) (
59865667)
Console
- Fixed deadlock occurring upon deinitialization of the repl environment (see https://github.com/espressif/esp-idf/issues/9974) (
e4e2a83e) - Fixed the crash when enable USB-Serial-JTAG as the primary console on ESP32-C3 v1.1 (
ea902d6e) - Added 'info' to log_level command description (https://github.com/espressif/esp-idf/pull/14771) (
3ec05583) - Added recommendation to use Windows Terminal in case of issues with escape sequences(https://github.com/espressif/esp-idf-monitor/issues/17) (
90abcdeb)
ESP Event
- Fixed event profiling not logging execution time and invocation number (https://github.com/espressif/esp-idf/issues/15041) (
82f558b4)
ESP Timer
- Added option for placing functions in flash if using flash-auto-suspend (
ee87960c)
Heap
- Updated heap debugging documentation to include the task tracking feature description. (
83f28973) - Added heap_caps_get_containing_block_size to the heap API that returns the size of an allocated block from any pointer to that block. (
826c69f1) - Added per task peak heap usage information when heap task tracking is enabled (
6ef7ad67) - Fixed CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH not being able to be used together with CONFIG_HEAP_TLSF_USE_ROM_IMPL. (
46847b7b) - Added MALLOC_CAP_SIMD flag to allocate memory that is suitable for SIMD instructions (
bbdef6a1) - Fixed wrong memory returned when allocating in RTC memory with MALLOC_CAP_EXEC capability (see https://github.com/espressif/esp-idf/issues/14835) (
c80ba402) - Fixed allocs with MALLOC_CAP_EXEC returning non executable memory if CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT was enabled (https://github.com/espressif/esp-idf/issues/14836) (
e4501b37) - Updated list of registered heaps to be sorted by increasing size (see https://github.com/espressif/esp-idf/issues/13588) (
ab3d179f)
Interrupts
- Added kconfig option
CONFIG_ESP_INTR_IN_IRAMfor placing interrupt related API into flash when usingCONFIG_SPI_FLASH_AUTO_SUSPEND(e8240916) - Fixed spelling mistakes in the
soc/interrupts.h(https://github.com/espressif/esp-idf/pull/15273) (04078794) - Implemented a way to allocate a shared interrupt specifying the interrupt line destination. (
8dfcafa1) - Fixed a bug in the interrupt allocator that resulted in the level of shared interrupt being overwritten with the last level given. (
8dfcafa1) - Fixed wrongly reserved interrupt for WiFi on ESP32-H2 (
cfe70218)
Linux target
- Added SOC_CPU_CORES_NUM define for the Linux target (https://github.com/espressif/esp-idf/issues/15758) (
784d80b4) - Fixed TEST_COMPONENTS not working on macOS for linux target (https://github.com/espressif/esp-idf/issues/15490) (
64113b8e)
Log
- Added binary logging mode (
33cab69f) - Added kconfig option
CONFIG_LOG_IN_IRAMfor placing logging related API into flash when usingCONFIG_SPI_FLASH_AUTO_SUSPEND(76057272) - Added Log v2 (the choice between v1 and v2 is made by CONFIG_LOG_VERSION). Supports centralized log formatting via a single handler for all log macros. (https://github.com/espressif/esp-idf/pull/5761, https://github.com/espressif/esp-idf/issues/14011) (
ec990f4a) - Moved esp_log_level_get_timeout and esp_log_writev to IRAM (
9eeee92d) - Fixed bin log config. It is available only for log version 2. (
c9437970)
Newlib
- Updated usleep() to ensure it never sleeps for less than the requested duration. For multi-tick delays, it now also yields CPU time more effectively (https://github.com/espressif/esp-idf/pull/15132) (
15c349b0) - Added kconfig option
CONFIG_LIBC_MISC_IN_IRAMfor placing newlib related API into flash when usingCONFIG_SPI_FLASH_AUTO_SUSPEND(3fdcf318) - Removed unnecessary IRAM attributes from some newlib functions, slightly reducing IRAM usage. (
70371347) - Added kconfig option
CONFIG_LIBC_LOCKS_PLACE_IN_IRAMfor allowing newlib lock API to be placed into flash if deselected. If these APIs are not used from IRAM ISRs where cache is disabled then placing them in flash saves ~1KB of IRAM. (70371347)
Panic handling
- Updated the panic handler to use RTC WDT. This fixes a bug where in the panic handler could get stuck without rebooting the system (https://github.com/espressif/esp-idf/issues/15166, https://github.com/espressif/esp-idf/issues/15018, https://github.com/espressif/esp-idf/issues/10110) (
e01877ff) - Added CONFIG_ESP_SYSTEM_USE_FRAME_POINTER to enable frame pointer generation, simplifying backtracing at runtime. (
52b558d2) - Fix the cache size error message on Xtensa targets (
6540208f)
Partition Table
- Fixed partition table names must be only ASCII characters (
4aa47aac) - Supported primary subtypes partitions for bootloader and partition_table types (
1a419e59)
Pthread
- Added missing pthread functions pthread_set/getschedparam (https://github.com/espressif/esp-idf/issues/14821 https://github.com/espressif/esp-idf/issues/8594) (
d37e1ccc)
Watchdogs
- The LP-WDT on ESP32-P4 now takes into account the value EFUSE_WDT_DELAY when setting the timeout (
4608cc0e) - Fixed an issue on ESP32-P4 causing unexpected WDT resets and preventing halting after a panic when
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALTset (648a3001)
Debugging
- Moved gdbinit files generation to CMake configuration stage (
2a6e0843) - Added "--gdb-commands"/"-x"/"-ex" options for "idf.py <gdb|gdbgui|gdbtui>" to pass custom options to GDB (
2a6e0843)
Apptrace
- Store CRC16 checksum of trace blocks in Xtensa perfmon register to enable host-side data integrity verification. (
d1c131f6) - Fix deadlock on sysview start (
f8284e17) - Fixed the issue where the Segger SystemView app (v3.10 or later) gets stuck during the record analyzing step. (https://github.com/espressif/esp-idf/issues/10483) (
06e8ee28) - Updated SEGGER sysview version to v3.56 (
f3790a01)
Core Dump
- Hide the
--chip-revargument inidf.py coredump-*help because it is need for older ESP-IDF versions only (969ea94a) - Fixed potential checksum errors by using a buffer to write to flash. (
1b71db8d)
GDB Stub
- Supported riscv xesppie extension (
f667ba73)
Documentation
- Corrected LP Core documentation about
esp_idf_monitorusage (33c340a3) - Changed PDF download link to a HTML zip archive download (
813b98ca) - Updated information about debugging the heap. (
0564e9d4)
Ethernet
- Added destination MAC address filter configuration interface (https://github.com/espressif/esp-eth-drivers/issues/57) (
eba9549b) - Fixed ESP32P4 EMAC REF RMII CLK output mode (
6d9fdcf9) - Fixed ESP32P4 EMAC flow control enable (
6d9fdcf9) - Fix second Ethernet device not getting IP address in Ethernet basic example (
39f34a65) - Changed GPIO init to not use functions which "overwrite all the current IO configurations" (
d30e4d99) - Fixed Openeth driver to consider the MAC address specified in QEMU (https://github.com/espressif/qemu/issues/107) (
e06c2346) - Added time stamping support for ESP32P4 Ethernet driver. (
7f07c9de) - Added time synchronization over PTP example. (
7f07c9de)
FreeRTOS
- Introduced Kconfig option
CONFIG_FREERTOS_PLACE_ISR_FUNCTIONS_INTO_FLASHto allow placing FreeRTOS APIs called from ISR context in to Flash memory. (5ba12ea9)
IDF Additions
- Updated
xRingbufferReceive()andxRingbufferReceiveFromISR()APIs to restrict them from being called to retrieve items from allow-split buffers. (a57680c6) - Updated description of the ring buffer API (https://github.com/espressif/esp-idf/issues/15298) (
8778ed28) - Fixed a bug in
prvTaskDeleteWithCapsthat resulted in a crash if the task used a coprocessor. (7559275f) - Fixed a bug wherein a
no-splitring buffer does not receive any item if space on the buffer is acquired until the buffer is full and the acquire pointer wraps around (https://github.com/espressif/esp-idf/pull/14948) (856bba66) - Fixed incorrect API reference for
xRingbufferSendComplete()(https://github.com/espressif/esp-idf/issues/14990) (2cddacd0)
IDF Kernel
- Fixed an issue where automatic light-sleep can cause FreeRTOS ticks to jump and cause unexpected timeouts (https://github.com/espressif/esp-idf/issues/15642) (
6a740a94) - Fixed an issue in HWLP coprocessor support where, due to a hardware bug, the previous context could be incorrectly restored in certain cases. (
d3fd64d6) - Added a Coverity error suppression comment to tasks.c during idle task name copy operation. (
c776de61) - Fixed an issue where the idle task name copy operation could result in an out-of-bounds memory access. (
2c4588bb) - Fixed an issue where the idle tasks in SMP configuration could be non null-terminaated strings. (
2c4588bb)
LWIP
- Fixed IPv6 forwarding to clone PBUF_REF buffers into PBUF_RAM, matching IPv4 behavior. (
49c9d797) - Fixed NULL pointer dereference in ip_napt_enable and added unit tests(https://github.com/espressif/esp-lwip/issues/69). (
83e8f70e) - Changed LWIP_NETIF_API to be always enabled to support standard network interface APIs
if_nametoindex()andif_indextoname()(e11a9185) - Fixed compilation issue with CONFIG_LWIP_DHCP_RESTORE_LAST_IP(https://github.com/espressif/esp-idf/issues/14582). (
73c46b0b) - Fixed ping component to retrieve network interface name in a TCP/IP thread safe manner (https://github.com/espressif/esp-idf/issues/14982) (
ed14b8d3) - Added minimal support for
socketpair()via the external componentsock_utils(https://github.com/espressif/esp-idf/issues/13772) (7e246472) - Added minimal support for
gai_strerror()andgethostname()via the external componentsock_utils(https://github.com/espressif/esp-idf/issues/14849) (7e246472) - Fixed IPv6 raw socket ICMPv6 checksum calculation in IPv6-only configuration (
afb4a02f) - Fixed a bug in
dns_clear_cache()that caused deadlock by clearing active DNS entries(https://github.com/espressif/esp-idf/issues/14287). (e4c92855)
DHCP
- Added a hook to support custom actions on getting an additional DHCP options (https://github.com/espressif/esp-idf/issues/15329) (
0be20a5f) - Fixed DHCP server recv decline issue (
e3583dd0)
DHCP Server
- Added support for multiple DNS servers in DHCP server functionality. (https://github.com/espressif/esp-idf/pull/15057) (
04133e02)
ESP Netif
- Added infrastructure to IGMP and MLD configure MAC address filter based on joined multicast group (
eba9549b) - Added support for additional PPP server properties (DNS servers, passive connection) (https://github.com/espressif/esp-idf/pull/15459) (
23c73cdc) - Fixed IP address notification from DHCP client after lease expiry and renewal (
584fc500) - Fixed esp_netif bridge glue layer for targets with no WiFi support (
e65c9a52) - Enable user to set route priority after esp_netif creation. (
9e2671dc) - Added time stamp value retrieval via L2 TAP interface. (
7f07c9de) - Fixed reassigning the last static IP address after disconnection and reconnection (
cf8dad07)
TCP
- Fixed unlimited PCB issue, allowing application to allocate more TCP connections than configured (https://github.com/espressif/esp-idf/issues/9670) (
890106fb) - Updated mechanism to recycle PCBs also in FIN_WAIT_1 and FIN_WAIT_2 states (
890106fb)
Low Power Features
- Improved esp_timer timing accuracy for esp32 and esp32s2 when esp_pm DFS is enabled. (
cd1601f4) - Fixed the issue that esp32p4 may get stuck when entering deepsleep. (
7f46f615) - Fixed deepsleep leakage after USB HS phy is initialized on esp32p4 (
693dfe6b) - Supported switch to VBAT power supply in deep sleep on esp32p4. (
45f495cb) - Updated the bootloader clock configuration method to not disable the LP Timer interrupt (https://github.com/espressif/esp-idf/issues/15751) (
465b159c) - Allowed to keep SAR ADC power when using ADC_ULP_MODE. (https://github.com/espressif/esp-idf/issues/12426) (
22f0ee54) - Optimized CPU IDLE power consumption by enabling automatic clock gating of CPU/Cache/memory. (
38fcc41f) - Fixed power leakage when external 32k slow clock source detection fails. (
1304fdc3) - Fixed the issue that esp32c2 may fail to wake up after entering deepsleep with external 32 kHz oscillator. (
2d1c99e7) - Warning the use of lightsleep GPIO/UART wakeup source if
PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEPoption is enabled. (e57f02e9) - Fixed the issue that accessing external storage (Flash/PSRAM) after waking up from light sleep may get wrong data when ESP_SLEEP_KEEP_DCDC_ALWAYS_ON is not enabled on ESP32-P4. (
5fd4104d) - Added sleep duration validity check in
esp_sleep_enable_timer_wakeup. (#15255) (e95103aa)
ULP
- Added support for embedding multiple ULP binaries without variable name collisions using binary specific prefixes (https://github.com/espressif/esp-idf/pull/14954) (
57002884)
LP Core
- Updated the LP UART and LP I2C drivers to not enable interrupts but rather use raw interrupt registers to prevent the LP core from jumping to the default interrupt handler and aborting the LP core code. (
c85c74f5) - Added support for LP Timer interrupt on the LP Core (https://github.com/espressif/esp-idf/pull/15717) (
692512c0) - Added wrapper APIs to enable and disable LP IO as a wakeup source from the LP core (https://github.com/espressif/esp-idf/pull/15837) (
382121b8) - Fixed accumulation of wakeup cause bits in ULP (https://github.com/espressif/esp-idf/issues/15794) (
ed964865) - Fixed and issue with the
lp_core_uart_tx_flush()did not wait for the UART Tx idle state therefore, not always flushing all bytes from the UART Tx FIFO (https://github.com/espressif/esp-idf/issues/15433) (47df2ed5) - Added support for LP UART wakeup modes. (
5f37de28) - Added a LP-SPI example for the LP-Core showing reading and writing from a BME280 sensor (
402fecee)
ULP-RISC-V
- Fixed a bug in ADC oneshot driver which incorrectly initialized the ADC peripheral when it is being controlled by the ULP RISC-V core. (
a6c3a9cb) - Fix a bug in the ULP RISC-V interrupt handler that resulted in a corrupted stack upon return (https://github.com/espressif/esp-idf/issues/14930) (
ff12ccfd)
Networking
Examples
- Added DNS over HTTPS (DoH) example (
3b30a63e) - Fixed modbus slave setup mode (https://github.com/espressif/esp-idf/pull/14878) (
b77ecce0) - Added a wrapper function for getaddrinfo() to properly handle the AF_UNSPEC flag. (
e2ae81a1)
PHY
- Added config for esp32c2 to move IRAM func to flash (
e9d2d033) - Fixed the issue that tsens read abnormal value in Wi-Fi STA mode for esp32c2 v2.0. (
e408213b) - Improved esp32s2 recv 24M Block Ack packet performance, revert finally (
578c8b85) - Optimization of RX calibration in high-interference environments (
d5f2447b) - Supported PHY changes for ESP32-H2 revision v1.2 (
915762c5) - Fixed the issue of inaccurate calibration warning information.(https://github.com/espressif/esp-idf/issues/14963) (
7443dded)
Peripheral Drivers
- Supported to skip legacy driver conflict check (https://github.com/espressif/esp-idf/issues/13938) (
c80fa61c)
ADC
- Fixed ADC do not enable/disable regi2c registers (
a4460102) - Fix ADC oneshot read zero after getting done signal on ESP32-P4 (
a446bda4) - Fixed ESP32-S2 ADC calibration loss resolution (https://github.com/espressif/esp-idf/issues/15671) (
37ce74af) - Fixed ADC function register not reset issue on ESP32-H2/C6/C61/C5 (
e21e3f41) - Fix adc oneshot lose power control counts (
7e44f8d3) - Fix ADC oneshot read error after continuous (
7e44f8d3) - Fixed ADC error after bootloader random (
0974d666) - Fixed ESP32P4 ADC continuous mode stop early (
0974d666) - Supported ESP32P4 ADC calibration (
0974d666) - Supported ADC calibration scheme on ESP32C5 (
90f638e5) - Fixed
adc_cali_check_schemereturn wrong supported scheme issue on ESP32-C2/H2/C6 (c9a59095) - Fixed ADC monitor don't work issue. (https://github.com/espressif/esp-idf/issues/14769) (
1a25f688) - Updated continuous mode read API timeout parameter description (https://github.com/espressif/esp-idf/issues/14854) (
08ef00d8)
Analog Comparator
- Fixed the issue that unit1 can't generate the ETM event properly (
f2cf0f0e) - Corrected the supported interrupt priority to 0~3 (
f2cf0f0e)
BitScrambler
- Add support for extra instruction as found in ESP32-C5 (
5d63f251) - Add BitScrambler loopback (memory2memory) driver (
c8d4e1b0)
Camera
- Added SC030IOT DVP camera support to dvp_isp_dsi example (
35708ec1) - Fixed Cache-Safe build error (
6184bdaa) - Added camera/dvp_isp_dsi example that uses a camera sensor with ISP_DVP interface (
0d68aa85)
DMA
- External memory encryption should not affect internal memory alignment (https://github.com/espressif/esp-idf/issues/15228) (
deb703cc) - The asynchronous memory copy driver now supports destination addresses that are not aligned to the cache line size. (
c5865270) - Improved the CP-DMA performance from 480MB/s to 520MB/s on ESP32S2. (
486fd18d)
GDMA
- Support independent registration of Cache Safe ISR for each GDMA channel (https://github.com/espressif/esp-idf/issues/15771) (
4a5d75ac)
GPIO
- Fixed the issue that when USJ PAD is configured as GPIO, the GPIO function is unavailable after waking up from lightsleep. (https://github.com/espressif/esp-idf/issues/15797) (
07acbee5) - Removed misleading LOG in gpio_reset_pin, and changed LOG to debug level for gpio_configure (https://github.com/espressif/esp-idf/pull/15569) (
f3625b0f) - gpio_reset_pin can be called to revoke any IO reservation now (https://github.com/espressif/esp-idf/issues/15598) (
f3625b0f) - Fixed the issue that configuring RTCIO as GPIO causes other initialized RTCIO to function abnormally on esp32s2 & esp32s3. (https://github.com/espressif/esp-idf/issues/10404, https://github.com/espressif/esp-idf/issues/12681) (
79ee0927) - Fixed wrong register write when calling esp_rom_gpio_connect_out_signal for IO number over 31 on ESP32/ESP32S2 (https://github.com/espressif/esp-idf/issues/15209) (
b88f30a0) - Updated rtc_io.h API reference (https://github.com/espressif/esp-idf/issues/13735) (
486c9555) - Allow RTC-IO API to set edge type wakeup sources for targets that support this (
d8de8c6e) - Added gpio_get_io_config API to get IO configuration for a specific IO (https://github.com/espressif/esp-idf/pull/14923) (
4535c272) - Fixed wrong pu/pd/drv values got from gpio_dump_io_configuration for ESP32 RTC IOs (https://github.com/espressif/esp-idf/issues/14931) (
4535c272) - Forbidden to enable pull-up, pull-down on input-only IOs (
4535c272) - Fixed gpio_dump_io_configuration API name typo in programming guide (https://github.com/espressif/esp-idf/pull/15031) (
90a396b4) - improved GPIO set level performance by avoid "read-modify-write" operation (https://github.com/espressif/esp-idf/issues/14674) (
01cd5cf4)
GPTimer
- The start and stop functions are now idempotent (https://github.com/espressif/esp-idf/issues/12325)(https://github.com/espressif/esp-idf/issues/13486) (
e964cc3a) - Fixed the issue with esp32p4 losing GPTimer context after lightsleep when the peripheral power domain is powered off. (
1b44d4df) - Fixed race condition between gptimer_start and gptimer_stop (https://github.com/espressif/esp-idf/pull/14767) (
4b9d9a19)
I2C
- When the driver enables GPIO pull-up, it will also disable the internal pull-down accordingly. (https://github.com/espressif/esp-idf/issues/15774) (
4bec8b5e) - Fixed the issue that fsm reset would cause I2C SCL frequency changed on ESP32-S2 (https://github.com/espressif/esp-idf/issues/15724) (
ce15bc27) - Fixed clear bus issue in legacy i2c driver (https://github.com/espressif/esp-idf/pull/15638) (
ccb4384d) - Fixed uses i2c customize api read one byte cause error (https://github.com/espressif/esp-idf/issues/15685) (
f8ecc488) - Fixed auto selection i2c slave device cause error (https://github.com/espressif/esp-idf/issues/15644) (
8a0e310d) - Fixed stretch causes timeout in i2c probe (https://github.com/espressif/esp-idf/issues/15589) (
d5b05201) - Fixed array size of static array (https://github.com/espressif/esp-idf/issues/15583) (
34b69e80) - Fixed race condition issue (https://github.com/espressif/esp-idf/issues/15444) (
9a917658) - Fixed clock speed is wrong on esp32s2 with legacy i2c driver (https://github.com/espressif/esp-idf/issues/15301)(https://github.com/espressif/esp-idf/issues/14603) (
32866513) - Enhhance i2c delete devices and buses logic (https://github.com/espressif/esp-idf/issues/15171) (
e73d78ba) - Add api for customize i2c transaction interface for nonstandard i2c device (
a245a316) - Added an API for changing i2c slave address on same device. (https://github.com/espressif/esp-idf/issues/15011) (
ce131ee4) - Add 10bit address support on esp32 (
9bdbd45e) - Added a get-started example for i2c master driver (https://github.com/espressif/esp-idf/pull/14315) (https://github.com/espressif/esp-idf/issues/14902) (
99013d25) - Reduced the chance of I2C data corruption due to hardware issue in FIFO handling (https://github.com/espressif/esp-idf/issues/12860) (
2166722f) - Enhance lp i2c clock source selection (https://github.com/espressif/esp-idf/issues/14908) (
6b735e01) - Fixed I2C return without release the lock (https://github.com/espressif/esp-idf/issues/14906) (
6b735e01) - Refactor i2c slave driver and make it easier to use. (
d74e99c0) - Fixed bus handle check so that it will not panic when there is no free bus, (https://github.com/espressif/esp-idf/issues/14819) (
26932219) - fix(i2c): Fix some issue in programming guide, (https://github.com/espressif/esp-idf/issues/14794) (
26932219)
I2S
- Fixed the false buf catenate while use preload (Closes https://github.com/espressif/esp-idf/issues/15775) (
823785aa) - Added check for minimum sample rate (https://github.com/espressif/esp-idf/issues/15659) (
84bfea45) - Fixed i2s inappropriate check and assign sequence (https://github.com/espressif/esp-idf/issues/15648) (
2ff19854) - Added check for i2s DMA buffer array allocation (https://github.com/espressif/esp-idf/issues/15607) (
3cbd3914) - Fixed failure when GDMA is set IRAM_SAFE but I2S not (https://github.com/espressif/esp-idf/issues/15533) (
87aa9ec5) - Fixed i2s_std initializer order for cpp compiler and guarantee all initializers cpp compatible (https://github.com/espressif/esp-idf/issues/15405) (
9f489c2a) - Support to tune the audio rate during the runtime. (
1bd8fabf) - Fixed clock not update issue when re-configure the slot (https://github.com/espressif/esp-idf/issues/15256) (
fb72b2cb) - Fix uninitialize warning for the default macros (https://github.com/espressif/esp-idf/issues/15271) (
fb72b2cb) - The max TDM frame bits have limitation on ESP32-C3/S3/C6, add check for the TDM frame bits number to make sure it is valid. (
8583c1f2) - Fixed incorrect DMA buf size calculation for 8-bit & 24-bit data width. (
25de0937) - Supported to choose PA_CTRL gpio for
i2s_es8311example. (25de0937) - Report error when the division from clock source to MCLK is less than 2 (because mclk_div at least to be 2 in hardware). (
25de0937) - Refactor I2S example common dependencies, make them an example common component (https://github.com/espressif/esp-idf/issues/14751) (
12fb443e) - Removed the least 2 slots limitation for the PCM short format in TDM mode (https://github.com/espressif/esp-idf/pull/14879) (
874ce4ed) - Supported PDM data format (RAW/PCM) selection (
56349e6d)
ISP
- Supported bypassing ISP to receive data from MIPI CSI (
f3f3cad0) - Supported byte endianness swapping (
f3f3cad0) - Fixed the issue that calling esp_isp_demosaic_disable for non-RAW output format would cause data incorrectness (
ebdb804d) - Added LSC programming guide (
4c9154ba)
JPEG
- Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (
c07e2705) - Fixed handing of invalid JPEG marker (
430bb9dc) - Added support for decoding JPEG images without Huffman table (
e12db428) - Correctly set JPEG restart interval (
f7bfa95d) - Fixed get wrong gray information via get_information api (
d1c0d6e5) - Fixed the com marker size when encoding a picture (
3cc9d426) - Fixed wrong parameter in jpeg encoder memory sync which leads to cache error. (
5a04cfde) - Fixed random black line appearance while jpeg decode (
5a04cfde)
LCD
- Fixed the infinite wait when lvgl timer is no ready in example (https://github.com/espressif/esp-idf/pull/15853) (
74f0ad50) - Supported XPT2046 in the SPI LCD example (https://github.com/espressif/esp-idf/pull/15414) (
2011b9f0) - Fixed the issue that SPI LCD device initialization breaks the IO setting of others (https://github.com/espressif/esp-idf/issues/15478) (
b815cb18) - Fixed the issue that the restart buffer failed to mount to the DMA when memory encryption is enabled (https://github.com/espressif/esp-idf/issues/15228) (
cb9257da) - Fixed the drift issue caused by restart of the LCD screen (https://github.com/espressif/esp-idf/issues/15013) (
67bbe377) - Fixed the issue that when Flash encryption is enabled, PSRAM buffer fail to mount to the DMA (https://github.com/espressif/esp-idf/issues/15228) (
9a0e0978) - Fixed the issue that RGB_LCD stops working occasionally after software restart (
4393a0d0) - Increased the upper limit of PCLK frequency for RGB LCD (
0c909888) - Fixed wrong calculation for the pixel clock in the ESP32-P4 LCD_CAM (
0c909888) - Supported to simulate SPI/I80 interface LCD by Parlio peripheral (
96323188) - Fine tune MIPI DPHY PLL setting to generate the closest frequency (
59174716) - Support color conversion for MIPI LCD driver (
ad476afb) - Fixed wrong return type in
esp_lcd_new_panel_io_i2cwhen build for C++ project (e1a3ff15) - Updated the i2c_oled example to use LVGL v9. (
fc5b392c)
SPI_LCD
- Speed up the DC signal toggling in the SPI LCD IO driver (https://github.com/espressif/esp-idf/issues/15160) (
3195bdca)
LDO
- LDO can output the voltage reaching power rail 3.3V (
cf8521ab) - Output voltage is calibrated with eFuse data (
05beacad)
LEDC
- Fix potential assert failure in ledc_fade_stop due to race condition (https://github.com/espressif/esp-idf/issues/15580) (
95f8eb12) - Fixed potential incorrect PWM output at relatively high frequency for ESP32-C6/H2/P4 (
974910d4) - Fixed depending on gpio header but don't depends on it (https://github.com/espressif/esp-idf/issues/15174) (
ef5dad5b) - Deprecated ledc_timer_set() API, where its functionality can be completely replaced by ledc_timer_config() and ledc_set_freq() (https://github.com/espressif/esp-idf/issues/14884) (
aae5321c) - Fixed ledc_get_freq() returned frequency error due to calculation overflow (https://github.com/espressif/esp-idf/pull/14882) (
aae5321c)
LP_I2S
- Added LP I2S and LP VAD programming guides (
038a6667)
MCPWM
- Fixed the issue that MCPWM output wrong frequency during DFS on ESP32 and ESP32-S3 (
4f56bba2) - GPIO pull-up/down will be automatically disabled when the driver GPIO pull-up/down flag is not set.(https://github.com/espressif/esp-idf/issues/15774) (
4bec8b5e) - Added MCPWM sleep retention support (
6b54dfc6) - Added description of special deadtime configurations and added checking in the driver(https://github.com/espressif/esp-idf/issues/14773) (
57eddeb3)
PARL_IO
- Supported to embed a BitScrambler program in the
parlio_tx_unit_transmitfunction (929e1495) - Supported to set start/stop delay for valid signal on ESP32C5 (
c4768eaf) - Added programming guide for PARL_IO_TX. (
a25e7ab5) - Supported the infinite loop transmission for PARL_IO_TX. (
8e591a21) - Fixed line address error in simple rgb matrix example. (
f0cee06d) - Fixed an issue where prematurely disabling PARL_IO TX caused errors in subsequent transmissions. (
fce82302) - Updated the rgb_matrix example to use LVGL v9. (
ef437b7b)
PCNT
- Fixed a typo in the
PCNT_LL_MIN_LIM(https://github.com/espressif/esp-idf/issues/15554) (3447c723) - Supported step notify on ESP32H2 chip version v1.2 (
d2b87ace) - Added documentation about pull-up/pull-down (https://github.com/espressif/esp-idf/issues/14277) (
b79c7f0f)
PPA
- Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (
65044efa)
RMT
- Fixed the race condition when between
rmt_receiveand receive ISR (https://github.com/espressif/esp-idf/issues/15842) (da503640) - Enhanced the
rmt_receive_config_terror message (https://github.com/espressif/esp-idf/issues/15836) (da503640) - Added
RMT_ENCODER_FUNC_ATTRto decorate the RMT encoder functions (https://github.com/espressif/esp-idf/issues/15832) (1481ecbb) - TX channel can switch to different GPIO at runtime. (
f56cc82c) - Added a new encoder for RMT TX driver, it allows the whole encoding session being controlled by the BitScrambler program. (
34280444) - Fixed the panic when the number of received symbols is a multiple of the memory block size. (
54d7bec1) - Fixed the wrong reset code duration in the simple encoder example (https://github.com/espressif/esp-idf/issues/15498) (
ca2e1c71) - Use debug log for conditions where user buffer can't accommodate the received data. (https://github.com/espressif/esp-idf/pull/15225) (
b6c94a19) - Supported to set slower channel resolution. (https://github.com/espressif/esp-idf/issues/14760) (
e3cf1056) - Fixed the channel resolution divider rounding issue (https://github.com/espressif/esp-idf/issues/15092) (
4e2dad62) - Added a function to return the real clock resolution of a channel (https://github.com/espressif/esp-idf/pull/15074) (
0765659d) - Enable the internal pull-up resistor in the onewire bus example (
8694f893)
SDIO Slave
- Added SDIO Slave driver support on ESP32-C5 (
67e5e59d) - Fixed issue that SDIO Slave peripheral may be powered off in lightsleep on C6, H2 and P4 (
676f5194)
SD_HOST
- Supported UHS-I SDR50 (100MHz, 50MB/s), DDR50 (50MHz, 50MB/s) on ESP32P4 (
ed8ec9de)
SDMMC
- Fixed transfer timeout due to higher priority tasks (https://github.com/espressif/esp-idf/issues/13934) (
f2140813) - Fixed SDMMC peripheral deinitializating GPIO pins which were defined but not used due to slot width (https://github.com/espressif/esp-idf/issues/15328 https://github.com/espressif/esp-idf/issues/15330) (
de053738) - Request the SD card to send the number of the written write blocks (ACMD22) if write multiple blocks fails (CMD25). (
b2e0bd92) - Fixed multiple definitions of SD Card example pins issue in project Kconfig file (
10a210d0) - Fixed all pins need to be set issue when using slot0 on ESP32P4 (
10a210d0)
SPI
- Fixed the issue that driver objects may be allocated from PSRAM unintentionally (
1bbb20cf) - Supported place slave_hd driver code to flash to save IRAM by disabling
SPI_SLAVE_ISR_IN_IRAM(50be9735) - Added enabld/disable API for power management in slave and slave-hd driver (
f2c8b320) - Support change device's frequency by
spi_transaction_t::override_freq_hz(https://github.com/espressif/esp-idf/issues/13753) (c7a0e454) - Supported SPI slave and slave HD driver sleep retention on ESP32C6/H2/P4/C5/C61 (
b0be36de) - Fixed P4 spi master no DMA polling transaction error on cache sync. (
dee6ad56)
SPI Master
- Fixed SPI stop after remove devices which using RC_FAST as clock source on ESP32C6 and H2 (
68b79fc1) - Supported rx sample point adjust using
spi_device_interface_config_t::sample_pointon esp32h2 v1.2 and later. (d78f270b)
SPI Slave
- Fixed HD example and driver error with
addr&len not align to 64on ESP32-P4 (3b4f2a9a)
SPI Flash
- Added mutual exclusion between
CONFIG_SPI_FLASH_ROM_IMPLandCONFIG_ESPTOOLPY_OCT_FLASH(64ff6ec2) - Added flash suspend chip version check on esp32h2 and esp32c6 (
628cca14) - Fixed flash encryption write verify (https://github.com/espressif/esp-idf/issues/15380) (
eb5c2485) - Add
CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAMfor moving some flash functions from iram to flash in order to save RAM memory (dbd2aa8c) - Fixed build fail when rom_patch config disabled (https://github.com/espressif/esp-idf/issues/15229) (
0cc16717) - Add a configuration to enable auto suspend status check to improve performance. (
bd5945d1) - Fixed double exception after Flash no-OS API caused by branch predictor on ESP32-P4 (
f93e720c) - Fixed Cache states not recorded issue when using Flash no-OS APIs on ESP32-H2/P4/C6 (
f93e720c) - Add a new example for supporting customized nor flash driver which can be used both in app and bootloader (
2b1c27fe) - New feature for software resume when auto-suspend enabled, improve performance (
df1a7d5b) - Add suspend support on a winbond chip (
e84b59cf)
TWAI
- Added a unified driver interface to support both TWAI and TWAI-FD peripheral (
a16f621e) - Fixed twai assert failed during recover (https://github.com/espressif/esp-idf/issues/9697)(https://github.com/espressif/esp-idf/pull/15484) (
991acde4) - Fixed C++ warning of macro
TWAI_GENERAL_CONFIG_DEFAULT(https://github.com/espressif/esp-idf/pull/15144) (db07b97a) - Fixed other node got BUS-OFF when twai init. (https://github.com/espressif/esp-idf/issues/14548) (
90e71bfa)
Temperature Sensor
- Fix the doc and return value is not consistent (https://github.com/espressif/esp-idf/pull/15850) (
e981f0b7) - Fixed the temperature sensor return wrong values when
ESP_WIFI_ENHANCED_LIGHT_SLEEPis enabled on esp32c6. (65577b9c) - Fixed temperature sensor sleep retention on esp32p4 (
9382c9a4) - Added temperature sensor calibration on ESP32-C2/C6/H2/P4 (
9677a492)
Touch Element
- Fixed the missing programming guide of Touch Element on ESP32-S3 (https://github.com/espressif/esp-idf/issues/15755) (
1522efa9)
Touch Sensor
- Fixed concurrent issue in the legacy touch v1 (esp32) driver (
cee5a3d3) - Fixed the issue that tie option doesn't take effect. (
762cf053) - Fixed touch read WDT timeout issue on esp32 (https://github.com/espressif/esp-idf/issues/15629) (
5b185da0) - Support ULP touch sensor driver on ESP32-P4 (
afda4c18) - Support runtime re-configuration for debug purpose (
581cbca5) - Checks if the timer is active before stopping it (legacy driver) (
83547737) - Fix unexpected touch start on RTC peripheral init (legacy driver) (
83547737) - Support ESP32 in the new touch driver. (
57a893d2) - Support RTC power down during the sleep. (
c39b8729) - Support ESP32-S2 & ESP32-S3 in the new touch driver. (
cb4442d9) - Adjust touch channel number on P4 from 0-13 to 1-14. (
80abd1c7) - Fixed calculation of sleep intervals. (
80abd1c7)
UART
- Eliminated the possibility of garbled data sent/received from the UART port during sleep process (
dbfb663b) - Added UART DMA driver support (
f66a750a) - 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. (
8e25a37f) - Fix wrong unit conversion from knots to m/s in uart/nmea0183_parser example (https://github.com/espressif/esp-idf/issues/15695) (
d11ccf81) - Add check for malloc success in uart examples (https://github.com/espressif/esp-idf/issues/13405) (
d11ccf81) - Added uart_detect_bitrate_bps API for data line bitrate detection (https://github.com/espressif/esp-idf/issues/14721) (
2ee8c066) - Updated uart_get_baudrate API documentation (https://github.com/espressif/esp-idf/issues/15449) (
2ee8c066) - Corrected the misleading in the driver to ensure clarity that the LP UART can't support very low baud rate (2400bps, 1700bps, etc.) (https://github.com/espressif/esp-idf/issues/15427) (
2fabe6ff) - Enlarged default task stack size for uart_async_rxtxtasks example to avoid stack overflow (https://github.com/espressif/esp-idf/issues/15363) (
fd2df5e2) - Updated programming guide to align configuration orders with the example codes (https://github.com/espressif/esp-idf/issues/13182) (
fd2df5e2) - Fixed the issue of UART wake-up failure caused by an incorrect UART wake-up threshold on the ESP32-C61 (
9c421495) - Resolved ESP32-P4 UART initialization get stuck issue when monitor through USB Serial JTAG port (
547fa88a) - Allowed TX and RX configure to the same pin in uart_set_pin (https://github.com/espressif/esp-idf/issues/14787) (
78a69051) - Fixed potential UART_SELECT_READ_NOTIF race condition (
78a69051) - Changed UART VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size (
50aeec2f) - Changed UART VFS read() to treat end-of-line characters as regular bytes, with no early return (https://github.com/espressif/esp-idf/issues/14155) (
50aeec2f)
USB
- Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (https://github.com/espressif/esp-idf/pull/15932, https://github.com/espressif/esp-idf/issues/15912) (
a652a847) - Changed USB CDC VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size when in non blocking mode (
5a0e1615) - Added support for OTG1.1 PHY on ESP32-P4 (
70ead76a) - Added select functionality to the USB CDC driver (
1fa268c7) - Fix tusb_midi example stack overflow (https://github.com/espressif/esp-idf/issues/14825) (
4b79cb96) - Updated ESP32-P4 USB pins for mass production version (https://github.com/espressif/esp-idf/issues/16136) (
c8377123)
USB Device
- Updated USB MSC Device documentation with performance optimization results for ESP32-S3, ESP32-P4, and ESP32-S2. (
ea57c1b4) - Fixed incorrect pull-up resistor settings on the USB PHY that prevented the device from being detected by the host. (
409af75a)
USB Host
- Allocate DMA capable memory to external ram on ESP32-P4 (
ac12d560) - Fixed heap corruption (https://github.com/espressif/esp-idf/issues/15815) (
4b15ef70) - Added support for Low-Speed devices connected through Full-Speed HUB (https://github.com/espressif/esp-idf/issues/15683) (
0ead3627) - Fixed possible deadlock when closing a device that was not previously opened (
a3864c08) - Added support for multiple MSC devices in the USB MSC Host example. (
9f421f54) - Fixed host channel number calculation for ESP32-S3, ESP32-P4, and ESP32-S2. (
d53b0a91) - Added support for Low-speed devices, connected via external Hubs to Full-speed peripheral (
d7222cc8) - Fixed panic on Full Speed periodic endpoints on ESP32-P4 (
dfcc0b22) - Fix reaction on High-Speed NYET packet (
f029ad20) - Fixed spelling in USB HID Host example (https://github.com/espressif/esp-idf/pull/14738) (
e613fcde) - Fixed spelling in USB Host lib example (https://github.com/espressif/esp-idf/pull/14858) (
5532fa8e) - Fixed return value in the memory allocation failure case within `usb_host_client_register() https://github.com/espressif/esp-idf/pull/14859) (
1e7098fe) - Added support for 2 USB instances on ESP32-P4 (
1805efb0) - Improved stability of the USB Host Library with external hubs (
191a24cb) - Added support for custom FIFO sizing via HAL API (
3fe9252c)
USB Serial JTAG
- Fixed wrong return value from
usb_serial_jtag_write_byteswhen encounter invalid input parameters (https://github.com/espressif/esp-idf/issues/15620) (e8c48dbd) - Add missing break statement (https://github.com/espressif/esp-idf/pull/15499) (
f884c4a9)
Power Management
- deepsleep current decrease about 7uA for C61 (17uA -> 10uA) (
10a690fe) - Fixed the issue that TBTT interrupt timing error when BLE low power clock source is configured to use main xtal on ESP32-C6 v0.1 and later version (
c5082073) - Fixed possible assert in
vTaskStepTickafter turning on auto light sleep (fe3da716) - Optimized IRAM memory usage in the esp32c2 power management module (
186f2a89) - Fixed the issue of modem wakeup req always high caused by pmu min slp cycle update (
b93ac473) - Added runtime sleep clock control for peripherals to be used/kept during light sleep (
921cfa0a) - Fixed the issue of WiFi BB FSM hang caused by modem system clock synchronization (
05d7a4c2) - Fixed the issue of mmu table content loss due to default sd signal for esp32c61 (
06aea27e) - Fixed wifi power save beacon timeout issue and optimize phy sleep for esp32c5 (
76754569) - Fixed the issue of abnormal leakage current caused by floating and isolation of the Flash or PSRAM CS pin during sleep (
9c421495) - Fixed the issue of cpu execution exception caused by floating and isolation of the Flash and PSRAM CS pin during sleep (
9c421495) - Fixed esp32p4 USB OTG phy suspend failure causing high power consumption in light sleep. (
01b1191e) - Fixed the crash of esp_pm auto-lightsleep when
PM_TRACEis enabled. (35cdecb1) - Fixed the JTAG IO current leakage issue when esp32p4 turns off RTC_PERIPH power domain in deepsleep (
bba3063b) - Fixed bbpll cali fail bug under low temp on ESP32-H2. (
2b6894eb) - Fixed issue of ESP32-C5 and ESP32-C61 fail to enter light sleep using EXT1 wakeup source after disable exited EXT1 IO and enable other EXT1 IO (
b4e28be7) - Fixed a deadlock that occurred when a high-priority task and a low-priority task changed PM mode at the same time (
c5ada2e8) - Supported to query PHY RF used time. (
c8b67235) - Fixed the issue of wifi rx packet loss when switchng soc root clock source (
1f479754) - Fixed the issue of mmu table content loss due to default sd signal (
1f479754) - Fixed CPU switch fail due to bbpll cali fail bug under low temp on ESP32-H2 (
63fdde6c) - Improved esp_timer timing accuracy after light sleep is rejected (
ae4c4464) - Fixed the issue that ESP32C5 TX packet failed when DFS enabled (
12191f26)
Security
- Fix secure OTA without secure boot issue for MMU page size configurable SoCs (https://github.com/espressif/esp-idf/issues/15936) (
29520e98) - Fix secure boot (ECDSA) build failure for ESP32-C6 target (https://github.com/espressif/esp-idf/issues/15856) (
f7398c5b) - Fixed a bug that resulted in a boot loop when a memory protection fault occurred on ESP32-S2 (https://github.com/espressif/esp-idf/issues/15359) (
e81a9285) - Fixed Memory protection interrupt check for ESP32S2 (PERI1 bus) (https://github.com/espressif/esp-idf/issues/15359) (
af0f270e) - Added support for ESP-TEE (Trusted Execution Environment) on ESP32-C6 (
9ee8daf3)
ESP-TLS
- Fixes IPv6 connection failure when target is set to Linux(https://github.com/espressif/esp-idf/issues/15812) (
fd4f74a5) - Added option to set TLS handshake timeout. (
877057db) - Enabled secure element support for all chips. (https://github.com/espressif/esp-idf/pull/14785) (
43a72485) - Add support for async API for esp_tls_server_session_create (https://github.com/espressif/esp-idf/pull/14493) (
030c9957) - Added support for TLS-PSK authentication for servers (
36d5d8c3)
Flash Encryption
- Support XTS-AES pseudo round function on ESP32H2 chip version v1.2 (
a45b6e7b)
MbedTLS
- Adds support for dynamic buffer for TLS 1.3 handshake. (https://github.com/espressif/esp-idf/issues/15448) (
ff555428) - Fixes certificate verification errors affecting TLS 1.3 connections and digital signing peripheral.(https://github.com/espressif/esp-idf/issues/14907) (
11890df9) - Update mbedTLS version to 3.6.3. (
21f59bd0) - If using MbedTLS for server certificate verification, it is mandatory to call
mbedtls_ssl_set_hostnamebefore the connection begins. No change is required if the application usesesp-tlslayer. (21f59bd0) - Make mbedtls SHA1 software support configurable (
8e4cbdfe) - Updated the default root certificate bundle (cacrt_all.pem - 25 Feb 2025) (
2c68d2d2) - Updated the deprecated root certificate bundle (cacrt_deprecated.pem - 25 Feb 2025) (
2c68d2d2) - Support AES pseudo round function on ESP32H2 chip version v1.2 (
a45b6e7b) - Fix external memory corruption caused due to unaligned length cache sync of external memory buffers (
f6591ab8) - When using the
esp_sha_block()andesp_sha_dma()APIs, the SHA mode needs to be explicitly set using theesp_sha_set_mode()API. (b37d4b33) - 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. (b37d4b33) - Fixes failing TLS handshake when running HTTPS Server with TLS1.3 (
6e82c7a0)
Storage
- Fixed linking issues related to
chmod(https://github.com/espressif/esp-idf/issues/14174) (37652904) - Added support for std::filesystem (https://github.com/espressif/esp-idf/pull/13736) (
37652904)
FATFS
- Changed
VolToPartvariable to be non-const to allow for run-time modification (https://github.com/espressif/esp-idf/issues/14148) (93ff1aec) - Improved assert check semantics (https://github.com/espressif/esp-idf/pull/15247) (
f945dae6) - Added options
CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNTandCONFIG_FATFS_DONT_TRUST_LAST_ALLOCto control how free space is calculated for a FATFS volume (https://github.com/espressif/esp-idf/issues/15241) (58fbcfb4) - Make the diskio functions static (https://github.com/espressif/esp-idf/issues/15248) (
b0aac120)
LittleFS
- Added support for LittleFS image generation on Windows (https://github.com/espressif/esp-idf/issues/12900) (
4a444c80)
NVS
- Fixed erasing of old value if the new value has different type for blobs (https://github.com/espressif/esp-idf/issues/15559) (
0b8f661c) - Updated nvs storage examples and addded nvs console example to 'examples/storage/nvs' (
d69378cd) - 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) (https://github.com/espressif/esp-idf/issues/15317) (
3ab1ddaa) - Fixed
nvs_tool.pyto properly format JSON output. Additionally, cleaned up text minimal format output (https://github.com/espressif/esp-idf/issues/15274) (18f514a4) - Added support for reading encrypted NVS partitions by the bootloader (
b5ee0282) - Fix NVS partition being incorrectly marked as encrypted by the build system (
b5ee0282) - Added limited support of nvs for bootloader (
8255ba29)
VFS
- Removed leakage of std namespace from header file (https://github.com/espressif/esp-idf/pull/15656) (
decbd360) - Fixed incorrect level of log messages (https://github.com/espressif/esp-idf/issues/14327) (
b5ac4fbd) - Fix incorrect open and close behavior for
/dev/console(85dd8c05)
System Hardware
- only detect VDD digital for ESP32-C5 / C61 (
10a690fe) - not support C5_ECO0 & C61_ECO0 / C61_ECO1 (
10a690fe) - Fixed compile error on esp_cpu_int_has_handler on ESP32-P4 (GitHub PR) (https://github.com/espressif/esp-idf/pull/15942 https://github.com/espressif/esp-idf/issues/15941) (
27b85137) - Improved voltage convergence of C5 chips for better stability (
27593562) - Fixed the issue that xtal32k may fail during startup (
37c3ed63) - Fixed esp32s3 possible cache_error triggered by another core accessing flash in esp_restart (
aa2f638e) - Switched to flashing with stub with ESP32-C3 when USB Serial/JTAG mode is used (
7317d96b) - Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (
50e3a2bc) - Supported ESP32-H2 revision v1.2 (
9b876d93) - Supported ESP32-C2 chip rev2.0 (
93aea4f6) - Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. 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/P4, this option is completely removed. (
87716075) - Fixed the issue that after OTA application changes the slow clock source, the modem module not work during lightsleep on esp32c6/esp32h2/eps32c5/esp32c61. (
f5ae64bf) - Fixed a possible crash on esp_restart if PSRAM is used (
56db9a28) - Fixed the issue that after OTA application changes the slow clock source, the RTC slow clock is missing and causes a stuck at
esp_restarton esp32c6/esp32h2/esp32p4. (cceadc4c)
BOD
- Add callback function for brownout detector (https://github.com/espressif/esp-idf/pull/15661) (
ff165271) - Add RTC battery backup support on ESP32-H2 (
d8166220) - Remove config on P4 v0.x, use a fixed value around 2.52v instead (
0546805f)
Cache
- Support cache build for pure RAM app (
852466ea) - Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (
da316111) - Fixed
Cache_Count_Flash_PagesAPI wrong couting issue (https://github.com/espressif/esp-idf/pull/15262) (d6aff6d2)
Efuse
- Supported eFuses for ESP32-C5 ECO2 (v1.0) (
01e9f8f3) - Added efuse ADC calibration fields for ESP32-P4 (
ce608534)
MMU
- Fixed API thread-safety in
esp_mmu_map.h(https://github.com/espressif/esp-idf/pull/15564) (b45b29ae) - Fixed
esp_mmu_vaddr_to_paddrcannot figure out virtual addresses from PSRAM issue on ESP32P4 (f8ff9e47) - Supported call esp_mmu_paddr_find_caps with any physical address offsets (https://github.com/espressif/esp-idf/issues/14988) (
6616a759) - No longer disable Cache when doing external memory mapping on ESP32S3, C3, C2, C6, H2 (
908ff6e5)
MSPI
- Improved the selection of timing tuning points when the last few tuning points succeed consecutively (
54238257) - Improved the PSRAM timing tuning configurations on ESP32P4 (
54238257) - Fixed CPU and MSPI frequency mismatch issue leading to watchdog reset during sleep flow on ESP32P4 (
19bff0e4) - Fixed startup stuck under Flash QIO and XIP_PSRAM 200MHz condition (https://github.com/espressif/esp-idf/issues/14979) (
1ddf0052) - Supported 120MHz Flash frequency timing tuning on ESP32P4 (
4cb18200)
PSRAM
- Supported configuring PSRAM to 80 MHz on ESP32P4 (
b4abab38) - Supported UnilC Octal PSRAM on ESP32S3 (
847ac1a7) - Fixed external RAM .bss and .noinit section vaddr calculations (https://github.com/espressif/esp-idf/pull/15513) (
b0f83425) - Fix incorrect calculation of used XIP PSRAM pages that lead to wastage of some physical pages of PSRAM thus leading to increase in available heap. (
37a4de8a) - Supported Quad PSRAM Error Correcting Code (ECC) feature on ESP32C61 and ESP32C5 (
cc181920) - Fixed bad timing when reading mode registers on Octal and Hex PSRAMs (
e02cde89) - Fixed ESP32 PICO-V3 psram enabled but not ignored issue (https://github.com/espressif/esp-idf/issues/14970) (
33c26371) - Fixed PSRAM pointer check error issue when XIP_PSRAM is enabled on ESP32P4 (https://github.com/espressif/esp-idf/issues/15997, https://github.com/espressif/esp-idf/pull/15999) (
1a40b106)
TCP Transport
- add API to configure SSL cipher suites (https://github.com/espressif/esp-idf/pull/15868) (
081de6dc) - Added an API to configure the addr family (
aad91f9e) - Fixed API to correctly handle error conditions when the server sends data and an error simultaneously. (https://github.com/espressif/esp-idf/issues/14673) (
fcd70606) - Added interface to get underlying socket from transport (https://github.com/espressif/esp-mqtt/issues/282, https://github.com/espressif/esp-protocols/issues/636) (
2deeaece) - Fixed partial reads of Websocket header (https://github.com/espressif/esp-idf/issues/14704, https://github.com/espressif/esp-idf/pull/14706) (
cbbb85fe)
Toolchain
- Upgraded openocd version to v0.12.0-esp32-20250422 (
dc91d32f) - Upgraded Clang toolchain version to esp-19.1.2_20250312(https://github.com/espressif/esp-idf/issues/15731) (
0181d1b1) - Added standalone Clang libraries distribution as a tool (
0181d1b1) - Upgraded gdb version to 16.2_20250324 (
4bfb8975) - Add support to link with picolibc (enable with "CONFIG_LIBC_PICOLIBC=y") (
f297a9d4) - Upgraded toolchain version to esp-14.2.0_20241119 (
91858ef3)
Tools
- Added ability to read tool version from the file specified with
tool_info_filekeyword intools.json(0181d1b1) - Fixed processing of packages with dots in their names in Python dependency checks (
0b56c58e) - Added input validation of optional install features (
cf5989ca) - Fixed deprecation warnings when using
extractall()on Python 3.12 and newer (b4be4c2a) - Deactivated the previously set ESP-IDF environment every time the export script runs (on Unix systems only) (
cd1c5aa0) - Added a check before clearing IDF_PYTHON_ENV_PATH to prevent unintentional data loss when incorrectly set. (
7125ee5a) - Docs: Added missing
python-pipinstall dependency for ArchLinux (https://github.com/espressif/esp-idf/pull/15527) (2433000d) - Included basic system information in the diagnostic report (
57b2ef83) - Allowed passing purge file as an argument to idf-diag (
395984e4) - Avoided generating intermediate placements without sections in ldgen (
814c5f1c) - Added BitScrambler assembler and related unit tests (
c8d4e1b0) - Enforced
utf-8encoding with Pythonopen()function. (16ba8b7e) - Added idf_diag.py diagnostic tool that collects information about ESP-IDF and failed build to assist in investigating reported issues (
9da2e3ad) - Improved suggestion for fixing missing header file (
56032589) - Added detected
ESP_PYTHONfor executingactivate.pyinexport.fish(https://github.com/espressif/esp-idf/issues/15058) (a16f3590) - Fixed a bug so creating a project or a component with idf.py preserves the file mode of ESP-IDF files (
757d74ab) - Enabled enforcement of the
IDF_PATHenvironment variable for path detection in theexport.shscript by settingIDF_PATH_FORCE=1. (475e4b1d) - Added DFU support for ESP32-P4 (
a57e4d7b) - idf_tools.py: pip and setuptools are upgraded separately so the setuptools version dependency would be handled by the upgraded pip (
82c26fd6) - Respected the
IDF_PYTHON_ENV_PATHvalue in the export scripts (https://github.com/espressif/esp-idf/issues/15006) (93a604df) - Fixed a typo in the QEMU documentation (https://github.com/espressif/esp-idf/pull/14966) (
e61653e6) - Added an informational message to install/export scripts about the current IDF_PATH being used or set (
a2c399c0) - Added information about the
idf_version.txtfile storing the ESP-IDF version in each Python environment directory (4110d148) - Documented the need to set the
ESP_IDF_VERSIONenvironment variable while performing custom installation (4110d148) - Added autocomplete for @-arguments of idf.py with file names (
cef2624e) - IDF Monitor: Enabled decoding addresses and panic outside of the main app (e.g. bootloader, ULP, TEE) (
6495a831) - Added basic description about SBOM (Software Bill of Materials) for ESP-IDF projects (
7fcbdb9c) - Python 3.8 is no longer supported by the community, therefore, ESP-IDF installations will require Python 3.9 or newer versions (
30b13b13) - Displayed additional details if imports in idf.py are unsuccessful (
5bae0b92) - Used the
--unifyoption with esp-idf-size to combine sizes for same output sections, such as .bss (cf087cb8) - Guides for project configuration and component configuration are added, together with an overview of various files participating in the configuration of ESP-IDF project (
06508329) - Improved activate.py error messages and added information on enabling detailed debug option. (
72308ca0) - IDF Monitor: Added note about limitation of auto coloring feature with multiline messages (https://github.com/espressif/esp-idf/issues/15793) (
4a210608)
Wi-Fi
- Fixed esp32c2 and esp32s2 TCP TX throughput shake issue (
121db0d7) - Added support for the ESP32C5 revision v0.2. (
7141b955) - Returned more information in ESPNOW send callback (
2b390b2b) - Added TX callback function for ieee80211_tx (https://github.com/espressif/esp-idf/issues/13319) (
2b390b2b) - Changed espnow sending callback function parameter
mac_addrtoesp_now_send_info_t. (2b390b2b) - Improve and enable bss max idle support for all chips (
683fd03a) - Separate the LR bit in PHY mode for station and SoftAP (https://github.com/espressif/esp-idf/issues/9978) (
488e1f88) - Added support for SoftAP SAE extended key (
80f172bb) - Supported service specific info in NAN service discovery frames (https://github.com/espressif/esp-idf/issues/12473, https://github.com/espressif/esp-idf/issues/13366) (
45916582) - Added timer to send wake null after STA received association response (
a3bd31f3) - Added support for sending action frames on the target channel and remain on target channel for required duration. (
d826655f) - Added new API to get mac clock time (https://github.com/espressif/esp-idf/issues/15348) (
14b96764) - Modified the description of function 'esp_wifi_set_band' (
865adce2) - Enabled WiFi Aware (NAN) on esp32c5 & esp32c61 (
2e5e9fc4) - Added the missing brackets for the C++ guards for a few header files. (https://github.com/espressif/esp-idf/issues/14991) (
f99b9653) - Fixed the mesh connection failure in WPA3 mode after erasing flash (https://github.com/espressif/esp-idf/issues/14095) (
f2ae6813) - Added support for the ESP32-C61 revision v0.2. (
d00ad48d) - Removed support for the ESP32-C61 revision v0.1. (
d00ad48d) - Added support for 2040 coexist for SoftAP (
cc8bef39) - Added new event 'WIFI_EVENT_AP_WRONG_PASSWORD' in softAP to indicate stations trying to connect with wrong password. Applicable for authentication modes WPA-PSK, WPA2-PSK and WPA3-PSK(SAE). (
fae82cfa) - expended bit width of channel in rxctrl for ESP32C5/ESP32C61 (
ea55be3d) - Added support for Wi-Fi API and features on targets with no Wi-Fi capabilities by esp-extconn (
d30af2fb) - prevented compilation of Wi-Fi-related components when Wi-Fi is not supported (
09635fdd) - Fixed the STA TBTT interval update error when AP's beacon interval changed (https://github.com/espressif/esp-idf/issues/14720) (
6fdd3808) - Fixed bandwidth value is always 0 in esp_wfi_sta_get_ap_info() (
5c3cb06d) - Modify the type of "bandwidth" and comment in wifi_ap_record_t. (
5c3cb06d) - Removed support for the ESP32-C5 revision v0.0. (
653ce935)
Examples
- Fixed the delete queue error in ESP-NOW example (https://github.com/espressif/esp-idf/issues/15383) (
0902e70e) - Added GPIO output set command for cert test. (
3f29f791) - Fixed some issues in roaming app (
fbe9fcd7) - Fixed the issue of Blufi connecting to WPA or WEP routers failing. (
e75c170c)
MAC
- Fixed STA cannot send keep alive when receive UDP packets (
ad5d3625) - Fixed STA BSS max idle period always use default value (
ad5d3625) - Fixed sleep without sending sleep null when enable BSS max idle (
ad5d3625) - Fixed channel TX power limitation does not take effect when connected AP switch channel (
ad5d3625) - Added FTM support for ESP32-C5 v1.0 (https://github.com/espressif/esp-idf/issues/15909) (
ce340fcc) - Fixed locking in incorrect state when stop_scan is called after wifi_connect (
ce340fcc) - Fixed TX power not update if country changes when enable multiple PHY init data bin (
ce340fcc) - Fixed the issue when the PS state machine becomes invalid after enabling BSS max idle (
ce340fcc) - Fixed the issue that rx bcn failed when sta off channel under modem state (
ce340fcc) - Fixed some external coexist issues. (
7aabeaea) - Fixed the issue that cannot enable MCS8/9 when set he_mcs9_enabled (
0f6e0674) - Fixed phy data partition restoring default fails issue(https://github.com/espressif/esp-idf/issues/14698) (
59cd0731) - Fixed an issue to prevent writing configuration to NVS when the station configuration remains unchanged. (
55712011) - Supported Wi-Fi beacon sample feature to optimize power consumption. (
323119a0) - Supported Beacon Drop feature to optimize power consumption in dirty environment. (
323119a0) - Fixed the issue that sta rx packet failed under modem state. (
b93ac473) - Fixed negotiated bandwidth not correct (
8a981447) - Added band check when config SoftAP (
8a981447) - Fixed the noise floor error on ESP32C5 (https://github.com/espressif/esp-idf/issues/15594) (
488e1f88) - Fixed occasional dropping of SA Query responses by SoftAP (
13953d5e) - Added DS parameter in probe requests from STA (
893a02ea) - Fixed the WEP shared authentication association timeout issue. (
eaa77b6c) - Fixed TWT post just one event for multiple flow (
3547cefa) - Fixed the issue of disconnection from the AP due to ERSU compatibility (
1c5983cd) - Fixed second channel is always below in ht40 on 5G band (
cfed129e) - Fixed issue that esp_wifi_set_tx_done_cb() should not process frames sent using esp_now_send(). (
7a5684d4) - Modified authmode to sta for sta connect event (
95ce1c08) - Fixed issue of increased stack usage when 'failure_retry_cnt' is set in station configuration and Wi-Fi driver internally re-tries connection attempts (
6f0dad28) - Fixed the issue of failing to connect to a shared WEP AP. (
47cc1b77) - Fixed esp32c6 watchdog issue when BSS max idle period is 1 (
9ede4c27) - Add support for transition disable for softap (
cc8bef39) - Fixed incorrect ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME (
30c34271) - Updated coexistence power management period when Wi-Fi PS type being changed (
30c34271) - Fixed for crash while receiving deauth in esp32c2 v2.0 (
7a305c02) - Changed SoftAP default dtim_period to 1 (
2414b285) - Added a parameter to enable or disable send QoS NULL to keep live during TWT (
0c07ee6b) - Fixed the issue that STA did not receive Probe Responses in some coexistence scenarios when wifi band is 5G. (
56672162) - Fixed the issue that STA connects twice simultaneously. (
56672162) - Fixed STA failing to sleep when connecting to connected AP. (
56672162) - Fixed the issue that association failed In WPA3 encryption mode. (
56672162) - Fixed rate index incorrect in 11a mode (
c66052e5) - Fixed TWT cannot sleep on esp32c5 and esp32c61 (
c66052e5) - Fixed cpu cannot enter light sleep when TWT resume (
c66052e5) - Fixed the issue that wifi disconnect when sta scan in connected state (
60e884b4) - Prevented NON-PMF STA from retrying connection attempts if esp_wifi_disconnect() called before handshake, even if 'failure_retry_cnt' allows retries. (
60e884b4) - returned error if call esp_wifi_set_config() when sta is connecting (
60e884b4) - Fixed the issue where the device fails to sleep if it gets disconnected during the transmission of probe requests after beacon timeout. (
60e884b4) - Fixed esp32 mac deinit stuck issue (
60e884b4)
Mesh
- Updated the description for esp_mesh_send() return value (https://github.com/espressif/esp-idf/issues/14440) (
14b96764) - Enlarged the mesh TX task stack (
c4bde5df) - Fixed the esp_mesh_scan_get_ap_record() error in chain topology (https://github.com/espressif/esp-idf/issues/16041) (
d2299ef3) - Fixed the mesh crash issue when changing mesh AP's authmode (
d2299ef3) - Fixed the mesh station sends data error on c5 (
60e884b4)
Supplicant
- Cleared SAE-PK capability in Assoc Request when not enabled at STA. (
f97fd749) - Added support for WPA-Enterprise in Station mode (
ce340fcc) - Improved WPS PBC overlap detection to ensure it works correctly, even if the UUID is missing. (
8a54378b) - Ensured disconnection with previously connected AP when initiating WPS. (
8a54378b) - Fixed DPP state machine related issues(https://github.com/espressif/esp-idf/issues/10615) (
b737136d) - Improved handling of group parameter A in H2E (https://github.com/espressif/esp-idf/issues/15691, https://github.com/espressif/esp-idf/pull/15692) (
9c75d796) - Increased WPS message timeouts to address interoperability issues. (
044de0b1) - Added domain name validation support for EAP connection. (
6b5ac56b) - Fixed send_confirm value for SAE confirm according to specification. (
6a633f3e) - Fixed crash when set config is called with changed password. (https://github.com/espressif/esp-idf/issues/15584) (
fb75c854) - Added support for Opportunistic Key Caching for Wi-Fi Enterprise Connection (
7ff63ac9) - Resolved WPS connectivity issue that caused failures when the station was already connected (
3d1ea229) - Added optimized PSK implementation, closed https://github.com/espressif/esp-idf/issues/15072 (
4cdd5087) - Fixed stack corruption in Wi-Fi wpa_supplicant's tasks(https://github.com/espressif/esp-idf/issues/15370) (
403cc24a) - Fixed memory leak occurring in SAE PK connection. (
7f1e4ebb) - Reduced WPS scan frequency to make it easier for users to enter the PIN on the AP. (
7bb6c67e) - Fixed issues reported by the static analyzer on GitHub (#15097, #15098, #15099). (
7a94d450) - Fixed some issues found through static analyzers (
c15e6e1f) - Added some implementation changes in roaming. (
950da105) - Enabled EAP workarounds by default (
c0755543) - Fixed issue observed during static code analysis (
afeefc9e) - Fixed assoc reject after WPS session (
b9253b4e) - Disabled IP renew skip by default since most AP don't support it. (
8cf17632) - Fixed issues reported by static analyzer. (
8cf17632)
Vendor
- Added more check when receiving ESP-NOW data (
ad5d3625) - Fixed the issue that STA connection information loss LR info on ESP32C5 v1.0 (
933a4322) - Fixed LR issues that LR info does not exist in connect information (
0f6e0674) - Changed the max data length to 1470 bytes for ESP-NOW v2.0 (
a3bd31f3) - Fixed the scan information error in LR only mode (
14b96764) - Added OUI check for ESPNOW(https://github.com/espressif/esp-idf/issues/9577) (
1f46216a) - Added new APIs to set/get user OUI for ESPNOW (
1f46216a) - supported ieee80211_tx using 11ax or 11ac rates to send (
2cbb9f23) - The AES IV can be random value for ESPTouch v2 (
a71eb45c)
-
ESP-IDF Release v5.4.2
Stablereleased this
2025-06-20 06:35:08 +00:00 | 14122 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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.gitdirectory doesn't include the history of commits older than one year. Users who need to usegit checkoutto access an older release of IDF will have to usegit fetchfirst 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. (
d1b0c395) - ADC: Supported ESP32P4 ADC calibration (
7fe19031) - GPIO: Allow RTC-IO API to set edge type wakeup sources for targets that support this (
02280567) - PSRAM: Supported UnilC Octal PSRAM on ESP32S3 (
a8e166ec)
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. (
7ddb2ba0) - 15.4/MAC: Added a duration argument for ieee802154_receive_at() (
8fa7bf6c)
Major Bug Fixes
- Updated mbedTLS version to 3.6.3. (
7ddb2ba0) - JPEG: Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (
796bac0b) - PPA: Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (
70ab1ccd) - UART: Eliminated the possibility of garbled data sent/received from the UART port during sleep process (
d5a43edf) - USB: Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (https://github.com/espressif/esp-idf/pull/15932, https://github.com/espressif/esp-idf/issues/15912) (
6837ed39) - System Hardware: Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (
bb603890) - Cache: Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (
bfdca51a) - MMU: Fixed API thread-safety in
esp_mmu_map.h(https://github.com/espressif/esp-idf/pull/15564) (0be34440)
Changelog
This is the list of changes since release v5.4.1.
15.4
MAC
- Added Tx/Rx frame dumping for debugging. (
c0c7023d) - Added a duration argument for ieee802154_receive_at() (
8fa7bf6c)
Thread
- Supported bus_latency configuration for Thread BR (
b999d102) - Updated openthread submodule (ec2b0d487) (
3fc7689e) - Supported OT_BR example for ESP32-P4 (
3fc7689e) - Supported periodic parent search mechanism for MTD (
c5f88c45) - Added a function to ensure monotonically increasing frame counter (
2423cd32) - Added a callback to handle rcp reset failure (
2423cd32) - Bound DNS server to unspecified netif on Border Router (
2423cd32) - Supported DNS resolution / forwarding for Thread BR (
0355d741) - Fixed recursive multicast packet forwarding issue (
0355d741) - Updated openthread submodule (8c30b93) (
0355d741) - Fixed CSL issue in which RX is not turned off during idle periods (
8fa7bf6c)
Application Utilities
App Update
- Introduced
esp_ota_resumeAPI for managing OTA resumption scenarios. (54283c95)
CJSON
- Update to latest upstream cJSON master to fix CVE-2023-26819 (
6f5c9d4a)
ESP HTTP Client
- Added API to extract TLS error from HTTP client. (https://github.com/espressif/esp-idf/pull/15059) (
9a36e3fe) - Updated header deletion by allowing value to NULL in esp_http_client_set_header() (https://github.com/espressif/esp-idf/pull/15715) (https://github.com/espressif/esp-idf/issues/15714) (
6f36eddc) - Added a configuration to set address type (
f481174c) - Fixed invalid content-length header (https://github.com/espressif/esp-idf/pull/15291) (
710ed9bc)
ESP HTTPS Server
- Fixed the HTTP server Async handler example for multiple /long URI requests and handled some error conditions. (https://github.com/espressif/esp-idf/issues/15587) (
103db4a4) - Updated the CA certificates that were used for self-signing/mutual authentication use cases to contain the
Key Usageparameter due to the change in Python3.13's default ssl context requirements. (cb244730)
BLE
BluFi
- Added support for stopping adv in BLUFI for nimble (
837eecab)
Bluedroid
- Fixed issue with deleting link key when classic Bluetooth is not used. (
282c1d65) - Increased maximum attribute value length to 517 to prevent data loss. (
0ba1b04e) - Fixed validation logic for BLE GAP appearance configuration. (
0ba1b04e) - Added
sync_cte_typein bluedroid PA sync fucntion (b9123d55) - Added throughput mode for BLE SPP example. (
0bfda8cf) - Added BLE eddystone sender example. (
180ee9ef) - Fixed missing event reporting in
esp_ble_create_sc_oob_data. (26b9ba6b) - Fixed BLE crash when disabling bluedroid host. (
26b9ba6b) - Fixed potential uint32_t overflow in BLE
btu_start_timer. (26b9ba6b) - Fixed memory leak issue when using dynamic memory and deinitializing the host. (
26b9ba6b) - 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. (
26b9ba6b) - Added
esp_ble_gap_read_channel_map()API to retrieve the BLE channel map of a connected device. (26b9ba6b) - Reported cte_type in periodic adv report if CTE feature is enabled (
8e473c6b) - Supported BLE iso in bluedroid host (
4e61ce24) - Supported BLE CTE in bluedroid host (
4e61ce24) - Supported BLE bluedroid host power control feature (
4e61ce24) - Supported BLE bluedroid host connection subrating feature (
4e61ce24) - Supported BLE vendor HCI event reporting (
cebb1260) - Supported BLE setting vendor event mask (
cebb1260) - Added Read Long Characteristic Values example. (
4af23443) - Added support for the "Read Periodic Advertiser List Size" command. (
3fbc2b7b) - Reduced bluedroid host bin size (
3fbc2b7b) - Fixed an issue where advertising data and scan response data were not reported together during BLE active scanning. (
08d2987d)
Controller
- Reduced bin size and IRAM for BLE rom code on ESP32-C3 and ESP32-S3 (
9b329bb8) - Fixed missing ADV reports after bonding and connection on ESP32-C3 and ESP32-S3 (https://github.com/espressif/esp-idf/issues/15789) (
76b003c8) - Fixed an occasional assertion issue in scan and connection scenarios on ESP32-C6. (
734b1b1b) - Supported creating connections during scanning process on ESP32-C6 and ESP32-H2. (
734b1b1b) - Fixed occasional packet loss issue in multi-connection scenarios on ESP32-C6. (
734b1b1b) - Fixed crash issue caused by using os_mbuf_dup on ESP32-C6 and ESP32-H2. (
734b1b1b) - Fixed occasional timeout issue during connection parameter update while latency is active on ESP32-C6 and ESP32-H2. (
8ad0d3d8) - Fixed an issue where the DID was not refreshed after stopping advertising and updating the advertising data on ESP32-C6 and ESP32-H2. (
8ad0d3d8) - Fixed an occasional assert issue when repeatedly starting and stopping extended advertising during periodic advertising scenario on ESP32-C6 and ESP32-H2. (
8ad0d3d8) - Fixed an occasional interrupt watchdog timeout issue on ESP32-H2. (
8ad0d3d8) - Fixed an occasional assert issue in function r_ble_lll_sched_check_remaining_entries when ble spi log is enabled for ESP32-H2. (
8ad0d3d8) - Fixed MIC error disconnection when pairing with an iOS device on ESP32-C3 and ESP32-S3. (
3e393589) - Disabled anonymous extended advertising reporting on ESP32-C3 and ESP32-S3. (
69173b18) - Fixed BLE assert lld_adv.c 2992 on ESP32-C3 and ESP32-S3. (
69173b18) - Fixed heap assert due to advertising data buffer double freeing on ESP32-C3 and ESP32-S3. (
69173b18) - Fixed BLE 0x08 disconnection when the window size is greater than half of the connection interval on ESP32-C3 and ESP32-S3. (
69173b18) - Fixed an occasional assert issue when stopping aux scan on ESP32-C6 and ESP32-H2. (
3ad36321) - Fixed an occasional assert issue when the task is blocked during the extended scan scenario on ESP32-C6 and ESP32-H2. (
3ad36321) - Fixed an occasional issue of being unable to receive packets during the extended scan scenario on ESP32-C6 and ESP32-H2. (
3ad36321) - Fixed the cache error if controller runs in flash and BLE sleep is enabled on ESP32-C2. (
017480b3) - Fixed possible assertion when multiple ACL runs concurrently on ESP32-C6, ESP32-H2. (
017480b3) - Fixed occasional interrupt watchdog timeout issue when scanning and connection coexist on ESP32-C6. (
017480b3) - Fixed an occasional issue where the connPeripheralLatency parameter was not properly applied on ESP32-C6, ESP32-H2. (
017480b3) - Fixed bluetooth controller flash only bug if hci-uart is enabled on ESP32-C3 and ESP32-S3 (
8e473c6b) - Fixed a heap assertion issue when enabling BLE and ESP32C2_REV_MIN_200 for ESP32-C2 v2.0 (
a3cf6b07) - Fixed an occasional
load access faultissue when performingext_conncreation for ESP32-C2. (dd9dbfcc) - Added a function to maintain the connection when an instant pass issue occurs on ESP32-C2. (
dd9dbfcc) - Fixed extended advertising interval upper limit issue on ESP32-C6 and ESP32-H2 (https://github.com/espressif/esp-idf/issues/15240) (
dd9dbfcc) - Fixed hci assertion issue when uart interference occurs on ESP32-C2, ESP32-C6,ESP32-H2. (
f6dc2b65) - Changed the maximum supported value of the whitelist to 31 on ESP32-C2, ESP32-C6,ESP32-H2 (
f6dc2b65) - Fixed GPIO unavailable warning when repeatedly reconfiguring HCI UART pins on ESP32-C2, ESP32-C6,ESP32-H2. (
f6dc2b65)
Documentation
- Updated the Bluetooth SIG Qualification information for ESP32-C6. (
89a76e91) - Updated the BLE feature support status in API Guides. (
89a76e91)
Mesh
- Optimized the performance of remote provisioning (
f3e781b8) - Fixed an unprovisioned device may be provisioned by provisioner and remote provisioning client at the same time (
f3e781b8)
NimBLE
- Handle memory leak due to missing mempool_deinit call (
46909c50) - Added api's to fetch gatt cache info (
ebcbbb94) - Added a configurable option to select ext adv v2 command (
ebcbbb94) - Added support for anonymous address type for whitelist (
ebcbbb94) - Fixed UUID type error in GATT caching API to search for included services. (
ebcbbb94) - Fixed an async race condition with HCI outstanding packets counter (
ebcbbb94) - Add chip dependancy flag for Flow control feature (
3c118a4a) - Fixed incorrect comparison with gattc proc that can cause request-response mismatches (
f8be9208) - Added runtime configurable support for observer role, security mode 1 level, and GATT caching (
5d4d3c69) - Modified HID KIR and MIR Characteristic write permission from hardcoded to configurable (
5d4d3c69) - Fixed LLS crash when no callback was registered for LLS event (
5d4d3c69) - Added SPS callback event to expose changes in scan parameters (
5d4d3c69) - Fixed incorrectly passed in GATT Caching disovery operations (
5d4d3c69) - Enabled Connection Subrating bit in ESP32C6 (
5d4d3c69) - Optimized nimble throughput example by extended adv support and switching between different Phy modes. (
6af56914) - feat(nimble): Added tutorials for PAwR examples (
81c34b09) - Fix sync handle assignment for PAwR connection (
b5802d72) - Fixed incorrect OTA address type assignment (
b4ebe7a0) - Added missing ble_hs_unlock for periodic adv sync reattempt case. (
5e38aaeb) - Corrected event posting in Read Remote Features event handling (https://github.com/espressif/esp-idf/issues/15670) (
f8b7c147) - Added a change in the BLE SPP Client example to allow the client to subscribe to the server. (
9d45436a) - Fix conversion for min-max itvl of periodic adv param in example (
078a29e3) - Exposed the ble_gap_wl_tx_add API to add a device in whitelist (
4d749ee5) - Deprecate BLE_GAP_EVENT_LINK_ESTAB event. (
4d749ee5) - Update controller data length upon connection creation. (
4d749ee5) - Fixed pairing failure issue when SC only mode is selected (
4d749ee5) - Handle application code compilation issue due to removal of link_estab structure (
4d749ee5) - Fix SMP command allocation (
4d749ee5) - Fix incorrect event deinit in gatt caching discovery (
4d749ee5) - Added support for Vendor Event mask VSC (
4d749ee5) - Add Bluetooth LE 5 1 direction finding feature (
4d749ee5)
Bluetooth Common
Controller
- Fixed the issue that disable Bluetooth controller may cause interrupt watchdog timeout on ESP32 (
8f2b6dfe)
Bootloader
- Fixed partition size cannot exceed 16MB issue, when CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH or CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH is on (
733ff2bf)
Build & Config
- Fixed CMake configuration warning CMP0165 for Linux target (https://github.com/espressif/esp-idf/issues/15488) (
17a24612) - Changed build fatal error to warning when the ESP_ROM_ELF_DIR environment variable is not set (
58210d69)
Classic Bluetooth
Bluedroid
- Fixed the issue where an incorrect mask was used to exclude SCO packets during the establishment of eSCO link (
306f101a) - Fixed the issue that L2CAP server stop operation does not report the
ESP_BT_L2CAP_SRV_STOP_EVTevent (e912a4f6) - Added callback events for L2CAP register and unregister vfs operations (
4ad27c76) - Fixed
write_readtask stack overflow in l2cap example (4ad27c76) - Fixed the issue with L2CAP when dyamic memory allocation of environment variables is not enabled (
4ad27c76) - Fixed no report of ESP_SPP_WRITE_EVT and Bluedroid btc task being blocked when SPP connection number reaches the upper limit (
4ad27c76) - Added APIs to get status on such information as initialization state, connection number, for Classic Bluetooth profiles (
26e415dc) - Add Kconfig options for setting of SDP attribute length (https://github.com/espressif/esp-idf/pull/15321) (
74d57691) - Fixed connection failure due to insufficient number of service security records when multiple profiles are initialized. (
75721348) - Add Kconfig option to keep device bonding information when HID virtual cable unplugging (
b1a38136) - Fixed memory leaks in SPP callback mode (
38137935) - Fixed the issue that after SPP reaches the maximum number of connections, it will mistakenly free the server resources when disconnecting, causing the next server start to fail. (
b1659a5c) - Fixed reporting of unexpected
ESP_BT_GAP_DISC_STATE_CHANGED_EVTevent upon ACL disconnection, due to uninitialized local variable (d6a436c9)
Controller
- Implemented a workaround for potential data packet exchange issues when secure connection is enabled on ESP32 (
304acd5c) - Fixed ACL has few chance to run when it coexists with SCO on ESP32 (
4854f415) - Fixed errors in dynamic priority configuration in Bluetooth dual mode on ESP32 (
4854f415) - Fixed a crash issue caused by accessing external memory in ISR context on ESP32 (
4854f415) - Fix the incorrect unit of
duration_minin CPB TX on ESP32 (1bdd5daa) - Recalculate the channel map when AFH is enabled on ESP32 (
1bdd5daa)
Coexistence
- Fixed some external coexist issues. (
70ff14e4) - Support BR/EDR (e)SCO and Wi-Fi coexistence. (
d1b0c395)
Core System
- fix an issue that prevented RTC reserved area to have a size multiple of 4 (https://github.com/espressif/esp-idf/issues/13082) (
a68299e6) - Fixed linker script for ESP32-C3, ESP32-S2 and ESP32-S3, reducing Flash usage by up to 512 bytes. (
ed858001) - Ensure proper reset for crypto peripherals before software restart. This fixes a rare and intermittent secure boot verification failure based on RSA-PSS scheme. The fix is recommended for aggressive revocation config. Please see commit log for more details. (
7dfccfb5) - Fixed DRAM_DMA_ALIGNED_ATTR for ESP32-P4 (
63d0aa7e) - Fixed esp_ptr_executable to specifically check if the pointer is in PSRAM memory on esp32p4. (
6f13ac08)
Heap
- Fixed CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH not being able to be used together with CONFIG_HEAP_TLSF_USE_ROM_IMPL. (
fe753553)
Linux target
- Added SOC_CPU_CORES_NUM define for the Linux target (https://github.com/espressif/esp-idf/issues/15758) (
a97879b7)
Log
- Moved esp_log_writev to IRAM (
d2eb6539)
Newlib
- Updated Newlib
usleep()to always sleep for the desired sleep period or more but never less (https://github.com/espressif/esp-idf/pull/15132) (063d9d43)
Panic handling
- Updated the panic handler to use RTC WDT. This fixes a bug where in the panic handler could get stuck without rebooting the system (https://github.com/espressif/esp-idf/issues/15166, https://github.com/espressif/esp-idf/issues/15018, https://github.com/espressif/esp-idf/issues/10110) (
0cecb7bc)
Partition Table
- Fixed partition table names must be only ASCII characters (
b2939140)
Watchdogs
- The LP-WDT on ESP32-P4 now takes into account the value EFUSE_WDT_DELAY when setting the timeout (
6b617c54)
Debugging
Apptrace
- Store CRC16 checksum of trace blocks in Xtensa perfmon register to enable host-side data integrity verification. (
84174f6f) - Fix deadlock on sysview start (
e84c28ef)
Ethernet
- Fixed ESP32P4 EMAC REF RMII CLK output mode (
19e86406) - Fixed ESP32P4 EMAC flow control enable (
19e86406)
FreeRTOS
IDF Additions
- Updated
xRingbufferReceive()andxRingbufferReceiveFromISR()APIs to restrict them from being called to retrieve items from allow-split buffers. (a218e3f5)
IDF Kernel
- Fixed an issue in HWLP coprocessor support where, due to a hardware bug, the previous context could be incorrectly restored in certain cases. (
4f09162f) - Fixed an issue where automatic light-sleep can cause FreeRTOS ticks to jump and cause unexpected timeouts (https://github.com/espressif/esp-idf/issues/15642) (
ef797e02)
LWIP
DHCP
- Fixed DHCP server recv decline issue (
b4bbfe16)
Low Power Features
- Improved esp_timer timing accuracy for esp32 and esp32s2 when esp_pm DFS is enabled. (
b53f520e) - Fixed the issue that esp32p4 may get stuck when entering deepsleep. (
cf0c4293) - Fixed deepsleep leakage after USB HS phy is initialized on esp32p4 (
c51c27e8) - Allowed to keep SAR ADC power when using ADC_ULP_MODE. (https://github.com/espressif/esp-idf/issues/12426) (
79d965f1) - Optimized CPU IDLE power consumption by enabling automatic clock gating of CPU/Cache/memory. (
9f8548bb) - Fixed power leakage when external 32k slow clock source detection fails. (
65e0d492) - Warning the use of lightsleep GPIO/UART wakeup source if
PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEPoption is enabled. (1113c718)
ULP
LP Core
- Updated the LP UART and LP I2C drivers to not enable interrupts but rather use raw interrupt registers to prevent the LP core from jumping to the default interrupt handler and aborting the LP core code. (
871aeae6) - Fixed accumulation of wakeup cause bits in ULP (https://github.com/espressif/esp-idf/issues/15794) (
7256deaf) - Fixed and issue with the
lp_core_uart_tx_flush()did not wait for the UART Tx idle state therefore, not always flushing all bytes from the UART Tx FIFO (https://github.com/espressif/esp-idf/issues/15433) (4354c308)
ULP-RISC-V
- Fixed a bug in ADC oneshot driver which incorrectly initialized the ADC peripheral when it is being controlled by the ULP RISC-V core. (
592c6312)
PHY
- Fixed the issue that tsens read abnormal value in Wi-Fi STA mode for esp32c2 v2.0. (
5e7a047a)
Peripheral Drivers
ADC
- Fix ADC oneshot read zero after getting done signal on P4 (
8770ad5f) - Fixed ESP32P4 ADC continuous mode stop early (
7fe19031) - Supported ESP32P4 ADC calibration (
7fe19031) - Fix ADC oneshot lose power control counts (
de3964a9) - Fix ADC oneshot read error after continuous (
de3964a9)
Analog Comparator
- Fixed the issue that unit1 can't generate the ETM event properly (
ef1a5075) - Corrected the supported interrupt priority to 0~3 (
ef1a5075)
Camera
- Fixed Cache-Safe build error (
70e8afb9)
GDMA
- Support independent registration of Cache Safe ISR for each GDMA channel (https://github.com/espressif/esp-idf/issues/15771) (
af3fa873)
GPIO
- Fixed wrong pu/pd/drv values got from gpio_dump_io_configuration for ESP32 RTC IOs (https://github.com/espressif/esp-idf/issues/14931) (
afa7b83e) - Forbidden to enable pull-up, pull-down on input-only IOs (
afa7b83e) - gpio_reset_pin can be called to revoke any IO reservation now (https://github.com/espressif/esp-idf/issues/15598) (
afa7b83e) - Allow RTC-IO API to set edge type wakeup sources for targets that support this (
02280567) - Fixed the issue that when USJ PAD is configured as GPIO, the GPIO function is unavailable after waking up from lightsleep. (https://github.com/espressif/esp-idf/issues/15797) (
47530188)
GPTimer
- The start and stop functions are now idempotent (https://github.com/espressif/esp-idf/issues/12325)(https://github.com/espressif/esp-idf/issues/13486) (
2d582fec)
I2C
- Fixed clear bus issue in legacy i2c driver (https://github.com/espressif/esp-idf/pull/15638) (
d62e3c7d) - Fixed that fsm reset cause i2c scl frequency changed on esp32s2 (https://github.com/espressif/esp-idf/issues/15724) (
d62e3c7d) - When the driver enables GPIO pull-up, it will also disable the internal pull-down accordingly. (https://github.com/espressif/esp-idf/issues/15774) (
93cff127) - Fixed race condition issue (https://github.com/espressif/esp-idf/issues/15444) (
89e81dfd) - Fixed stretch causes timeout in i2c probe (https://github.com/espressif/esp-idf/issues/15589) (
89e81dfd) - Fixed array size of static array (https://github.com/espressif/esp-idf/issues/15583) (
89e81dfd) - Fixed auto selection i2c slave device cause error (https://github.com/espressif/esp-idf/issues/15644) (
89e81dfd) - Fixed uses i2c customize api read one byte cause error (https://github.com/espressif/esp-idf/issues/15685) (
89e81dfd) - Added a Kconfig option
I2C_SKIP_LEGACY_CONFLICT_CHECKto disable the legacy driver conflict check (f74b3385)
I2S
- Fixed the false buf catenate while use preload (https://github.com/espressif/esp-idf/issues/15775) (
77ae1d2b) - Fixed i2s inappropriate check and assign sequence (https://github.com/espressif/esp-idf/issues/15648) (
7e115970) - Added check for minimum sample rate (https://github.com/espressif/esp-idf/issues/15659) (
7e115970) - Fixed failure when GDMA is set IRAM_SAFE but I2S not (https://github.com/espressif/esp-idf/issues/15533) (
21d470dd) - Added check for i2s DMA buffer array allocation (https://github.com/espressif/esp-idf/issues/15607) (
21d470dd)
JPEG
- Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (
796bac0b) - Fixed handing of invalid JPEG marker (
8d446396) - Added support for decoding JPEG images without Huffman table (
8d446396) - Correctly set JPEG restart interval (
8d446396)
LCD
- Fixed the infinite wait when lvgl timer is no ready in example (https://github.com/espressif/esp-idf/pull/15853) (
02a4deca) - Fixed the issue that SPI LCD device initialization breaks the IO setting of others (https://github.com/espressif/esp-idf/issues/15478) (
2dd1f03b) - Fixed the issue that the restart buffer failed to mount to the DMA when memory encryption is enabled (https://github.com/espressif/esp-idf/issues/15228) (
3d650abc)
LEDC
- Fixed potential incorrect PWM output at relatively high frequency for ESP32-C6/H2/P4 (
57a83359) - Fix potential assert failure in ledc_fade_stop due to race condition (https://github.com/espressif/esp-idf/issues/15580) (
fba83778)
MCPWM
- Fixed the issue that MCPWM output wrong frequency during DFS on ESP32 and ESP32-S3 (
28c43030) - GPIO pull-up/down will be automatically disabled when the driver GPIO pull-up/down flag is not set.(https://github.com/espressif/esp-idf/issues/15774) (
93cff127)
PARL_IO
- Fixed an issue where prematurely disabling PARL_IO TX caused errors in subsequent transmissions. (
7e1238de)
PPA
- Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (
70ab1ccd)
RMT
- Fixed the race condition when between
rmt_receiveand receive ISR (https://github.com/espressif/esp-idf/issues/15842) (bb2c83ef) - Enhanced the
rmt_receive_config_terror message (https://github.com/espressif/esp-idf/issues/15836) (bb2c83ef) - TX channel can switch to different GPIO at runtime. (
b8bb5570) - Supported to set slower channel resolution. (https://github.com/espressif/esp-idf/issues/14760) (
ff8c836b) - Fixed the panic when the number of received symbols is a multiple of the memory block size. (
c3b4d5a8) - Fixed the wrong reset code duration in the simple encoder example (https://github.com/espressif/esp-idf/issues/15498) (
ddd8a5d3)
SD_HOST
SDMMC
- Fixed multiple definitions of SD Card example pins issue in project Kconfig file (
c8848f41) - Fixed all pins need to be set issue when using slot0 on ESP32P4 (
c8848f41) - Fixed transfer timeout due to higher priority tasks (https://github.com/espressif/esp-idf/issues/13934) (
13baf981)
SPI
- Fixed the issue that driver objects may be allocated from PSRAM unintentionally (
705592c7)
SPI Master
- Fixed SPI stop after remove devices which using RC_FAST as clock source on ESP32C6 and H2 (
62ace4d6)
SPI Flash
- Fixed flash encryption write verify (https://github.com/espressif/esp-idf/issues/15380) (
c94014cc) - Added flash suspend chip version check on esp32h2 and esp32c6 (
c94014cc)
TWAI
- Fixed twai assert failed during recover (https://github.com/espressif/esp-idf/issues/9697)(https://github.com/espressif/esp-idf/pull/15484) (
756cd17c)
Temperature Sensor
- Add temprature calibration support on esp32-c2, c6, h2, p4 (
e2934601)
Touch Element
- Fixed the missing programming guide of Touch Element on ESP32-S3 (https://github.com/espressif/esp-idf/issues/15755) (
9d3b69fa)
Touch Sensor
- Fixed tie option take no effect issue. (
0e584aa2) - Fixed concurrent issue in the legacy touch v1 (esp32) driver (
0e584aa2)
UART
- Updated uart_get_baudrate API documentation (https://github.com/espressif/esp-idf/issues/15449) (
d5a43edf) - Fix wrong unit conversion from knots to m/s in uart/nmea0183_parser example (https://github.com/espressif/esp-idf/issues/15695) (
d5a43edf) - Eliminated the possibility of garbled data sent/received from the UART port during sleep process (
d5a43edf) - Enlarged default task stack size for uart_async_rxtxtasks example to avoid stack overflow (https://github.com/espressif/esp-idf/issues/15363) (
a1257014) - Updated programming guide to align configuration orders with the example codes (https://github.com/espressif/esp-idf/issues/13182) (
a1257014) - Unsupported low baud rates (e.g., 2400bps, 1700bps) on LP UART is now properly reported (https://github.com/espressif/esp-idf/issues/15427) (
8bce1430)
USB
- Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (https://github.com/espressif/esp-idf/pull/15932, https://github.com/espressif/esp-idf/issues/15912) (
6837ed39)
USB Device
- Fixed incorrect pull-up resistor settings on the USB PHY that prevented the device from being detected by the host. (
67a6fbc7)
USB Host
- Allocate DMA capable memory to external ram on ESP32-P4 (
10bf6f8b) - Added support for Low-speed devices, connected via external Hubs to Full-speed peripheral (
be8d3770) - Added support for Low-Speed devices connected through Full-Speed HUB (https://github.com/espressif/esp-idf/issues/15683) (
0448c4bd) - Fixed heap corruption (https://github.com/espressif/esp-idf/issues/15815) (
92a5676c) - Fixed host channel number calculation for ESP32-S3, ESP32-P4, and ESP32-S2. (
5190ce55) - Fixed possible deadlock when closing a device that was not previously opened (
ae572894)
USB Serial JTAG
- Fixed
usb_serial_jtag_ll_phy_selectcan't select PHY0 (IO24, 25) issue on ESP32-P4 (https://github.com/espressif/esp-idf/pull/15499) (beee8e04) - Fixed wrong return value from
usb_serial_jtag_write_byteswhen input parameters are invalid (https://github.com/espressif/esp-idf/issues/15620) (ff74f67d)
Power Management
- Fixed the issue of modem wakeup req always high caused by pmu min slp cycle update (
d2b2909f) - Fixed possible assert in
vTaskStepTickafter turning on auto light sleep. (45d95b1b)
Security
- Fixed a bug that resulted in a boot loop when a memory protection fault occurred on ESP32-S2 (https://github.com/espressif/esp-idf/issues/15359, https://github.com/espressif/esp-idf/issues/7656) (
89edea04) - Fix secure OTA without secure boot issue for MMU page size configurable SoCs (https://github.com/espressif/esp-idf/issues/15936) (
43d3dd7b) - Fix secure boot (ECDSA) build failure for ESP32-C6 target (https://github.com/espressif/esp-idf/issues/15856) (
90607ee7)
MbedTLS
- Update mbedTLS version to 3.6.3. (
7ddb2ba0) - If using MbedTLS for server certificate verification, it is mandatory to call
mbedtls_ssl_set_hostnamebefore the connection begins. No change is required if the application usesesp-tlslayer. (7ddb2ba0) - Make mbedtls SHA1 software support configurable (
952e0e3b)
Storage
FATFS
- Changed
VolToPartvariable to be non-const to allow for run-time modification (https://github.com/espressif/esp-idf/issues/14148) (aa1db69a) - Added options
CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNTandCONFIG_FATFS_DONT_TRUST_LAST_ALLOCto control how free space is calculated for a FATFS volume (https://github.com/espressif/esp-idf/issues/15241) (5bedbdf8)
NVS
- Fixed
nvs_tool.pyto properly format JSON output. Additionally, cleaned up text minimal format output (https://github.com/espressif/esp-idf/issues/15274) (1c29e55d)
VFS
- Fix incorrect open and close behavior for
/dev/console(9df731bf)
System Hardware
- Fixed compile error on esp_cpu_int_has_handler on ESP32-P4 (GitHub PR) (https://github.com/espressif/esp-idf/pull/15942 https://github.com/espressif/esp-idf/issues/15941) (
12143d65) - Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (
bb603890)
Cache
- Support cache build for pure RAM app (
9bb2fd0a) - Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (
bfdca51a)
MMU
- Fixed API thread-safety in
esp_mmu_map.h(https://github.com/espressif/esp-idf/pull/15564) (0be34440)
MSPI
- Improved the selection of timing tuning points when the last few tuning points succeed consecutively (
78171206) - Improved the PSRAM timing tuning configurations on ESP32P4 (
78171206)
PSRAM
- Fixed external RAM .bss and .noinit section vaddr calculations (https://github.com/espressif/esp-idf/pull/15513) (
3076186e) - Fixed waste of PSRAM MMU pages due to incorrect calculation of XIP pages and increased available heap size. (
a33851c9) - Supported UnilC Octal PSRAM on ESP32S3 (
a8e166ec)
TCP Transport
- Added an API to configure the addr family (
f481174c)
Toolchain
- Upgraded openocd version to v0.12.0-esp32-20250422 (
986a52a5)
Tools
- IDF Monitor: Added note about limitation of auto coloring feature with multiline messages (https://github.com/espressif/esp-idf/issues/15793) (
82eba308) - Switched to flashing ESP32-C3 with stub when the USB Serial/JTAG mode is used (
fc5b878c) - Fixed deprecation warnings when using
extractall()on Python 3.12 and newer (43b42c6d) - Added input validation of optional install features (
916d1d30) - Deactivated the previously set ESP-IDF environment every time the export script runs (on Unix systems only) (
6d4faa09) - Fixed processing of packages with dots in their names in Python dependency checks (
487b26a7)
WI-FI
Examples
- Fixed some issues in roaming app (
a18ce5df)
MAC
- Fixed the issue that rx bcn failed when sta off channel under modem state (
28980b62) - Fixed locking in incorrect state when stop_scan is called after wifi_connect (
8497af9b) - Fixed TX power not update if country changes when enable multiple PHY init data bin (
5c11f71f) - Fixed the issue when the PS state machine becomes invalid after enabling BSS max idle (
5c11f71f) - Fixed STA cannot send keep alive when receive UDP packets (
5c11f71f) - Fixed STA BSS max idle period always use default value (
5c11f71f) - Fixed sleep without sending sleep null when enable BSS max idle (
5c11f71f) - Fixed channel TX power limitation does not take effect when connected AP switch channel (
5c11f71f) - Fixed the issue that sta rx packet failed under modem state. (
d2b2909f) - Fixed country element not update in beacon (
6a75fd85) - Fixed the WEP shared authentication association timeout issue. (
d0068c42) - Fixed the issue of disconnection from the AP due to ERSU compatibility. (
d0068c42) - Fixed phy data partition restoring default fails issue. (
d0068c42) - Separate the LR bit in PHY mode for station and softAP (https://github.com/espressif/esp-idf/issues/9978) (
97af977d) - Added timer to send wake null after STA received association response (
97af977d) - Fixed the noise floor error on ESP32C5 (https://github.com/espressif/esp-idf/issues/15594) (
97af977d) - Fixed an issue to prevent writing configuration to NVS when the station configuration remains unchanged. (
be719bfe) - Fixed occasional dropping of SA Query responses by SoftAP (
274925fa) - Supported service specific info in NAN service discovery frames (https://github.com/espressif/esp-idf/issues/12473, https://github.com/espressif/esp-idf/issues/13366) (
395295cc) - Added DS parameter in probe requests from STA (
b79dcab1) - Fixed second channel is always below in ht40 on 5G band (
3ee14caf) - Fixed the issue that TWT just post one event for multiple flows (
3ee14caf) - Fixed negotiated bandwidth not correct (
3ee14caf) - Added band check when config SoftAP (
3ee14caf)
Mesh
- Updated the description for esp_mesh_send() return value (https://github.com/espressif/esp-idf/issues/14440) (
97af977d)
Supplicant
- Cleared SAE-PK capability in Assoc Request when not enabled at STA. (
f906de4e) - Disabled IP renew skip by default since most AP don't support it. (
7cc3e9c9) - Fixed issues reported by static analyzer. (
7cc3e9c9) - Improved WPS PBC overlap detection to ensure it works correctly, even if the UUID is missing. (
df50dda6) - Ensured disconnection with previously connected AP when initiating WPS. (
df50dda6) - Increased WPS message timeouts to address interoperability issues. (
beb0bcc9) - Fixed send_confirm value for SAE confirm according to specification. (
ee317c3d) - Added domain name validation support for EAP connection. (
24a92a3b) - Added optimized PSK implementation (https://github.com/espressif/esp-idf/issues/15072) (
0cb892d6)
Vendor
- Coexistence: Supported BR/EDR (e)SCO and Wi-Fi coexistence. (
-
released this
2025-06-12 12:25:54 +00:00 | 12363 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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.gitdirectory doesn't include the history of commits older than one year. Users who need to usegit checkoutto access an older release of IDF will have to usegit fetchfirst 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 (
9b876d93) - Added support for ESP32-C2 chip rev2.0 (
93aea4f6)
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. (
79eb59dc) - Security: Added support for ESP-TEE (Trusted Execution Environment) on ESP32-C6 (
9ee8daf3) - 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. (
ec990f4a) - Log: Added support for binary logging in Log v2 (
33cab69f) - Heap: Added per task peak heap usage information when heap task tracking is enabled (
6ef7ad67) - BitScrambler: Added BitScrambler loopback (memory2memory) driver (
c8d4e1b0) - RMT: Added a new encoder for RMT TX driver, it allows the whole encoding session being controlled by the BitScrambler program. (
34280444) - PARL_IO: Supported to embed a BitScrambler program in the parlio_tx_unit_transmit function (
929e1495) - PARL_IO: Supported the infinite loop transmission for PARL_IO_TX. (
8e591a21) - 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 (https://github.com/espressif/esp-idf/issues/15241) (
58fbcfb4) - Storage/NVS: Added limited support of nvs for bootloader (
8255ba29) - 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) (https://github.com/espressif/esp-idf/issues/15317) (
3ab1ddaa) - Storage: Added support for std::filesystem (https://github.com/espressif/esp-idf/pull/13736) (
37652904) - Toolchain: Add support to link with picolibc (enable with "CONFIG_LIBC_PICOLIBC=y") (
f297a9d4) - Core System: Added CONFIG_ESP_SYSTEM_USE_FRAME_POINTER to enable frame pointer generation, simplifying backtracing at runtime. (
52b558d2) - UART: Added UART DMA driver support (
f66a750a) - 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. (
8e25a37f) - SD-Host: Supported UHS-I SDR50 (100MHz, 50MB/s), DDR50 (50MHz, 50MB/s) on ESP32P4 (
ed8ec9de) - ISP: Supported bypassing ISP to receive data from MIPI CSI (
f3f3cad0) - JPEG: Added support for decoding JPEG images without Huffman table (
e12db428) - I2S: Supported PDM data format (RAW/PCM) selection (
56349e6d) - LCD: Supported to simulate SPI/I80 interface LCD by Parlio peripheral (
96323188) - LCD: Support color conversion for MIPI LCD driver (
ad476afb) - SPI Flash: New feature for software resume when auto-suspend enabled, improve performance (
df1a7d5b) - SPI Flash: Add a new example for supporting customized nor flash driver which can be used both in app and bootloader (
2b1c27fe) - TWAI: Added a unified driver interface to support both TWAI and TWAI-FD peripheral (
a16f621e) - Touch Sensor: Support ULP touch sensor driver on ESP32-P4 (
afda4c18) - USB: Added support for OTG1.1 PHY on ESP32-P4 (
70ead76a) - USB: Added select functionality to the USB CDC driver (
1fa268c7) - USB Host: Added support for Low-Speed devices connected through Full-Speed HUB (https://github.com/espressif/esp-idf/issues/15683) (
0ead3627) - USB Host: Added support for 2 USB instances on ESP32-P4 (
1805efb0) - System Hardware: Add RTC battery backup support on ESP32-H2 (
d8166220) - MSPI: Supported 120MHz Flash frequency timing tuning on ESP32P4 (
4cb18200)
Breaking Changes
- WI-FI: Changed espnow sending callback function parameter mac_addr to esp_now_send_info_t. (
2b390b2b) - 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. (
21f59bd0) - 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. (
16ba8f89) - 15.4: Added a duration argument for ieee802154_receive_at() (
82bd44d6) - 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. (
4f5bed28) - 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. (
87716075) - 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 (
45bd677c) - Wi-Fi: Modified the type of "bandwidth" and comment in wifi_ap_record_t. (
5c3cb06d) - Tools: Python 3.8 support has been deprecated. ESP-IDF requires Python 3.9 or newer versions. (
30b13b13) - ESP HTTPS Server: Updated the config ESP_TLS_SERVER_CERT_SELECT_HOOK in esp_https_server component (
401fa7b0)
Major Bug Fixes
- Update mbedTLS version to 3.6.3. (
21f59bd0) - JPEG: Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (
c07e2705) - PPA: Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (
65044efa) - UART: Eliminated the possibility of garbled data sent/received from the UART port during sleep process (
dbfb663b) - USB: Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (https://github.com/espressif/esp-idf/pull/15932, https://github.com/espressif/esp-idf/issues/15912) (
a652a847) - System Hardware: Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (
50e3a2bc) - Cache: Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (
da316111) - MSPI: Fixed startup stuck under Flash QIO and XIP_PSRAM 200MHz condition (https://github.com/espressif/esp-idf/issues/14979) (
1ddf0052)
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 (
35d17049)
MAC
- Added Tx/Rx frame dumping for debugging. (
fcbe4930) - Added a duration argument for ieee802154_receive_at() (
82bd44d6) - Set 802.15.4 energy scan duration before cca (
61a8aa80) - Supported IEEE802.15.4 ISR callbacks registration feature (
a29589e2) - Supported configuring 15.4 PTI at runtime (
6f8c76df) - Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels. (
2e301113) - Supported setting/getting ACK timeout APIs (
9d1a4eba) - Supported rx buffer and txrx statistics in 802.15.4 debugging mode (
41b083d2) - Returned ESP_FAIL if enh-ack generating logic was not implemented. (
a1ec2782)
Thread
- Updated openthread submodule (ec2b0d487) (
8836310b) - Supported OT_BR example for ESP32-P4 (
8836310b) - Supported bus_latency configuration for Thread BR (
77efe91c) - Supported periodic parent search mechanism for MTD (
b79b7ac2) - Added a callback to handle rcp reset failure (
bdf0ccaa) - Bound DNS server to unspecified netif on Border Router (
211074d7) - Supported DNS resolution / forwarding for Thread BR (
3eed1624) - Fixed recursive multicast packet forwarding issue (
3eed1624) - Added a function to ensure monotonically increasing frame counter (
c0ba3613) - Fixed CSL issue in which RX is not turned off during idle periods (
82bd44d6) - Added an API to to set RCP version string (
c2e90612) - Supported hardware reset RCP while processing RCP failure for the example
ot_br(3c74432f) - Fixed SRP server to support zero number of subtype item when updating service (
e9914423) - Supported
otPlatRadioGetPreferredChannelMask, added a configuration to set the preferred channel mask. (2e301113) - Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (
5a261da8) - Added set dns server address API for Thread network interface (
5a261da8) - Added Thread connect support in protocol_common component (
7d46a4a0) - Supported custom header file for openthread configuration (
42cbc7aa) - Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly (
8576f40c) - Supported RCP compatibility mismatch error handler (
37305679) - Enabled bbr feature to support multicast by default (
37305679) - Supported modifying port and txt in SRP server (
37305679) - Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScancalls (7bc93933) - Added OpenThread dataset changed event (
a2f35850) - Supported to allocate NAT64 session from PSRAM. (
8ac260a9)
Zigbee
- Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (
47c8ca55) - Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (
47c8ca55) - Removed the esp_zigbee_rcp example (
47c8ca55)
Application Utilities
- Added feature for OTA resumption in case of any error or reboot during OTA process.[https://github.com/espressif/esp-idf/issues/13127] (
23ce1cc4) - Provision for specifying prefix counter for encrypted key files (
54622401) - Updated mfg_gen.py script to add serial count prefix for intermediate csv and bin files (
b3bae69c)
App Update
- Added a new API esp_ota_mark_app_invalid_rollback() to allow marking the app as invalid for rollback without triggering an immediate restart. (https://github.com/espressif/esp-idf/pull/15030) (
ff13eb17) - Invalidate ota data slot of last boot app in esp_ota_begin (https://github.com/espressif/esp-idf/issues/14808) (
95891227) - Supported OTA update for any partitions (bootloader, partition_table, nvs, etc.) (https://github.com/espressif/esp-idf/issues/14195 https://github.com/espressif/esp-idf/issues/13824) (
f817b85f)
CJSON
- Update to latest upstream cJSON master. (
07787485)
ESP HTTP Client
- Updated header deletion by allowing value to NULL in esp_http_client_set_header() (https://github.com/espressif/esp-idf/pull/15715) (https://github.com/espressif/esp-idf/issues/15714) (
a0c707e5) - Fixed invalid content-length header. (https://github.com/espressif/esp-idf/pull/15291) (
61f992a0) - Fixed host header for IPv6 address (https://github.com/espressif/esp-idf/pull/15388) (
e2fc3634) - Added API to extract TLS error from HTTP client. (Closes https://github.com/espressif/esp-idf/pull/15059) (
bc63628f) - Added a configuration to set address type (
aad91f9e) - Fixed memory leak issue while preparing basic digest auth. (Closes https://github.com/espressif/esp-idf/issues/14885) (
b20a7f1d) - Replaced MEM_CHECK macro with an enhanced version to log memory allocation failures and ensure safe handling during exhaustion of the OTA process. (
706a4457) - Include port number to the URL returned by the API esp_http_client_get_url(). (
57269c3a)
ESP HTTP Server
- Incorrect API spelling fix in esp_http_server. (https://github.com/espressif/esp-idf/pull/15821) (
bb9f73a7) - Improved the performance of http parser for parsing the URI. (https://github.com/espressif/esp-idf/pull/15288) (
c263a3f9) - Added support to handle HTTP 1.0 requests for legacy compliance purpose (
a5fbd96f) - Added Server Sent Events demo in http_server/simple example (
d90bd6a1)
ESP HTTPS OTA
- Added missing dependencies for component esp_https_ota (https://github.com/espressif/esp-idf/issues/15680) (
2e2f39b9) - Added chip revision validation for maximum and minimum revision checks while performing OTA. (
83cb9d73) - Added check for revision verification while performing OTA. (
843729c6) - Removed the support of pre_encrypted_ota example from esp-idf. This example has been moved to idf-extra-components under the esp_encrypted_img component. (
5c5e80ca) - Handled case if the HTTP server responded with response code 304 (NOT_MODIFIED) (Closes https://github.com/espressif/esp-idf/issues/14839) (
3029a4b9)
ESP HTTPS Server
- Fixed the HTTP server Async handler example for multiple /long URI requests and handled some error conditions. (https://github.com/espressif/esp-idf/issues/15587) (
fbc38a95) - Updated the CA certificates that were used for self-signing/mutual authentication use cases to contain the
Key Usageparameter due to the change in Python3.13's default ssl context requirements. (ccf71785) - Optimized memory usage for HTTP request with dynamic memory allocation for header and CONFIG_HTTPD_MAX_REQ_HDR_LEN now serving as the maximum limit. (
e3e49d74) - Updated the config ESP_TLS_SERVER_CERT_SELECT_HOOK in esp_https_server component (
401fa7b0)
ESP Local Control
- Fixed esp_local_ctrl CMakelists.txt by adding esp_netif in PRIV_REQUIRES (https://github.com/espressif/esp-idf/pull/15818) (
999a81b0)
Provisioning
- Update security2 scheme to fix the incorrect AES-GCM IV usage (
4f5bed28) - Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (
4f5bed28) - Fix hostname resolving for IPv6-only host (
7aaab5a3)
BLE
- Removed support for the ESP32C5 revision v0.1 (
35d17049) - Added support for the ESP32C5 revision v0.2 (
35d17049) - Add Bluetooth LE direction finding feature (CTE) for ESP32-H2. (
aac2e92f) - Fixed crash in BLE HID host example during logging (
817de148)
BluFi
- Added support for stopping adv in BLUFI for nimble (
b20122ca) - Enhance security in BLUFI example. (
7ff0087d) - Fixed crash issue during memcpy in example. (
b7f3f677) - Fixed potential out-of-bounds memory access issue in Blufi example. (
b48aa982) - Fixed crash issue in Blufi example during prepare write operation. (
56696866) - Fixed Blufi initialization failure after deinitialization on ESP32(https://github.com/espressif/esp-idf/issues/14898). (
ed61b22e)
Bluedroid
- Increased maximum attribute value length to 517 to prevent data loss. (
f03b0fe0) - Fixed validation logic for BLE GAP appearance configuration. (
f03b0fe0) - Added
sync_cte_typein bluedroid PA sync fucntion (38628f98) - Added throughput mode for BLE SPP example. (
3b16d5cf) - Reported cte_type in periodic adv report if CTE feature is enabled (
241afda2) - Fixed missing event reporting in
esp_ble_create_sc_oob_data. (21ca2378) - Fixed BLE crash when disable bluedroid host. (
21ca2378) - Fixed potential uint32_t overflow in BLE btu_start_timer. (
21ca2378) - Fixed memory leak issue when using dynamic memory and deinitializing the host. (
21ca2378) - 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. (
21ca2378) - Added esp_ble_gap_read_channel_map() API to retrieve the BLE channel map of a connected device. (
21ca2378) - Supported BLE iso feature in bluedroid host (
6d3bd5df) - Supported BLE CTE feature in bluedroid host (
6d3bd5df) - Supported BLE bluedroid host power control feature (
6d3bd5df) - Supported BLE bluedroid host connection subrating feature (
6d3bd5df) - Added BLE eddystone sender example. (
2217fb81) - Supported read periodic advertiser list size command. (
bcea8c98) - Added Read Long Characteristic Values example. (
5787da0a) - Supported SPI log output options for HCI. (
5f2a7f4d) - Fixed an issue where advertising data and scan response data were not reported together during BLE active scanning. (
1bfc6edd) - Supported BLE vendor hci event reporting (
8ad16fd5) - Supported BLE setting vendor event mask (
8ad16fd5) - Reduced bluedroid host bin size (
7d751dcc) - Supported change HID task size by Kconfig in HID example(https://github.com/espressif/esp-idf/pull/15320). (
b51d4d2a) - Optimized the references to BLE GATT related APIs. (
19b5381c) - Added BLE get started examples for Bluedroid. (
b87ba038) - Added config for saving BLE bonding keys to NVS flash. (
79aae54f) - Fixed connection params copying when creating BLE connection. (
b6b0758e) - Supported setting BLE connection parameters when creating connection. (
93257ed7) - Fixed event reporting upon completion of preferred connection parameter settings. (
79f26ad6) - Fixed the issue where the BLE channel selection algorithm event was not reported. (
21acfc28) - Fixed an issue where BLE connection creation failed due to an invalid own address type. (
f420609c) - Added BLE 5.0 throughput examples. (
5910fc82) - Fixed a build failure in Classic Bluetooth that occurred when dynamic memory was enabled and BLE was disabled. (
c014ced2) - Fixed BLE build failure when enabling dynamic memory with BLE 5.0 (
08f1c368)
Controller
- Fixed an occasional assertion issue in scan and connection scenarios on ESP32-C6. (
a3edce57) - Supported creating connections during scanning process on ESP32-C6 and ESP32-H2. (
a3edce57) - Fixed an occasional packet loss issue in multi-connection scenarios on ESP32-C6. (
a3edce57) - Fixed a crash issue caused by using os_mbuf_dup on ESP32-C6 and ESP32-H2. (
a3edce57) - Fixed an occasional timeout issue during connection parameter update while latency is active on ESP32-C6 and ESP32-H2. (
3f2f57a3) - Fixed an issue where the DID was not refreshed after stopping advertising and updating the advertising data on ESP32-C6 and ESP32-H2. (
3f2f57a3) - Fixed an occasional assert issue when repeatedly starting and stopping extended advertising during periodic advertising scenario on ESP32-C6 and ESP32-H2. (
3f2f57a3) - Fixed an occasional interrupt watchdog timeout issue on ESP32-H2. (
3f2f57a3) - Fixed an occasional assert issue in function r_ble_lll_sched_check_remaining_entries when ble spi log is enabled for ESP32-H2. (
3f2f57a3) - Fixed disconnection due to MIC error when pairing with an iOS device on ESP32-C3 and ESP32-S3. (
7a3925a5) - Fixed an occasional assert issue when stopping aux scan on ESP32-C6 and ESP32-H2. (
7ee1bf0c) - Fixed an occasional assert issue when the task is blocked during the extended scan scenario on ESP32-C6 and ESP32-H2. (
7ee1bf0c) - Fixed the occasional issue of not receiving packets during the extended scan scenario on ESP32-C6 and ESP32-H2. (
7ee1bf0c) - Fixed the cache error if controller runs in flash and BLE sleep is enabled on ESP32-C2. (
57fd0513) - Fixed possible assertion when multiple ACL runs concurrently on ESP32-C6, ESP32-H2 and ESP32-C5. (
57fd0513) - Fixed occasional interrupt watchdog timeout issue when scanning and connection coexist on ESP32-C6. (
57fd0513) - Fixed an occasional issue where the connPeripheralLatency parameter was not properly applied on ESP32-C6, ESP32-H2 and ESP32-C5. (
57fd0513) - Disabled anonymous extended advertising reporting on ESP32-C3 and ESP32-S3. (
1edf45e3) - Fixed BLE assert lld_adv.c 2992 on ESP32-C3 and ESP32-S3. (
1edf45e3) - Fixed heap assert due to advertising data buffer double freeing on ESP32-C3 and ESP32-S3. (
1edf45e3) - Fixed BLE 0x08 disconnect when the window size is greater than half of the connection interval on ESP32-C3 and ESP32-S3. (
1edf45e3) - Fixed bluetooth controller flash only bug if hci-uart is enabled on ESP32-C3 and ESP32-S3 (
241afda2) - Fixed a heap assertion issue when enabling BLE and ESP32C2_REV_MIN_200 for ESP32-C2 v2.0 (
f7218f77) - Fixed an occasional
load access faultissue when performing ext_conn creation for ESP32-C2. (16ba8f89) - Added definitions for bluetooth hci vendor commands and events (
16ba8f89) - Fixed hci assertion issue when uart interference occurs on ESP32-C2, ESP32-C6,ESP32-H2,ESP32-C5 and ESP32-C61. (
8d97ce5d) - Changed the maximum supported value of the whitelist to 31 on ESP32-C2, ESP32-C6,ESP32-H2,ESP32-C5 and ESP32-C61. (
8d97ce5d) - Fixed gpio unavailable warning when repeatedly reconfiguring hci uart pins on ESP32-C2, ESP32-C6,ESP32-H2,ESP32-C5 and ESP32-C61. (
8d97ce5d) - Added a function to maintain the connection when an instant pass issue occurs on ESP32-C2. (
cafbd7bd) - Fixed extended advertising interval upper limit issue on ESP32-C6 and ESP32-H2. (
cafbd7bd) - Reduced controller bin size and heap for ESP32-C3 and ESP32-S3 (
f941b0d9) - Fixed enhanced TX power setting and getting for legacy adv on ESP32-C3 and ESP32-S3. (
7e00ea43) - Fixed BLE assert lld_con.c 2387 on ESP32-C3 and ESP32-S3(https://github.com/espressif/esp-idf/issues/14938) (
7e00ea43) - Fixed compatibility issues during the encryption procedure on ESP32-C3 and ESP32-S3. (
7e00ea43) - Added BLE debug log module on ESP32-C3 and ESP32-S3. (
0461e2ff) - Added channel assessment function on ESP32-H2 and ESP32-C6. (
5abfc059) - Won't terminate the connection when instant pass issue triggers on ESP32-H2 and ESP32-C6. (
5abfc059) - Fixed the issue where disconnection events were not reported as a slave on ESP32. (
1f84180a) - Enhance Access Address validation in compatibility mode on ESP32. (
1f84180a) - Fixed scan duplicate filter failure when receiving ADV_DIRECT_IND for ESP32-C2. (
07ce83a3) - Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (
8563c2fc) - Fixed an issue where the default tx power of connection is incorrect after setting the scan tx power on ESP32-C6 and ESP32-H2. (
8563c2fc) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (
8563c2fc) - Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (
8563c2fc) - Supported for putting ble code into flash on ESP32-C6 and ESP32-H2. (
8563c2fc) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (
8563c2fc) - Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (
8563c2fc) - Supported resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Added parameter validation for Periodic Advertising Enable on ESP32-C3 and ESP32-S3. (
3f6d1f64) - Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (
6cc06c6c) - Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (
6cc06c6c) - Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (
6cc06c6c) - Provided DTM configuration command in HCI example. (
60fea222) - Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3 (
ad42627d) - Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (
8458cfff) - Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (
8458cfff) - Fixed an occasional WDT issue with long running time on ESP32-C2. (
8458cfff) - Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (
397fb43d) - Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (
397fb43d) - Fixed a occasional wdt issue in multi-connection scenarios on ESP32-C6. (
3075efd8) - Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (
3075efd8) - Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (
bcfe6469) - Removed BLE creating connection assertion when the connection already exists on ESP32. (
d54390ec) - Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (
4f226b4e) - Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (
4f226b4e) - Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (
4f226b4e) - Fixed occasional ACL disconnect when light sleep is enabled on ESP32C61. (
a3922cd1) - Supported for putting code in flash on ESP32-C2 (
ea31e155) - Fixed occasional crash issue in low memory scenarios on ESP32C6 and ESP32H2. (
1f49c9a8) - Supported for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (
92e4b80a) - Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32. (
1acc70f4)
Documentation
- Updated the Bluetooth SIG Qualification information for ESP32-C6. (
96af7b4a) - Updated the BLE feature support status in API Guides. (
96af7b4a) - Added Bluetooth SIG Qualification information to API Guides. (
fa41fafd)
Mesh
- Support for using multiple advertising instances on BLE Mesh (
305f1c1e) - Optimized the performance of remote provisioning (
604ccb8f) - Fixed an issue where an unprovisioned device could be simultaneously provisioned by both a provisioner and a remote provisioning client. (
604ccb8f) - Supported Proxy Client and Proxy Server coexistence (
d74bf059) - Support BLE 5.0 on Bluedroid and NimBLE host. (
87e4f63c)
NimBLE
- Added new Gattc + Gatts BLE coex example for nimble . (
06ee44ef) - Fixed incorrect comparison with gattc proc that can cause request-response mismatches (
5273ba97) - Added support for anonymous address type for whitelist (
4498eea2) - Added fix for an async race condition with HCI outstanding packets counter (
4498eea2) - Add configurable option to select ext adv v2 command (
4498eea2) - Added api's to fetch gatt cache info (
f8cdf02b) - Added option to enable stack to handle repeat pairing internally (
7cf5dacd) - Added runtime configurable support for observer role, security mode 1 level, and GATT caching (
386a3905) - Modified HID KIR and MIR Characteristic write permission from hardcoded to configurable (
386a3905) - Fixed LLS crash when no callback was registered for LLS event (
386a3905) - Added SPS callback event to expose changes in scan parameters (
386a3905) - Fixed incorrectly passed in GATT Caching disovery operations (
386a3905) - Enabled Connection Subrating bit in ESP32C6 (
386a3905) - Optimized nimble throughput example by extended adv support and switching between different Phy modes. (
e0da61ca) - feat(nimble): Added tutorials for PAwR examples (
61d1a1ff) - Fix sync handle assignment for PAwR connection (
cc98f5b2) - Fixed incorrect OTA address type assignment [ Closes https://github.com/espressif/esp-idf/issues/15740 ] (
771e9db7) - Corrected event posting in Read Remote Features event handling [ Closes https://github.com/espressif/esp-idf/issues/15670 ] (
1c468f68) - Added missing ble_hs_unlock for periodic adv sync reattempt case. (
cc4fc21b) - Fix conversion for min-max itvl of periodic adv param in example (
6e1f0716) - Fix SMP command allocation (
ffe83c23) - Add support for Vendor Event mask VSC (
bbca89da) - Fix incorrect event deinit in gatt caching discovery (
77346e0b) - Exposed the ble_gap_wl_tx_add API to add a device in whitelist (
b1effd0c) - Fixed pairing failure issue when SC only mode is selected (
3eeca52e) - Added a change in the BLE SPP Client example to allow the client to subscribe to the server. (
030cdf98) - Handle application code compilation issue due to removal of link_estab structure (
cf169a40) - Update controller data length upon connection creation. (
3bf56f7d) - Deprecate BLE_GAP_EVENT_LINK_ESTAB event. (
10800641) - Handle not sending disconnect event if connect event was not sent (
d65d2fd4) - Add offset in GATT server long read context (
9411fd0a) - Restart adv / sync when periodic sync fails due to 0x3E (
90bad97f) - Enhanced error handling by adding to print core error definitions (
cefefb3d) - Fixed nvs corruption due to BLE_ENV_ADV_DATA flag (
b70c995b) - Address compilation issue observed when WARN_WRITE_STRINGS is set . [ PR: https://github.com/espressif/esp-nimble/pull/84 ] (
a1154699) - Updated README.md by removing unclear line (https://github.com/espressif/esp-idf/issues/15284) (
6e596644) - Handle nested locks when BT_NIMBLE_DEBUG enabled (https://github.com/espressif/esp-idf/issues/15014, https://github.com/espressif/esp-idf/issues/15294, https://github.com/espressif/esp-idf/issues/15202) (
56fb641d) - Fix compilation warnings in nimble examples. [ Closes https://github.com/espressif/esp-idf/issues/15157 ] (
5dda7315) - Clear our and peer security records cleanly during unpair. (
a77c4e7e) - Additional PAwR changes support for ESP IP (
a77c4e7e) - Added HCI Read Remote Version Information command. (
a77c4e7e) - Reset global variables during link disconnection (
4a071793) - Corrected storing method of csfc to nvs (
724663ee) - Fixed coverity reported issues. (
d0ffd254) - fix(nimble): Save the gatt context in case of preemption (
429d9982) - Fixed compilation issue for combination of Ext Adv and Reattempt connection flag. (
e2882a11) - Add ATT Tx queue cleanup during link disconnection (
32a5b6e4) - Fix compilation issues when BLE_MAX_STORE_BOND is set to 0. [ https://github.com/espressif/esp-idf/issues/14712 ] (
172bebe4) - Added a check for invalid offset (
2100a5a0) - Added change to assign correct peer OTA address type (
27a48c03) - Fixed memory leak issue in BluFi Example (
9ee2f9e1) - Updated error print function to include HCI opcode information (
a6b1b33c) - Changing esp_rom_printf to ESP_LOGI when memory allocation fails (
c3381e74) - Corrected link_estab event handling parameters (
4885e24e) - Changed CSFC max size to avoid invalid NVS overflow event (
2c31596a) - Added fixes for CVE-2024-(47248/47249/47250/51569) vulnerabilities for nimble (
a8691924) - Added a function for printing HCI error definition (
79930189) - Fix compilation issue in esp_hid_host example (
5d250a23) - Replace ESP_LOG* with esp_rom_printf in controller context callback (
2d1a2a7a) - Add support for Multiple Variable Length Notifications. (
e5177611) - Add support for Multiple EATT bearers. (
e5177611) - Added support of LE GATT Security Level Characteristic (
e5177611) - Fixed issue in L2CAP regarding incorrect comparison between SDU length and MTU/MPS (
e5177611) - Added menuconfig option to enable SC only mode. (
e5177611) - Added fix to clear IRK from controller when clearing keys from NVS during signed write operation (
e5177611) - Add support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (
e5177611) - Fixed memory issue in multiple L2CAP COC connections. (
e5177611) - Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (
e5177611) - Added menuconfig option to enable L2CAP Enhanced COC (
e5177611) - Fixed issues in connection subrating request. (
e5177611) - Fixed crash issue in read multiple variable length callback (
e5177611) - Added support for PAwR feature (
e5177611) - Added a host config to enable/disable SC Only mode (
e5177611) - Fixed Device Information, Battery Level service and Scan Parameters [ https://github.com/espressif/esp-idf/issues/14864 ] (
e5177611) - Resolved watchdog due to memory exceed prints (
8eeb3e20) - Nimble Error logs in case of memory overflow/failure (
749cfa1c) - Removed min/max macro definition from os.h (https://github.com/espressif/esp-idf/issues/14840) (
393b7410)
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 . (
16ba8f89) - Add support for converting BT HCI logs to btsnoop format. (
39eb6732)
Bluedroid
- Set default value of BT_BLUEDROID_ESP_COEX_VSC to n if software coexistence is not required, (
895bb2af)
Controller
- Fixed the issue that disable Bluetooth controller may cause interrupt watchdog timeout on ESP32 (
be5cad56) - Disable debug vendor HCI command on ESP32. (
bdd9077b) - Added API to get/set low power clock source on ESP32 (
ef740321) - Move
esp_wifi_bt_power_domain_onandesp_wifi_bt_power_domain_offfromesp_bt.htoesp_phy_init.h(45bd677c)
Bootloader
- Fixed partition size cannot exceed 16MB issue, when CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH or CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH is on (
574b27d0) - Added a new custom bootloader example that implements multiboot (
55955a5c) - Added support to use flash MMU page size from app binary header (
4c6cda73) - Added the CMake variable
BOOTLOADER_EXTRA_COMPONENT_DIRS, making it possible to add extra components to the bootloader build, without the need to place them inbootloader_components/(56922248)
Build & Config
- Changed build fatal error to warning when the ESP_ROM_ELF_DIR environment variable is not set (
135f4e21) - Added support for the CMock subdir option with idf_component_mock (https://github.com/espressif/esp-idf/pull/15308) (
2fb93845) - Fixed C standard preferences for the Linux target (
e4cf8191) - Fixed CMake configuration warning CMP0165 for Linux target (https://github.com/espressif/esp-idf/issues/15488) (
7ce80cef) - Included the test components specified by TEST_COMPONENTS in minimal build (https://github.com/espressif/esp-idf/issues/15485) (
da69aee8) - Fix compilation issues in the idf_as_lib example (https://github.com/espressif/esp-idf/pull/15401) (
4f968c3f) - Fixed ESP32-P4 linker script that was missing the
arraysattribute for external RAM section. (77604966) - Added the MINIMAL_BUILD build property and modified examples to use it in order to reduce their build time (
46e37515) - Wrote the components properties file once instead of rewriting it in a loop for each component (https://github.com/espressif/esp-idf/pull/14733) (
542a5d28)
Classic Bluetooth
Bluedroid
- Added support for initializing secure connection host support feature during Bluedroid initialization (
ee9c524b) - Fixed the issue that l2cap stop server did not report the
ESP_BT_L2CAP_SRV_STOP_EVTevent (141d19ce) - Fixed no report of ESP_SPP_WRITE_EVT and Bluedroid btc task being blocked when SPP connecion number reaches the upper limit (
660898dc) - Added events for l2cap register and unregister vfs (
03c229e9) - Fixed
write_readtask stack overflow in l2cap example (03c229e9) - Fixed the issue with l2cap not using dynamic memory (
03c229e9) - Added APIs to get status on such information as initialization state, connection number, for Classic Bluetooth profiles (
5f3097f2) - Refactor HFP and A2DP audio data path to support using external codec (
96244e08) - Fixed connection failure due to insufficient number of service security records when multiple profiles are initialized. (
fb0a087d) - Fixed the issue that PBAC may free undefined memory when connection close with service discovery failed (
569f97da) - Fixed the issue that some memory in OBEX not being freed when deinitializing Bluedroid (
569f97da) - Fixed reporting of unexpected
ESP_BT_GAP_DISC_STATE_CHANGED_EVTevent upon ACL disconnection, due to uninitialized local variable (2bf3fd52) - Fixed the issue that after SPP reaches the maximum number of connections, it will mistakenly free the server resources when disconnecting, causing the next server start to fail. (
9ba55278) - Fixed memory leaks in SPP callback mode (
9aaa7f82) - Add sdkconfig for SDP size options (https://github.com/espressif/esp-idf/pull/15321) (
26a1b69a) - Add Kconfig option to keep device bonding information when HID virtual cable unplugging (
f390fcbd) - Fixed incorrect records in SDP record search response using 16-bit UUID (
9dde33e8) - Fixed error type returned when searching for SAP records (
9dde33e8) - Support get play status feature in AVRCP CT (
6109542f) - Fixed memory leak issue in esp_avrc_ct_cover_art_get_image API (
cb3ac742) - Support Phone Book Access profile client role (
cb3ac742) - Fixed NULL pointer access exception in HFP callback handler (
c8b9ea3b) - Disconnect SDP connection on receiving incorrect response or the ACL connection will never be released (
56a55c09) - Fixed the incorrect service UUID in the callback parameter of ESP_SDP_SEARCH_COMP_EVT due to byte alignment issue (
4097a27c) - Added HFP callback event for notification of profile ON/OFF state (
6c62e08b) - Fixed AVRCP compatibility issue on absolute volume synchronization (
f0ab5513) - Fixed memory leak for synchronous data queue when disabling Bluedroid (
bb5a53c6)
Controller
- Implemented a workaround for potential data packet exchange issues when secure connection is enabled on ESP32 (
ee9c524b) - Fixed a crash issue caused by accessing external memory in ISR context on ESP32 (
eb0d3677) - Fixed ACL has few chance to run when it coexists with SCO on ESP32 (
abe76801) - Fixed errors in dynamic priority configuration in Bluetooth dual mode on ESP32 (
abe76801) - Fix the incorrect unit of
duration_minin CPB TX on ESP32 (dbe3c111) - Recalculate the channel map when AFH is enabled on ESP32 (
dbe3c111) - Fixed assessing NULL pointer in case of handling earlier message when Bluetooth Classic connection gets disconnected (https://github.com/espressif/esp-idf/issues/15128) (
94cfe394) - Avoid accessing released ACL resources in SCO logic on ESP32 (
94cfe394) - Fixed no release of event scheduling element in after SNIFF negotiation failure on ESP32 (https://github.com/espressif/esp-idf/issues/13605) (
9f68b151) - Removed an assertion in SCO data TX handler after disconnection on ESP32 (https://github.com/espressif/esp-idf/issues/15176, https://github.com/espressif/esp-idf/issues/15084) (
9f68b151) - Fixed missing critical protections on linked-list structure of (e)SCO buffers on ESP32 (
21e07da1) - Fixed the issue where the pause and resume encryption requests were not initiated after the link key upgrade completion on ESP32 (
04429da4) - Fixed the issue that the create_conn_cancel_cmd was rejected to cancel connection creation process and returned inappropriate error code in some states on ESP32 (
2b8c581e) - Fixed duplicated encryption restart process when new lk type is semi-permanent key on ESP32 (
df69b78a) - Fixed the issue where
HCI_Encryption_Changewas not reported to host after changing the key type, even when the encryption mode was correctly changed viaHCI_Set_Connection_Encryptioncommand on ESP32 (df69b78a) - Fixed zero attempt value set by role switch which cause fatal hardware error on ESP32 (
e4102c54) - Fixed missing of critical protection for the free method of (e)SCO buffers on ESP32 (
e4102c54) - Fixed wrong logic in handling sniff transaction collision at slave side on ESP32. (
7bc8b998) - Fixed the issue ACL is stopped too early before eSCO on ESP32. This issue can cause ACL Perihperal to be unable to receive acknowledgements from the ACL Central, resulting in an infinite retransmission of a certain packet on the Peripheral side. (
7bc8b998) - Fix crash upon name request from peer device without setting local device name on ESP32 (
203e5432) - Set the QoS value to the minimum value if the calculated QoS is less than the minumum on ESP32 (
203e5432)
Coexistence
- Supported BR/EDR (e)SCO and Wi-Fi coexistence. (
79eb59dc) - Fixed disable external coexist fail issue. (
5fd47af0) - Added coexistence scheme for BT Inquiry/Page coexist with WIFI (
22869af2)
Core System
- Added unit test ordering by file path and line number (https://github.com/espressif/esp-idf/issues/15529) (
182b33ef) - Fixed DRAM_DMA_ALIGNED_ATTR for ESP32-P4 (
53e84d97) - Ensure proper reset for crypto peripherals before software restart. This fixes a rare and intermittent secure boot verification failure based on RSA-PSS scheme. The fix is recommended for aggressive revocation config. Please see commit log for more details. (
e37c47f6) - Added CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS option to improve memcpy/memcmp/memmove/str[n]cpy/str[n]cmp performance for misaligned memory access for riscv chips. (
a31f4877) - Fixed system console not correctly outputting to usb-serial-jtag secondary output console on newer chips (
afedcb7c) - Fixed esp_ptr_executable to specifically check if the pointer is in PSRAM memory on esp32p4. (
7e93f4b5) - Fixed missing implementation of __atomic_test_and_set required by GCC 14 (https://github.com/espressif/esp-idf/issues/15167) (
66cf5184) - Improved detection of illegal writes to flash rodata on ESP32-S3, exception should now trigger faster and provide more accurate error information. (
b0776182) - Deprecated
TARGET/rtc.hheader file, these have been replaced byesp_rtc_time.h(2e6a6c0d) - Fixed linker script for ESP32-C3, ESP32-S2 and ESP32-S3, reducing Flash usage by up to 512 bytes. (
bcd80c92) - Fixed esp-ringbuf logic errors when compiling with CONFIG_COMPILER_STATIC_ANALYZER (
184a8aa6) - Fixed typo in ROM API documentation (https://github.com/espressif/esp-idf/pull/14518) (
b6be76f5) - Corrected the address used to fetch the application image header during system startup (
5504a596)
Console
- Fixed deadlock occurring upon deinitialization of the repl environment (see https://github.com/espressif/esp-idf/issues/9974) (
e4e2a83e) - Fixed the crash when enable USB-Serial-JTAG as the primary console on ESP32-C3 v1.1 (
ea902d6e) - Added 'info' to log_level command description (https://github.com/espressif/esp-idf/pull/14771) (
3ec05583) - Added recommendation to use Windows Terminal in case of issues with escape sequences(https://github.com/espressif/esp-idf-monitor/issues/17) (
90abcdeb)
ESP Event
- Fixed event profiling not logging execution time and invocation number (https://github.com/espressif/esp-idf/issues/15041) (
82f558b4)
ESP Timer
- Added option for placing functions in flash if using flash-auto-suspend (
ee87960c)
Heap
- Updated heap debugging documentation to include the task tracking feature description. (
83f28973) - Added heap_caps_get_containing_block_size to the heap API that returns the size of an allocated block from any pointer to that block. (
826c69f1) - Added per task peak heap usage information when heap task tracking is enabled (
6ef7ad67) - Fixed CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH not being able to be used together with CONFIG_HEAP_TLSF_USE_ROM_IMPL. (
46847b7b) - Added MALLOC_CAP_SIMD flag to allocate memory that is suitable for SIMD instructions (
bbdef6a1) - Fixed wrong memory returned when allocating in RTC memory with MALLOC_CAP_EXEC capability (see https://github.com/espressif/esp-idf/issues/14835) (
c80ba402) - Fixed allocs with MALLOC_CAP_EXEC returning non executable memory if CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT was enabled (https://github.com/espressif/esp-idf/issues/14836) (
e4501b37) - Updated list of registered heaps to be sorted by increasing size (see https://github.com/espressif/esp-idf/issues/13588) (
ab3d179f)
Interrupts
- Added kconfig option
CONFIG_ESP_INTR_IN_IRAMfor placing interrupt related API into flash when usingCONFIG_SPI_FLASH_AUTO_SUSPEND(e8240916) - Fixed spelling mistakes in the
soc/interrupts.h(https://github.com/espressif/esp-idf/pull/15273) (04078794) - Implemented a way to allocate a shared interrupt specifying the interrupt line destination. (
8dfcafa1) - Fixed a bug in the interrupt allocator that resulted in the level of shared interrupt being overwritten with the last level given. (
8dfcafa1) - Fixed wrongly reserved interrupt for WiFi on ESP32-H2 (
cfe70218)
Linux target
- Added SOC_CPU_CORES_NUM define for the Linux target (https://github.com/espressif/esp-idf/issues/15758) (
784d80b4) - Fixed TEST_COMPONENTS not working on macOS for linux target (https://github.com/espressif/esp-idf/issues/15490) (
64113b8e)
Log
- Added binary logging mode (
33cab69f) - Added kconfig option
CONFIG_LOG_IN_IRAMfor placing logging related API into flash when usingCONFIG_SPI_FLASH_AUTO_SUSPEND(76057272) - Added Log v2 (the choice between v1 and v2 is made by CONFIG_LOG_VERSION). Supports centralized log formatting via a single handler for all log macros. (https://github.com/espressif/esp-idf/pull/5761, https://github.com/espressif/esp-idf/issues/14011) (
ec990f4a) - Moved esp_log_level_get_timeout and esp_log_writev to IRAM (
9eeee92d)
Newlib
- Updated usleep() to ensure it never sleeps for less than the requested duration. For multi-tick delays, it now also yields CPU time more effectively (https://github.com/espressif/esp-idf/pull/15132) (
15c349b0) - Added kconfig option
CONFIG_LIBC_MISC_IN_IRAMfor placing newlib related API into flash when usingCONFIG_SPI_FLASH_AUTO_SUSPEND(3fdcf318) - Removed unnecessary IRAM attributes from some newlib functions, slightly reducing IRAM usage. (
70371347) - Added kconfig option
CONFIG_LIBC_LOCKS_PLACE_IN_IRAMfor allowing newlib lock API to be placed into flash if deselected. If these APIs are not used from IRAM ISRs where cache is disabled then placing them in flash saves ~1KB of IRAM. (70371347)
Panic handling
- Updated the panic handler to use RTC WDT. This fixes a bug where in the panic handler could get stuck without rebooting the system (https://github.com/espressif/esp-idf/issues/15166, https://github.com/espressif/esp-idf/issues/15018, https://github.com/espressif/esp-idf/issues/10110) (
e01877ff) - Added CONFIG_ESP_SYSTEM_USE_FRAME_POINTER to enable frame pointer generation, simplifying backtracing at runtime. (
52b558d2) - Fix the cache size error message on Xtensa targets (
6540208f)
Partition Table
- Fixed partition table names must be only ASCII characters (
4aa47aac) - Supported primary subtypes partitions for bootloader and partition_table types (
1a419e59)
Pthread
- Added missing pthread functions pthread_set/getschedparam (https://github.com/espressif/esp-idf/issues/14821 https://github.com/espressif/esp-idf/issues/8594) (
d37e1ccc)
Watchdogs
- The LP-WDT on ESP32-P4 now takes into account the value EFUSE_WDT_DELAY when setting the timeout (
4608cc0e) - Fixed an issue on ESP32-P4 causing unexpected WDT resets and preventing halting after a panic when
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALTset (648a3001)
Debugging
- Moved gdbinit files generation to CMake configuration stage (
2a6e0843) - Added "--gdb-commands"/"-x"/"-ex" options for "idf.py <gdb|gdbgui|gdbtui>" to pass custom options to GDB (
2a6e0843)
Apptrace
- Store CRC16 checksum of trace blocks in Xtensa perfmon register to enable host-side data integrity verification. (
d1c131f6) - Fix deadlock on sysview start (
f8284e17) - Fixed the issue where the Segger SystemView app (v3.10 or later) gets stuck during the record analyzing step. (https://github.com/espressif/esp-idf/issues/10483) (
06e8ee28) - Updated SEGGER sysview version to v3.56 (
f3790a01)
Core Dump
- Hide the
--chip-revargument inidf.py coredump-*help because it is need for older ESP-IDF versions only (969ea94a) - Fixed potential checksum errors by using a buffer to write to flash. (
1b71db8d)
GDB Stub
- Supported riscv xesppie extension (
f667ba73)
Documentation
- Corrected LP Core documentation about
esp_idf_monitorusage (33c340a3) - Changed PDF download link to a HTML zip archive download (
813b98ca) - Updated information about debugging the heap. (
0564e9d4)
Ethernet
- Added destination MAC address filter configuration interface (https://github.com/espressif/esp-eth-drivers/issues/57) (
eba9549b) - Fixed ESP32P4 EMAC REF RMII CLK output mode (
6d9fdcf9) - Fixed ESP32P4 EMAC flow control enable (
6d9fdcf9) - Fix second Ethernet device not getting IP address in Ethernet basic example (
39f34a65) - Changed GPIO init to not use functions which "overwrite all the current IO configurations" (
d30e4d99) - Fixed Openeth driver to consider the MAC address specified in QEMU (https://github.com/espressif/qemu/issues/107) (
e06c2346) - Added time stamping support for ESP32P4 Ethernet driver. (
7f07c9de) - Added time synchronization over PTP example. (
7f07c9de)
FreeRTOS
- Introduced Kconfig option
CONFIG_FREERTOS_PLACE_ISR_FUNCTIONS_INTO_FLASHto allow placing FreeRTOS APIs called from ISR context in to Flash memory. (5ba12ea9)
IDF Additions
- Updated
xRingbufferReceive()andxRingbufferReceiveFromISR()APIs to restrict them from being called to retrieve items from allow-split buffers. (a57680c6) - Updated description of the ring buffer API (https://github.com/espressif/esp-idf/issues/15298) (
8778ed28) - Fixed a bug in
prvTaskDeleteWithCapsthat resulted in a crash if the task used a coprocessor. (7559275f) - Fixed a bug wherein a
no-splitring buffer does not receive any item if space on the buffer is acquired until the buffer is full and the acquire pointer wraps around (https://github.com/espressif/esp-idf/pull/14948) (856bba66) - Fixed incorrect API reference for
xRingbufferSendComplete()(https://github.com/espressif/esp-idf/issues/14990) (2cddacd0)
IDF Kernel
- Fixed an issue where automatic light-sleep can cause FreeRTOS ticks to jump and cause unexpected timeouts (https://github.com/espressif/esp-idf/issues/15642) (
6a740a94) - Fixed an issue in HWLP coprocessor support where, due to a hardware bug, the previous context could be incorrectly restored in certain cases. (
d3fd64d6) - Added a Coverity error suppression comment to tasks.c during idle task name copy operation. (
c776de61) - Fixed an issue where the idle task name copy operation could result in an out-of-bounds memory access. (
2c4588bb) - Fixed an issue where the idle tasks in SMP configuration could be non null-terminaated strings. (
2c4588bb)
LWIP
- Fixed IPv6 forwarding to clone PBUF_REF buffers into PBUF_RAM, matching IPv4 behavior. (
49c9d797) - Fixed NULL pointer dereference in ip_napt_enable and added unit tests(https://github.com/espressif/esp-lwip/issues/69). (
83e8f70e) - Changed LWIP_NETIF_API to be always enabled to support standard network interface APIs
if_nametoindex()andif_indextoname()(e11a9185) - Fixed compilation issue with CONFIG_LWIP_DHCP_RESTORE_LAST_IP(https://github.com/espressif/esp-idf/issues/14582). (
73c46b0b) - Fixed ping component to retrieve network interface name in a TCP/IP thread safe manner (https://github.com/espressif/esp-idf/issues/14982) (
ed14b8d3) - Added minimal support for
socketpair()via the external componentsock_utils(https://github.com/espressif/esp-idf/issues/13772) (7e246472) - Added minimal support for
gai_strerror()andgethostname()via the external componentsock_utils(https://github.com/espressif/esp-idf/issues/14849) (7e246472) - Fixed IPv6 raw socket ICMPv6 checksum calculation in IPv6-only configuration (
afb4a02f) - Fixed a bug in
dns_clear_cache()that caused deadlock by clearing active DNS entries(https://github.com/espressif/esp-idf/issues/14287). (e4c92855)
DHCP
- Added a hook to support custom actions on getting an additional DHCP options (https://github.com/espressif/esp-idf/issues/15329) (
0be20a5f) - Fixed DHCP server recv decline issue (
e3583dd0)
DHCP Server
- Added support for multiple DNS servers in DHCP server functionality. (https://github.com/espressif/esp-idf/pull/15057) (
04133e02)
ESP Netif
- Added infrastructure to IGMP and MLD configure MAC address filter based on joined multicast group (
eba9549b) - Added support for additional PPP server properties (DNS servers, passive connection) (https://github.com/espressif/esp-idf/pull/15459) (
23c73cdc) - Fixed IP address notification from DHCP client after lease expiry and renewal (
584fc500) - Fixed esp_netif bridge glue layer for targets with no WiFi support (
e65c9a52) - Enable user to set route priority after esp_netif creation. (
9e2671dc) - Added time stamp value retrieval via L2 TAP interface. (
7f07c9de)
TCP
- Fixed unlimited PCB issue, allowing application to allocate more TCP connections than configured (https://github.com/espressif/esp-idf/issues/9670) (
890106fb) - Updated mechanism to recycle PCBs also in FIN_WAIT_1 and FIN_WAIT_2 states (
890106fb)
Low Power Features
- Improved esp_timer timing accuracy for esp32 and esp32s2 when esp_pm DFS is enabled. (
cd1601f4) - Fixed the issue that esp32p4 may get stuck when entering deepsleep. (
7f46f615) - Fixed deepsleep leakage after USB HS phy is initialized on esp32p4 (
693dfe6b) - Supported switch to VBAT power supply in deep sleep on esp32p4. (
45f495cb) - Updated the bootloader clock configuration method to not disable the LP Timer interrupt (https://github.com/espressif/esp-idf/issues/15751) (
465b159c) - Allowed to keep SAR ADC power when using ADC_ULP_MODE. (https://github.com/espressif/esp-idf/issues/12426) (
22f0ee54) - Optimized CPU IDLE power consumption by enabling automatic clock gating of CPU/Cache/memory. (
38fcc41f) - Fixed power leakage when external 32k slow clock source detection fails. (
1304fdc3) - Fixed the issue that esp32c2 may fail to wake up after entering deepsleep with external 32 kHz oscillator. (
2d1c99e7) - Warning the use of lightsleep GPIO/UART wakeup source if
PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEPoption is enabled. (e57f02e9) - Fixed the issue that accessing external storage (Flash/PSRAM) after waking up from light sleep may get wrong data when ESP_SLEEP_KEEP_DCDC_ALWAYS_ON is not enabled on ESP32-P4. (
5fd4104d) - Added sleep duration validity check in
esp_sleep_enable_timer_wakeup. (#15255) (e95103aa)
ULP
- Added support for embedding multiple ULP binaries without variable name collisions using binary specific prefixes (https://github.com/espressif/esp-idf/pull/14954) (
57002884)
LP Core
- Updated the LP UART and LP I2C drivers to not enable interrupts but rather use raw interrupt registers to prevent the LP core from jumping to the default interrupt handler and aborting the LP core code. (
c85c74f5) - Added support for LP Timer interrupt on the LP Core (https://github.com/espressif/esp-idf/pull/15717) (
692512c0) - Added wrapper APIs to enable and disable LP IO as a wakeup source from the LP core (https://github.com/espressif/esp-idf/pull/15837) (
382121b8) - Fixed accumulation of wakeup cause bits in ULP (https://github.com/espressif/esp-idf/issues/15794) (
ed964865) - Fixed and issue with the
lp_core_uart_tx_flush()did not wait for the UART Tx idle state therefore, not always flushing all bytes from the UART Tx FIFO (https://github.com/espressif/esp-idf/issues/15433) (47df2ed5) - Added support for LP UART wakeup modes. (
5f37de28) - Added a LP-SPI example for the LP-Core showing reading and writing from a BME280 sensor (
402fecee)
ULP-RISC-V
- Fixed a bug in ADC oneshot driver which incorrectly initialized the ADC peripheral when it is being controlled by the ULP RISC-V core. (
a6c3a9cb) - Fix a bug in the ULP RISC-V interrupt handler that resulted in a corrupted stack upon return (https://github.com/espressif/esp-idf/issues/14930) (
ff12ccfd)
Networking
Examples
- Added DNS over HTTPS (DoH) example (
3b30a63e) - Fixed modbus slave setup mode (https://github.com/espressif/esp-idf/pull/14878) (
b77ecce0) - Added a wrapper function for getaddrinfo() to properly handle the AF_UNSPEC flag. (
e2ae81a1)
PHY
- Added config for esp32c2 to move IRAM func to flash (
e9d2d033) - Fixed the issue that tsens read abnormal value in Wi-Fi STA mode for esp32c2 v2.0. (
e408213b) - Improved esp32s2 recv 24M Block Ack packet performance, revert finally (
578c8b85) - Optimization of RX calibration in high-interference environments (
d5f2447b) - Supported PHY changes for ESP32-H2 revision v1.2 (
915762c5) - Fixed the issue of inaccurate calibration warning information.(https://github.com/espressif/esp-idf/issues/14963) (
7443dded)
Peripheral Drivers
- Supported to skip legacy driver conflict check (https://github.com/espressif/esp-idf/issues/13938) (
c80fa61c)
ADC
- Fixed ADC do not enable/disable regi2c registers (
a4460102) - Fix ADC oneshot read zero after getting done signal on ESP32-P4 (
a446bda4) - Fixed ESP32-S2 ADC calibration loss resolution (https://github.com/espressif/esp-idf/issues/15671) (
37ce74af) - Fixed ADC function register not reset issue on ESP32-H2/C6/C61/C5 (
e21e3f41) - Fix adc oneshot lose power control counts (
7e44f8d3) - Fix ADC oneshot read error after continuous (
7e44f8d3) - Fixed ADC error after bootloader random (
0974d666) - Fixed ESP32P4 ADC continuous mode stop early (
0974d666) - Supported ESP32P4 ADC calibration (
0974d666) - Supported ADC calibration scheme on ESP32C5 (
90f638e5) - Fixed
adc_cali_check_schemereturn wrong supported scheme issue on ESP32-C2/H2/C6 (c9a59095) - Fixed ADC monitor don't work issue. (https://github.com/espressif/esp-idf/issues/14769) (
1a25f688) - Updated continuous mode read API timeout parameter description (https://github.com/espressif/esp-idf/issues/14854) (
08ef00d8)
Analog Comparator
- Fixed the issue that unit1 can't generate the ETM event properly (
f2cf0f0e) - Corrected the supported interrupt priority to 0~3 (
f2cf0f0e)
BitScrambler
- Add support for extra instruction as found in ESP32-C5 (
5d63f251) - Add BitScrambler loopback (memory2memory) driver (
c8d4e1b0)
Camera
- Added SC030IOT DVP camera support to dvp_isp_dsi example (
35708ec1) - Fixed Cache-Safe build error (
6184bdaa) - Added camera/dvp_isp_dsi example that uses a camera sensor with ISP_DVP interface (
0d68aa85)
DMA
- External memory encryption should not affect internal memory alignment (https://github.com/espressif/esp-idf/issues/15228) (
deb703cc) - The asynchronous memory copy driver now supports destination addresses that are not aligned to the cache line size. (
c5865270) - Improved the CP-DMA performance from 480MB/s to 520MB/s on ESP32S2. (
486fd18d)
GDMA
- Support independent registration of Cache Safe ISR for each GDMA channel (https://github.com/espressif/esp-idf/issues/15771) (
4a5d75ac)
GPIO
- Fixed the issue that when USJ PAD is configured as GPIO, the GPIO function is unavailable after waking up from lightsleep. (https://github.com/espressif/esp-idf/issues/15797) (
07acbee5) - Removed misleading LOG in gpio_reset_pin, and changed LOG to debug level for gpio_configure (https://github.com/espressif/esp-idf/pull/15569) (
f3625b0f) - gpio_reset_pin can be called to revoke any IO reservation now (https://github.com/espressif/esp-idf/issues/15598) (
f3625b0f) - Fixed the issue that configuring RTCIO as GPIO causes other initialized RTCIO to function abnormally on esp32s2 & esp32s3. (https://github.com/espressif/esp-idf/issues/10404, https://github.com/espressif/esp-idf/issues/12681) (
79ee0927) - Fixed wrong register write when calling esp_rom_gpio_connect_out_signal for IO number over 31 on ESP32/ESP32S2 (https://github.com/espressif/esp-idf/issues/15209) (
b88f30a0) - Updated rtc_io.h API reference (https://github.com/espressif/esp-idf/issues/13735) (
486c9555) - Allow RTC-IO API to set edge type wakeup sources for targets that support this (
d8de8c6e) - Added gpio_get_io_config API to get IO configuration for a specific IO (https://github.com/espressif/esp-idf/pull/14923) (
4535c272) - Fixed wrong pu/pd/drv values got from gpio_dump_io_configuration for ESP32 RTC IOs (https://github.com/espressif/esp-idf/issues/14931) (
4535c272) - Forbidden to enable pull-up, pull-down on input-only IOs (
4535c272) - Fixed gpio_dump_io_configuration API name typo in programming guide (https://github.com/espressif/esp-idf/pull/15031) (
90a396b4) - improved GPIO set level performance by avoid "read-modify-write" operation (https://github.com/espressif/esp-idf/issues/14674) (
01cd5cf4)
GPTimer
- The start and stop functions are now idempotent (https://github.com/espressif/esp-idf/issues/12325)(https://github.com/espressif/esp-idf/issues/13486) (
e964cc3a) - Fixed the issue with esp32p4 losing GPTimer context after lightsleep when the peripheral power domain is powered off. (
1b44d4df) - Fixed race condition between gptimer_start and gptimer_stop (https://github.com/espressif/esp-idf/pull/14767) (
4b9d9a19)
I2C
- When the driver enables GPIO pull-up, it will also disable the internal pull-down accordingly. (https://github.com/espressif/esp-idf/issues/15774) (
4bec8b5e) - Fixed the issue that fsm reset would cause I2C SCL frequency changed on ESP32-S2 (https://github.com/espressif/esp-idf/issues/15724) (
ce15bc27) - Fixed clear bus issue in legacy i2c driver (https://github.com/espressif/esp-idf/pull/15638) (
ccb4384d) - Fixed uses i2c customize api read one byte cause error (https://github.com/espressif/esp-idf/issues/15685) (
f8ecc488) - Fixed auto selection i2c slave device cause error (https://github.com/espressif/esp-idf/issues/15644) (
8a0e310d) - Fixed stretch causes timeout in i2c probe (https://github.com/espressif/esp-idf/issues/15589) (
d5b05201) - Fixed array size of static array (https://github.com/espressif/esp-idf/issues/15583) (
34b69e80) - Fixed race condition issue (https://github.com/espressif/esp-idf/issues/15444) (
9a917658) - Fixed clock speed is wrong on esp32s2 with legacy i2c driver (https://github.com/espressif/esp-idf/issues/15301)(https://github.com/espressif/esp-idf/issues/14603) (
32866513) - Enhhance i2c delete devices and buses logic (https://github.com/espressif/esp-idf/issues/15171) (
e73d78ba) - Add api for customize i2c transaction interface for nonstandard i2c device (
a245a316) - Added an API for changing i2c slave address on same device. (https://github.com/espressif/esp-idf/issues/15011) (
ce131ee4) - Add 10bit address support on esp32 (
9bdbd45e) - Added a get-started example for i2c master driver (https://github.com/espressif/esp-idf/pull/14315) (https://github.com/espressif/esp-idf/issues/14902) (
99013d25) - Reduced the chance of I2C data corruption due to hardware issue in FIFO handling (https://github.com/espressif/esp-idf/issues/12860) (
2166722f) - Enhance lp i2c clock source selection (https://github.com/espressif/esp-idf/issues/14908) (
6b735e01) - Fixed I2C return without release the lock (https://github.com/espressif/esp-idf/issues/14906) (
6b735e01) - Refactor i2c slave driver and make it easier to use. (
d74e99c0) - Fixed bus handle check so that it will not panic when there is no free bus, (https://github.com/espressif/esp-idf/issues/14819) (
26932219) - fix(i2c): Fix some issue in programming guide, (https://github.com/espressif/esp-idf/issues/14794) (
26932219)
I2S
- Fixed the false buf catenate while use preload (Closes https://github.com/espressif/esp-idf/issues/15775) (
823785aa) - Added check for minimum sample rate (https://github.com/espressif/esp-idf/issues/15659) (
84bfea45) - Fixed i2s inappropriate check and assign sequence (https://github.com/espressif/esp-idf/issues/15648) (
2ff19854) - Added check for i2s DMA buffer array allocation (https://github.com/espressif/esp-idf/issues/15607) (
3cbd3914) - Fixed failure when GDMA is set IRAM_SAFE but I2S not (https://github.com/espressif/esp-idf/issues/15533) (
87aa9ec5) - Fixed i2s_std initializer order for cpp compiler and guarantee all initializers cpp compatible (https://github.com/espressif/esp-idf/issues/15405) (
9f489c2a) - Support to tune the audio rate during the runtime. (
1bd8fabf) - Fixed clock not update issue when re-configure the slot (https://github.com/espressif/esp-idf/issues/15256) (
fb72b2cb) - Fix uninitialize warning for the default macros (https://github.com/espressif/esp-idf/issues/15271) (
fb72b2cb) - The max TDM frame bits have limitation on ESP32-C3/S3/C6, add check for the TDM frame bits number to make sure it is valid. (
8583c1f2) - Fixed incorrect DMA buf size calculation for 8-bit & 24-bit data width. (
25de0937) - Supported to choose PA_CTRL gpio for
i2s_es8311example. (25de0937) - Report error when the division from clock source to MCLK is less than 2 (because mclk_div at least to be 2 in hardware). (
25de0937) - Refactor I2S example common dependencies, make them an example common component (https://github.com/espressif/esp-idf/issues/14751) (
12fb443e) - Removed the least 2 slots limitation for the PCM short format in TDM mode (https://github.com/espressif/esp-idf/pull/14879) (
874ce4ed) - Supported PDM data format (RAW/PCM) selection (
56349e6d)
ISP
- Supported bypassing ISP to receive data from MIPI CSI (
f3f3cad0) - Supported byte endianness swapping (
f3f3cad0) - Fixed the issue that calling esp_isp_demosaic_disable for non-RAW output format would cause data incorrectness (
ebdb804d) - Added LSC programming guide (
4c9154ba)
JPEG
- Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (
c07e2705) - Fixed handing of invalid JPEG marker (
430bb9dc) - Added support for decoding JPEG images without Huffman table (
e12db428) - Correctly set JPEG restart interval (
f7bfa95d) - Fixed get wrong gray information via get_information api (
d1c0d6e5) - Fixed the com marker size when encoding a picture (
3cc9d426)
LCD
- Fixed the infinite wait when lvgl timer is no ready in example (https://github.com/espressif/esp-idf/pull/15853) (
74f0ad50) - Supported XPT2046 in the SPI LCD example (https://github.com/espressif/esp-idf/pull/15414) (
2011b9f0) - Fixed the issue that SPI LCD device initialization breaks the IO setting of others (https://github.com/espressif/esp-idf/issues/15478) (
b815cb18) - Fixed the issue that the restart buffer failed to mount to the DMA when memory encryption is enabled (https://github.com/espressif/esp-idf/issues/15228) (
cb9257da) - Fixed the drift issue caused by restart of the LCD screen (https://github.com/espressif/esp-idf/issues/15013) (
67bbe377) - Fixed the issue that when Flash encryption is enabled, PSRAM buffer fail to mount to the DMA (https://github.com/espressif/esp-idf/issues/15228) (
9a0e0978) - Fixed the issue that RGB_LCD stops working occasionally after software restart (
4393a0d0) - Increased the upper limit of PCLK frequency for RGB LCD (
0c909888) - Fixed wrong calculation for the pixel clock in the ESP32-P4 LCD_CAM (
0c909888) - Supported to simulate SPI/I80 interface LCD by Parlio peripheral (
96323188) - Fine tune MIPI DPHY PLL setting to generate the closest frequency (
59174716) - Support color conversion for MIPI LCD driver (
ad476afb) - Fixed wrong return type in
esp_lcd_new_panel_io_i2cwhen build for C++ project (e1a3ff15) - Updated the i2c_oled example to use LVGL v9. (
fc5b392c)
SPI_LCD
- Speed up the DC signal toggling in the SPI LCD IO driver (https://github.com/espressif/esp-idf/issues/15160) (
3195bdca)
LDO
- LDO can output the voltage reaching power rail 3.3V (
cf8521ab) - Output voltage is calibrated with eFuse data (
05beacad)
LEDC
- Fix potential assert failure in ledc_fade_stop due to race condition (https://github.com/espressif/esp-idf/issues/15580) (
95f8eb12) - Fixed potential incorrect PWM output at relatively high frequency for ESP32-C6/H2/P4 (
974910d4) - Fixed depending on gpio header but don't depends on it (https://github.com/espressif/esp-idf/issues/15174) (
ef5dad5b) - Deprecated ledc_timer_set() API, where its functionality can be completely replaced by ledc_timer_config() and ledc_set_freq() (https://github.com/espressif/esp-idf/issues/14884) (
aae5321c) - Fixed ledc_get_freq() returned frequency error due to calculation overflow (https://github.com/espressif/esp-idf/pull/14882) (
aae5321c)
LP_I2S
- Added LP I2S and LP VAD programming guides (
038a6667)
MCPWM
- Fixed the issue that MCPWM output wrong frequency during DFS on ESP32 and ESP32-S3 (
4f56bba2) - GPIO pull-up/down will be automatically disabled when the driver GPIO pull-up/down flag is not set.(https://github.com/espressif/esp-idf/issues/15774) (
4bec8b5e) - Added MCPWM sleep retention support (
6b54dfc6) - Added description of special deadtime configurations and added checking in the driver(https://github.com/espressif/esp-idf/issues/14773) (
57eddeb3)
PARL_IO
- Supported to embed a BitScrambler program in the
parlio_tx_unit_transmitfunction (929e1495) - Supported to set start/stop delay for valid signal on ESP32C5 (
c4768eaf) - Added programming guide for PARL_IO_TX. (
a25e7ab5) - Supported the infinite loop transmission for PARL_IO_TX. (
8e591a21) - Fixed line address error in simple rgb matrix example. (
f0cee06d) - Fixed an issue where prematurely disabling PARL_IO TX caused errors in subsequent transmissions. (
fce82302) - Updated the rgb_matrix example to use LVGL v9. (
ef437b7b)
PCNT
- Fixed a typo in the
PCNT_LL_MIN_LIM(https://github.com/espressif/esp-idf/issues/15554) (3447c723) - Supported step notify on ESP32H2 chip version v1.2 (
d2b87ace) - Added documentation about pull-up/pull-down (https://github.com/espressif/esp-idf/issues/14277) (
b79c7f0f)
PPA
- Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (
65044efa)
RMT
- Fixed the race condition when between
rmt_receiveand receive ISR (https://github.com/espressif/esp-idf/issues/15842) (da503640) - Enhanced the
rmt_receive_config_terror message (https://github.com/espressif/esp-idf/issues/15836) (da503640) - Added
RMT_ENCODER_FUNC_ATTRto decorate the RMT encoder functions (https://github.com/espressif/esp-idf/issues/15832) (1481ecbb) - TX channel can switch to different GPIO at runtime. (
f56cc82c) - Added a new encoder for RMT TX driver, it allows the whole encoding session being controlled by the BitScrambler program. (
34280444) - Fixed the panic when the number of received symbols is a multiple of the memory block size. (
54d7bec1) - Fixed the wrong reset code duration in the simple encoder example (https://github.com/espressif/esp-idf/issues/15498) (
ca2e1c71) - Use debug log for conditions where user buffer can't accommodate the received data. (https://github.com/espressif/esp-idf/pull/15225) (
b6c94a19) - Supported to set slower channel resolution. (https://github.com/espressif/esp-idf/issues/14760) (
e3cf1056) - Fixed the channel resolution divider rounding issue (https://github.com/espressif/esp-idf/issues/15092) (
4e2dad62) - Added a function to return the real clock resolution of a channel (https://github.com/espressif/esp-idf/pull/15074) (
0765659d)
SDIO Slave
- Added SDIO Slave driver support on ESP32-C5 (
67e5e59d) - Fixed issue that SDIO Slave peripheral may be powered off in lightsleep on C6, H2 and P4 (
676f5194)
SD_HOST
- Supported UHS-I SDR50 (100MHz, 50MB/s), DDR50 (50MHz, 50MB/s) on ESP32P4 (
ed8ec9de)
SDMMC
- Fixed transfer timeout due to higher priority tasks (https://github.com/espressif/esp-idf/issues/13934) (
f2140813) - Fixed SDMMC peripheral deinitializating GPIO pins which were defined but not used due to slot width (https://github.com/espressif/esp-idf/issues/15328 https://github.com/espressif/esp-idf/issues/15330) (
de053738) - Request the SD card to send the number of the written write blocks (ACMD22) if write multiple blocks fails (CMD25). (
b2e0bd92)
SPI
- Fixed the issue that driver objects may be allocated from PSRAM unintentionally (
1bbb20cf) - Supported place slave_hd driver code to flash to save IRAM by disabling
SPI_SLAVE_ISR_IN_IRAM(50be9735) - Added enabld/disable API for power management in slave and slave-hd driver (
f2c8b320) - Support change device's frequency by
spi_transaction_t::override_freq_hz(https://github.com/espressif/esp-idf/issues/13753) (c7a0e454) - Supported SPI slave and slave HD driver sleep retention on ESP32C6/H2/P4/C5/C61 (
b0be36de) - Fixed P4 spi master no DMA polling transaction error on cache sync. (
dee6ad56)
SPI Master
- Fixed SPI stop after remove devices which using RC_FAST as clock source on ESP32C6 and H2 (
68b79fc1) - Supported rx sample point adjust using
spi_device_interface_config_t::sample_pointon esp32h2 v1.2 and later. (d78f270b)
SPI Slave
- Fixed HD example and driver error with
addr&len not align to 64on ESP32-P4 (3b4f2a9a)
SPI Flash
- Added mutual exclusion between
CONFIG_SPI_FLASH_ROM_IMPLandCONFIG_ESPTOOLPY_OCT_FLASH(64ff6ec2) - Added flash suspend chip version check on esp32h2 and esp32c6 (
628cca14) - Fixed flash encryption write verify (https://github.com/espressif/esp-idf/issues/15380) (
eb5c2485) - Add
CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAMfor moving some flash functions from iram to flash in order to save RAM memory (dbd2aa8c) - Fixed build fail when rom_patch config disabled (https://github.com/espressif/esp-idf/issues/15229) (
0cc16717) - Add a configuration to enable auto suspend status check to improve performance. (
bd5945d1) - Fixed double exception after Flash no-OS API caused by branch predictor on ESP32-P4 (
f93e720c) - Fixed Cache states not recorded issue when using Flash no-OS APIs on ESP32-H2/P4/C6 (
f93e720c) - Add a new example for supporting customized nor flash driver which can be used both in app and bootloader (
2b1c27fe) - New feature for software resume when auto-suspend enabled, improve performance (
df1a7d5b) - Add suspend support on a winbond chip (
e84b59cf)
TWAI
- Added a unified driver interface to support both TWAI and TWAI-FD peripheral (
a16f621e) - Fixed twai assert failed during recover (https://github.com/espressif/esp-idf/issues/9697)(https://github.com/espressif/esp-idf/pull/15484) (
991acde4) - Fixed C++ warning of macro
TWAI_GENERAL_CONFIG_DEFAULT(https://github.com/espressif/esp-idf/pull/15144) (db07b97a) - Fixed other node got BUS-OFF when twai init. (https://github.com/espressif/esp-idf/issues/14548) (
90e71bfa)
Temperature Sensor
- Fix the doc and return value is not consistent (https://github.com/espressif/esp-idf/pull/15850) (
e981f0b7) - Fixed the temperature sensor return wrong values when
ESP_WIFI_ENHANCED_LIGHT_SLEEPis enabled on esp32c6. (65577b9c) - Fixed temperature sensor sleep retention on esp32p4 (
9382c9a4) - Added temperature sensor calibration on ESP32-C2/C6/H2/P4 (
9677a492)
Touch Element
- Fixed the missing programming guide of Touch Element on ESP32-S3 (https://github.com/espressif/esp-idf/issues/15755) (
1522efa9)
Touch Sensor
- Fixed concurrent issue in the legacy touch v1 (esp32) driver (
cee5a3d3) - Fixed the issue that tie option doesn't take effect. (
762cf053) - Fixed touch read WDT timeout issue on esp32 (https://github.com/espressif/esp-idf/issues/15629) (
5b185da0) - Support ULP touch sensor driver on ESP32-P4 (
afda4c18) - Support runtime re-configuration for debug purpose (
581cbca5) - Checks if the timer is active before stopping it (legacy driver) (
83547737) - Fix unexpected touch start on RTC peripheral init (legacy driver) (
83547737) - Support ESP32 in the new touch driver. (
57a893d2) - Support RTC power down during the sleep. (
c39b8729) - Support ESP32-S2 & ESP32-S3 in the new touch driver. (
cb4442d9)
UART
- Eliminated the possibility of garbled data sent/received from the UART port during sleep process (
dbfb663b) - Added UART DMA driver support (
f66a750a) - 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. (
8e25a37f) - Fix wrong unit conversion from knots to m/s in uart/nmea0183_parser example (https://github.com/espressif/esp-idf/issues/15695) (
d11ccf81) - Add check for malloc success in uart examples (https://github.com/espressif/esp-idf/issues/13405) (
d11ccf81) - Added uart_detect_bitrate_bps API for data line bitrate detection (https://github.com/espressif/esp-idf/issues/14721) (
2ee8c066) - Updated uart_get_baudrate API documentation (https://github.com/espressif/esp-idf/issues/15449) (
2ee8c066) - Corrected the misleading in the driver to ensure clarity that the LP UART can't support very low baud rate (2400bps, 1700bps, etc.) (https://github.com/espressif/esp-idf/issues/15427) (
2fabe6ff) - Enlarged default task stack size for uart_async_rxtxtasks example to avoid stack overflow (https://github.com/espressif/esp-idf/issues/15363) (
fd2df5e2) - Updated programming guide to align configuration orders with the example codes (https://github.com/espressif/esp-idf/issues/13182) (
fd2df5e2) - Fixed the issue of UART wake-up failure caused by an incorrect UART wake-up threshold on the ESP32-C61 (
9c421495) - Resolved ESP32-P4 UART initialization get stuck issue when monitor through USB Serial JTAG port (
547fa88a) - Allowed TX and RX configure to the same pin in uart_set_pin (https://github.com/espressif/esp-idf/issues/14787) (
78a69051) - Fixed potential UART_SELECT_READ_NOTIF race condition (
78a69051) - Changed UART VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size (
50aeec2f) - Changed UART VFS read() to treat end-of-line characters as regular bytes, with no early return (https://github.com/espressif/esp-idf/issues/14155) (
50aeec2f)
USB
- Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (https://github.com/espressif/esp-idf/pull/15932, https://github.com/espressif/esp-idf/issues/15912) (
a652a847) - Changed USB CDC VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size when in non blocking mode (
5a0e1615) - Added support for OTG1.1 PHY on ESP32-P4 (
70ead76a) - Added select functionality to the USB CDC driver (
1fa268c7) - Fix tusb_midi example stack overflow (https://github.com/espressif/esp-idf/issues/14825) (
4b79cb96)
USB Device
- Updated USB MSC Device documentation with performance optimization results for ESP32-S3, ESP32-P4, and ESP32-S2. (
ea57c1b4) - Fixed incorrect pull-up resistor settings on the USB PHY that prevented the device from being detected by the host. (
409af75a)
USB Host
- Allocate DMA capable memory to external ram on ESP32-P4 (
ac12d560) - Fixed heap corruption (https://github.com/espressif/esp-idf/issues/15815) (
4b15ef70) - Added support for Low-Speed devices connected through Full-Speed HUB (https://github.com/espressif/esp-idf/issues/15683) (
0ead3627) - Fixed possible deadlock when closing a device that was not previously opened (
a3864c08) - Added support for multiple MSC devices in the USB MSC Host example. (
9f421f54) - Fixed host channel number calculation for ESP32-S3, ESP32-P4, and ESP32-S2. (
d53b0a91) - Added support for Low-speed devices, connected via external Hubs to Full-speed peripheral (
d7222cc8) - Fixed panic on Full Speed periodic endpoints on ESP32-P4 (
dfcc0b22) - Fix reaction on High-Speed NYET packet (
f029ad20) - Fixed spelling in USB HID Host example (https://github.com/espressif/esp-idf/pull/14738) (
e613fcde) - Fixed spelling in USB Host lib example (https://github.com/espressif/esp-idf/pull/14858) (
5532fa8e) - Fixed return value in the memory allocation failure case within `usb_host_client_register() https://github.com/espressif/esp-idf/pull/14859) (
1e7098fe) - Added support for 2 USB instances on ESP32-P4 (
1805efb0)
USB Serial JTAG
- Fixed wrong return value from
usb_serial_jtag_write_byteswhen encounter invalid input parameters (https://github.com/espressif/esp-idf/issues/15620) (e8c48dbd) - Add missing break statement (https://github.com/espressif/esp-idf/pull/15499) (
f884c4a9)
Power Management
- deepsleep current decrease about 7uA for C61 (17uA -> 10uA) (
10a690fe) - Fixed the issue that TBTT interrupt timing error when BLE low power clock source is configured to use main xtal on ESP32-C6 v0.1 and later version (
c5082073) - Fixed possible assert in
vTaskStepTickafter turning on auto light sleep (fe3da716) - Optimized IRAM memory usage in the esp32c2 power management module (
186f2a89) - Fixed the issue of modem wakeup req always high caused by pmu min slp cycle update (
b93ac473) - Added runtime sleep clock control for peripherals to be used/kept during light sleep (
921cfa0a) - Fixed the issue of WiFi BB FSM hang caused by modem system clock synchronization (
05d7a4c2) - Fixed the issue of mmu table content loss due to default sd signal for esp32c61 (
06aea27e) - Fixed wifi power save beacon timeout issue and optimize phy sleep for esp32c5 (
76754569) - Fixed the issue of abnormal leakage current caused by floating and isolation of the Flash or PSRAM CS pin during sleep (
9c421495) - Fixed the issue of cpu execution exception caused by floating and isolation of the Flash and PSRAM CS pin during sleep (
9c421495) - Fixed esp32p4 USB OTG phy suspend failure causing high power consumption in light sleep. (
01b1191e) - Fixed the crash of esp_pm auto-lightsleep when
PM_TRACEis enabled. (35cdecb1) - Fixed the JTAG IO current leakage issue when esp32p4 turns off RTC_PERIPH power domain in deepsleep (
bba3063b) - Fixed bbpll cali fail bug under low temp on ESP32-H2. (
2b6894eb) - Fixed issue of ESP32-C5 and ESP32-C61 fail to enter light sleep using EXT1 wakeup source after disable exited EXT1 IO and enable other EXT1 IO (
b4e28be7) - Fixed a deadlock that occurred when a high-priority task and a low-priority task changed PM mode at the same time (
c5ada2e8) - Supported to query PHY RF used time. (
c8b67235) - Fixed the issue of wifi rx packet loss when switchng soc root clock source (
1f479754) - Fixed the issue of mmu table content loss due to default sd signal (
1f479754) - Fixed CPU switch fail due to bbpll cali fail bug under low temp on ESP32-H2 (
63fdde6c) - Improved esp_timer timing accuracy after light sleep is rejected (
ae4c4464)
Security
- Fix secure OTA without secure boot issue for MMU page size configurable SoCs (https://github.com/espressif/esp-idf/issues/15936) (
29520e98) - Fix secure boot (ECDSA) build failure for ESP32-C6 target (https://github.com/espressif/esp-idf/issues/15856) (
f7398c5b) - Fixed a bug that resulted in a boot loop when a memory protection fault occurred on ESP32-S2 (https://github.com/espressif/esp-idf/issues/15359) (
e81a9285) - Fixed Memory protection interrupt check for ESP32S2 (PERI1 bus) (https://github.com/espressif/esp-idf/issues/15359) (
af0f270e) - Added support for ESP-TEE (Trusted Execution Environment) on ESP32-C6 (
9ee8daf3)
ESP-TLS
- Fixes IPv6 connection failure when target is set to Linux(https://github.com/espressif/esp-idf/issues/15812) (
fd4f74a5) - Added option to set TLS handshake timeout. (
877057db) - Enabled secure element support for all chips. (https://github.com/espressif/esp-idf/pull/14785) (
43a72485) - Add support for async API for esp_tls_server_session_create (https://github.com/espressif/esp-idf/pull/14493) (
030c9957) - Added support for TLS-PSK authentication for servers (
36d5d8c3)
Flash Encryption
- Support XTS-AES pseudo round function on ESP32H2 chip version v1.2 (
a45b6e7b)
MbedTLS
- Adds support for dynamic buffer for TLS 1.3 handshake. (https://github.com/espressif/esp-idf/issues/15448) (
ff555428) - Fixes certificate verification errors affecting TLS 1.3 connections and digital signing peripheral.(https://github.com/espressif/esp-idf/issues/14907) (
11890df9) - Update mbedTLS version to 3.6.3. (
21f59bd0) - If using MbedTLS for server certificate verification, it is mandatory to call
mbedtls_ssl_set_hostnamebefore the connection begins. No change is required if the application usesesp-tlslayer. (21f59bd0) - Make mbedtls SHA1 software support configurable (
8e4cbdfe) - Updated the default root certificate bundle (cacrt_all.pem - 25 Feb 2025) (
2c68d2d2) - Updated the deprecated root certificate bundle (cacrt_deprecated.pem - 25 Feb 2025) (
2c68d2d2) - Support AES pseudo round function on ESP32H2 chip version v1.2 (
a45b6e7b) - Fix external memory corruption caused due to unaligned length cache sync of external memory buffers (
f6591ab8)
Storage
- Fixed linking issues related to
chmod(https://github.com/espressif/esp-idf/issues/14174) (37652904) - Added support for std::filesystem (https://github.com/espressif/esp-idf/pull/13736) (
37652904)
FATFS
- Changed
VolToPartvariable to be non-const to allow for run-time modification (https://github.com/espressif/esp-idf/issues/14148) (93ff1aec) - Improved assert check semantics (https://github.com/espressif/esp-idf/pull/15247) (
f945dae6) - Added options
CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNTandCONFIG_FATFS_DONT_TRUST_LAST_ALLOCto control how free space is calculated for a FATFS volume (https://github.com/espressif/esp-idf/issues/15241) (58fbcfb4) - Make the diskio functions static (https://github.com/espressif/esp-idf/issues/15248) (
b0aac120)
LittleFS
- Added support for LittleFS image generation on Windows (https://github.com/espressif/esp-idf/issues/12900) (
4a444c80)
NVS
- Fixed erasing of old value if the new value has different type for blobs (https://github.com/espressif/esp-idf/issues/15559) (
0b8f661c) - Updated nvs storage examples and addded nvs console example to 'examples/storage/nvs' (
d69378cd) - 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) (https://github.com/espressif/esp-idf/issues/15317) (
3ab1ddaa) - Fixed
nvs_tool.pyto properly format JSON output. Additionally, cleaned up text minimal format output (https://github.com/espressif/esp-idf/issues/15274) (18f514a4) - Added support for reading encrypted NVS partitions by the bootloader (
b5ee0282) - Fix NVS partition being incorrectly marked as encrypted by the build system (
b5ee0282) - Added limited support of nvs for bootloader (
8255ba29)
VFS
- Removed leakage of std namespace from header file (https://github.com/espressif/esp-idf/pull/15656) (
decbd360) - Fixed incorrect level of log messages (https://github.com/espressif/esp-idf/issues/14327) (
b5ac4fbd) - Fix incorrect open and close behavior for
/dev/console(85dd8c05)
System Hardware
- only detect VDD digital for ESP32-C5 / C61 (
10a690fe) - not support C5_ECO0 & C61_ECO0 / C61_ECO1 (
10a690fe) - Fixed compile error on esp_cpu_int_has_handler on ESP32-P4 (GitHub PR) (https://github.com/espressif/esp-idf/pull/15942 https://github.com/espressif/esp-idf/issues/15941) (
27b85137) - Improved voltage convergence of C5 chips for better stability (
27593562) - Fixed the issue that xtal32k may fail during startup (
37c3ed63) - Fixed esp32s3 possible cache_error triggered by another core accessing flash in esp_restart (
aa2f638e) - Switched to flashing with stub with ESP32-C3 when USB Serial/JTAG mode is used (
7317d96b) - Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (
50e3a2bc) - Supported ESP32-H2 revision v1.2 (
9b876d93) - Supported ESP32-C2 chip rev2.0 (
93aea4f6) - Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. 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/P4, this option is completely removed. (
87716075) - Fixed the issue that after OTA application changes the slow clock source, the modem module not work during lightsleep on esp32c6/esp32h2/eps32c5/esp32c61. (
f5ae64bf) - Fixed a possible crash on esp_restart if PSRAM is used (
56db9a28) - Fixed the issue that after OTA application changes the slow clock source, the RTC slow clock is missing and causes a stuck at
esp_restarton esp32c6/esp32h2/esp32p4. (cceadc4c)
BOD
- Add callback function for brownout detector (https://github.com/espressif/esp-idf/pull/15661) (
ff165271) - Add RTC battery backup support on ESP32-H2 (
d8166220) - Remove config on P4 v0.x, use a fixed value around 2.52v instead (
0546805f)
Cache
- Support cache build for pure RAM app (
852466ea) - Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (
da316111) - Fixed
Cache_Count_Flash_PagesAPI wrong couting issue (https://github.com/espressif/esp-idf/pull/15262) (d6aff6d2)
Efuse
- Supported eFuses for ESP32-C5 ECO2 (v1.0) (
01e9f8f3) - Added efuse ADC calibration fields for ESP32-P4 (
ce608534)
MMU
- Fixed API thread-safety in
esp_mmu_map.h(https://github.com/espressif/esp-idf/pull/15564) (b45b29ae) - Fixed
esp_mmu_vaddr_to_paddrcannot figure out virtual addresses from PSRAM issue on ESP32P4 (f8ff9e47) - Supported call esp_mmu_paddr_find_caps with any physical address offsets (https://github.com/espressif/esp-idf/issues/14988) (
6616a759)
MSPI
- Improved the selection of timing tuning points when the last few tuning points succeed consecutively (
54238257) - Improved the PSRAM timing tuning configurations on ESP32P4 (
54238257) - Fixed CPU and MSPI frequency mismatch issue leading to watchdog reset during sleep flow on ESP32P4 (
19bff0e4) - Fixed startup stuck under Flash QIO and XIP_PSRAM 200MHz condition (https://github.com/espressif/esp-idf/issues/14979) (
1ddf0052) - Supported 120MHz Flash frequency timing tuning on ESP32P4 (
4cb18200)
PSRAM
- Supported configuring PSRAM to 80 MHz on ESP32P4 (
b4abab38) - Supported UnilC Octal PSRAM on ESP32S3 (
847ac1a7) - Fixed external RAM .bss and .noinit section vaddr calculations (https://github.com/espressif/esp-idf/pull/15513) (
b0f83425) - Fix incorrect calculation of used XIP PSRAM pages that lead to wastage of some physical pages of PSRAM thus leading to increase in available heap. (
37a4de8a) - Supported Quad PSRAM Error Correcting Code (ECC) feature on ESP32C61 and ESP32C5 (
cc181920) - Fixed bad timing when reading mode registers on Octal and Hex PSRAMs (
e02cde89) - Fixed ESP32 PICO-V3 psram enabled but not ignored issue (https://github.com/espressif/esp-idf/issues/14970) (
33c26371)
TCP Transport
- add API to configure SSL cipher suites (https://github.com/espressif/esp-idf/pull/15868) (
081de6dc) - Added an API to configure the addr family (
aad91f9e) - Fixed API to correctly handle error conditions when the server sends data and an error simultaneously. (https://github.com/espressif/esp-idf/issues/14673) (
fcd70606) - Added interface to get underlying socket from transport (https://github.com/espressif/esp-mqtt/issues/282, https://github.com/espressif/esp-protocols/issues/636) (
2deeaece) - Fixed partial reads of Websocket header (https://github.com/espressif/esp-idf/issues/14704, https://github.com/espressif/esp-idf/pull/14706) (
cbbb85fe)
Toolchain
- Upgraded openocd version to v0.12.0-esp32-20250422 (
dc91d32f) - Upgraded Clang toolchain version to esp-19.1.2_20250312(https://github.com/espressif/esp-idf/issues/15731) (
0181d1b1) - Added standalone Clang libraries distribution as a tool (
0181d1b1) - Upgraded gdb version to 16.2_20250324 (
4bfb8975) - Add support to link with picolibc (enable with "CONFIG_LIBC_PICOLIBC=y") (
f297a9d4) - Upgraded toolchain version to esp-14.2.0_20241119 (
91858ef3)
Tools
- Added ability to read tool version from the file specified with
tool_info_filekeyword intools.json(0181d1b1) - Fixed processing of packages with dots in their names in Python dependency checks (
0b56c58e) - Added input validation of optional install features (
cf5989ca) - Fixed deprecation warnings when using
extractall()on Python 3.12 and newer (b4be4c2a) - Deactivated the previously set ESP-IDF environment every time the export script runs (on Unix systems only) (
cd1c5aa0) - Added a check before clearing IDF_PYTHON_ENV_PATH to prevent unintentional data loss when incorrectly set. (
7125ee5a) - Docs: Added missing
python-pipinstall dependency for ArchLinux (https://github.com/espressif/esp-idf/pull/15527) (2433000d) - Included basic system information in the diagnostic report (
57b2ef83) - Allowed passing purge file as an argument to idf-diag (
395984e4) - Avoided generating intermediate placements without sections in ldgen (
814c5f1c) - Added BitScrambler assembler and related unit tests (
c8d4e1b0) - Enforced
utf-8encoding with Pythonopen()function. (16ba8b7e) - Added idf_diag.py diagnostic tool that collects information about ESP-IDF and failed build to assist in investigating reported issues (
9da2e3ad) - Improved suggestion for fixing missing header file (
56032589) - Added detected
ESP_PYTHONfor executingactivate.pyinexport.fish(https://github.com/espressif/esp-idf/issues/15058) (a16f3590) - Fixed a bug so creating a project or a component with idf.py preserves the file mode of ESP-IDF files (
757d74ab) - Enabled enforcement of the
IDF_PATHenvironment variable for path detection in theexport.shscript by settingIDF_PATH_FORCE=1. (475e4b1d) - Added DFU support for ESP32-P4 (
a57e4d7b) - idf_tools.py: pip and setuptools are upgraded separately so the setuptools version dependency would be handled by the upgraded pip (
82c26fd6) - Respected the
IDF_PYTHON_ENV_PATHvalue in the export scripts (https://github.com/espressif/esp-idf/issues/15006) (93a604df) - Fixed a typo in the QEMU documentation (https://github.com/espressif/esp-idf/pull/14966) (
e61653e6) - Added an informational message to install/export scripts about the current IDF_PATH being used or set (
a2c399c0) - Added information about the
idf_version.txtfile storing the ESP-IDF version in each Python environment directory (4110d148) - Documented the need to set the
ESP_IDF_VERSIONenvironment variable while performing custom installation (4110d148) - Added autocomplete for @-arguments of idf.py with file names (
cef2624e) - IDF Monitor: Enabled decoding addresses and panic outside of the main app (e.g. bootloader, ULP, TEE) (
6495a831) - Added basic description about SBOM (Software Bill of Materials) for ESP-IDF projects (
7fcbdb9c) - Python 3.8 is no longer supported by the community, therefore, ESP-IDF installations will require Python 3.9 or newer versions (
30b13b13) - Displayed additional details if imports in idf.py are unsuccessful (
5bae0b92) - Used the
--unifyoption with esp-idf-size to combine sizes for same output sections, such as .bss (cf087cb8) - Guides for project configuration and component configuration are added, together with an overview of various files participating in the configuration of ESP-IDF project (
06508329) - Improved activate.py error messages and added information on enabling detailed debug option. (
72308ca0)
WI-FI
- Fixed esp32c2 and esp32s2 TCP TX throughput shake issue (
121db0d7) - Added support for the ESP32C5 revision v0.2. (
7141b955) - Returned more information in ESPNOW send callback (
2b390b2b) - Added TX callback function for ieee80211_tx (https://github.com/espressif/esp-idf/issues/13319) (
2b390b2b) - Changed espnow sending callback function parameter
mac_addrtoesp_now_send_info_t. (2b390b2b) - Improve and enable bss max idle support for all chips (
683fd03a) - Separate the LR bit in PHY mode for station and SoftAP (https://github.com/espressif/esp-idf/issues/9978) (
488e1f88) - Added support for SoftAP SAE extended key (
80f172bb) - Supported service specific info in NAN service discovery frames (https://github.com/espressif/esp-idf/issues/12473, https://github.com/espressif/esp-idf/issues/13366) (
45916582) - Added timer to send wake null after STA received association response (
a3bd31f3) - Added support for sending action frames on the target channel and remain on target channel for required duration. (
d826655f) - Added new API to get mac clock time (https://github.com/espressif/esp-idf/issues/15348) (
14b96764) - Modified the description of function 'esp_wifi_set_band' (
865adce2) - Enabled WiFi Aware (NAN) on esp32c5 & esp32c61 (
2e5e9fc4) - Added the missing brackets for the C++ guards for a few header files. (https://github.com/espressif/esp-idf/issues/14991) (
f99b9653) - Fixed the mesh connection failure in WPA3 mode after erasing flash (https://github.com/espressif/esp-idf/issues/14095) (
f2ae6813) - Added support for the ESP32-C61 revision v0.2. (
d00ad48d) - Removed support for the ESP32-C61 revision v0.1. (
d00ad48d) - Added support for 2040 coexist for SoftAP (
cc8bef39) - Added new event 'WIFI_EVENT_AP_WRONG_PASSWORD' in softAP to indicate stations trying to connect with wrong password. Applicable for authentication modes WPA-PSK, WPA2-PSK and WPA3-PSK(SAE). (
fae82cfa) - expended bit width of channel in rxctrl for ESP32C5/ESP32C61 (
ea55be3d) - Added support for Wi-Fi API and features on targets with no Wi-Fi capabilities by esp-extconn (
d30af2fb) - prevented compilation of Wi-Fi-related components when Wi-Fi is not supported (
09635fdd) - Fixed the STA TBTT interval update error when AP's beacon interval changed (https://github.com/espressif/esp-idf/issues/14720) (
6fdd3808) - Fixed bandwidth value is always 0 in esp_wfi_sta_get_ap_info() (
5c3cb06d) - Modify the type of "bandwidth" and comment in wifi_ap_record_t. (
5c3cb06d) - Removed support for the ESP32-C5 revision v0.0. (
653ce935)
Examples
- Fixed the delete queue error in ESP-NOW example (https://github.com/espressif/esp-idf/issues/15383) (
0902e70e) - Added GPIO output set command for cert test. (
3f29f791) - Fixed some issues in roaming app (
fbe9fcd7) - Fixed the issue of Blufi connecting to WPA or WEP routers failing. (
e75c170c)
MAC
- Fixed STA cannot send keep alive when receive UDP packets (
ad5d3625) - Fixed STA BSS max idle period always use default value (
ad5d3625) - Fixed sleep without sending sleep null when enable BSS max idle (
ad5d3625) - Fixed channel TX power limitation does not take effect when connected AP switch channel (
ad5d3625) - Added FTM support for ESP32-C5 v1.0 (https://github.com/espressif/esp-idf/issues/15909) (
ce340fcc) - Fixed locking in incorrect state when stop_scan is called after wifi_connect (
ce340fcc) - Fixed TX power not update if country changes when enable multiple PHY init data bin (
ce340fcc) - Fixed the issue when the PS state machine becomes invalid after enabling BSS max idle (
ce340fcc) - Fixed the issue that rx bcn failed when sta off channel under modem state (
ce340fcc) - Fixed some external coexist issues. (
7aabeaea) - Fixed the issue that cannot enable MCS8/9 when set he_mcs9_enabled (
0f6e0674) - Fixed phy data partition restoring default fails issue(https://github.com/espressif/esp-idf/issues/14698) (
59cd0731) - Fixed an issue to prevent writing configuration to NVS when the station configuration remains unchanged. (
55712011) - Supported Wi-Fi beacon sample feature to optimize power consumption. (
323119a0) - Supported Beacon Drop feature to optimize power consumption in dirty environment. (
323119a0) - Fixed the issue that sta rx packet failed under modem state. (
b93ac473) - Fixed negotiated bandwidth not correct (
8a981447) - Added band check when config SoftAP (
8a981447) - Fixed the noise floor error on ESP32C5 (https://github.com/espressif/esp-idf/issues/15594) (
488e1f88) - Fixed occasional dropping of SA Query responses by SoftAP (
13953d5e) - Added DS parameter in probe requests from STA (
893a02ea) - Fixed the WEP shared authentication association timeout issue. (
eaa77b6c) - Fixed TWT post just one event for multiple flow (
3547cefa) - Fixed the issue of disconnection from the AP due to ERSU compatibility (
1c5983cd) - Fixed second channel is always below in ht40 on 5G band (
cfed129e) - Fixed issue that esp_wifi_set_tx_done_cb() should not process frames sent using esp_now_send(). (
7a5684d4) - Modified authmode to sta for sta connect event (
95ce1c08) - Fixed issue of increased stack usage when 'failure_retry_cnt' is set in station configuration and Wi-Fi driver internally re-tries connection attempts (
6f0dad28) - Fixed the issue of failing to connect to a shared WEP AP. (
47cc1b77) - Fixed esp32c6 watchdog issue when BSS max idle period is 1 (
9ede4c27) - Add support for transition disable for softap (
cc8bef39) - Fixed incorrect ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME (
30c34271) - Updated coexistence power management period when Wi-Fi PS type being changed (
30c34271) - Fixed for crash while receiving deauth in esp32c2 v2.0 (
7a305c02) - Changed SoftAP default dtim_period to 1 (
2414b285) - Added a parameter to enable or disable send QoS NULL to keep live during TWT (
0c07ee6b) - Fixed the issue that STA did not receive Probe Responses in some coexistence scenarios when wifi band is 5G. (
56672162) - Fixed the issue that STA connects twice simultaneously. (
56672162) - Fixed STA failing to sleep when connecting to connected AP. (
56672162) - Fixed the issue that association failed In WPA3 encryption mode. (
56672162)
Mesh
- Updated the description for esp_mesh_send() return value (https://github.com/espressif/esp-idf/issues/14440) (
14b96764) - Enlarged the mesh TX task stack (
c4bde5df)
Supplicant
- Cleared SAE-PK capability in Assoc Request when not enabled at STA. (
f97fd749) - Added support for WPA-Enterprise in Station mode (
ce340fcc) - Improved WPS PBC overlap detection to ensure it works correctly, even if the UUID is missing. (
8a54378b) - Ensured disconnection with previously connected AP when initiating WPS. (
8a54378b) - Fixed DPP state machine related issues(https://github.com/espressif/esp-idf/issues/10615) (
b737136d) - Improved handling of group parameter A in H2E (https://github.com/espressif/esp-idf/issues/15691, https://github.com/espressif/esp-idf/pull/15692) (
9c75d796) - Increased WPS message timeouts to address interoperability issues. (
044de0b1) - Added domain name validation support for EAP connection. (
6b5ac56b) - Fixed send_confirm value for SAE confirm according to specification. (
6a633f3e) - Fixed crash when set config is called with changed password. (https://github.com/espressif/esp-idf/issues/15584) (
fb75c854) - Added support for Opportunistic Key Caching for Wi-Fi Enterprise Connection (
7ff63ac9) - Resolved WPS connectivity issue that caused failures when the station was already connected (
3d1ea229) - Added optimized PSK implementation, closed https://github.com/espressif/esp-idf/issues/15072 (
4cdd5087) - Fixed stack corruption in Wi-Fi wpa_supplicant's tasks(https://github.com/espressif/esp-idf/issues/15370) (
403cc24a) - Fixed memory leak occurring in SAE PK connection. (
7f1e4ebb) - Reduced WPS scan frequency to make it easier for users to enter the PIN on the AP. (
7bb6c67e) - Fixed issues reported by the static analyzer on GitHub (#15097, #15098, #15099). (
7a94d450) - Fixed some issues found through static analyzers (
c15e6e1f) - Added some implementation changes in roaming. (
950da105) - Enabled EAP workarounds by default (
c0755543) - Fixed issue observed during static code analysis (
afeefc9e) - Fixed assoc reject after WPS session (
b9253b4e)
Vendor
- Added more check when receiving ESP-NOW data (
ad5d3625) - Fixed the issue that STA connection information loss LR info on ESP32C5 v1.0 (
933a4322) - Fixed LR issues that LR info does not exist in connect information (
0f6e0674) - Changed the max data length to 1470 bytes for ESP-NOW v2.0 (
a3bd31f3) - Fixed the scan information error in LR only mode (
14b96764) - Added OUI check for ESPNOW(https://github.com/espressif/esp-idf/issues/9577) (
1f46216a) - Added new APIs to set/get user OUI for ESPNOW (
1f46216a) - supported ieee80211_tx using 11ax or 11ac rates to send (
2cbb9f23) - The AES IV can be random value for ESPTouch v2 (
a71eb45c)
-
ESP-IDF Release v5.0.9
Stablereleased this
2025-05-16 07:47:55 +00:00 | 27087 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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.gitdirectory doesn't include the history of commits older than one year. Users who need to usegit checkoutto access an older release of IDF will have to usegit fetchfirst 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. (
1f51604a)
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. (
34240b11) - 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. (
87a728c4) - 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. (
7ff46507)
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 Usageparameter due to the change in Python3.13's default ssl context requirements. (8df0a41e)
Protocomm
- Add salt-verifier generation API in SRP6a implementation and make its interface public (
6cb14d5b)
Provisioning
- Update security2 scheme to fix the incorrect AES-GCM IV usage (
7ff46507) - Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (
7ff46507)
BLE
BluFi
- Fixed crash issue during memcpy in BluFi example. (
9aea05c4) - Fixed potential out-of-bounds memory access issue in Blufi example. (
8dde4f92)
Bluedroid
- Fix missing event reporting in
esp_ble_create_sc_oob_data. (a5ecb8a5) - Fixed BLE crash when disable bluedroid host. (
a5ecb8a5) - Fix potential uint32_t overflow in BLE btu_start_timer. (
a5ecb8a5) - Fixed memory leak issue when using dynamic memory and deinitializing the host. (
a5ecb8a5) - 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. (
a5ecb8a5) - Added esp_ble_gap_read_channel_map() to retrieve the BLE channel map of a connected device. (
a5ecb8a5) - Added BLE eddystone sender example. (
c08af7bd) - Supported read periodic advertiser list size command. (
cedd9a1d) - Added Read Long Characteristic Values example. (
df5d6cdd) - Supported BLE vendor hci event reporting (
e69a8662) - Supported BLE setting vendor event mask (
e69a8662) - Supported SPI log output options for HCI. (
66319fbc) - Fixed an issue where advertising data and scan response data were not reported together during BLE active scanning. (
94adab54) - Added BLE get started examples for Bluedroid. (
743ed7b1) - Optimize the references to BLE GATT related APIs. (
a68962b3)
Controller
- Fixed BLE disconnection due to MIC error when pairing with an iOS device on ESP32-C3 and ESP32-S3. (
54ec0a99) - Disable anonymous extended advertising reporting on ESP32-C3 and ESP32-S3. (
17798878) - Fixed BLE assert lld_adv.c 2992 on ESP32-C3 and ESP32-S3. (
17798878) - Fixed heap assert due to advertising data buffer double freeing on ESP32-C3 and ESP32-S3. (
17798878) - Fixed BLE 0x08 disconnect when the window size is greater than half of the connection interval on ESP32-C3 and ESP32-S3. (
17798878) - Fixed the cache error if controller runs in flash and BLE sleep is enabled on ESP32-C2. (
5fe7b4c8) - Fixed a heap assertion issue when enabling BLE and ESP32C2_REV_MIN_200 for ESP32-C2 v2.0 (
8efb55e9) - Fixed an occasional
load access faultissue when performing ext_conn creation for ESP32-C2. (87a728c4) - Added definitions for bluetooth hci vendor commands and events (
87a728c4) - Fixed hci assertion issue when uart interference occurs on ESP32-C2. (
096fb7f9) - Changed the maximum supported value of the whitelist to 31 on ESP32-C2. (
096fb7f9) - Added a function to maintain the connection when an instant pass issue occurs on ESP32-C2. (
e29cfa89) - Fixed extended advertising interval upper limit issue on ESP32-C6 and ESP32-H2. (
e29cfa89) - reduce controller bin size for ESP32-C3 and ESP32-S3 (
651fa8fd) - Fixed enhanced TX power setting and getting for legacy adv on ESP32-C3 and ESP32-S3. (
95cafb5a) - Fixed BLE assert lld_con.c 2387 on ESP32-C3 and ESP32-S3. (
95cafb5a) - Fixed compatibility issues during the encryption procedure on ESP32-C3 and ESP32-S3. (
95cafb5a) - Added BLE debug log module on ESP32-C3 and ESP32-S3. (
e831ba77) - Fixed scan duplicate filter failure when receiving ADV_DIRECT_IND for ESP32-C2. (
0364a68e) - Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (
5dbf1514) - Fixed an issue where the default tx power of connection is incorrect after setting the scan tx power on ESP32-C6 and ESP32-H2. (
5dbf1514) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (
5dbf1514) - Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (
5dbf1514) - Supported for putting ble code into flash on ESP32-C6 and ESP32-H2. (
5dbf1514) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (
5dbf1514) - Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (
5dbf1514) - Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (
a55d6bc0) - Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (
a55d6bc0) - Fixed the issue where disconnection events were not reported as a slave on ESP32. (
a55d6bc0) - Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (
a55d6bc0) - Enhance Access Address validation in compatibility mode on ESP32. (
a55d6bc0) - Provided DTM configuration command in HCI example. (
245fb725) - Support resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (
eb5c8887) - Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (
eb5c8887) - Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (
eb5c8887) - Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (
eb5c8887) - Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (
eb5c8887) - Added parameter validation for Periodic Advertising Enable on ESP32-C3 and ESP32-S3. (
eb5c8887)
Documentation
- Updated the BLE feature support status in API Guides. (
6dcddbc9)
NimBLE
- Fix sync handle assignment for PAwR connection (
84801979) - Fixed incorrect OTA address type assignment (
152eb373) - Corrected event posting in Read Remote Features event handling [ Closes https://github.com/espressif/esp-idf/issues/15670 ] (
e5dc75ea) - Added missing ble_hs_unlock for periodic adv sync reattempt case. (
d1deab02) - Fix conversion for min-max itvl of periodic adv param in example (
3adb4edd) - Exposed the ble_gap_wl_tx_add API to add a device in whitelist (
ac367ac8) - Fix SMP command allocation (
30ff8658) - Add support for Vendor Event mask VSC (
0ba9ba4b) - Fix incorrect event deinit in gatt caching discovery (
e6c139e5) - Fixed pairing failure issue when SC only mode is selected (
c22e7ae6) - Added a change in the BLE SPP Client example to allow the client to subscribe to the server. (
16a07891) - Handle application code compilation issue due to removal of link_estab structure (
f55e6c38) - Update controller data length upon connection creation. (
e85dbe06) - Deprecate BLE_GAP_EVENT_LINK_ESTAB event. (
57ed699f) - Handle nested locks when BT_NIMBLE_DEBUG enabled (https://github.com/espressif/esp-idf/issues/15014, https://github.com/espressif/esp-idf/issues/15294, https://github.com/espressif/esp-idf/issues/15202) (
608d5a76) - Enhanced error handling by adding to print core error definitions (
85109aff) - GATT server operation of long read updated to include offset information. (
85109aff) - Restart adv / sync when periodic sync fails due to 0x3E (
85109aff) - Fixed nvs corruption due to BLE_ENV_ADV_DATA flag (
85109aff) - Handle not sending disconnect event if connect event was not sent (
85109aff) - Fixed compilation issue observed when WARN_WRITE_STRINGS is set. [ PR: https://github.com/espressif/esp-nimble/pull/84 ] (
85109aff) - Add support for missing legacy event type in report parsing (
f9358b74) - Fixed compilation issue due to variable name typo (
d7e63ef5) - Added change to assign correct peer OTA address type (
7de5c22f) - Fixed compilation issue for combination of Ext Adv and Reattempt connection flag. (
7de5c22f) - Added a check for invalid offset (
7de5c22f) - Save the gatt context in case of preemption (
7de5c22f) - Clear our and peer security records cleanly during unpair. (
7de5c22f) - Additional PAwR changes support for ESP IP (
7de5c22f) - Fixed memory leak issue in Blufi example (
7de5c22f) - Added a function that prints HCI error definition in case of failure (
7de5c22f) - Fixed incorrect storing of csfc to nvs (
7de5c22f) - Reset global variables during link disconnection (
7de5c22f) - Added HCI Read Remote Version Information command. (
7de5c22f) - Additional changes in PAwR IDF Examples/support for ESP IP (
7de5c22f)
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 . (
87a728c4)
Controller
- Fixed the issue that disable Bluetooth controller may cause interrupt watchdog timeout on ESP32 (
6683d500) - Disable debug vendor HCI command on ESP32. (
1f51604a) - Added API to get/set low power clock source on ESP32 (
9659bb2d)
Classic Bluetooth
Bluedroid
- Fixed no report of ESP_SPP_WRITE_EVT and Bluedroid btc task being blocked when SPP connecion number reaches the upper limit (
2d8537a8) - Fixed connection failure due to insufficient number of service security records when multiple profiles are initialized. (
c0478d2e) - Fixed reporting of unexpected
ESP_BT_GAP_DISC_STATE_CHANGED_EVTevent upon ACL disconnection, due to uninitialized local variable (63b16bcd) - Fixed the issue that after SPP reaches the maximum number of connections, it will mistakenly free the server resources when disconnecting, causing the next server start to fail. (
36f41bfc) - Fixed memory leaks in SPP callback mode (
8fbdf6c4) - Fixed incorrect records in SDP record search response using 16-bit UUID (
f299f69d) - Fixed error type returned when searching for service records of SIM Access Profile(SAP) in SDP (
f299f69d)
Controller
- Fixed ACL has few chance to run when it coexists with SCO on ESP32 (
1303c620) - Fixed errors in dynamic priority configuration in Bluetooth dual mode on ESP32 (
1303c620) - Fixed a crash issue caused by accessing external memory in ISR context on ESP32 (
1303c620) - Fix the incorrect unit of
duration_minin CPB TX on ESP32 (43005566) - Recalculate the channel map when AFH is enabled on ESP32 (
43005566) - Fixed assessing NULL pointer in case of handling earlier message when Bluetooth Classic connection gets disconnected (https://github.com/espressif/esp-idf/issues/15128) (
1f51604a) - Avoid accessing released ACL resources in SCO logic on ESP32 (
1f51604a) - Fixed missing critical protections on linked-list structures of (e)SCO buffers on ESP32 (
a55d6bc0)
Coexistence
- Support BR/EDR (e)SCO and Wi-Fi coexistence. (
9842b1fa) - Add coexistence scheme for BT Inquiry/Page coexist with WIFI (
a2e76fa5)
Core System
- Ensure proper reset for crypto peripherals before software restart. This fixes a rare and intermittent secure boot verification failure based on RSA-PSS scheme. The fix is recommended for aggressive revocation config. Please see commit log for more details. (
5082a268) - Fixed implementation of __atomic_test_and_set to be atomic (
68448cf7)
Panic handling
- Updated the panic handler to use RTC WDT. This fixes a bug where in the panic handler could get stuck without rebooting the system (https://github.com/espressif/esp-idf/issues/15166, https://github.com/espressif/esp-idf/issues/15018, https://github.com/espressif/esp-idf/issues/10110) (
be7ea1c1)
FreeRTOS
IDF Additions
- Fixed a bug wherein a
no-splitring buffer does not receive any item if space on the buffer is acquired until the buffer is full and the acquire pointer wraps around (https://github.com/espressif/esp-idf/pull/14948) (92f710f8)
LWIP
DHCP
- Fix dhcp server recv decline issue (
3f94b6b7)
Low Power Features
- Allows to keep sar adc power when using ADC_ULP_MODE. (https://github.com/espressif/esp-idf/issues/12426) (
2122c077) - Fixed power leakage when external 32k slow clock source detection fails. (
f1af5bbd) - Fixed the issue that esp32c2 may fail to wake up after entering deepsleep with external 32 kHz oscillator. (
386c346f)
Networking
Examples
- minor fix in the modbus slave setup mode (https://github.com/espressif/esp-idf/pull/14878) (
f3e576a7)
PHY
- Fixed the issue that tsens read abnormal value in Wi-Fi STA mode for esp32c2eco4. (
77819073) - Optimization of RX calibration in high-interference environments. (
638bb707)
Peripheral Drivers
ADC
- Fixed ADC calibration resolution loss on ESP32-S2(https://github.com/espressif/esp-idf/issues/15671) (
c58641e9)
GPIO
- Fixed the issue that configuring RTCIO as GPIO causes other initialized RTCIO to function abnormally on esp32s2 & esp32s3. (https://github.com/espressif/esp-idf/issues/10404, https://github.com/espressif/esp-idf/issues/12681) (
ad2af152)
I2S
- Fixed clock not update issue when re-configure the slot (https://github.com/espressif/esp-idf/issues/15256) (
dc58edb5)
RMT
- Fixed the channel resolution divider rounding issue (https://github.com/espressif/esp-idf/issues/15092) (
c6de21b7)
SD_HOST
SDMMC
- Improved checking of SD being busy and always requesting SD to send status, even if a write operation failed. (
4426dd5e) - Improved initialization of SD card relative address (RCA). (
e8d1e3ce) - Fixed transfer timeout due to higher priority tasks (https://github.com/espressif/esp-idf/issues/13934) (
7a59dfe0)
SPI
- Fixed slave rx buffer overwrite when no DMA and configured trans_len don't match master trans_len. (https://github.com/espressif/esp-idf/issues/14462) (
db9e3350)
SPI Slave
- Fixed segment mode potential IWDT timeout when mix mount TX and RX (
8f817ec1)
SPI Flash
- Fixed build fail when rom_patch config disabled (https://github.com/espressif/esp-idf/issues/15229) (
4ddfbf79)
TWAI
- Fixed twai assert failed during recover (https://github.com/espressif/esp-idf/issues/9697)(https://github.com/espressif/esp-idf/pull/15484) (
10130e92) - Fixed other node got BUS-OFF when twai init. (https://github.com/espressif/esp-idf/issues/14548) (
85443b12)
UART
- Allowed TX and RX configure to the same pin in uart_set_pin (https://github.com/espressif/esp-idf/issues/14787) (
1730e749) - Fixed potential UART_SELECT_READ_NOTIF race condition (
1730e749)
USB
USB Host
- Fixed crash during sudden disconnection (https://github.com/espressif/esp-idf/issues/13364) (https://github.com/espressif/esp-idf/issues/15290) (
16aba993)
USB Serial JTAG
- Fixed wrong return value from
usb_serial_jtag_write_byteswhen encounter invalid input parameters (https://github.com/espressif/esp-idf/issues/15620) (da555cce)
Security
- Fixed Memory protection interrupt check for ESP32S2 (PERI1 bus) (
ae11fd5c)
MbedTLS
- Update mbedTLS version to 3.6.3. (
34240b11) - If using MbedTLS for server certificate verification, it is mandatory to call
mbedtls_ssl_set_hostnamebefore the connection begins. No change is required if the application usesesp-tlslayer. (34240b11)
Storage
VFS
- Fixed incorrect level of log messages (https://github.com/espressif/esp-idf/issues/14327) (
331e9be3) - Fix incorrect open and close behavior for
/dev/console(e59cc982)
System Hardware
- Fixed esp32s3 possible cache_error triggered by another core accessing flash in esp_restart (
44c38da4) - Switched to flashing with stub with ESP32-C3 when USB Serial/JTAG mode is used (
a1577d26)
MMU
- Fixed spi_flash_cache2phys return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled (
6471d883) - Fixed spi_flash_phys2cache return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled (
6471d883) - Fixed mmap failure caused by leftover register value when running multicore app with unicore bootloader on ESP32 (https://github.com/espressif/esp-idf/issues/11617) (
89bcbca9)
MSPI
- Improved the selection of timing tuning points when the last few tuning points succeed consecutively (
0318fe86)
PSRAM
- Supported UnilC Octal PSRAM on ESP32S3 (
4d78c54a) - Fixed external RAM .bss and .noinit section vaddr calculations (https://github.com/espressif/esp-idf/pull/15513) (
2cec4652) - Fixed bad timing when reading mode registers on Octal and Hex PSRAMs (
02e65570)
Toolchain
- Upgraded openocd version to v0.12.0-esp32-20250226 (
f5fc6672)
Tools
- Fixed processing of packages with dots in their names in Python dependency checks (
90712386) - Fixed deprecation warnings when using
extractall()on Python 3.12 and newer (83b9a4de) - Added input validation of optional install features (
6bbaf8b8) - Fixed
ValueError: invalid literal for int() with base 10: ''coming from the configuration system when the integer config option has no defined value (a5099fa0)
WI-FI
- fix country element not update in beacon (
a7d6b078) - fix channel in rx_ctrl is zero when using sniffer (
22789f45) - fix compatibilty issues and crash during scan (
22789f45) - Fixed the scan information error in LR only mode (
b39b0cc4) - Updated the description for esp_mesh_send() return value (https://github.com/espressif/esp-idf/issues/14440) (
b39b0cc4) - Added timer to send wake null after STA received association response (
b39b0cc4) - Add the missing brackets for the C++ guards for a few header files. (https://github.com/espressif/esp-idf/issues/14991) (
cae81c6d) - Fixed the delete queue error in ESP-NOW example (https://github.com/espressif/esp-idf/issues/15383) (
59499190)
MAC
- Fixed phy data partition restoring default fails issue (
26e70c39) - Fixed an issue to prevent writing configuration to NVS when the station configuration remains unchanged. (
02f3948a) - Improve esp32s2 recv 24M Block Ack packet performance (
02cead40) - Fixed the WEP shared authentication association timeout issue. (
f7faec9b) - Fix occasional dropping of SA Query responses by SoftAP (
29797ad2) - Modified authmode to sta for sta connect event (
efd8975a) - Fixed disable external coexist fail issue. (
638bb707) - Fix the issue of failing to connect to a shared WEP AP. (
638bb707) - Fixed issue of increased stack usage when 'failure_retry_cnt' is set in station configuration and Wi-Fi driver internally re-tries connection attempts (
9d8fc561)
Supplicant
- Added domain name validation support for EAP connection. (
a8e0e0b1) - Resolved WPS connectivity issue that caused failures when the station was already connected (
19201922) - Fixed stack corruption in Wi-Fi wpa_supplicant's tasks, fixed https://github.com/espressif/esp-idf/issues/15370 (
e2a2dcd8) - Fixed issues reported by the static analyzer on GitHub (#15097, #15098, #15099). (
a3136838) - Reduced WPS scan frequency to make it easier for users to enter the PIN on the AP. (
45ff2887) - Enabled EAP workarounds by default (
d452461f)
- Disable debug vendor HCI command on ESP32. (
-
ESP-IDF Release v5.3.3
Stablereleased this
2025-04-08 13:34:12 +00:00 | 17401 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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.gitdirectory doesn't include the history of commits older than one year. Users who need to usegit checkoutto access an older release of IDF will have to usegit fetchfirst 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. (
efec039d)
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 . (
07f4ff8c) - 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. (
352c4de2) - 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. (
4c422b18)
Changelog
This is the list of changes since release v5.3.2.
15.4
- Set 802.15.4 energy scan duration before cca (
84e3f04f) - Supported IEEE802.15.4 ISR callbacks registration feature (
182dcd82) - Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels. (
8b5008bb) - Supported rx buffer and txrx statistics in 802.15.4 debugging mode (
2c786a4b)
MAC
- Supported configuring 15.4 PTI at runtime (
90de6ac5) - Supported setting/getting ACK timeout APIs (
e27cc7cb) - Returned ESP_FAIL if enh-ack generating logic was not implemented. (
2ecc042d)
Thread
- Supported hardware reset RCP while processing RCP failure for the example
ot_br(b544acb9) - Added an API to to set RCP version string (
b46c0304) - Fixed SRP server to support zero number of subtype item when updating service (
9e58ddd9) - Added Thread connect support in protocol_common component (
ad6fd3f2) - Supported
otPlatRadioGetPreferredChannelMask, added a configuration to set the preferred channel mask. (8b5008bb) - Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (
53a38bd9) - Added set dns server address API for Thread network interface (
53a38bd9) - Released Thread BR lib based on IDF v5.3 branch (
fde54d57) - Supported custom header file for openthread configuration (
3a4396b7)
Application Utilities
- Fixed build errors when only TLS 1.3 is enabled (
48a7476a)
App Update
- Introduced
esp_ota_resumeAPI for managing OTA resumption scenarios. (eb9019a1)
ESP HTTP Client
- Include port number to the URL returned by the API esp_http_client_get_url(). (
74b2b391) - Fix connection close condition check for a case where no explicit
errnois set (https://github.com/espressif/esp-idf/issues/14724) (8ce6ba18)
ESP HTTP Server
- Added support to handle HTTP 1.0 requests for legacy compliance purpose (
de65ee55)
Provisioning
- Update security2 scheme to fix the incorrect AES-GCM IV usage (
352c4de2) - Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (
352c4de2)
BLE
- Fixed crash in BLE HID host example during logging (
0b7cbb40)
BluFi
- Enhanced security in BLUFI example. (
5f789783) - Fixed crash issue during memcpy in example. (
4b4bc91e) - Fixed potential out-of-bounds memory access issue in Blufi example. (
3b924221) - Fixed crash issue in Blufi example during prepare write operation. (
14075e8e) - Fixed Blufi initialization failure after deinitialization on ESP32(https://github.com/espressif/esp-idf/issues/14898). (
0b7cbb40)
Bluedroid
- Supported BLE vendor hci event reporting (
9bc2babe) - Supported BLE setting vendor event mask (
9bc2babe) - Supported SPI log output options for HCI. (
5db0534f) - reduced bluedroid host bin size (
af4ad22e) - Fixed ADV data and scan response data not reported together in BLE active scan. (
4aa1a371) - Supported change HID task size by Kconfig in HID example(https://github.com/espressif/esp-idf/pull/15320). (
d4bb0e2a) - Optimized the references to BLE GATT related APIs. (
d0a157e7) - Added BLE get started examples for Bluedroid. (
4dd4435b) - Fixed the issue where the BLE channel selection algorithm event was not reported. (
ede55daa) - Fixed event reporting upon completion of preferred connection parameter settings. (
ede55daa) - Added config for saving BLE bonding keys to NVS flash. (
a0fdc9f7) - Fixed BLE create connection failed because of invalid own address type. (
0a49e286) - Added BLE 5.0 throughput examples. (
52066e6f)
Controller
- Added definitions for bluetooth hci vendor commands and events (
07f4ff8c) - reduced controller bin size for ESP32-C3 and ESP32-S3 (
5a170dfb) - Added BLE debug log module on ESP32-C3 and ESP32-S3. (
eddaf037) - Added channel assessment function on ESP32-H2 and ESP32-C6. (
d76e076f) - Added continuous connection function when instant pass issue triggers on ESP32-H2 and ESP32-C6. (
d76e076f) - Fixed the issue where disconnection events were not reported as a slave on ESP32. (
6fd6c4d4) - Enhanced Access Address validation in compatibility mode on ESP32. (
6fd6c4d4) - Fixed scan duplicate filter failure when receiving ADV_DIRECT_IND for ESP32-C2. (
0c8da9f9) - Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (
403a3e06) - Fixed an issue where the default tx power of connection is incorrect after setting the scan tx power on ESP32-C6 and ESP32-H2. (
403a3e06) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (
403a3e06) - Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (
403a3e06) - Supported for putting ble code into flash on ESP32-C6 and ESP32-H2. (
403a3e06) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (
403a3e06) - Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (
403a3e06) - Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (
171a0b9a) - Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (
171a0b9a) - Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (
171a0b9a) - Support resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (
608ac0bb) - Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (
608ac0bb) - Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (
608ac0bb) - Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (
608ac0bb) - Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (
608ac0bb) - Added parameter validation for Periodic Advertising Enable on ESP32-C3 and ESP32-S3. (
608ac0bb) - Provided DTM configuration command in HCI example. (
505a359f) - Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3 (
73c6ff0e) - Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (
73c6ff0e) - Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (
73c6ff0e) - Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (
77d0629a) - Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (
77d0629a) - Fixed an occasional WDT issue with long running time on ESP32-C2. (
77d0629a) - Removed BLE creating connection assertion when the connection already exists on ESP32. (
78b9bfe2) - Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (
2cb1dbd0) - Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (
e1c1befc) - Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (
e1c1befc) - Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (
e1c1befc) - Fixed a occasional wdt issue in multi-connection scenarios on ESP32-C6. (
69e8c4a0) - Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (
69e8c4a0)
Documentation
- Added Bluetooth SIG Qualification information to API Guides. (
9bf938c9)
NimBLE
- Handle application code compilation issue due to removal of link_estab structure (
f6997a73) - Added change to update controller data length upon connection creation. (
f6997a73) - Deprecate BLE_GAP_EVENT_LINK_ESTAB event. (
e53eed0c) - Handle not sending disconnect event if connect event was not sent (
92cf6566) - Add offset in GATT server long read context (
4dd97f48) - Restart adv / sync when periodic sync fails due to 0x3E (
a1063716) - Enhanced error handling by adding to print core error definitions (
b80c387c) - Fixed nvs corruption due to BLE_ENV_ADV_DATA flag (
75dbaca0) - Address compilation issue observed when WARN_WRITE_STRINGS is set . [ PR: https://github.com/espressif/esp-nimble/pull/84 ] (
cb0501e3) - Updated README.md by removing unclear line (https://github.com/espressif/esp-idf/issues/15284) (
36cf6351) - Handle nested locks when BT_NIMBLE_DEBUG enabled (https://github.com/espressif/esp-idf/issues/15014, https://github.com/espressif/esp-idf/issues/15294, https://github.com/espressif/esp-idf/issues/15202) (
ed919739) - Fix compilation warnings in nimble examples. [ Closes https://github.com/espressif/esp-idf/issues/15157 ] (
10db90a2) - Clear our and peer security records cleanly during unpair. (
ce5ac957) - Additional PAwR changes support for ESP IP (
ce5ac957) - Reset global variables during link disconnection (
ce5ac957) - Added HCI Read Remote Version Information command. (
ce5ac957) - Corrected storing method of csfc to nvs (
ba0b5b08) - Fixed coverity reported issues. (
326e101a) - fix(nimble): Save the gatt context in case of preemption (
69129b34) - Fixed compilation issue for combination of Ext Adv and Reattempt connection flag. (
05b77325) - Add ATT Tx queue cleanup during link disconnection (
c889978a) - Fix compilation issues when BLE_MAX_STORE_BOND is set to 0. [ https://github.com/espressif/esp-idf/issues/14712 ] (
98f9bdb7) - Added a check for invalid offset (
c21e1af1) - Added change to assign correct peer OTA address type (
13a627e9) - Fix memory leak issue in Blufi example (
2d965b65) - Updated print function for printing HCI error definition (
a949e022) - Changing esp_rom_printf to ESP_LOGI when memory allocation fails (
08102036) - Corrected link_estab event handling parameters (
27fb5d47) - Added fixes for CVE-2024-(47248/47249/47250/51569) vulnerabilities for nimble (
c46dac6d) - Added a function for printing HCI error definition (
8b9f7cb3) - Add support for Multiple Variable Length Notifications. (
89cf76a4) - Add support for Multiple EATT bearers. (
89cf76a4) - Added support of LE GATT Security Level Characteristic (
89cf76a4) - Fixed Device Information, Battery Level service and Scan Parameters (
89cf76a4) - Fixed issue in L2CAP regarding incorrect comparison between SDU length and MTU/MPS (
89cf76a4) - Added menuconfig option to enable SC only mode. (
89cf76a4) - Added fix to clear IRK from controller when clearing keys from NVS during signed write operation (
89cf76a4) - Add support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (
89cf76a4) - Fixed memory issue in multiple L2CAP COC connections. (
89cf76a4) - Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (
89cf76a4) - Added menuconfig option to enable L2CAP Enhanced COC (
89cf76a4) - Fixed issues in connection subrating request. (
89cf76a4) - Fixed crash issue in read multiple variable length callback (
89cf76a4) - Added support for PAwR feature (
89cf76a4) - Added host config to enable/disable SC Only mode (
89cf76a4) - Replace ESP_LOG* with esp_rom_printf in controller context callback (
63ca3b29) - Nimble Error logs in case of memory overflow/failure (
8f24c221) - Fix compilation issue in esp_hid_host example (
40ce8d7f) - Removed min/max macro definition from os.h (https://github.com/espressif/esp-idf/issues/14840) (
d3be7130)
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 . (
07f4ff8c) - Added support for converting BT HCI logs to btsnoop format. (
0b7cbb40)
Bluedroid
- Set default value of BT_BLUEDROID_ESP_COEX_VSC to n if software coexistence is not required, (
489d7a2b)
Controller
- Fixed the issue that disable Bluetooth controller may cause interrupt watchdog timeout on ESP32 (
142a6321) - Disable debug vendor HCI command on ESP32. (
efec039d) - Added API to get/set low power clock source on ESP32 (
0c1a7ad1)
Build & Config
- Support component property
COMPONENT_SOURCEwhich determines the override precedence among the components with the same name (fa7bbbb2)
Classic Bluetooth
Bluedroid
- Add Kconfig option to keep device bonding information when HID virtual cable unplugging (
73d6bd72) - Fixed incorrect record found when SDP searches using uuid16 (
2abf7c6e) - Fixed error type returned when searching for service records of SIM Access Profile(SAP) in SDP (
2abf7c6e) - Add Kconfig options for setting of SDP attribute length (https://github.com/espressif/esp-idf/pull/15321) (
af429c89) - Added HFP callback event for notification of profile ON/OFF state (
e3940cb3) - Fixed the incorrect service UUID in the callback parameter of ESP_SDP_SEARCH_COMP_EVT due to byte alignment issue (
6c02672a) - Disconnect SDP connection on receiving incorrect response or the ACL connection will never be released (
b9c4d3f8)
Controller
- Fixed assessing NULL pointer in case of handling earlier message when Bluetooth Classic connection gets disconnected (https://github.com/espressif/esp-idf/issues/15128) (
efec039d) - Avoid accessing released ACL resources in SCO logic on ESP32 (
efec039d) - Fixed missing critical protections on linked-list structure of (e)SCO buffers on ESP32 (
354c0f5b) - Fixed the issue that command HCI_Create_Connection_Cancel is rejected and returned inappropriate error code in some states on ESP32 (
93178f26) - Fixed the issue where the pause and resume encryption requests were not initiated after the link key upgrade completion on ESP32 (
93178f26) - Fixed zero attempt value set by role switch which cause fatal hardware error on ESP32 (
93178f26) - Fixed missing of critical protection for the free method of (e)SCO buffers on ESP32 (
93178f26) - Fixed duplicated encryption restart process when new link key type is semi-permanent key on ESP32 (
93178f26) - Fixed the issue where
HCI_Encryption_Changewas not reported to host after changing the key type, even when the encryption mode was correctly changed viaHCI_Set_Connection_Encryptioncommand on ESP32 (93178f26) - Fixed the issue ACL is stopped too early before eSCO on ESP32. This issue can cause ACL Perihperal to be unable to receive acknowledgements from the ACL Central, resulting in an infinite retransmission of a certain packet on the Peripheral side. (
633dbb38)
Coexistence
- Add coexistence scheme for BT Inquiry/Page coexist with WIFI (
fbddf2af)
Core System
- Fixed linker script for ESP32-C3, ESP32-S2 and ESP32-S3, reducing Flash usage by up to 512 bytes. (
7b0c6f45) - Fixed implementation of __atomic_test_and_set to be atomic (
6fc45671) - Fixed esp-ringbuf logic errors when compiling with clang_analyzer (
f53b071b) - Corrected the address used to fetch the application image header during system startup (
ecc5f36e)
ESP Event
- Fixed event profiling not logging execution time and invocation number (https://github.com/espressif/esp-idf/issues/15041) (
780dc81e)
Heap
- Fixed wrong memory returned when allocating in RTC memory with MALLOC_CAP_EXEC capability (see https://github.com/espressif/esp-idf/issues/14835) (
ca8638aa) - Added MALLOC_CAP_SIMD flag to allocate memory that is suitable for SIMD instructions (
57061d63)
Interrupts
- Made the NMI interrupt free to use on Xtensa targets and added an example to show how to use it (https://github.com/espressif/esp-idf/issues/13629) (
cb8d1796) - Fixed wrongly reserved interrupt for WiFi on ESP32-H2 (
4745d09d)
Log
- Moved esp_log_writev to IRAM (
79bf6acd)
Watchdogs
- Fixed an issue on ESP32-P4 causing unexpected WDT resets and preventing halting after a panic when
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALTset (25347b5b)
Debugging
- Moved gdbinit files generation to CMake configuration stage (
22162a45) - Added "--gdb-commands"/"-x"/"-ex" options for "idf.py <gdb|gdbgui|gdbtui>" to pass custom options to GDB (
22162a45)
Apptrace
- Fixed the issue where the Segger SystemView app (v3.10 or later) gets stuck during the record analyzing step. (https://github.com/espressif/esp-idf/issues/10483) (
0a62a907)
Core Dump
- Fixed potential checksum errors by using a buffer to write to flash. (
19884eb0)
Documentation
- Changed PDF download link to a HTML zip archive download (
c8f9cedc)
Ethernet
Examples
- Fix second Ethernet device not getting IP address in Ethernet basic example (
f98328e9)
FreeRTOS
IDF Additions
- Fixed a bug in
prvTaskDeleteWithCapsthat resulted in a crash if the task used a coprocessor. (4b43d63d) - Fixed a bug wherein a
no-splitring buffer does not receive any item if space on the buffer is acquired until the buffer is full and the acquire pointer wraps around (https://github.com/espressif/esp-idf/pull/14948) (c042aad9)
LWIP
- Fixed ping component to retrieve network interface name in a TCP/IP thread safe manner (https://github.com/espressif/esp-idf/issues/14982) (
33923d39) - Fixed a bug in
dns_clear_cache()that caused deadlock by clearing active DNS entries(https://github.com/espressif/esp-idf/issues/14287). (12938e51) - Fixed IPv6 raw socket ICMPv6 checksum calculation in IPv6-only configuration (
0986682e)
ESP Netif
- Fixed esp_netif bridge glue layer for targets with no WiFi support (
b7d6d745)
TCP
- Fixed unlimited PCB issue, allowing application to allocate more TCP connections than configured (https://github.com/espressif/esp-idf/issues/9670) (
8d9d1091) - Updated mechanism to recycle PCBs also in FIN_WAIT_1 and FIN_WAIT_2 states (
8d9d1091)
Low Power Features
- Fixed the issue that esp32c2 may fail to wake up after entering deepsleep with external 32 kHz oscillator. (
064f63d2) - Fixed the issue that accessing external storage (Flash/PSRAM) after waking up from light sleep may get wrong data when ESP_SLEEP_KEEP_DCDC_ALWAYS_ON is not enabled on ESP32-P4. (
fed7e386) - Added sleep duration validity check in
esp_sleep_enable_timer_wakeup. (#15255) (1698a588)
ULP
- Fixed the issue that riscv type ULP contains redundant GPIO definition which causes compilation failure (https://github.com/espressif/esp-idf/issues/15219) (
e3e72434)
Networking
Examples
- minor fix in the modbus slave setup mode (https://github.com/espressif/esp-idf/pull/14878) (
b545f9cc)
PHY
- Optimization of RX calibration in high-interference environments (
709c9221) - Supported PHY changes for ESP32-H2 ECO5 (
d043df37)
Peripheral Drivers
- Supported to skip legacy driver conflict check (https://github.com/espressif/esp-idf/issues/13938) (
bfac3bfd)
ADC
- Fixed ADC function register not reset issue on ESP32H2, C6 (
85cf4c26) - Fixed
adc_cali_check_schemereturn wrong supported scheme issue on ESP32-C2/H2/C6 (9322f7b0) - Fixed ADC monitor don't work issue. (https://github.com/espressif/esp-idf/issues/14769) (
0a475701)
Camera
- Added camera/dvp_isp_dsi example that uses a camera sensor with ISP_DVP interface (
e4762af4)
DMA
- External memory encryption should not affect internal memory alignment (https://github.com/espressif/esp-idf/issues/15228) (
a698b260) - The asynchronous memory copy driver now supports destination addresses that are not aligned to the cache line size. (
33cc3659) - Improved the CP-DMA performance from 480MB/s to 520MB/s on ESP32S2. (
c7c4d333)
GPIO
- Fixed the issue that configuring RTCIO as GPIO causes other initialized RTCIO to function abnormally on esp32s2 & esp32s3. (https://github.com/espressif/esp-idf/issues/10404, https://github.com/espressif/esp-idf/issues/12681) (
c327f4c4) - Fixed gpio_dump_io_configuration API name typo in programming guide (https://github.com/espressif/esp-idf/pull/15031) (
a5581e81) - Patched the esp_rom_gpio_connect_out_signal function on ESP32 and ESP32S2 to avoid potential output glitch (https://github.com/espressif/esp-idf/issues/12826) (
cfa4a3aa) - Fixed GPIO reserves 8 data lines while connected to Quad Flash on ESP32-S3 (
883829f4)
GPTimer
- The start and stop functions are now idempotent (https://github.com/espressif/esp-idf/issues/12325)(https://github.com/espressif/esp-idf/issues/13486) (
53ecffa9) - Fixed race condition between gptimer_start and gptimer_stop (https://github.com/espressif/esp-idf/pull/14767) (
e673b17d)
I2C
- Fixed clock speed is wrong on esp32s2 with legacy i2c driver (https://github.com/espressif/esp-idf/issues/15301)(https://github.com/espressif/esp-idf/issues/14603) (
4d88d8ec) - Add 10bit address support on esp32 (
9b2d46fd) - Enhance lp i2c clock source selection (https://github.com/espressif/esp-idf/issues/14098) (
9b2d46fd) - Fixed I2C return without release the lock (https://github.com/espressif/esp-idf/issues/14906) (
9b2d46fd) - Reduced the chance of I2C data corruption due to hardware issue in FIFO handling (https://github.com/espressif/esp-idf/issues/12860) (
9b2d46fd)
I2S
- Fixed i2s_std initializer order for cpp compiler and guarantee all initializers cpp compatible (https://github.com/espressif/esp-idf/issues/15405) (
7354091e) - Fixed clock not update issue when re-configure the slot (https://github.com/espressif/esp-idf/issues/15256) (
400b1e5d) - Fix uninitialize warning for the default macros (https://github.com/espressif/esp-idf/issues/15271) (
400b1e5d) - Fixed incorrect DMA buf size calculation for 8-bit & 24-bit data width. (
cfea4f7c) - Refactor I2S example common dependencies, make them an example common component (https://github.com/espressif/esp-idf/issues/14751) (
cfea4f7c) - Supported to choose PA_CTRL gpio for
i2s_es8311example. (cfea4f7c) - Fixed es8311 example has no sound on P4 EV board when using the default configuration (https://github.com/espressif/esp-idf/issues/14297) (
cfea4f7c) - Report error when the division from clock source to MCLK is less than 2 (because mclk_div at least to be 2 in hardware). (
cfea4f7c) - Removed the least 2 slots limitation for the PCM short format in TDM mode (https://github.com/espressif/esp-idf/pull/14879) (
cfea4f7c) - The max TDM frame bits have limitation on the chips C3, S3 and C6, add check for the TDM frame bits number to make sure it is valid. (
cfea4f7c)
JPEG
- Fixed the com marker size when encoding a picture (
50f41592) - Fixed get wrong gray information via get_information api (
50f41592)
LCD
- Fixed the issue that when Flash encryption is enabled, PSRAM buffer fail to mount to the DMA (https://github.com/espressif/esp-idf/issues/15228) (
a916a250) - Fixed the issue that RGB_LCD stops working occasionally after software restart (
f0fef3ae) - Increased the upper limit of PCLK frequency for RGB LCD (
a7781f36) - Fixed wrong calculation for the pixel clock in the ESP32-P4 LCD_CAM (
a7781f36) - Fine tune MIPI DPHY PLL setting to generate the closest frequency (
2c9ab216)
SPI_LCD
- Speed up the DC signal toggling in the SPI LCD IO driver (https://github.com/espressif/esp-idf/issues/15160) (
4d5a7c98)
LDO
- LDO can output the voltage reaching power rail 3.3V (
d7d3eb3f) - Output voltage is calibrated with eFuse data (
4cd2ba46)
LEDC
- Fixed ledc_get_freq() returned frequency error due to calculation overflow (https://github.com/espressif/esp-idf/pull/14882) (
ce3bc620)
MCPWM
- Added description of special deadtime configurations and added checking in the driver(https://github.com/espressif/esp-idf/issues/14773) (
0fa1c0e5)
PARL_IO
- Fixed line address error in simple rgb matrix example. (
d47aa5b0)
RMT
- Supported to set slower channel resolution. (https://github.com/espressif/esp-idf/issues/14760) (
67c6ae91) - Fixed the channel resolution divider rounding issue (https://github.com/espressif/esp-idf/issues/15092) (
47a4af87) - Added a function to return the real clock resolution of a channel (https://github.com/espressif/esp-idf/pull/15074) (
73a155f9)
SD_HOST
SDMMC
- Improved initialization of SD card relative address (RCA). (
9e4d1846)
SPI
SPI Master
- Fixed SPI stop after remove devices which using RC_FAST as clock source on ESP32C6 and H2 (
ae094251) - Supported rx sample point adjust using
spi_device_interface_config_t::sample_pointon esp32h2 v1.2 and later. (8f20eac2)
SPI Slave
- Fixed HD example and driver error with
addr&len not align to 64on ESP32-P4 (fb25eb02)
SPI Flash
- Fixed build fail when rom_patch config disabled (https://github.com/espressif/esp-idf/issues/15229) (
cac01ada) - Add a configuration to enable auto suspend status check to improve performance. (
03a2fca2) - New feature for software resume when auto-suspend enabled, improve performance (
03a2fca2) - Fixed double exception after Flash no-OS API caused by branch predictor on ESP32-P4 (
8273d987) - Fixed Cache states not recorded issue when using Flash no-OS APIs on ESP32-H2/P4/C6 (
8273d987)
TWAI
- Fixed other node got BUS-OFF when twai init. (https://github.com/espressif/esp-idf/issues/14548) (
4ff6e2cc)
Temperature Sensor
- Add temprature calibration support on esp32-c2, c6, h2, p4 (
195d7f47) - Fixed the temperature sensor return wrong values when
ESP_WIFI_ENHANCED_LIGHT_SLEEPis enabled on esp32c6. (04afd65a)
UART
- Fixed the issue of UART wake-up failure caused by an incorrect UART wake-up threshold on the ESP32-C61 (
731c4610) - Allowed TX and RX configure to the same pin in uart_set_pin (https://github.com/espressif/esp-idf/issues/14787) (
a5581e81) - Fixed potential UART_SELECT_READ_NOTIF race condition (
a5581e81) - Eliminated glitch on TX at setup if TX signal is configured to be inversed (https://github.com/espressif/esp-idf/issues/14285) (
cfa4a3aa) - Changed UART VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size (
120c2b0d) - Changed UART VFS read() to treat end-of-line characters as regular bytes, with no early return (https://github.com/espressif/esp-idf/issues/14155) (
120c2b0d)
USB
- Changed USB CDC VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size when in non blocking mode (
fa4706e4) - Added support for OTG1.1 PHY on ESP32-P4 (
adf1474e)
USB Host
- Fixed panic on Full Speed periodic endpoints on ESP32-P4 (
1de6022c) - Fix reaction on High-Speed NYET packet (
79b798ca) - Added support for 2 USB instances on ESP32-P4 (
3946fbb1) - Fixed return value in the memory allocation failure case within `usb_host_client_register() https://github.com/espressif/esp-idf/pull/14859) (
1ddebd1f)
Power Management
- Fixed the issue of abnormal leakage current caused by floating and isolation of the Flash or PSRAM CS pin during sleep (
731c4610) - Fixed the issue of cpu execution exception caused by floating and isolation of the Flash and PSRAM CS pin during sleep (
731c4610) - Fixed the JTAG IO current leakage issue when esp32p4 turns off RTC_PERIPH power domain in deepsleep (
4e0cb9a1) - Fixed the crash of esp_pm auto-lightsleep when
PM_TRACEis enabled. (92e1c508) - Fixed esp32p4 USB OTG phy suspend failure causing high power consumption in light sleep. (
0590d1c2) - Support to query PHY RF used time. (
c1e2b60b) - Fixed bbpll cali fail bug under low temp on ESP32-H2. (
bfe4d479)
Security
- Fixed Memory protection interrupt check for ESP32S2 (PERI1 bus) (https://github.com/espressif/esp-idf/issues/15359) (
6226e07c)
ESP Cert Bundle
- Add entry for "Sectigo - Comodo AAA Services root" in the common CA cert authority list. This fixes problem with server verification with GitHub endpoint. Regression introduced in
e174fc967e. (611b0f0d)
Flash Encryption
- Support XTS-AES pseudo round function on ESP32H2 chip version v1.2 (
e1a023e1)
MbedTLS
- Support AES pseudo round function on ESP32H2 chip version v1.2 (
e1a023e1) - Fix external memory corruption caused due to unaligned length cache sync of external memory buffers (
79635515)
Storage
NVS
- Fix NVS partition being incorrectly marked as encrypted by the build system (
2ee98059)
VFS
- Fixed incorrect level of log messages (https://github.com/espressif/esp-idf/issues/14327) (
313c3406) - Fix incorrect open and close behavior for
/dev/console(96d3dfbb)
System Hardware
- Fixed esp32s3 possible cache_error triggered by another core accessing flash in esp_restart (
d5b84196) - Supported ESP32-H2 revision v1.2 (
d05db915) - Supported ESP32-C2 chip rev2.0 (
05e3e2cf) - Postponed the time to turn CPU's PLL off in sleep process for C6/H2/P4 (
86adcd99) - 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. (
4c422b18) - rtc_clk_cpu_freq_set_xtal should always disables CPU's PLL, fixed the behavior for C6/H2/P4 (
e62af45d)
Cache
- Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (
517e489c)
Efuse
- Added efuse ADC calibration fields for ESP32-P4 (
3abe3264)
MMU
- Fixed
esp_mmu_vaddr_to_paddrcannot figure out virtual addresses from PSRAM issue on ESP32P4 (c1b32c87) - Supported call esp_mmu_paddr_find_caps with any physical address offsets (https://github.com/espressif/esp-idf/issues/14988) (
30d1ae30) - Fixed spi_flash_cache2phys return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled (
0d73471a) - Fixed spi_flash_phys2cache return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled (
0d73471a)
MSPI
- Fixed CPU and MSPI frequency mismatch issue leading to watchdog reset during sleep flow on ESP32P4 (
4d62ea01)
PSRAM
- Fix incorrect calculation of used XIP PSRAM pages that lead to wastage of some physical pages of PSRAM thus leading to increase in available heap. (
86852199) - Fixed bad timing when reading mode registers on Octal and Hex PSRAMs (
09abea3d) - Fixed ESP32 PICO-V3 psram enabled but not ignored issue (https://github.com/espressif/esp-idf/issues/14970) (
ca6ade86)
TCP Transport
- Fixed API to correctly handle error conditions when the server sends data and an error simultaneously. (https://github.com/espressif/esp-idf/issues/14673) (
562ca9f2) - Fixed partial reads of Websocket header (https://github.com/espressif/esp-idf/issues/14704, https://github.com/espressif/esp-idf/pull/14706) (
e84fb073)
Tools
- Avoided generating intermediate placements without sections in ldgen (
dc36761e) - Enforced
utf-8encoding with Pythonopen()function. (bc92458d) - Added DFU support for ESP32-P4 (
3652281f) - Improved suggestion for fixing missing header file (
67e7a935) - idf_tools.py: pip and setuptools are upgraded separately so the setuptools version dependency would be handled by the upgraded pip (
ce79ad55) - Used the
--unifyoption with esp-idf-size to combine sizes for same output sections, such as .bss (3a3396dc) - Displayed additional details if imports in idf.py are unsuccessful (
5ce9a7f0)
WI-FI
- fix channel in rx_ctrl is zero when using sniffer (
51fafde8) - Add the missing brackets for the C++ guards for a few header files. (https://github.com/espressif/esp-idf/issues/14991) (
b2f08a80) - Fixed the delete queue error in ESP-NOW example (https://github.com/espressif/esp-idf/issues/15383) (
752c5e6b) - Fixed the mesh connection failure in WPA3 mode after erasing flash (https://github.com/espressif/esp-idf/issues/14095) (
adf53196) - prevent compilation of Wi-Fi-related components when Wi-Fi is not supported (
77eaf678) - support 80211 tx using 11ax or 11ac rate to send (
77eaf678) - Fix configuration related to SPIRAM_IGNORE_NOTFOUND (
ca961274) - fix ap bandwidth is unknown in scan results (
e2671cb9)
MAC
- Fixed the issue of disconnection from the AP due to ERSU compatibility. (
a3427837) - Fixed the issue of failing to scan channel 14 using bitmap. (
7d8b3083) - Add support for transition disable for softap (
325b4f43) - Fix esp32c6 max_idle period is 1 cause watchdog issue (
8c4d2464) - Fixed disable external coexist fail issue. (
e40304b2) - Fix the issue of failing to connect to a shared WEP AP. (
e40304b2) - Add gpio output set command for cert test. (
e40304b2) - Prevented the use of incorrect channel list during simultaneous scans. (
edd28f9c) - Added new event 'WIFI_EVENT_AP_WRONG_PASSWORD' in softAP to indicate stations trying to connect with wrong password. Applicable for authentication modes WPA-PSK, WPA2-PSK and WPA3-PSK(SAE). (
830b5c57) - Fixed issue of increased stack usage when 'failure_retry_cnt' is set in station configuration and Wi-Fi driver internally re-tries connection attempts (
830b5c57) - Fix incorrect ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME (
c7ad8d79) - Update coexistence power management period when Wi-Fi ps type being changed (
c7ad8d79) - Fixed the issue of inaccurate calibration warning information.(https://github.com/espressif/esp-idf/issues/14963) (
8e54a6cc) - Fixed the issue of Blufi connecting to WPA or WEP routers failing. (
8e54a6cc) - Added support to recognize AP advertising WPA3-Enterprise-Only and WPA3-Enterprise-Transition Mode capabilities with 'WIFI_AUTH_WPA3_ENTERPRISE' and 'WIFI_AUTH_WPA2_WPA3_ENTERPRISE' authmode, respectively. (
e7caff51) - Change softap default dtim_period to 1 (
ca961274) - Fixed wrong reason code when softAP application issues a disconnect for station (
e5b7c29d)
Supplicant
- Resolved WPS connectivity issue that caused failures when the station was already connected (
9e2dc783) - Added some implementation changes in roaming. (
325b4f43) - Fixed memory corruption in Wi-Fi enterprise, fixed https://github.com/espressif/esp-idf/issues/15370 (
2ff653bc) - Fixed memory leak occurring in SAE PK connection. (
8835b4d2) - Reduced WPS scan frequency to make it easier for users to enter the PIN on the AP. (
a46ac40c) - Fixed issues reported by the static analyzer on GitHub (#15097, #15098, #15099). (
a7ce0206) - Enabled EAP workarounds by default (
bb8c9936) - Fixed assoc reject after WPS session (
6adf3f7f)
- Supported ESP32-H2 revision v1.2 (
-
ESP-IDF Release v5.4.1
Stablereleased this
2025-03-27 07:29:11 +00:00 | 14987 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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.gitdirectory doesn't include the history of commits older than one year. Users who need to usegit checkoutto access an older release of IDF will have to usegit fetchfirst 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 (
57d976b7)
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. (
3144cef1) - Bluetooth Common/Controller: Disable debug vendor HCI command on ESP32. (
061ba0c9)
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. (
f8843158) - 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. (
daf8117c)
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 (
f6c30400) - Set 802.15.4 energy scan duration before cca (
f4e45911) - Supported IEEE802.15.4 ISR callbacks registration feature (
1ceb4e46) - Supported rx buffer and txrx statistics in 802.15.4 debugging mode (
8b1b4df6) - Supported configuring 15.4 PTI at runtime (
d43f647f) - Supported setting/getting ACK timeout APIs (
ebd77e12)
Thread
- Added an API to to set RCP version string (
5fa3e381) - Added Thread connect support in protocol_common component (
89e47be3) - Added set dns server address API for Thread network interface (
2e06b607) - Supported
otPlatRadioGetPreferredChannelMask, added a configuration to set the preferred channel mask (f6c30400) - Supported hardware reset RCP while processing RCP failure for the example
ot_br(b853fc67) - Fixed SRP server to support zero number of subtype item when updating service (
3b41c1a5) - Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (
2e06b607)
Application Utilities
ESP HTTP Client
- Include port number to the URL returned by the API esp_http_client_get_url(). (
9acf0887)
Provisioning
- Updated security2 scheme to fix the incorrect AES-GCM IV usage (
f8843158)
Bluetooth Low Energy (BLE)
- Fixed crash in BLE HID host example during logging (
3146964e)
Bluetooth Low Energy Controller
- Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (
fe24a1c8) - Fixed the issue where disconnection events were not reported as a slave on ESP32. (
8deb26be) - Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (
fe24a1c8) - Fixed interrupt watchdog timeout when shutting down Bluetooth controller on ESP32. (
fe24a1c8) - Enhanced Access Address validation in compatibility mode on ESP32. (
8deb26be) - Added parameter validation for Periodic Advertising Enable on ESP32-C3 and ESP32-S3. (
4986601e) - Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (
9909d42b) - Supported resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (
4986601e) - Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (
4986601e) - Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (
4986601e) - Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (
4986601e) - Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (
4986601e) - Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3 (
9909d42b) - Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (
9909d42b) - Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (
9909d42b) - Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (
192874f9) - Fixed scan duplicate filter failure issue when receiving
ADV_DIRECT_INDfor ESP32-C2. (b05de813) - Fixed an issue where the ESP32-C2 failed to establish a connection when using a resolvable private address. (
192874f9) - Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (
ceffa4fb) - Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (
ceffa4fb) - Fixed an occasional WDT issue with long running time on ESP32-C2. (
ceffa4fb) - Added channel assessment function on ESP32-H2 and ESP32-C6. (
93651ddb) - Added continuous connection function when instant pass issue triggers on ESP32-H2 and ESP32-C6. (
93651ddb) - Supported for putting BLE code into flash on ESP32-C6 and ESP32-H2. (
192874f9) - Fixed an occasional assertion issue when MSYS memory cannot be obtained on ESP32-C6 and ESP32-H2. (
192874f9) - Fixed an issue where the default TX power of connection is incorrect after setting the scan TX power on ESP32-C6 and ESP32-H2. (
192874f9) - Fixed an issue where the ESP32-C6 and ESP32-H2 failed to establish a connection when using a resolvable private address. (
192874f9) - Fixed an occasional ACL disconnection issue under multiple connections on ESP32-C6 and ESP32-H2. (
192874f9) - Provided DTM configuration command in HCI example for ESP32-C2, ESP32-C6, and ESP32H2. (
f4138ade) - Reduced controller bin size for ESP32-C3 and ESP32-S3 (
5cbd2a38) - Added definitions for bluetooth hci vendor commands and events (
daf8117c)
ESP Bluedroid Host
- Added BLE Get Started examples for Bluedroid. (
05fa0e76) - Added config for saving BLE bonding keys to NVS flash. (
ae31b783) - Supported change HID task size by Kconfig in HID example(https://github.com/espressif/esp-idf/pull/15320). (
b9ebf6cd) - Optimized the references to BLE GATT related APIs. (
aa87a691) - Fixed the issue where the BLE channel selection algorithm event was not reported. (
faca49d7) - Fixed event reporting upon completion of preferred connection parameter settings. (
faca49d7)
ESP NimBLE Host
- Added support for Multiple Variable Length Notifications. (
0880fc00) - Added support for Multiple EATT bearers. (
0880fc00) - Added support for LE GATT Security Level Characteristic (
0880fc00) - Added support for PAwR feature (
0880fc00) - Added support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (
0880fc00) - Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (
0880fc00) - Added a menuconfig option to enable L2CAP Enhanced COC (
0880fc00) - Added a host configuration option to enable/disable SC Only mode (
0880fc00) - Added fixes for CVE-2024-(47248/47249/47250/51569) vulnerabilities for nimble (
ad9e0d5b) - Added a change to assign correct peer OTA address type (
ad9e0d5b) - Added a function for printing HCI error definition (
ad9e0d5b) - Added a check for invalid offset (
ad9e0d5b) - Added menuconfig option to enable SC only mode. (
0880fc00) - Fixed an issue by clearing the IRK from the controller when clearing keys from NVS during signed write operation (
0880fc00) - Handled an issue by preventing the disconnect event from being sent if the connect event was not sent (
ae5cf32a) - Added an offset in GATT server long read context (
f30ee2a6) - Restarted advertising / sync when periodic sync fails due to 0x3E (
15da152e) - Enhanced error handling by adding to print core error definitions (
18ba5dd4) - Fixed NVS corruption due to
BLE_ENV_ADV_DATAflag (9555aa09) - Resolved a compilation issue observed when WARN_WRITE_STRINGS is set . [ PR: https://github.com/espressif/esp-nimble/pull/84 ] (
49262fd4) - Updated README.md by removing unclear line (https://github.com/espressif/esp-idf/issues/15284) (
86a8f691) - Handled nested locks when BT_NIMBLE_DEBUG enabled (https://github.com/espressif/esp-idf/issues/15014, https://github.com/espressif/esp-idf/issues/15294, https://github.com/espressif/esp-idf/issues/15202) (
f9f71f0f) - Fixed compilation warnings in nimble examples. [ Closes https://github.com/espressif/esp-idf/issues/15157 ] (
2ebbfef5) - Ensured proper cleanup of local and peer security records during unpairing (
c6637ae3) - Additional PAwR changes support for ESP IP (
c6637ae3) - Reset global variables during link disconnection (
c6637ae3) - Implemented HCI Read Remote Version Information command. (
c6637ae3) - Corrected method of storing csfc to nvs (
92fab015) - Changed instances of ESP_LOG prints with ESP_LOGI during memory allocation failure (
ad9e0d5b) - Fixed compilation issue for combination of Ext Adv and Reattempt connection flag. (
ad9e0d5b) - Fixed compilation issues when
BLE_MAX_STORE_BONDis set to 0. [ https://github.com/espressif/esp-idf/issues/14712 ] (ad9e0d5b) - Fixed memory leak issue in BluFi Example (
ad9e0d5b) - Corrected link_estab event handling parameters (
ad9e0d5b) - Fixed coverity reported issues. (
ad9e0d5b) - Addressed a compilation failure issue in esp_hid_host application example (
ad9e0d5b) - Updated the error print function to include HCI opcode information (
ad9e0d5b) - Save the GATT context in case of preemption (
ad9e0d5b) - Fixed a memory leak by clearing ATT TX queue during link disconnection (
ad9e0d5b) - Fixed issues with Device Information, Battery Level service and Scan Parameters (
0880fc00) - Fixed issue in L2CAP regarding incorrect comparison between SDU length and MTU/MPS (
0880fc00) - Fixed memory issue in multiple L2CAP COC connections. (
0880fc00) - Fixed issues in connection subrating request. (
0880fc00) - Fixed crash issue in read multiple variable length callback (
0880fc00)
BluFi
- Enhance security in BLUFI example. (
f8c10a55) - Fixed crash issue during memcpy in example. (
794d8bda) - Fixed potential out-of-bounds memory access issue in Blufi example. (
5747e16f) - Fixed crash issue in Blufi example during prepare write operation. (
1937a285) - Fixed Blufi initialization failure after deinitialization on ESP32(https://github.com/espressif/esp-idf/issues/14898). (
3146964e)
Bluetooth Common
- Add support for converting BT HCI logs to btsnoop format. (
3146964e)
Bluedroid
- Set default value of BT_BLUEDROID_ESP_COEX_VSC to n if software coexistence is not required, (
b26d933e)
Controller
- Added API to get/set low power clock source on ESP32 (
cb197658) - Disable debug vendor HCI command on ESP32. (
061ba0c9)
Classic Bluetooth
Classic Bluetooth Bluedroid Host
- Fixed incorrect record found when SDP searches using uuid16 (
ab0e43d7) - Fixed error type returned when searching for service records of SIM Access Profile(SAP) in SDP (
ab0e43d7) - Fixed memory leak issue in esp_avrc_ct_cover_art_get_image API (
84053a42) - Fixed the incorrect service UUID in the callback parameter of ESP_SDP_SEARCH_COMP_EVT due to byte alignment issues (
a1c8f062)
Classic Bluetooth Controller
- Fixed missing critical protections on linked-list structure of (e)SCO buffers on ESP32 (
054a0be4) - Fixed the issue that the create_conn_cancel_cmd was rejected to cancel connection creation process and returned inappropriate error code in some states on ESP32 (
b8044d0f) - Fixed the issue where the pause and resume encryption requests were not initiated after the link key upgrade completion on ESP32 (
b8044d0f) - Fixed assessing NULL pointer in case of handling earlier message when Bluetooth Classic connection gets disconnected (
061ba0c9) - Avoid accessing released ACL resources in SCO logic on ESP32 (
061ba0c9)
PHY
- Optimization of RX calibration for Wi-Fi in high-interference environments (
6d455feb) - Supported PHY changes for ESP32-H2 ECO5 (
9309dc56)
Coexistence
- Added coexistence scheme for BT Inquiry/Page coexist with WIFI (
e347bdd4) - Updated coexistence power management period when Wi-Fi ps type being changed (
fbd97514) - Fixed disable external coexist fail issue. (
0ba139c5)
Wi-Fi
- Added the missing brackets for the C++ guards for a few header files. (https://github.com/espressif/esp-idf/issues/14991) (
30307f69) - Added support for the ESP32-C5 BETA5 (
e347bdd4) - Added support for the ESP32-C61 revision v0.2. (
e347bdd4) - Removed support for the ESP32-C61 revision v0.1. (
e347bdd4) - Added new event 'WIFI_EVENT_AP_WRONG_PASSWORD' in softAP to indicate stations trying to connect with wrong password. Applicable for authentication modes WPA-PSK, WPA2-PSK and WPA3-PSK(SAE). (
fbd97514) - Added GPIO output set command for cert test. (
0ba139c5) - Enabled WiFi Aware (NAN) on ESP32-C5 & ESP32-C61 (
69bd12d7) - Fixed the issue of inaccurate calibration warning information.(https://github.com/espressif/esp-idf/issues/14963) (
805b4d31) - Fixed the issue of Blufi connecting to WPA or WEP routers failing. (
805b4d31)
Wi-Fi MAC
- Added support for 2040 coexist for SoftAP (
fbd97514) - Added support for transition disable for SoftAP (
fbd97514) - Fixed issue that
esp_wifi_set_tx_done_cb()should not process frames sent usingesp_now_send(). (2fe702e8) - Modified authmode to negotiated result in `wifi_event_sta_connected_t`(2fe702e8)
- Fixed the issue of failing to connect to a shared WEP AP. (
69bd12d7) - Fixed issue of increased stack usage when
failure_retry_cntis set in station configuration and Wi-Fi driver internally re-tries connection attempts (69bd12d7) - Fixed ESP32-C6 max_idle period is 1 cause watchdog issue (
69bd12d7) - Fixed incorrect ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME (
fbd97514) - Extended bit width of channel in
esp_wifi_rxctrl_tfor ESP32-C5/ESP32-C61 (fbd97514) - Fixed channel in
esp_wifi_rxctrl_tis zero when using sniffer (7c0e10ba)
Wi-Fi Supplicant
- Added some implementation changes in roaming. (
e347bdd4) - Enabled EAP workarounds by default (
6345fd74) - Fixed memory leak occurring in SAE PK connection. (
72770713) - Fixed memory corruption in Wi-Fi enterprise, fixed https://github.com/espressif/esp-idf/issues/15370 (
266f7e87) - Fixed issues reported by the static analyzer on GitHub (#15097, #15098, #15099). (
f8ed34f7) - Reduced WPS scan frequency to make it easier for users to enter the PIN on the AP. (
c7a66c08) - Resolved WPS connectivity issue that caused failures when the station was already connected (
4f39b247)
ESP-WIFI-MESH
- Fixed the mesh connection failure in WPA3 mode after erasing flash (https://github.com/espressif/esp-idf/issues/14095) (
e347bdd4)
ESP Vendor Feature
- Fixed the delete queue error in ESP-NOW example (https://github.com/espressif/esp-idf/issues/15383) (
c3044cad) - Supported
esp_wifi_80211_txusing 11ax or 11ac rate to send (fbd97514)
Ethernet
- Fixed second Ethernet device not getting IP address in Ethernet basic example (
462ed835)
Security
- Fixed Memory protection interrupt check for ESP32-S2 (PERI1 bus) (
8a442118)
Flash Encryption
- Support XTS-AES pseudo round function on ESP32-H2 chip version v1.2 (
649f9a72)
MbedTLS
- Support AES pseudo round function on ESP32-H2 chip version v1.2 (
649f9a72)
ESP Cert Bundle
- Added entry for "Sectigo - Comodo AAA Services root" in the common CA cert authority list. This fixes problem with server verification with GitHub endpoint. Regression introduced in
e174fc96. (74eadefb)
Peripheral Drivers
- Supported to skip legacy driver conflict check (https://github.com/espressif/esp-idf/issues/13938) (
edb344b5)
ADC
- Fixed ADC function register not reset issue on ESP32H2/C6 (
15e75f21) - Fixed
adc_cali_check_schemereturn wrong supported scheme issue on ESP32-C2/H2/C6 (8da10690)
Camera
- Added camera/dvp_isp_dsi example that uses a camera sensor with ISP_DVP interface (
8379cd7b)
DMA
- External memory encryption should not affect internal memory alignment (https://github.com/espressif/esp-idf/issues/15228) (
85a53f96) - The asynchronous memory copy driver now supports destination addresses that are not aligned to the cache line size. (
7d07fe50) - Improved the CP-DMA performance from 480MB/s to 520MB/s on ESP32-S2. (
f708e43b)
GPIO
- Fixed the issue that configuring RTCIO as GPIO causes other initialized RTCIO to function abnormally on ESP32-S2/S3. (https://github.com/espressif/esp-idf/issues/10404) (https://github.com/espressif/esp-idf/issues/12681) (
0ba53566) - Fixed wrong register write when calling
esp_rom_gpio_connect_out_signalfor IO number over 31 on ESP32/ESP32-S2 (https://github.com/espressif/esp-idf/issues/15209) (3ecfa81c) - Fixed gpio_dump_io_configuration API name typo in programming guide (https://github.com/espressif/esp-idf/pull/15031) (
098ecb1c)
I2C
- Added api for customize I2C transaction interface for nonstandard I2C device (
5054e0ca) - Added 10bit address support on ESP32 (
fd31502c) - Fixed clock speed is wrong on ESP32-S2 with legacy I2C driver (https://github.com/espressif/esp-idf/issues/15301)(https://github.com/espressif/esp-idf/issues/14603) (
5054e0ca)
I2S
- Refactored I2S example common dependencies, make them an example common component (https://github.com/espressif/esp-idf/issues/14751) (
e2931231) - Supported to choose PA_CTRL gpio for
i2s_es8311example. (e2931231) - Fixed i2s_std initializer order for cpp compiler and guarantee all initializers cpp compatible (https://github.com/espressif/esp-idf/issues/15405) (
aa97a0fc) - Fixed uninitialize warning for the default macros (https://github.com/espressif/esp-idf/issues/15271) (
737cce3c) - Fixed clock not update issue when re-configure the slot (https://github.com/espressif/esp-idf/issues/15256) (
737cce3c) - Fixed incorrect DMA buf size calculation for 8-bit & 24-bit data width. (
e2931231) - Report error when the division from clock source to MCLK is less than 2 (because mclk_div at least to be 2 in hardware). (
e2931231) - Removed the least 2 slots limitation for the PCM short format in TDM mode (https://github.com/espressif/esp-idf/pull/14879) (
e2931231) - The max TDM frame bits have limitation on the chips ESP32-C3/S3/C6, add check for the TDM frame bits number to make sure it is valid. (
e2931231)
ISP
- Fixed the issue that calling esp_isp_demosaic_disable for non-RAW output format would cause data incorrectness (
8379cd7b)
LCD
- Increased the upper limit of PCLK frequency for RGB LCD (
0646301e) - Fixed the issue that when Flash encryption is enabled, PSRAM buffer fail to mount to the DMA (https://github.com/espressif/esp-idf/issues/15228) (
7d07fe50) - Fixed the drift issue caused by restart of the LCD screen (https://github.com/espressif/esp-idf/issues/15013) (
5aee72a8) - Fixed the issue that RGB_LCD stops working occasionally after software restart (
cf1692c9) - Fixed wrong calculation for the pixel clock in the ESP32-P4 LCD_CAM (
0646301e) - Fine tune MIPI DPHY PLL setting to generate the closest frequency (
cd1ce616) - Speed up the DC signal toggling in the SPI LCD IO driver (https://github.com/espressif/esp-idf/issues/15160) (
d79e743b)
LDO
- LDO can output the voltage reached to power rail 3.3V (
a45778a0)
LEDC
- Fixed
ledc_get_freqreturned frequency error due to calculation overflow (https://github.com/espressif/esp-idf/pull/14882) (2ad251bd)
Modbus
- Minor fix in the modbus slave setup mode (https://github.com/espressif/esp-idf/pull/14878) (
f04f21b3)
PARL_IO
- Fixed line address error in simple rgb matrix example. (
6011f69d)
PCNT
- Supported step notify on ESP32-H2 chip version v1.2 (
92208b30)
RMT
- Added a function to return the real clock resolution of a channel (https://github.com/espressif/esp-idf/pull/15074) (
c4b2f650) - Fixed the channel resolution divider rounding issue (https://github.com/espressif/esp-idf/issues/15092) (
db6e451f)
SD_HOST
SDMMC
- Fixed SDMMC peripheral deinitializating GPIO pins which were defined but not used due to slot width (https://github.com/espressif/esp-idf/issues/15328 https://github.com/espressif/esp-idf/issues/15330) (
bcb3c32d)
SPI
- Supported master sample point adjust using
spi_device_interface_config_t::sample_pointon ESP32-H2 v1.2 and later. (206b3a22) - Fixed slave_hd example and driver error with
addr&len not align to 64on ESP32-P4 (473771bc)
SPI Flash
- Added a configuration to enable auto suspend status check to improve performance. (
cf392937) - New feature for software resume when auto-suspend enabled, improve performance (
cf392937) - Fixed build fail when rom_patch config disabled (https://github.com/espressif/esp-idf/issues/15229) (
96c3f6c0) - Fixed double exception after Flash no-OS API caused by branch predictor on ESP32-P4 (
ac6e1341) - Fixed Cache states not recorded issue when using Flash no-OS APIs on ESP32-H2/P4/C6 (
ac6e1341)
TWAI
- Fixed C++ warning of macro
TWAI_GENERAL_CONFIG_DEFAULT(https://github.com/espressif/esp-idf/pull/15144) (bd5c6b06)
Temperature Sensor
- Fixed the temperature sensor return wrong values when
ESP_WIFI_ENHANCED_LIGHT_SLEEPis enabled on ESP32-C6. (e7e3d592)
UART
- Changed UART VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size (
51bae980) - Changed UART VFS read() to treat end-of-line characters as regular bytes, with no early return (https://github.com/espressif/esp-idf/issues/14155) (
51bae980) - Fixed the issue of UART wake-up failure caused by an incorrect UART wake-up threshold on the ESP32-C61 (
1aab4bf1) - Allowed TX and RX configure to the same pin in
uart_set_pin(https://github.com/espressif/esp-idf/issues/14787) (098ecb1c) - Fixed potential UART_SELECT_READ_NOTIF race condition (
098ecb1c)
USB
- Added support for OTG1.1 PHY on ESP32-P4 (
d512a299) - Changed USB CDC VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size when in non blocking mode (
36ae2376)
USB Host
- Fixed panic on Full Speed periodic endpoints on ESP32-P4 (
724f762f) - Fixed reaction on High-Speed NYET packet (
cfc878a6)
System Hardware
- Supported ESP32-H2 revision v1.2 (
57d976b7) - Fixed ESP32-S3 possible cache_error triggered by another core accessing flash in esp_restart (
8e031cf8)
MMU
- Supported find physical address region caps by any physical address offsets (https://github.com/espressif/esp-idf/issues/14988) (
d65c1088) - Fixed
esp_mmu_vaddr_to_paddrcannot figure out virtual addresses from PSRAM issue on ESP32-P4 (c7e8b681)
PSRAM
- Fixed bad timing when reading mode registers on Octal and Hex PSRAMs (
cab5334d)
MSPI
- Fixed CPU and MSPI frequency mismatch issue leading to watchdog reset during sleep flow on ESP32-P4 (
e1b32b43)
Core System
ESP Event
- Fixed event profiling not logging execution time and invocation number (https://github.com/espressif/esp-idf/issues/15041) (
5c75a994)
Heap
- Added MALLOC_CAP_SIMD flag to allocate memory that is suitable for SIMD instructions (
952f1aa2) - Fixed wrong memory returned when allocating in RTC memory with MALLOC_CAP_EXEC capability (see https://github.com/espressif/esp-idf/issues/14835) (
dd00aa17)
Interrupts
- Fixed a bug in the interrupt allocator that resulted in the level of shared interrupt being overwritten with the last level given. (
c277ec9e) - Fixed wrongly reserved interrupt for WiFi on ESP32-H2 (
4defdd90)
Watchdogs
- Fixed an issue on ESP32-P4 causing unexpected WDT resets and preventing halting after a panic when
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALTset (dc23968c)
Debugging
- Moved gdbinit files generation to CMake configuration stage (
5bb41c49) - Added "--gdb-commands"/"-x"/"-ex" options for "idf.py <gdb|gdbgui|gdbtui>" to pass custom options to GDB (
5bb41c49)
Core Dump
- Fixed potential checksum errors by using a buffer to write to flash. (
f335a2d6)
FreeRTOS
IDF Additions
- Fixed a bug in
prvTaskDeleteWithCapsthat resulted in a crash if the task used a coprocessor. (315f0fc3) - Fixed a bug wherein a
no-splitring buffer does not receive any item if space on the buffer is acquired until the buffer is full and the acquire pointer wraps around (https://github.com/espressif/esp-idf/pull/14948) (8612033b)
Low Power Features
Power Management
- Fixed the issue that ESP32-C2 may fail to wake up after entering deepsleep with external 32 kHz oscillator. (
2ed77df8) - Added sleep duration validity check in
esp_sleep_enable_timer_wakeup. (#15255) (da3f2ea5) - Fixed the issue of MMU table content loss due to default PD signal for ESP32-C61 (
c93d7d01) - Fixed wifi power save beacon timeout issue and optimize PHY sleep for ESP32-C5 eco1 and beta5. (
5436955f) - Fixed the issue of abnormal leakage current caused by floating and isolation of the Flash or PSRAM CS pin during sleep (
1aab4bf1) - Fixed the issue of cpu execution exception caused by floating and isolation of the Flash and PSRAM CS pin during sleep (
1aab4bf1) - Fixed ESP32-P4 USB OTG PHY suspend failure causing high power consumption in light sleep. (
52807c1f) - Fixed the JTAG IO current leakage issue when ESP32-P4 turns off RTC_PERIPH power domain in deepsleep (
7cd2a148) - Fixed the crash of esp_pm auto-lightsleep when
PM_TRACEis enabled. (0cdeed53) - Fixed the issue that accessing external storage (Flash/PSRAM) after waking up from light sleep may get wrong data when ESP_SLEEP_KEEP_DCDC_ALWAYS_ON is not enabled on ESP32-P4. (
f9ae8dfb) - Fixed the issue of WiFi BB FSM hang caused by modem system clock synchronization on ESP32-C5 (
9fcb33d3)
LWIP
- Fixed compilation issue with CONFIG_LWIP_DHCP_RESTORE_LAST_IP(https://github.com/espressif/esp-idf/issues/14582). (
836b5942) - Fixed ping component to retrieve network interface name in a TCP/IP thread safe manner (https://github.com/espressif/esp-idf/issues/14982) (
26fd34b8) - Fixed a bug in Auto IP causing retries with the same address after rate limiting (
19dcf3c1)
ESP Netif
- Fixed esp_netif bridge glue layer for targets with no WiFi support (
43381791)
TCP Transport
- Fixed API to correctly handle error conditions when the server sends data and an error simultaneously. (https://github.com/espressif/esp-idf/issues/14673) (
e348fdd5)
Storage
NVS
- Fix NVS partition being incorrectly marked as encrypted by the build system (
99601e8e)
VFS
- Fixed incorrect level of log messages (https://github.com/espressif/esp-idf/issues/14327) (
87d39ac4)
Tools
- Added DFU support for ESP32-P4 (
bbdc6cfe) - Fixed
IDF_PATH_OLDnot found in PowerShell withinexport.ps1(https://github.com/espressif/esp-idf/issues/15396) (e9285cc5) - Avoid generating intermediate placements without sections in ldgen (
dd315ebc) - Enforced UTF-8 encoding with Python
open()function. (72112c3f) - Fixed a bug so creating a project or a component with
idf.pypreserves the file mode of ESP-IDF files (a85d7cbe) - Added detected
ESP_PYTHONto executeactivate.pyinexport.fish(https://github.com/espressif/esp-idf/issues/15058) (aac6f2c9) - Improved suggestion for fixing missing header file (
ed9f2827) - Respect the
IDF_PYTHON_ENV_PATHvalue in the export scripts (https://github.com/espressif/esp-idf/issues/15006) (1e788836) - Added an message to install/export scripts about the current
IDF_PATHbeing used or set (6030cf5b) - Enabled enforcement of the
IDF_PATHenvironment variable for path detection in theexport.shscript by settingIDF_PATH_FORCE=1(6030cf5b) - idf_tools.py: pip and setuptools are upgraded separately so the setuptools version dependency would be handled by the upgraded pip (
25a6b4f7)
Build & Config
- Fixed ESP32-P4 linker script that was missing the
arraysattribute for external RAM section. (b808062f)
Documentation
- Supported ESP32-H2 revision v1.2 (
-
ESP-IDF Release v5.2.5
Stablereleased this
2025-02-26 10:01:16 +00:00 | 20574 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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.zipMajor 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. (
260c81d5)
-
ESP-IDF Release v5.2.4
Stablereleased this
2025-02-19 15:18:01 +00:00 | 20578 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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.zipMajor changes
This is the list of changes since release v5.2.3:
Major Features
- Supported ESP32-C2 chip revision v2.0 (
a83eb05d)
Breaking Changes
- SPI Flash: Removed auto suspend support for XMC-C flash series (
1a389cc2) - SPI Flash: Removed XMC-C suspend support because there is risk that erase operation might never finishes (
1a389cc2) - MbedTLS: MbedTLS option
MBEDTLS_ECP_FIXED_POINT_OPTIMis 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. (2ea33342) - 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. (
2ea33342) - 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. (
b3b14bdf) - Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. (
b3b14bdf)
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 (
ce956ecf) - Supported IEEE802.15.4 ISR callbacks registration feature (
4e0b39fb) - Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels (
50fe6855) - Supported rx buffer and txrx statistics in 802.15.4 debugging mode (
1408102f) - Supported configuring 15.4 PTI at runtime (
721def34) - Supported setting/getting ACK timeout APIs (
87ea3652)
Fixed
- Returned ESP_FAIL if enh-ack generating logic was not implemented. (
da635ecd)
Thread
Added
- Added OpenThread dataset changed event (
4e88543d) - Enabled vendor hooks for rcp operating in spi mode (
9ce36543) - TSupported Thread Radio Encapsulation Link (TREL) feature (
9ce36543) - Added set dns server address API for Thread network interface (
a40f7af5) - Supported custom header file for openthread configuration (
7f6cb155) - upported RCP compatibility mismatch error handler (
be05f8d4) - Supported to allocate NAT64 session from PSRAM. (
be05f8d4) - Enabled bbr feature to support multicast by default (
be05f8d4) - Supported modifying port and txt in SRP server (
be05f8d4) - Added Thread connect support in protocol_common component (
eb4a5194) - Supported
otPlatRadioGetPreferredChannelMask, added a configuration to set the preferred channel mask. (50fe6855)
Changed
- Replaced NETCONN_EXT_RESOLVE_HOOK with DNS_EXT_RESOLVE_HOOK to support more application layer protocols (
c92f5db0) - Updated openthread submodule (005c5ce) (
be05f8d4)
Fixed
- Fixed SRP server to support zero number of subtype item when updating service (
0f5b20f0) - Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (
a40f7af5) - Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly. (
be05f8d4) - Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScancalls (11888bed)
Zigbee
Changed
- Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (
f1a28c56) - Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (
f1a28c56)
Removed
- Removed the esp_zigbee_rcp example (
f1a28c56)
Application Utilities
Added
- ESP HTTPS OTA: Added API to retrieve the most recent status logged from the HTTP response. (
505625f6) - Provisioning: Added support for Notify attribute in provisioning service (
4fb04ce3)
Fixed
- Fixed build errors when only TLS 1.3 is enabled (
b369dfe2) - Fixed issue with PUT requests with async handler (https://github.com/espressif/esp-idf/pull/14196) (
450d5378) - Provisioning: Fixed hostname resolving for IPv6-only host (
214910f8) - ESP HTTP Client: Fixed connection close condition check for a case where no explicit
errnois set (https://github.com/espressif/esp-idf/issues/14724) (c19a00b3) - ESP HTTP Client: Include port number to the URL returned by the API esp_http_client_get_url(). (
7351290a)
Bluetooth Low Energy (BLE)
Added
- Documentation: Added Bluetooth SIG Qualification information to API Guides. (
8394e291) - Documentation: Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (
7aa63a9c)
Fixed
- Fixed crash in BLE HID host example during logging (
aabe255f)
Bluetooth Low Energy Controller
Added
- Supported for BLE scanning and initiating state coexistence on ESP32. (
5dbb1cfc) - Added config to enable or disable BLE channel assessment and ping procedure on ESP32. (
d5cd3b73) - Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32. (
81c4470f) - Added a verification step for the Access Address within the
CONNECT_INDPDU on ESP32. (81c4470f) - Supported resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (
a10be2bc) - Supported external 32k oscillator as Bluetooth sleep clock on ESP32/C3/S3 (
ff421877) - Added parameter validation for Periodic advertising enable on ESP32-C3 and ESP32-S3. (
a10be2bc) - Provided DTM configuration command in HCI example. (
3c799b3f) - Added a verification step for the Access Address within the
CONNECT_INDPDU on ESP32-C3 and ESP32-S3. (455ea954) - Supported for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (
6c8c6cef) - Supported for putting code in flash on ESP32-C2 (
e186bba3) - Supported for putting BLE code into flash on ESP32-C6 and ESP32-H2. (
72d91b51)
Changed
- Changed the maximum TX power to +20dBm on ESP32-C3 and ESP32-S3. (
a5d128b8) - Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2. (
72d91b51) - Updated the BLE rom.ld file for ESP32-C2 v2.0. (
b7d0eeb5)
Fixed
- Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (
d5cd3b73) - Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (
d5cd3b73) - Fixed the issue where the BLE connection can't be established when initiating and advertising coexist on ESP32. (
81c4470f) - Fixed assert in ke_mem.c at line 409 when controller resets on ESP32. (
81c4470f) - Fixed the issue where scan could not be reset when the Controller was reset during scanning on ESP32. (
95ac2b18) - Fixed early wake-up during light sleep when using the RC oscillator on ESP32-C3 and ESP32-S3. (
c8424774) - Fixed BLE TX power retrieval failure on ESP32-C3 and ESP32-S3. (
c8424774) - Fixed extended connectable advertising data length check on ESP32-C3 and ESP32-S3. (
ad8f9706) - Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 revision v1.1. (
d43f3b93) - Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (
a10be2bc) - Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (
a10be2bc) - Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (
a10be2bc) - Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (
a10be2bc) - Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3. (
455ea954) - Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (
455ea954) - Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (
b00f4a46) - Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 and ESP32-S3. (
087adbe8) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (
72d91b51) - Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (
1a64da07) - Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (
1a64da07) - Fixed an occasional WDT issue with long running time on ESP32-C2. (
1a64da07) - Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (
6e07162d) - Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (
6e07162d) - Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (
6e07162d) - Fixed occasional assertion issue when enabling logging on ESP32-C2. (
9b100a35) - Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (
72d91b51) - Fixed an issue where the default TX power of connection is incorrect after setting the scan TX power on ESP32-C6 and ESP32-H2. (
72d91b51) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (
72d91b51) - Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (
72d91b51) - Fixed a occasional WDT issue in multi-connection scenarios on ESP32-C6. (
cc237b5d) - Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (
cc237b5d) - Fixed an occasional issue where BLE fails to send ADV packeting when Wi-Fi keeps scanning in the coexistence scenario on ESP32-C6. (
0587ac37) - Fixed occasional crash issue in low memory scenarios on ESP32C6 and ESP32H2. (
dfced636) - Fixed occasional crash issue in multi-connect scenarios on ESP32-C6. (
9b100a35) - Fixed occasional ACL data packet loss issue when using UHCI on ESP32C6 and ESP32H2. (
9b100a35) - Fixed memory leak issue when deinit URAT HCI on ESP32-C2, ESP32-H2 and ESP32-C6. (
9b100a35) - Fixed occasional connection supervision timeout issue when coexisting with WiFi and light sleep enabled on ESP32-C6 and ESP32-H2. (
48e11e68)
Removed
- Remove BLE creating connection assertion when the connection already exists on ESP32. (
50f50903)
ESP Bluedroid Host
Added
- Added BLE get started examples for Bluedroid. (
2d582e88) - Added config for saving BLE bonding keys to NVS flash. (
e3ae161a) - Added BLE 5.0 throughput examples. (
3cec09f3) - Added API to set BLE supported channel selection algorithm. (
f7243306) - Added BLE connection ID parameter for ESP_GATTS_RESPONSE_EVT. (
beda0b50)
Changed
- Optimized the references to BLE GATT related APIs. (
ce62b586) - Refactored the print for gatt_server and gatt_client example. (
13ad2139) - Refactored the print for BLE examples. (
13ad2139)
Fixed
- Fixed the issue where the BLE channel selection algorithm event was not reported. (
30f9f9f0) - Fixed event reporting upon completion of preferred connection parameter settings. (
30f9f9f0) - Fixed BLE connection creation failure because of invalid own address type. (
71365083) - Fixed Classic Bluetooth build failure when enabling dynamic memory and disable BLE (
537190a5) - Fixed BLE build failure when enabling dynamic memory with BLE 5.0 (
c233332f) - Fixed crash issue in BLE SMP when a disconnection process is ongoing (
36dffb8f) - Fixed error when writing Client Supported Features characteristic. (
32dce28d) - Fixed BLE handle check for GATT API. (
43ec6b47) - Fixed access fault when reading BLE controller information fails. (
beda0b50)
ESP NimBLE Host
Added
- Created a function which can make CCCD flags configurable (
afc8010c) - Added additional PAwR support for ESP IP (
81bce81a) - Added HCI Read Remote Version Information command. (
81bce81a) - Added ATT Tx queue cleanup during link disconnection (
6a29f587) - Added a function for printing HCI error definitions (
baef4f23) - Added support for Multiple Variable Length Notifications. (
f8f9805f) - Added support for Multiple EATT bearers. (
f8f9805f) - Added support of LE GATT Security Level Characteristic (
f8f9805f) - Added menuconfig option to enable SC only mode. (
f8f9805f) - Added support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (
f8f9805f) - Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (
f8f9805f) - Added menuconfig option to enable L2CAP Enhanced COC (
f8f9805f) - Added support for PAwR feature (
f8f9805f) - Added host config to enable/disable SC Only mode (
f8f9805f) - Added a function for printing HCI error defination. (
c19ac468) - Added support for bidirectional data transfer between SPP client and server (
4de20a98)
Changed
- Updated a check to assign correct peer OTA address type (
baef4f23) - Updated the set_data_len API to use the correct parameter when BLE 5.0 support is disabled (
b3a1af02)
Fixed
- Fixed compilation warnings in nimble examples. [ Closes https://github.com/espressif/esp-idf/issues/15157 ] (
e5da8689) - Ensured proper cleanup of local and peer security records during unpairing (
81bce81a) - Reset global variables during link disconnection (
81bce81a) - Corrected storing method of csfc to nvs (
e248c59c) - Fixed compilation issue for combination of Ext Adv and Reattempt connection flag. (
905a83ec) - Fixed compilation issues when BLE_MAX_STORE_BOND is set to 0. [ https://github.com/espressif/esp-idf/issues/14712 ] (
c3681aa0) - Fixed memory leak issue in BluFi Example (
baef4f23) - Added change to check for invalid offset (
baef4f23) - Changing esp_rom_printf to ESP_LOGI when memory allocation fails (
ae218414) - Corrected link_estab event handling parameters (
c9787fe2) - Fixed Device Information, Battery Level service and Scan Parameters (
f8f9805f) - Fixed issue in L2CAP regarding incorrect comparison between SDU length and MTU/MPS (
f8f9805f) - Added fix to clear IRK from controller when clearing keys from NVS during signed write operation (
f8f9805f) - Fixed memory issue in multiple L2CAP COC connections. (
f8f9805f) - Fixed issues in connection subrating request. (
f8f9805f) - Fixed a crash issue in the read multiple variable length callback (
f8f9805f) - Added fixes for CVE-2024-(47248/47249/47250/51569) vulnerabilities for nimble (
91baeeb6) - Fixed compilation issue in esp_hid_host example (
1c4a3106) - Replace ESP_LOG* with esp_rom_printf in controller context callback (
0b4e4f6e) - Resolved watchdog due to memory exceed prints (
dda2ba1f) - Nimble Error logs in case of memory overflow/failure (
0f4b994b) - Fixed the initialization sequence for LL and host transport (
24d39dea) - Fixed compilation warning observed in clang based builds (
ba10acde) - Added change to set data length once connection is created. (
ce5f2d12) - Fiexed the crash issue of examples/bluetooth/nimble/ble_multi_conn (
76f0060c) - Registered a dummy host callback in the stack deinitialization procedure (
3827dd0b) - Fixed the deinit sequence in blufi example. (
b5af26ca) - Added a change to print address of an advertising instance (
60bd1222)
BluFi
Fixed
- Fixed potential out-of-bounds memory access issue in Blufi example. (
95873178) - Fixed crash issue in Blufi example during prepare write operation. (
8bd6d9a4) - Fixed Blufi initialization failure after deinitialization on ESP32(https://github.com/espressif/esp-idf/issues/14898). (
aabe255f)
ESP-BLE-Mesh
Added
- Added macro
BLE_MESH_V11_SUPPORTto enable or disable BLE Mesh v1.1 features (7a20ceee)
Fixed
- Reduced the flash size occupied by BLE Mesh (
2a19808d)
Bluetooth Common
Added
- Added support for converting BT HCI logs to btsnoop format. (
aabe255f)
Build & Config
Added
- Supported component property
COMPONENT_SOURCEwhich determines the override precedence among the components with the same name (b79d8116)
Classic Bluetooth
Classic Bluetooth Bluedroid Host
Added
- Added HFP callback event for notification of profile ON/OFF state (
5107c17e)
Fixed
- Fixed access NULL in HFP callback handler. (
e4a91596) - Fixed the incorrect UUID obtained at the application layer due to byte alignment issues (
b2219fbd) - Disconnect SDP connection on receiving incorrect response or the ACL connection will never be released (
2facc4d3) - Fixed AVRCP compatibility issue on absolute volume synchronization (
cbaf87af) - Fixed memory leak issue in SCO when disabling Bluedroid (
2506664f) - Fixed protocol mode mapping bug in esp_hid component(https://github.com/espressif/esp-idf/issues/14232) (
fc1c79eb) - Fixed not deep copy service_name and user1_ptr in SDP search complete event (
c5c19858) - Fixed not release BTC SDP record memory after it has been created successfully (
c5c19858) - Limited SDP service discovery operation when the previous discovery is not finished (
c5c19858) - Fixed not clearing the mode request status which causes unexpected exit of sniff mode. (
c467c8ed) - Fixed the issue in HFP that AT commands transmission will not exit current sniff mode by modify power management configuration lookup tables (
98618d75) - Added definition of minor class of COD for peripheral major class and set it in HID device related examples(https://github.com/espressif/esp-idf/issues/13622) (
fc1c79eb)
Classic Bluetooth Controller
Added
- Added Vendor-specific HCI command to update local Bluetooth clock on ESP32 (
420bf722)
Fixed
- Added the check of the range of LAP in HCI_Periodic_Inquiry_Mode command handler on ESP32 (
470d405f) - Fixed missing critical protections on linked-list structure of (e)SCO buffers on ESP32 (
02935a77) - Fixed the issue that the create_conn_cancel_cmd was rejected to cancel connection creation process and returned inappropriate error code in some states on ESP32 (
92bfc482) - Fixed the issue where the pause and resume encryption requests were not initiated after the link key upgrade completion on ESP32 (
92bfc482) - Fixed zero attempt value set by role switch which cause fatal hardware error on ESP32 (
420bf722) - Fixed missing of critical protection for the free method of (e)SCO buffers on ESP32 (
420bf722) - Fixed duplicated encryption restart process when new lk type is semi-permanent key on ESP32 (
420bf722) - Fixed the issue where
HCI_Encryption_Changewas not reported to host after changing the key type, even when the encryption mode was correctly changed viaHCI_Set_Connection_Encryptioncommand on ESP32 (420bf722) - Fixed the issue ACL is stopped too early before eSCO on ESP32. This issue can cause ACL Perihperal to be unable to receive acknowledgements from the ACL Central, resulting in an infinite retransmission of a certain packet on the Peripheral side. (
72c8dffe) - Fixed crash upon name request from peer device without setting local device name on ESP32 (
81c4470f) - Set the QoS value to the minimum value if the calculated QoS is less than the minimum on ESP32 (
81c4470f) - Fixed access of NULL pointer in the (e)SCO frame end ISR after the SCO link is disconnected on ESP32 (
470d405f) - Fixed the wrong logic in the key exchange when LMP transaction collision occurred (
470d405f) - Fixed the using of wrong error codes in the transaction collision of role switch (
470d405f) - Removed an improper assertion statement in SCO module (
470d405f)
PHY
Added
- Supported PHY changes for ESP32-H2 v1.2 (
cce96ba9) - Added cert_test support for ESP32, ESP32-C2, ESP32-C6, ESP32-H2 and ESP32-S2 (https://github.com/espressif/esp-idf/issues/11972) (
4f3981a6)
Wi-Fi
Added
- Supported ESP32-C2 chip rev2.0 Wi-Fi (
d450c817)
Fixed
- Prevent compilation of Wi-Fi-related components when Wi-Fi is not supported (
59cf0886) - Fixed configuration related to SPIRAM_IGNORE_NOTFOUND (
71dde494) - Fixed potential crashes in WiFi-netif APIs from invalid arguments (https://github.com/espressif/esp-idf/issues/8702) (
d4b7c38d) - Fixed the STA TBTT interval update error when AP's beacon interval changed (https://github.com/espressif/esp-idf/issues/14720) (
98608130) - Fixed the issue of Blufi connecting to WPA or WEP routers fail. (
9ad543cf) - Fixed the issue that default wifi_config.ap.sae_pwe_h2e is not correct (
6050f356) - Fixed the issue of inaccurate calibration warning information.(https://github.com/espressif/esp-idf/issues/14963) (
9ad543cf)
Wi-Fi MAC
Added
- Added FTM calibration values for ESP32-C6 (
288e8c6c) - Added protect for SoftAP when sending management frame to stations which are not connected (
118ae2ae) - Added a parameter to enable or disable send QoS NULL to keep live during TWT (
f42bc63e)
Changed
- Changed SoftAP default dtim_period to 1 (
71dde494) - Improved internal error propagation in
esp_wifi_set_modeAPI (13c2660b)
Fixed
- Fixed incorrect ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME (
324c7eff) - Fixed the issue where SoftAP has rebooted but the connected station did not disconnect. (
24c98125) - Fixed the issue that SoftAP would recv non-authed associate request (
118ae2ae) - Prevented the use of incorrect channel list during simultaneous scans. (
15c32509) - Fixed crash when station issues disconnect during connection establishment and 'failure_retry_cnt' is set in station configuration (
9d7bf28e) - Fixed wrong reason code when SoftAP application issues a disconnect for station (
3016c2e3) - Fixed AMPDU to NORMAL causes free buffer twice issue. (
9a9a8137) - Fixed the issue that STA connects twice simultaneously. (
9a9a8137) - Fixed STA fail to sleep when connecting to connected AP. (
9a9a8137) - Fixed the issue that association failed In WPA3 encryption mode. (
9a9a8137) - Fixed FTM bandwidth related issues in AP-STA mode (
cdd9996f) - Fixed the issue that the STA could not connect to AP due to authentication timeout after association was refused temporarily by certain APs (
e297e169) - Fixed the issue that the STA fail to connect to a shared WEP AP. (
b0f63c50) - Fixed issue of increased stack usage when 'failure_retry_cnt' is set in station configuration and Wi-Fi driver internally re-tries connection attempts (
f23a4dc5) - Fixed ESP32-C6 max_idle period is 1 cause watchdog issue (
d81b8203) - Added new event 'WIFI_EVENT_AP_WRONG_PASSWORD' in softAP to indicate stations trying to connect with wrong password. Applicable for authentication modes WPA-PSK, WPA2-PSK and WPA3-PSK(SAE). (
6a465772) - Fixed wrong reason code in some cases for 'WIFI_EVENT_AP_STADISCONNECTED' event when PMF (Protected Management Frame ) enabled (
118ae2ae)
ESP-WIFI-MESH
Fixed
- Enlarged the mesh TX task stack (
98608130) - Fixed the delete group id error in Wi-Fi mesh (https://github.com/espressif/esp-idf/issues/14735) (
98608130) - Fixed the mesh connection failure in WPA3 mode after erasing flash (https://github.com/espressif/esp-idf/issues/14095) (
6050f356)
Wi-Fi Supplicant
Added
- Added support for SAE rejected groups (
0b2e6d68) - Added a check on hostapd instance while handling an Auth frame (
2b35c558)
Fixed
- Enabled EAP workarounds by default (
611ddca8) - Fixed associate reject after WPS session (
501f4ab6) - Fixed security vulnerabilities related to sae rejected groups (
0b2e6d68) - Allowed WPA-AES connection after WPS (
90b96299) - Fixed concurrency issue during WPS registrar/SoftAP deinit (
90b96299) - Fixed the issue where supplicant deinitialization may miss the internal WAPI deinitialization. (
78cf3011)
ESP Vendor Feature
Added
- Supported
esp_wifi_80211_tx()using 11ax rate to send (59cf0886) - Added type check in ESP-NOW (
98608130) - The AES IV can be random value for ESPTouch v2 (
60beb52d)
Coexistence
Added
- Supported lower coexistence power consumption when Wi-Fi disconnects from AP (
5945ee4f) - Supported Wi-Fi to wakeup by listen interval/DTIM period when coexisting with BT init only (
5945ee4f)
Changed
- Updated coexistence power management period when Wi-Fi ps type being changed (
324c7eff)
Fixed
- Fixed the issue that data packets take several seconds to be sent when coexisting with BLE start and stop scenarios. (
9a9a8137) - Fixed the issue that multicast packet loss when listen interval is not equal to 1 in coexistence scenarios. (
9a9a8137) - Fixed external coex build fail issue. (
cac1db62) - Fixed the issue of ESP32-C6 enable external coexist failure when enable power management for station when disconnected. (
5945ee4f)
Security
Added
- MbedTLS: Moved ESP32-C2 ROM API mbedTLS feature from experimental to a fully supported feature. (
3f72cc54) - MbedTLS: Supported ESP32-C2 rev2.0 ROM mbedtls-v3.6.0 (
b20225d0) - MbedTLS: Added countermeasure for ECDSA sign operation on ESP32-H2 (chip revision < v1.2) (
2b2869ab) - Flash Encryption: Support XTS-AES pseudo round function on ESP32-H2 chip version v1.2 (
b8b00469) - MbedTLS: Support AES pseudo round function on ESP32-H2 chip version v1.2 (
b8b00469)
Changed
- MbedTLS: updated the MbedTLS version to 3.6.2 (
f7b34f29)
Fixed
- MbedTLS: Reduced application binary size by disabling the mbedtls options
MBEDTLS_ECP_FIXED_POINT_OPTIMandMBEDTLS_SHA3_Cby default. (2ea33342) - MbedTLS: Added new config option CONFIG_MBEDTLS_FS_IO for filesystem related functions (https://github.com/espressif/esp-idf/issues/14409) (
e8058df5) - MbedTLS: Fixed ESP32-C2 ROM ECO1 mbedTLS issues. (
6531fe94)
Peripheral Drivers
Added
- Drivers: Added Kconfig options to skip the conflict check in the legacy driver (https://github.com/espressif/esp-idf/issues/13938) (
067d4dda) - USB Host: Added option to initialize USB Host stack with unpowered port (
dc459721) - I2C: Added 10bit address support on ESP32 (
866a02f2) - I2C: Added an interface for getting initialized handle by port number (https://github.com/espressif/esp-idf/issues/13968) (
0f1c5b6f) - USB Host: Added external HUB support (
1a496918) - USB Host: Enabled USB Hub support in USB Host examples by default (
1a496918) - USB Host: USB Host Lib example now allows device reconnections and GPIO button press app quit (
1a496918) - RMT: Added a function to return the real clock resolution of a channel (https://github.com/espressif/esp-idf/pull/15074) (
9d1b0c2d)
Changed
- GPIO: Improved GPIO set level performance by avoid "read-modify-write" operation (https://github.com/espressif/esp-idf/issues/14674) (
97bf63ad) - SDMMC: Improved checking of SD being busy and always requesting SD to send status, even if a write operation failed. (
bb268e11) - SDMMC: Improved initialization of SD card relative address (RCA). (
ca86e7f3)
Fixed
- ADC: Fixed the issue that ADC monitor not work. (https://github.com/espressif/esp-idf/issues/14769) (
82e72bcf) - ADC: Fixed
adc_cali_check_schemereturn wrong supported scheme issue on ESP32-C2/H2/C6 (44f29fb2) - GPIO: Allow RTC-IO API to set edge type wakeup sources for targets that support this (
e2164083) - GPIO: Patched the
esp_rom_gpio_connect_out_signalfunction on ESP32 and ESP32-S2 to avoid potential output glitch (https://github.com/espressif/esp-idf/issues/12826) (42f8913c) - GPIO: Fixed GPIO reserves 8 data lines while connected to Quad Flash on ESP32-S3 (
79014ccc) - GPTimer: Fixed race condition between gptimer_start and gptimer_stop (https://github.com/espressif/esp-idf/pull/14767) (
9c6952f7) - I2C: Reduced the chance of I2C data corruption due to hardware issue in FIFO handling (https://github.com/espressif/esp-idf/issues/12860) (
866a02f2) - I2C: Fixed hangs when SCL is randomly pulled low during communication (https://github.com/espressif/esp-idf/issues/13647) (
466acf65) - I2C: Fixed an I2C issue that slave stretch happens but master timeout not work (https://github.com/espressif/esp-idf/issues/14129) (https://github.com/espressif/esp-idf/issues/14401) (
466acf65) - I2C: Fixed the i2c sda/scl force out register value on some ESP32-C6/H2 (
466acf65) - I2S: Fixed incorrect DMA buf size calculation for 8-bit & 24-bit data width. (
4010489a) - I2S: Refactor I2S example common dependencies, make them an example common component (https://github.com/espressif/esp-idf/issues/14751) (
4010489a) - I2S: Report error when the division from clock source to MCLK is less than 2 (because mclk_div at least to be 2 in hardware). (
4010489a) - I2S: Removed the least 2 slots limitation for the PCM short format in TDM mode (https://github.com/espressif/esp-idf/pull/14879) (
4010489a) - I2S: The max TDM frame bits have limitation on the chips ESP32-C3/S3/C6, add check for the TDM frame bits number to make sure it is valid. (
4010489a) - I2S: Fixed I2S sample rate can occasionally be half of the configuration. (
d8065ec3) - LCD: Fixed wrong return type in
esp_lcd_new_panel_io_i2cwhen build for C++ project (3559e570) - LEDC: Fixed
ledc_get_freqreturned frequency error due to calculation overflow (https://github.com/espressif/esp-idf/pull/14882) (8af4285c) - MCPWM: Added description of special deadtime configurations and added checking in the driver (https://github.com/espressif/esp-idf/issues/14773) (
cc855a0a) - MCPWM: Fixed memory leak when power management is enabled (
bfacecf7) - MCPWM: Fixed pm_lock not being created when initializing capture timers on ESP32-C6/H2 (
bfacecf7) - PARL_IO: Fixed line address error in simple rgb matrix example. (
0b138556) - PARL_IO: Fixed parlio_tx transmit error in first transfer and 1 byte transfer (
f2482e7a) - RMT: Fixed the channel resolution divider rounding issue (https://github.com/espressif/esp-idf/issues/15092) (
32dd4764) - SPI: Fixed slave rx buffer overwrite when no DMA and configured trans_len don't match master trans_len. (https://github.com/espressif/esp-idf/issues/14462) (
3f76bbe2) - SPI Flash: Fixed Cache states not recorded issue when using Flash no-OS APIs on ESP32-H2/C6 (
8187205d) - TWAI: Fixed other node got BUS-OFF when twai init. (https://github.com/espressif/esp-idf/issues/14548) (
5d260991) - Temperature Sensor: Fixed the temperature sensor return wrong values when
ESP_WIFI_ENHANCED_LIGHT_SLEEPis enabled on ESP32-C6. (8775d067) - UART: Fix the modbus slave setup mode in the examples (https://github.com/espressif/esp-idf/pull/14878) (
5eaa63af) - UART: Allowed TX and RX configure to the same pin in
uart_set_pin(https://github.com/espressif/esp-idf/issues/14787) (a73c62ef) - UART: Fixed potential UART_SELECT_READ_NOTIF race condition (
a73c62ef) - UART: Eliminated glitch on TX at setup if TX signal is configured to be inversed (https://github.com/espressif/esp-idf/issues/14285) (
42f8913c) - UART: Changed UART VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size (
6047df10) - UART: Changed UART VFS read() to treat end-of-line characters as regular bytes, with no early return (https://github.com/espressif/esp-idf/issues/14155) (
6047df10) - UART: Re-allowed the users to pass in non-4-byte-aligned buffer size for TX ring buffer in uart_driver_install (
bee297a2) - USB Host: Fixed return value in the memory allocation failure case within
usb_host_client_register(https://github.com/espressif/esp-idf/pull/14859) (1e24d8ac)
System Hardware
Added
- Supported ESP32-C2 chip rev2.0 (
a83eb05d) - PSRAM: Supported PSRAM .noinit segment on ESP32-S2/ESP32-S3 (https://github.com/espressif/esp-idf/issues/14253) (
bed8016f)
Fixed
- Fixed the issue that after OTA application changes the slow clock source, the modem module not work during lightsleep on ESP32-C6/H2 (
1fc1cc44) - Fixed the issue that after OTA application changes the slow clock source, the RTC slow clock is missing and causes a stuck at
esp_restarton esp32-C6/H2. (5c07af3e) - Solve external 32K problem caused by the wrong configurations on C3 & S3. (
e038e666) - MMU: Fixed spi_flash_phys2cache return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled (
f0364c57) - PSRAM: Fixed PSRAM heap registration when
himemis used. (2ef8f9e2) - PSRAM: Fixed bad timing when reading mode registers on Octal and Hex PSRAMs (
610b334c) - PSRAM: Fixed ESP32 PICO-V3 psram enabled but not ignored issue (https://github.com/espressif/esp-idf/issues/14970) (
17630621) - rtc_clk_cpu_freq_set_xtal should always disables CPU's PLL, fixed the behavior for ESP32-C6/ESP32-H2 (
fa1ab35c) - Postponed the time to turn CPU's PLL off in sleep process for ESP32-C6/ESP32-H2 (
0e42d520)
Core System
Added
- Added explicit drop for sections .got and .got.plt; In case these sections appear a hint will be shown. (https://github.com/espressif/esp-idf/issues/14296) (
ad326304)
Changed
- Panic handling: Changed register dump on non panic task WDT to be more descriptive (https://github.com/espressif/esp-idf/issues/14400) (
35d88960)
Fixed
- Fixed potential double exception when booting on xtensa (https://github.com/espressif/esp-idf/issues/14406) (
b00f88c7) - Fixed comparison of integer expressions of different signedness in spinlock (https://github.com/espressif/esp-idf/pull/14469) (
1c346ddf) - Console: Fixed crash when enable USB-Serial-JTAG as the primary console in esp32c3 v1.1 (
90f07608) - Heap: Fixed wrong memory returned when allocating in RTC memory with MALLOC_CAP_EXEC capability (see https://github.com/espressif/esp-idf/issues/14835) (
5c235ffa) - Interrupts: Fixed wrongly reserved interrupt for WiFi on ESP32-H2 (
a272c70a)
Debugging
Added
- Added "--gdb-commands"/"-x"/"-ex" options for "idf.py <gdb|gdbgui|gdbtui>" to pass custom options to GDB (
3f920b5a) - Moved gdbinit files generation to CMake configuration stage (
3f920b5a)
Fixed
- Apptrace: Fixed the issue where the Segger SystemView app (v3.10 or later) gets stuck during the record analyzing step. (https://github.com/espressif/esp-idf/issues/10483) (
d4f19204) - Core Dump: Fixed potential checksum errors by using a buffer to write to flash. (
4a484959)
Toolchain
Changed
- Upgraded openocd version to v0.12.0-esp32-20241016 (
921133a1)
FreeRTOS
Fixed
- Fixed an SMP unsafe race condition in
xStreamBufferSend()leading to a crash inxTaskNotify(). (e70684b3) - Fixed an SMP unsafe race condition in
xStreamBufferReceive()leading to a crash inxTaskNotify(). (fd631965) - Resolved a priority inversion issue where a lower-priority task continued executing after unblocking a higher-priority task that was waiting on an event group. (
b53eb889) - Fixed parts of documentation referring to stack size as "in words". Should be "in bytes" in IDF (https://github.com/espressif/esp-idf/issues/11600) (
a749b234) - IDF Additions: Fixed a bug wherein a
no-splitring buffer does not receive any item if space on the buffer is acquired until the buffer is full and the acquire pointer wraps around (https://github.com/espressif/esp-idf/pull/14948) (1f9057df) - IDF Additions: Fixed a bug wherein
no-splitring buffers could receive items prematurely when the items may not have been sent to the buffer yet and the buffer is full (https://github.com/espressif/esp-idf/issues/14568) (532b2a0b) - IDF Additions: Fixed an occasional assert failure in
vTaskDeleteWithCaps()(https://github.com/espressif/esp-idf/issues/14222) (80c3e107) - IDF Additions: xRingbufferCreateWithCaps allows non-4-byte-aligned xBufferSize input for non-RINGBUF_TYPE_BYTEBUF ring buffer type (
bee297a2)
Low Power Features
Power Management
Added
- Supported to query PHY RF used time. (
16101fd7) - Bypassed cache access assertion when using ext0 or ext1 (
4032d73c)
Changed
- Improved esp_timer timing accuracy after light sleep is rejected (
458fb6e0)
Fixed
- Fixed possible low internal voltage and load capacity on ESP32-H2. (
582c5acf) - Fixed the crash of esp_pm auto light sleep when
PM_TRACEis enabled. (c93a343b) - Fixed BBPLL cali fail bug under low temp on ESP32-H2. (
1fc6ee67) - Fixed a deadlock that occurred when a high-priority task and a low-priority task changed PM mode at the same time (
1291eada) - Fixed CPU switch fail due to BBPLL cali fail bug under low temp on ESP32-H2 (
d917fa42)
Removed
- Removed the dependence of PM_SLP_IRAM_OPT (
fe262a71)
ULP
Changed
- ULP: Optimized ESP32-C6 LP-CPU power consumption in deepsleep (
738a7f0b)
Fixed
- ULP: Fixed the issue that riscv type ULP contains redundant GPIO definition which causes compilation failure (https://github.com/espressif/esp-idf/issues/14437) (
810ade0e)
LWIP
Added
- DNS: Added a hook for DNS external resolving with resolved callback (
c92f5db0)
Changed
- TCP: Updated mechanism to recycle PCBs also in FIN_WAIT_1 and FIN_WAIT_2 states (
3dd245fb) - Changed maximum number of available sockets (https://github.com/espressif/esp-idf/pull/13866) (
43606623) - IPv6: Changed the default IPv6 input hook to drop all IPv6 packets if the input network interface has no link local address assigned. (
37d9e33d)
Fixed
- Fixed ping component to retrieve network interface name in a TCP/IP thread safe manner (https://github.com/espressif/esp-idf/issues/14982) (
ffe563fb) - IPv6: Fixed IPv6 raw socket ICMPv6 checksum calculation in IPv6-only configuration (
5de8b483) - DNS: Fixed a bug in
dns_clear_cache()that caused deadlock by clearing active DNS entries(https://github.com/espressif/esp-idf/issues/14287). (3dd245fb) - TCP: Fixed unlimited PCB issue, allowing application to allocate more TCP connections than configured (https://github.com/espressif/esp-idf/issues/9670) (
3dd245fb)
TCP Transport
Fixed
- Fixed partial reads of Websocket header (https://github.com/espressif/esp-idf/issues/14704, https://github.com/espressif/esp-idf/pull/14706) (
411385cf) - Fixed potential memory corruption on Websocket connection while reading more data then allocated (https://github.com/espressif/esp-idf/issues/14473) (
a253ad8b) - Fixed incorrect Websocket packet length calculation on Linux target due to integer promotions (https://github.com/espressif/esp-idf/pull/14536) (
0e2f30a2)
Storage
Added
- LittleFS: Added support for LittleFS image generation on Windows (https://github.com/espressif/esp-idf/issues/12900) (
6e51dc41) - NVS: Added sanity checks of NVS entry header (
e9656ec8) - NVS: Added host tests of damaged NVS entry header with correct crc (
e9656ec8)
Fixed
- VFS: Fixed incorrect level of log messages (https://github.com/espressif/esp-idf/issues/14327) (
3b2d916a)
Tools
Changed
- Updated CMake version to 3.30.2 (https://github.com/espressif/esp-idf/pull/14376) (
255d045c) - Updated Ninja version to 1.12.1 (
255d045c) - Updated Ccache version to 4.10.2 (
255d045c) - Improved suggestion for fixing missing header file (
276083f9) - idf_tools.py: pip and setuptools are upgraded separately so the setuptools version dependency would be handled by the upgraded pip (
4973c5f8)
Fixed
- Enforced
utf-8encoding with Pythonopen()function (2f62363c) - Displayed additional details if imports in idf.py are unsuccessful (
425722b5) - Printed message about GDBGUI being not supported with Python 3.13 (
d395f4d5) - Fixed default SORT flag usage in linker mapping fragment (
bdcdd32b) - Fixed the failure of the
idf.py uf2andidf.py uf2-appcommands when ESPBAUD or ESPPORT environment variables were set (2b1122a6)
Removed
- Removed the unsupported OUTPUT_FORMAT Cmake variable from the
idf.py size*sub-commands (https://github.com/espressif/esp-idf/issues/14383) (f2f6a268)
Documentation
Added
- Update LCD programming guide, quad SPI LCD is also supported. (https://github.com/espressif/esp-idf/issues/14605) (
c12e684a)
- Supported ESP32-C2 chip revision v2.0 (
-
ESP-IDF Release v5.1.6
Stablereleased this
2025-02-17 09:09:01 +00:00 | 23069 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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.zipMajor 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 (
5b6aa191) - SPI Flash: Removed XMC-C suspend support because there is risk that erase operation might never finishes (
5b6aa191) - 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. (
fd3da184) - Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. (
fd3da184) - MbedTLS: MbedTLS option
MBEDTLS_ECP_FIXED_POINT_OPTIMis 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. (289ffe78) - 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. (
289ffe78)
Changelog
802.15.4
802.15.4 MAC
Added
- Set 802.15.4 energy scan duration before cca (
0192db53) - Supported IEEE802.15.4 ISR callbacks registration feature (
4a83e6bb) - Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels (
d326f028) - Supported rx buffer and txrx statistics in 802.15.4 debugging mode (
50b36ece) - Supported configuring 15.4 PTI at runtime (
515b025d) - Supported setting/getting ACK timeout APIs (
f032c5c8)
Fixed
- Returned ESP_FAIL if enh-ack generating logic was not implemented. (
cd50023d)
Thread
Added
- Added an API to to set RCP version string (
822764f8) - Supported hardware reset RCP while processing RCP failure for the example
ot_br(026d8aee) - Added Thread connect support in protocol_common component (
79f444f8) - Supported
otPlatRadioGetPreferredChannelMask, added a configuration to set the preferred channel mask. (d326f028) - Added set dns server address API for Thread network interface (
cc58cf3e) - Supported custom header file for openthread configuration (
a355efbf) - Supported RCP compatibility mismatch error handler (
7805969a) - Supported to allocate NAT64 session from PSRAM (
7805969a) - Enabled bbr feature to support multicast by default (
7805969a) - Supported modifying port and txt in SRP server (
7805969a) - Enabled vendor hooks for rcp operating in spi mode (
954f6baa) - Supported Thread Radio Encapsulation Link (TREL) feature (
954f6baa) - Added OpenThread dataset changed event (
122462f8)
Changed
- Updated openthread submodule (005c5ce) (
7805969a) - Replaced NETCONN_EXT_RESOLVE_HOOK with DNS_EXT_RESOLVE_HOOK to support more application layer protocols (
06efbeef)
Fixed
- Fixed the issue of incorrect duration and channel configuration in
otPlatRadioEnergyScancalls (740de146) - Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly (
7805969a) - Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (
cc58cf3e) - Fixed SRP server to support zero number of subtype item when updating service (
bd5e1c30)
Zigbee
Changed
- Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (
bdc59fc7) - Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (
bdc59fc7)
Removed
- Removed the esp_zigbee_rcp example (
bdc59fc7)
Application Utilities
Fixed
- ESP HTTP Client: Fixed connection close condition check for a case where no explicit
errnois set (https://github.com/espressif/esp-idf/issues/14724) (6bca6f4e) - ESP HTTP Server: Updated logic to enforce HTTP/1.0 or HTTP/1.1, no longer supporting other versions (https://github.com/espressif/esp-idf/issues/14723) (
ed5f875a&c1931f07) - Provisioning: Fixed hostname resolving for IPv6-only host (
937d3096)
Bluetooth Low Energy (BLE)
Added
- Documentation: Added Bluetooth SIG Qualification information to API Guides. (
c08c117e) - Documentation: Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (
0f1400bf)
Fixed
- Fixed crash in BLE HID host example during logging (
e423469b)
Bluetooth Low Energy Controller
Added
- Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (
e77ee138) - Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32. (
15fb892f) - Added a verification step for the Access Address within the
CONNECT_INDPDU on ESP32. (15fb892f) - Supported using external 32k oscillator as Bluetooth sleep clock on ESP32, ESP32-C3 and ESP32-S3. (
de8cdc55) - Added support for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (
f068192b) - Added a verification step for the Access Address within the
CONNECT_INDPDU on ESP32-C3 and ESP32-S3. (90b1dbbd) - Supported resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (
b33c50d2) - Added parameter validation when enabling Periodic Advertising on ESP32-C3 and ESP32-S3. (
b33c50d2) - Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32-C3 and ESP32-S3. (
3f87a40a) - Supported for putting code in flash on ESP32-C2 (
febfdf66) - Supported for putting BLE code into flash on ESP32-C6 and ESP32-H2. (
40fe9c1d) - Provided DTM configuration command in HCI example for ESP32-C2, ESP32-C6 and ESP32-H2. (
b370b753)
Changed
- Updated the BLE
rom.ldfile for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (40fe9c1d)
Fixed
- Fixed occasional connection supervision timeout when coexisting with WiFi and light sleep enabled on ESP32-C6 and ESP32-H2. (
2d6c938c) - Fixed an occasional issue where BLE fails to send ADV packeting when Wi-Fi keeps scanning in the coexistence scenario on ESP32-C6. (
f604a602) - Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (
e77ee138) - Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (
e77ee138) - Removed BLE creating connection assertion when the connection already exists on ESP32. (
8cee3e3f) - Fixed the issue where the BLE connection can't be established when initiating and advertising coexist on ESP32. (
15fb892f) - Fixed assert in
ke_mem.cat line 409 when controller resets on ESP32. (15fb892f) - Fixed the issue where SCAN could not be reset when the Controller was reset during scanning on ESP32. (
626d642f) - Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (
b33c50d2) - Resolved assertion failure "assert lld_scan.c 1728, param 00000000 00000000" on ESP32-C3 and ESP32-S3. (
b33c50d2) - Fixed BLE assert
rwble.c505 param 00400010 on ESP32-C3 and ESP32-S3. (b33c50d2) - Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (
b33c50d2) - Fixed that the resolvable private address does not change when light sleep is enabled on ESP32-C3 and ESP32-S3 (
90b1dbbd) - Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (
90b1dbbd) - Fixed BLE assert
ke_mem.c267 on ESP32-C3 and ESP32-S3 (eb935a25) - Fixed
btdm_sleep_clock_synctimeout when exiting sleep on ESP32-C3 and ESP32-S3. (3f87a40a) - Fixed extended connectable advertising data length check on ESP32-C3 and ESP32-S3. (
ed06d92d) - Fixed early wake-up during light sleep when using the RC oscillator on ESP32-C3 and ESP32-S3. (
2627e8b4) - Fixed BLE TX power retrieval failure on ESP32-C3 and ESP32-S3. (
2627e8b4) - Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (
9ed0daca) - Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (
9ed0daca) - Fixed an occasional WDT issue with long running time on ESP32-C2. (
9ed0daca) - Fixed an issue where the default TX power of connection is incorrect after setting the scan TX power on ESP32-C2. (
9ed0daca) - Fixed a occasional WDT issue in multi-connection scenarios on ESP32-C6. (
2928d400) - Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (
2928d400) - Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (
43e4dd53) - Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (
43e4dd53) - Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (
43e4dd53) - Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (
40fe9c1d) - Fixed an issue where the default TX power of connection is incorrect after setting the scan TX power on ESP32-C6 and ESP32-H2. (
40fe9c1d) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (
40fe9c1d) - Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (
40fe9c1d) - Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (
40fe9c1d) - Fixed occasional crash issue in low memory scenarios on ESP32C6 and ESP32H2. (
287e7126)
ESP Bluedroid Host
Added
- Added BLE get started examples for Bluedroid. (
58e07663) - Added config for saving BLE bonding keys to NVS flash. (
85df8b03) - Added BLE 5.0 throughput examples. (
aacce661) - Added API to set BLE supported channel selection algorithm. (
c17d169d)
Changed
- Refactored the print for gatt_server and gatt_client example. (
588bb93a) - Refactored the print for BLE examples. (
588bb93a) - Optimized the references to BLE GATT related APIs. (
c2fde436)
Fixed
- Fixed the issue where the BLE channel selection algorithm event was not reported. (
b098ceda) - Fixed event reporting upon completion of preferred connection parameter settings. (
b098ceda) - Fixed BLE create connection fail because of invalid own address type. (
f639dccc) - Fixed Classic Bluetooth build failure when enabling dynamic memory and disable BLE (
78fc88d7) - Fixed BLE build failure when enabling dynamic memory with BLE 5.0 (
26dabfd1) - Fixed crash issue in BLE SMP when a disconnection process is ongoing (
192f3c11) - Fixed error when writing Client Supported Features characteristic. (
987a61f2) - Fixed BLE handle check for GATT API. (
f25e2726)
ESP NimBLE Host
Added
- Added ATT Tx queue cleanup during link disconnection (
df8a0957) - Added a new check for invalid offset (
5746b008) - Added support for Multiple Variable Length Notifications. (
59714207) - Added support for Multiple EATT bearers. (
59714207) - Added support of LE GATT Security Level Characteristic (
59714207) - Added a menuconfig option to enable SC only mode. (
59714207) - Added support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (
59714207) - Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (
59714207) - Added menuconfig option to enable L2CAP Enhanced COC (
59714207) - Added support for PAwR feature (
59714207) - Added host configuration to enable/disable SC Only mode (
59714207) - Implemented a function for printing HCI error definition (
bd2e471f)
Changed
- Updated the
set_data_lenAPI to use the correct parameter when BLE 5.0 support is disabled (4f21e5b1) - Changes done to assign correct peer OTA address type (
5746b008)
Fixed
- Corrected storing method of csfc to nvs (
7b4e90da) - Resolved a compilation issue when combining Extended Advertising with the Reattempt Connection flag (
1f9bf6d0) - Fixed compilation issues when BLE_MAX_STORE_BOND is set to 0. (https://github.com/espressif/esp-idf/issues/14712) (
bdb50333) - Addressed a memory leak issue in BluFi Example (
5746b008) - Replaced esp_rom_printf with ESP_LOGI for memory allocation failure logs (
e4e56f03) - Corrected link_estab event handling parameters (
ff0826a9) - Fixed issue with Device Information, Battery Level service and Scan Parameters (
59714207) - Fixed issue in L2CAP regarding incorrect comparison between SDU length and MTU/MPS (
59714207) - Added a fix to clear IRK from controller when clearing keys from NVS during signed write operation (
59714207) - Fixed memory issue in multiple L2CAP COC connections. (
59714207) - Fixed issues in connection subrating request. (
59714207) - Fixed crash issue in read multiple variable length callback (
59714207) - Added fixes for CVE-2024-(47248/47249/47250/51569) vulnerabilities for nimble (
ddf19493) - Fixed compilation issue in esp_hid_host example (
77a3025a) - Replace ESP_LOG* with
esp_rom_printfin controller context callback (6052f46b) - Resolved a watchdog trigger caused by excessive memory usage prints (
a7855d3a) - Improved NimBLE error logs for memory overflow/failure cases (
97e4f3c7) - Fixed the sequence of LL and host transport init (
320096d3)
BluFi
Fixed
- Fixed potential out-of-bounds memory access issue in Blufi example. (
c48ebdd8) - Fixed crash issue during memcpy in example. (
a62e0e71) - Fixed crash issue in Blufi example during prepare write operation. (
620ec857) - Fixed Blufi initialization failure after deinitialization on ESP32 (https://github.com/espressif/esp-idf/issues/14898). (
e423469b) - Enhanced security in BLUFI example. (
d57745be)
Bluetooth Common
Added
- Added support for converting BT HCI logs to btsnoop format. (
e423469b)
Classic Bluetooth
Classic Bluetooth Bluedroid Host
Added
- Added HFP callback event for notification of profile ON/OFF state (
3e1ecc4e)
Fixed
- Fixed access NULL in HFP callback handler. (
ec07ca58) - Fixed the incorrect UUID obtained at the application layer due to byte alignment issues (
763ef6b3) - Disconnect SDP connection on receiving incorrect response or the ACL connection will never be released(345693ce)
- Fixed AVRCP compatibility issue on absolute volume synchronization (
ce2f2d76) - Fixed the issue that AT commands transmission will not exit current sniff mode by modify power management configuration lookup tables (
9480f89a) - Fixed memory leak for synchronous data queue when disabling Bluedroid (
2b5b5262)
Classic Bluetooth Controller
Fixed
- Added the check of the range of LAP in HCI_Periodic_Inquiry_Mode command handler on ESP32 (
9439479f) - Fixed missing of critical protections on linked-list structure of (e)SCO buffers on ESP32 (
8034b50d) - Fixed missing of critical protection for the free method of (e)SCO buffers on ESP32 (
ea5c51cb) - Fixed the issue that the
create_conn_cancel_cmdwas rejected to cancel connection creation process and returned inappropriate error code in some states on ESP32 (38913142) - Fixed the issue where the pause and resume encryption requests were not initiated after the link key upgrade completion on ESP32 (
38913142) - Fixed zero attempt value set by role switch which cause fatal hardware error on ESP32 (
ea5c51cb) - Fixed duplicated encryption restart process when new lk type is semi-permanent key on ESP32 (
ea5c51cb) - Fixed the issue where
HCI_Encryption_Changewas not reported to host after changing the key type, even when the encryption mode was correctly changed viaHCI_Set_Connection_Encryptioncommand on ESP32 (ea5c51cb) - Fixed the issue ACL is stopped too early before eSCO on ESP32. This issue can cause ACL Perihperal to be unable to receive acknowledgements from the ACL Central, resulting in an infinite retransmission of a certain packet on the Peripheral side. (
07821e84) - Fixed crash upon name request from peer device without setting local device name on ESP32 (
15fb892f) - Set the QoS value to the minimum value if the calculated QoS is less than the minimum on ESP32 (
15fb892f) - Fixed access of NULL pointer in the (e)SCO frame end ISR after the SCO link is disconnected on ESP32 (
9439479f) - Fixed the wrong logic in the key exchange when LMP transaction collision occurred (
9439479f) - Fixed the using of wrong error codes in the transaction collision of role switch (
9439479f) - Removed an improper assertion statement in SCO module (
9439479f)
PHY
Added
- Supported PHY changes for ESP32-H2 ECO5 (
a2d03a16)
Wi-Fi
Fixed
- Fixed configuration related to SPIRAM_IGNORE_NOTFOUND (
6ee30b33) - Fixed potential crashes in WiFi-netif APIs from invalid arguments (https://github.com/espressif/esp-idf/issues/8702) (
1fd224df) - Fixed the STA TBTT interval update error when AP's beacon interval changed (https://github.com/espressif/esp-idf/issues/14720) (
76d44109) - Fixed the issue that default wifi_config.ap.sae_pwe_h2e is not correct (
9052a0ea) - Prevented compilation of Wi-Fi-related components when Wi-Fi is not supported (
8c1e9489) - Fixed the issue of inaccurate calibration warning information (https://github.com/espressif/esp-idf/issues/14963). (
55c50d67) - Fixed the issue of Blufi fail to connect to WPA or WEP routers. (
55c50d67)
Wi-Fi MAC
Added
- Added protect for SoftAP when sending management frame to stations which are not connected (
4f9120cb) - Added a parameter to enable or disable sending QoS NULL to keep live during TWT (
024c6dee)
Changed
- Improved internal error propagation in esp_wifi_set_mode API (
263a3ed8) - Changed SoftAP default dtim_period to 1 (
6ee30b33)
Fixed
- Fixed issue of increased stack usage when 'failure_retry_cnt' is set in station configuration and Wi-Fi driver internally re-tries connection attempts (
546a8c88) - Fixed the issue that STA fail to connect to a shared WEP AP. (
508df006) - Fixed ESP32-C6 max_idle period is 1 cause watchdog issue (
5fc64fbf) - Fixed incorrect ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME (
b6399a37) - Fixed the issue that the STA could not connect to AP due to authentication timeout after association was refused temporarily by certain APs. (
41a885bb) - Fixed the issue where SoftAP has rebooted but the connected station did not disconnect. (
41a885bb) - Fixed the issue that SoftAP would receive non-authed associate request (
4f9120cb) - Fixed wrong reason code in some cases for 'WIFI_EVENT_AP_STADISCONNECTED' event when PMF (Protected Management Frame ) enabled (
bb48bfb0) - Prevented the use of incorrect channel list during simultaneous scans. (
7f13f061) - Fixed crash when station issues disconnect during connection establishment and 'failure_retry_cnt' is set in station configuration (
381b01d7) - Fixed the issue that STA connects twice simultaneously. (
0dbc947c) - Fixed the issue that STA fail to sleep when connecting to connected AP. (
0dbc947c) - Fixed the issue that association failed In WPA3 encryption mode. (
0dbc947c) - Fixed wrong reason code when SoftAP application issues a disconnect for station (
8a8f21e0) - Added new event 'WIFI_EVENT_AP_WRONG_PASSWORD' in softAP to indicate stations trying to connect with wrong password. Applicable for authentication modes WPA-PSK, WPA2-PSK and WPA3-PSK (SAE). (
39fe1067)
ESP-WIFI-MESH
Fixed
- Enlarged the mesh TX task stack (
76d44109) - Fixed the delete group id error in Wi-Fi mesh (https://github.com/espressif/esp-idf/issues/14735) (
76d44109) - Fixed the mesh connection failure in WPA3 mode after erasing flash (https://github.com/espressif/esp-idf/issues/14095) (
9052a0ea)
Wi-Fi Supplicant
Added
- Added a check on hostapd instance while handling an Auth frame (
648ff3c8) - Added support for SAE rejected groups (
efa4a3a4)
Fixed
- Enabled EAP workarounds by default (
b9a77ef2) - Fixed associate reject after WPS session (
174aa79c) - Fixed security vulnerabilities related to SAE rejected groups (
efa4a3a4) - Fixed the issue where supplicant deinitialization may miss the internal WAPI deinitialization. (
dbab329c)
ESP Vendor Feature
Added
- Supported
esp_wifi_80211_tx()using 11ax rate to send (8c1e9489) - The AES IV can be random value for ESPTouch v2 (
58b9f28c) - Added type check in ESP-NOW (
76d44109)
Coexistence
Added
- Supported lower coexistence power consumption when Wi-Fi is disconnected from AP (
7ac7939f) - Supported Wi-Fi to wakeup by listen interval/DTIM period when coexisting with BT init only (
7ac7939f)
Changed
- Updated coexistence power management period when Wi-Fi ps type being changed (
b6399a37)
Fixed
- Fixed the issue that data packets take several seconds to be sent when coexisting with BLE start and stop scenarios. (
0dbc947c) - Fixed the issue that multicast packet loss when listen interval is not equal to 1 in coexistence scenarios. (
0dbc947c) - Fixed external coexistence build fail issue. (
aeff1279) - Fixed the issue of ESP32-C6 enable external coexist failure when enable power management for station when disconnected. (
7ac7939f)
Security
Added
- Flash Encryption: Support XTS-AES pseudo round function on ESP32-H2 chip version v1.2 (
c3611f70) - MbedTLS: Support AES pseudo round function on ESP32-H2 chip version v1.2 (
c3611f70)
Changed
- MbedTLS: updated the MbedTLS version to 3.6.2 (
7a518ede)
Fixed
- MbedTLS: Reduced application binary size by disabling the mbedtls options
MBEDTLS_ECP_FIXED_POINT_OPTIMandMBEDTLS_SHA3_Cby default. (289ffe78)
Peripheral Drivers
Added
- SPI: Supported master sample point adjust using
spi_device_interface_config_t::sample_pointon ESP32-H2 v1.2 and later. (b25bf99d) - MCPWM: Added description of special dead-time configurations and added checking in the driver (https://github.com/espressif/esp-idf/issues/14773) (
9305e550) - RMT: Added a function to return the real clock resolution of a channel (https://github.com/espressif/esp-idf/pull/15074) (
cb1f8784)
Changed
- UART: Changed UART VFS read() function to directly return the available bytes, instead of waiting for more bytes to reach the requested size (
0d4bc851) - UART: Changed UART VFS read() to treat end-of-line characters as regular bytes, with no early return (https://github.com/espressif/esp-idf/issues/14155) (
0d4bc851) - I2S: Refactored I2S example common dependencies, make them an example common component (https://github.com/espressif/esp-idf/issues/14751) (
2249f2c9) - SDMMC: Improved initialization of SD card relative address (RCA). (
d4eca53e)
Fixed
- ADC: Fixed the issue that
adc_cali_check_schemereturns wrong supported scheme ESP32-C2/ESP32-H2/ESP32-C6 (11608b18) - GPIO: Patched the
esp_rom_gpio_connect_out_signalfunction on ESP32 and ESP32-S2 to avoid potential output glitch (https://github.com/espressif/esp-idf/issues/12826) (16b622b4)(e79c1ea5) - GPIO: Fixed GPIO reserves 8 data lines while connected to Quad Flash on ESP32-S3 (
1f022e2a) - GPTimer: Fixed race condition between gptimer_start and gptimer_stop (https://github.com/espressif/esp-idf/pull/14767) (
3a7cc46e) - I2S: Fixed incorrect DMA buf size calculation for 8-bit & 24-bit data width. (
2249f2c9) - I2S: Report error when the division from clock source to MCLK is less than 2 (because mclk_div at least to be 2 in hardware). (
2249f2c9) - I2S: The max TDM frame bits have limitation on the chips ESP32-C3, ESP32-S3 and ESP32-C6, add check for the TDM frame bits number to make sure it is valid. (
2249f2c9) - I2S: Fixed I2S sample rate can occasionally be half of the configuration. (
a2704f52) - LEDC: Fixed the issue that
ledc_get_freqreturned error frequency due to calculation overflow (https://github.com/espressif/esp-idf/pull/14882) (f54616a4) - MCPWM: Fixed memory leak when power management is enabled (
a9153132) - MCPWM: Fixed pm_lock not being created when initializing capture timers on ESP32-C6/H2 (
a9153132) - RMT: Fixed the channel resolution divider rounding issue (https://github.com/espressif/esp-idf/issues/15092) (
5cd2c276) - SPI: Fixed slave rx buffer overwrite when no DMA and configured trans_len don't match master trans_len. (https://github.com/espressif/esp-idf/issues/14462) (
5cbd8296) - SPI Flash: Fixed Cache states not recorded issue when using Flash no-OS APIs on ESP32-H2/C6 (
c3b7a31f) - TWAI: Fixed other node got BUS-OFF when TWAI init. (https://github.com/espressif/esp-idf/issues/14548) (
e7fb729b) - Temperature Sensor: Fixed the temperature sensor return wrong values when
ESP_WIFI_ENHANCED_LIGHT_SLEEPis enabled on ESP32-C6. (5c6a4ba5) - UART: Eliminated glitch on TX at setup if TX signal is configured to be inverted (https://github.com/espressif/esp-idf/issues/14285) (
16b622b4) - UART: Fixed the slave setup mode in the modbus example (https://github.com/espressif/esp-idf/pull/14878) (
9ee99a1d) - USB Host: Fixed return value in the memory allocation failure case within
usb_host_client_register(https://github.com/espressif/esp-idf/pull/14859) (5ee3b784)
Removed
- I2S: Removed the least 2 slots limitation for the PCM short format in TDM mode (https://github.com/espressif/esp-idf/pull/14879) (
2249f2c9)
System Hardware
Added
- Supported ESP32-H2 revision v1.2 (
4609ec4b)
Changed
- Increased ESP32-C2 maximum version to v2.99 (
b5ca10d7)
Fixed
- Postponed the time to turn CPU's PLL off in sleep process for ESP32-C6/ESP32-H2 (
1cb47016) rtc_clk_cpu_freq_set_xtalshould always disables CPU's PLL, fixed the behavior for ESP32-C6/ESP32-H2 (c7ad441e)- Fixed the issue that after OTA application changes the slow clock source, the modem module not work during lightsleep on ESP32-C6/ESP32-H2 (
907337aa) - Fixed the issue that after OTA application changes the slow clock source, the RTC slow clock is missing and causes a stuck at
esp_restarton ESP32-C6/ESP32-H2/ESP32-P4. (3a24b91c) - PSRAM: Fixed PSRAM heap registration when
himemis used. (26bfbfa7) - PSRAM: Fixed bad timing when reading mode registers on Octal and Hex PSRAMs (
8b8f6d15) - PSRAM: Fixed ESP32 PICO-V3 PSRAM enabled but not ignored issue (https://github.com/espressif/esp-idf/issues/14970) (
08e6ef4f)
Core System
Fixed
- Corrected the address used to fetch the application image header during system startup (
9e1474b8) - Console: Fixed crash when enable USB-Serial-JTAG as the primary console in esp32c3 ECO7 (v1.1) (
56aae016)
Debugging
Changed
- Toolchain: Upgraded openocd version to v0.12.0-esp32-20241016 (
49be03fd)
Fixed
- Apptrace: Fixed the issue where the Segger SystemView app (v3.10 or later) gets stuck during the record analyzing step. (https://github.com/espressif/esp-idf/issues/10483) (
f2a0d617) - Core Dump: Fixed potential checksum errors by using a buffer to write to flash. (
5b154250)
FreeRTOS
Fixed
- Resolved a priority inversion issue where a lower-priority task continued executing after unblocking a higher-priority task that was waiting on an event group. (
bb97baa5) - Fixed an SMP unsafe race condition in
xStreamBufferSend()leading to a crash inxTaskNotify(). (21fbcead) - Fixed an SMP unsafe race condition in
xStreamBufferReceive()leading to a crash inxTaskNotify(). (0270cb05) - IDF Additions: Fixed a bug wherein a
no-splitring buffer does not receive any item if space on the buffer is acquired until the buffer is full and the acquire pointer wraps around (https://github.com/espressif/esp-idf/pull/14948) (e5d9f16f)
Low Power Features
Power Management
Added
- Supported to query PHY RF used time. (
306a5871)
Changed
- Improved esp_timer timing accuracy after light sleep is rejected (
9ede3c84)
Fixed
- Fixed possible low internal voltage and load capacity on ESP32-H2. (
853b8c77) - Fixed the crash of esp_pm auto light sleep when
PM_TRACEis enabled. (6e9e6171) - Fixed BB PLL calibration fail bug under low temp on ESP32-H2. (
7312ba8b) - Fixed a deadlock that occurred when a high-priority task and a low-priority task changed PM mode at the same time (
fdd8d599) - Fixed CPU switch fail due to BB PLL calibration fail bug under low temp on ESP32-H2 (
9a80fa7b)
Removed
- Removed the dependence of PM_SLP_IRAM_OPT (
64849cb7)
ULP
Changed
- ULP: Optimized ESP32-C6 LP-CPU power consumption in deepsleep (
aacc60de)
Fixed
- ULP: Fixed the issue that RISC-V type ULP contains redundant GPIO definition which causes compilation failure (https://github.com/espressif/esp-idf/issues/14437) (
a0079d06)
LWIP
Added
- Added a hook for DNS external resolving with resolved callback (
5e0d0a83)
Changed
- TCP: Updated mechanism to recycle PCBs also in FIN_WAIT_1 and FIN_WAIT_2 states (
2f9661bc) - Changed the default IPv6 input hook to drop all IPv6 packets if the input network interface has no link local address assigned. (
fb83a5ee)
Fixed
- Fixed a bug in
dns_clear_cache()that caused deadlock by clearing active DNS entries (https://github.com/espressif/esp-idf/issues/14287). (2f9661bc) - Fixed IPv6 raw socket ICMPv6 checksum calculation in IPv6-only configuration (
2f9661bc) - IPv6: Fixed for replying the NS without source link-layer address option (
2f9661bc) - TCP: Fixed unlimited PCB issue, allowing application to allocate more TCP connections than configured (https://github.com/espressif/esp-idf/issues/9670) (
2f9661bc)
TCP Transport
Fixed
- Fixed partial reads of Websocket header (https://github.com/espressif/esp-idf/issues/14704, https://github.com/espressif/esp-idf/pull/14706) (
ccaff0ac) - Fixed potential memory corruption on Websocket connection while reading more data then allocated (https://github.com/espressif/esp-idf/issues/14473) (
a068fdd1)
Storage
Added
- LittleFS: Added support for LittleFS image generation on Windows (https://github.com/espressif/esp-idf/issues/12900) (
2a815c84) - NVS: Added sanity checks of NVS entry header (
6b51d363) - NVS: Added host tests of damaged NVS entry header with correct crc (
6b51d363)
Fixed
- VFS: Fixed incorrect level of log messages (https://github.com/espressif/esp-idf/issues/14327) (
a8c6894a) - VFS: Fixed incorrect open and close behavior for
/dev/console(be5bf51f)
Tools
Changed
- idf_tools.py: pip and setuptools are upgraded separately so the setuptools version dependency would be handled by the upgraded pip (
e7303ce3) - Changed downloaded file format from
.zipto.tar.gzof the ninja build tool (https://github.com/espressif/esp-idf/pull/14633) (0c53e6d5)
Fixed
- SPI Flash: Removed auto suspend support for XMC-C flash series (
-
ESP-IDF Release v5.0.8
Stablereleased this
2025-01-10 07:20:19 +00:00 | 27540 commits to master since this releaseDocumentation 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.ziparchive. It includes.gitdirectory 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 (
6afa87ba) - MbedTLS: MbedTLS option
MBEDTLS_ECP_FIXED_POINT_OPTIMis 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. (060aefc9) - 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. (
060aefc9)
Known Issues
-
Wi-Fi:
WIFI_AUTH_WPA2_ENTERPRISE(which equals toWIFI_AUTH_ENTERPRISE) will be recognized asWIFI_AUTH_WPA2_WPA3_ENTERPRISEby mistake, this will cause fail to scanWIFI_AUTH_WPA2_ENTERPRISEAPs. Also the values of newly added macroWIFI_AUTH_WPA3_ENTERPRISEandWIFI_AUTH_WPA2_WPA3_ENTERPRISEare 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_ENTERPRISEandWIFI_AUTH_ENTERPRISEin 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 (
b7c1ad7d) - Provisioning: Added support for ESP IP chips to work with bluedroid stack (
4a43fbda)
Fixed
- ESP HTTP Client: Fixed connection close condition check for a case where no explicit
errnois set (https://github.com/espressif/esp-idf/issues/14724) (8ec22203) - ESP HTTP Server: Updated logic to enforce HTTP/1.0 or HTTP/1.1, no longer supporting other versions (https://github.com/espressif/esp-idf/issues/14723) (
a974ea3a&d855d1d9) - Provisioning: Exposed API to set BLE random address (
a01bd13a)
Bluetooth Low Energy (BLE)
Fixed
- Fixed crash in BLE HID host example during logging (
f924f612)
BluFi
Fixed
- Fixed crash issue in Blufi example during prepare write operation. (
94f3007d) - Fixed Blufi initialization failure after deinitialization on ESP32(https://github.com/espressif/esp-idf/issues/14898). (
f924f612)
ESP Bluedroid Host
Added
- Added config for saving BLE bonding keys to NVS flash. (
57ef4c49) - Added BLE 5.0 throughput examples. (
389e738e) - Added API to set BLE supported channel selection algorithm. (
84cae3aa) - Added BLE connection ID parameter for ESP_GATTS_RESPONSE_EVT. (
c01e90da)
Changed
- Refactored the print for gatt_server and gatt_client example. (
2edaf52e) - Refactored the print for BLE examples. (
2edaf52e) - Optimized BLE examples for setting advertising data. (
018e5089)
Fixed
- Fixed the issue where the BLE channel selection algorithm event was not reported. (
8b93db7e) - Fixed event reporting upon completion of preferred connection parameter settings. (
8b93db7e) - Fixed BLE create connection fail because of invalid own address type. (
29013b42) - Fixed Classic Bluetooth build failure when enabling dynamic memory and disable BLE (
efe70fe2) - Fixed BLE build failure when enabling dynamic memory with BLE 5.0 (
e991d160) - Fixed crash issue in BLE SMP when a disconnection process is ongoing (
fb0b52cd) - Fixed BLE handle check for GATT API. (
05437c15) - Fixed error when writing Client Supported Features characteristic. (
0e477e66) - Fixed access fault when reading BLE controller information fails. (
c01e90da) - Fixed compile warning for gatt_sr_hash.c when optimize for performance. (
9b4c775d) - Fixed memory out-of-bounds issue when parsing adv data. (
ef0f7f6d) - Reported HCI error status to application when command fails. (
fd859c67) - Cancelled the BLE connection initiation if the connection has already been established when both devices initiate a connection simultaneously. (
fd859c67) - Added print and assert statements for memory allocation failures. (
fd859c67) - Checked whether the work queue is NULL before deleting it when creating thread failed. (
fd859c67) - Fixed incorrect state issue when unregistering BLE GATTC application. (
7ae93db7) - Reset BLE security parameters during initialization (https://github.com/espressif/esp-idf/issues/13869) (
dba15f8d) - Fixed the issue where BLE could not create a connection if the controller doesn't support the coexistence of scanning and connection initiating states. (
054d8c9c)
Bluetooth Low Energy Controller
Added
- Supported for putting code in flash on ESP32-C2 (
240dd4fb) - Added support for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (
48cb8520) - Supported using external 32k oscillator as Bluetooth sleep clock on ESP32/ESP32-C3/ESP32-S3 (
314b9d5b) - Added support for BLE scanning and initiating state coexistence on ESP32. (
c0604365) - Supported mesh duplicate with extended scan on ESP32-C3 and ESP32-S3. (
745cd372) - Supported enhanced BLE TX power setting and getting on ESP32-C3 and ESP32-S3. (
745cd372)
Changed
- Updated the BLE rom.ld file for ESP32-C2 v2.0. (
828adbb3) - Changed the maximum TX power to +20dBm on ESP32-C3 and ESP32-S3. (
b2dae871)
Fixed
- Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3 (
548ad60b) - Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (
548ad60b) - Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (
548ad60b) - Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (
d0a52ca6) - Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (
d0a52ca6) - Fixed an occasional WDT issue with long running time on ESP32-C2. (
d0a52ca6) - Fixed an issue where the default tx power of connection is incorrect after setting the scan tx power on ESP32-C2. (
d0a52ca6) - Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (
e4c87193) - Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (
86427182) - Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (
86427182) - Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (
86427182) - Removed BLE creating connection assertion when the connection already exists on ESP32. (
afea334e) - Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32. (
c0d14dab) - Fixed the issue where the BLE connection can't be established when initiating and advertising coexist on ESP32. (
c0d14dab) - Fixed assert in ke_mem.c at line 409 when controller resets on ESP32. (
c0d14dab) - Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32. (
c0d14dab) - Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32-C3 and ESP32-S3. (
d062566d) - Fixed btdm_sleep_clock_sync timeout when exiting sleep on ESP32-C3 and ESP32-S3. (
d062566d) - Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 revision v1.1. (
5e5c3149) - Fixed the issue where SCAN could not be reset when the Controller was reset during scanning on ESP32. (
b980af1c) - Fixed early wake-up during light sleep when using the RC oscillator on ESP32-C3 and ESP32-S3. (
4b0cee26) - Fixed BLE TX power retrieval failure on ESP32-C3 and ESP32-S3. (
4b0cee26) - Fixed extended connectable advertising data length check on ESP32-C3 and ESP32-S3. (
dc5567fd) - Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 and ESP32-S3. (
e0945a06) - Fixed subsequent periodic advertising sync create failed after canceling sync before sync established on ESP32-C3 and ESP32-S3. (
2d02e60d) - Fixed occasional assertion issue when enabling logging on ESP32-C2. (
39878b39) - Fixed memory leak issue when deinit uart hci on ESP32-C2. (
39878b39) - Fixed BLE util buffer free after controller reset on ESP32-C3 and ESP32-S3. (
f0828860) - Fixed assert when BLE connection already exist and be connected again on ESP32-C3 and ESP32-S3. (
f0828860) - Fixed a crash during host deinitialization after the controller had been deinitialized on ESP32-C2. (
4991ebf2) - Fixed instant wake up from deep sleep when BLE is running on ESP32-H2. (
57daec06) - Fixed the issue where directed advertising could not be connected when the advertisement filter was set to 0x2 on ESP32-C2. (
b54d9925) - Fixed the issue where connected advertising could still be set after reaching the maximum number of connections on ESP32-C2. (
b54d9925) - Fixed BLE channel map update issue when the latency is non-zero on ESP32-C3 and ESP32-S3. (
745cd372)
Documentation
Added
- Added Bluetooth SIG Qualification information to API Guides. (
1ce40e18) - Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (
1064ad0b) - Added BLE Features Support Status to API Guides (
af66e74f)
ESP-BLE-Mesh
Fixed
- Fixed crash may happened when using NimBLE host at compilation level Os (
f8a53701) - Fixed wrongly updating the time set parameter in the time scene server model (
ec0f1771) - Fixed segmented message advertising was incomplete when sending to both local and external elements (
27eeabba)
ESP NimBLE Host
Added
- Added support for Multiple variable-length Notifications. (
1d78ba8a) - Added support for Multiple EATT bearers. (
1d78ba8a) - Added support of LE GATT Security Level Characteristic (
1d78ba8a) - Added menuconfig option to enable SC-only mode. (
1d78ba8a) - Added support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (
1d78ba8a) - Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (
1d78ba8a) - Added a menuconfig option to enable L2CAP Enhanced COC (
1d78ba8a) - Added initial support for PAwR feature (
1d78ba8a) - Added host configuration to enable/disable SC Only mode (
1d78ba8a) - Added a function for printing HCI error definition (
689c804e) - Added authorize permission on gatt read and write operations. (
ea913622) - Added BLE NimBLE Get Started examples added under examples/bluetooth/ble_get_started/nimble (
4c993aeb) - Added support for bidirectional data transfer between SPP client and server. (
26a300b6) - Created a function to make CCCD flags configurable (
7580682e) - Added support for more advertisement data AD Types (
a2d20761) - Added BT_HCI_LOG_INCLUDED macro into esp nimble configuration aligning to nimble nomenclature (
55226dff) - Added new event to confirm link establishment. (
d889c006) - Added support to allow initiate connection with scan in progress. (
ba6f51ce) - Added correct chip information in ble_enc_adv example README file (
e0393330)
Changed
- Increased Timer stack size for NimBLE application (
27b870c7) - Added change to handle linked om data at blufi layer for NimBLE. (
4870ada1) - Updated the Advertising Tx power levels to match with specification. (
79c3c405) - Updated logic to avoid issuing the SetDataLen command when the data length and TX time remain unchanged. (
79c3c405) - Zero-initialized variables to fix incorrect paired device number reporting after host initialization. (
79c3c405) - Configured data length to be set automatically once a connection is created. (
339a6c38) - Added functionality to print the address of an advertising instance. (
a27a2ddf) - Updated parameter in SetDataLen API in case BLE 5.0 support is disabled (
74cc06ae)
Fixed
- Fixed BLE security vulnerability when using fixed local IRK (
d7710f65) - Fixed an issue where the encryption event was posted to the application before bonding information was saved. (
18d9d2ad) - Fixed the deinitialization sequence in the Blufi example. (
ba696995) - Resolved compilation warnings observed in Clang-based builds. (
45af646f) - Addressed CVE-2024-(47248/47249/47250/51569) vulnerabilities in NimBLE. (
cc57e36e) - Fixed issues with connection subrating request. (
1d78ba8a) - Fixed crash issue in read multiple variable length callback (
1d78ba8a) - Fixed memory issue in multiple L2CAP COC connections. (
1d78ba8a) - Added fix to clear IRK from controller when clearing keys from NVS during signed write operation (
1d78ba8a) - Fixed Device Information, Battery Level service and Scan Parameters (
1d78ba8a) - Fixed issue in L2CAP regarding incorrect comparison between SDU length and MTU/MPS (
1d78ba8a) - Resolved watchdog due to memory exceed prints (
8d085f23) - Nimble Error logs in case of memory overflow/failure (
4580874d) - Replace ESP_LOG* with esp_rom_printf in controller context callback (
efe76e2e) - Register dummy host cb in stack deinit procedure. (
21aa38dc) - Corrected link_estab event handling parameters (
e5b60eb2) - Changing esp_rom_printf to ESP_LOGI when memory allocation fails (
ae9cbb0f) - Added ATT Tx queue cleanup during link disconnection (
486f7c55)
Removed
- Removed extra spaces from example CMake file (
d69673ae)
Bluetooth Common
Added
- Added support for converting BT HCI logs to btsnoop format. (
f924f612)
Controller
Fixed
- Fixed Bluetooth disconnect issue after waking up from modem sleep with external 32k crystal on ESP32 (
436a17e9) - Fixed heap corruption in the call of esp_bt_mem_release on ESP32(https://github.com/espressif/esp-idf/issues/14263) (
b99f0f9b)
Build & Config
Fixed
- Fixed an issue where the linux target built with
clangon MacOS failed to build because theldlinker did not support the-warn_commonsoptions (https://github.com/espressif/esp-idf/issues/13185) (4d0359ff) - Fixed component manager to load all local component directories correctly when
set(COMPONENTS ...)is declared (a819f7b5)
Classic Bluetooth
Classic Bluetooth Bluedroid Host
Added
- Added HFP callback event for notification of profile ON/OFF state (
581cf343)
Fixed
- Fixed the incorrect UUID obtained at the application layer due to byte alignment issues (
566ada54) - Fixed access NULL in HFP callback handler. (
26254ac7) - Disconnect SDP connection on receiving incorrect response or the ACL connection will never be released (
e057cc25) - Fixed AVRCP compatibility issue on absolute volume synchronization (
e00cb936) - Fixed the issue that AT commands transmission will not exit current sniff mode by modify power management configuration lookup tables (
7c02cb45) - Fixed memory leak for synchronous data queue when disabling Bluedroid (
0e74af06) - Fixed not deep copy service_name and user1_ptr in SDP search complete event (
c5eb3eae) - Fixed not release BTC SDP record memory after it has been created successfully (
c5eb3eae) - Limited SDP service discovery operation when the previous discovery is not finished (
c5eb3eae) - Fixed protocol mode mapping bug in esp_hid component(https://github.com/espressif/esp-idf/issues/14232) (
871d0c8c) - Added definition of minor class of COD for peripheral major class and set it in HID device related examples(https://github.com/espressif/esp-idf/issues/13622) (
871d0c8c) - Fixed not clearing the mode request status which causes unexpected exit of sniff mode. (
02e0c7a2) - Fixed the default codec type and set it to CVSD to avoid mistakenly using unavailable mSBC on PCM datapath in hfp_hf example. (
31ac7874) - Added option to set reserved_2 in Class of Device for compatibility with legacy devices (https://github.com/espressif/esp-idf/pull/14286) (
faa67c77) - Fixed example
esp_hid_hostcannot get remote device name from eir data (9d66c914) - Fixed the
stack overflowof uTask in bt examplespp initiator(e7c91416)
Classic Bluetooth Controller
Fixed
- Fixed the issue that the create_conn_cancel_cmd was rejected to cancel connection creation process and returned inappropriate error code in some states on ESP32 (
c37f469b) - Fixed the issue where the pause and resume encryption requests were not initiated after the link key upgrade completion on ESP32 (
c37f469b) - Fixed zero attempt value set by role switch which causes fatal hardware error on ESP32 (
1f5789e6) - Fixed missing of critical protection for the free method of (e)SCO buffers on ESP32 (
1f5789e6) - Fixed duplicated encryption restart process when new lk type is semi-permanent key on ESP32 (
1f5789e6) - Fixed the issue where
HCI_Encryption_Changewas not reported to host after changing the key type, even when the encryption mode was correctly changed viaHCI_Set_Connection_Encryptioncommand on ESP32 (1f5789e6) - Fixed the issue ACL is stopped too early before eSCO on ESP32. This issue can cause ACL Perihperal to be unable to receive acknowledgements from the ACL Central, resulting in an infinite retransmission of a certain packet on the Peripheral side. (
37b51f1e) - Fix crash upon name request from peer device without setting local device name on ESP32 (
c0d14dab) - Set the QoS value to the minimum value if the calculated QoS is less than the minimum on ESP32 (
c0d14dab) - Fixed access of NULL pointer in the (e)SCO frame end ISR after the SCO link is disconnected on ESP32 (
daedcb97) - Added the check of the range of LAP in HCI_Periodic_Inquiry_Mode command handler on ESP32 (
daedcb97) - Removed an improper assertion statement in SCO module (
daedcb97) - Fixed the wrong logic in the key exchange when LMP transaction collision occurred (
daedcb97) - Fixed the using of wrong error codes in the transaction collision of role switch (
daedcb97) - Fixed disconnection caused by channel map update in sniff mode on ESP32 (
9ed93caa)
Core System
Fixed
- Console: Fixed crash when enable USB-Serial-JTAG as the primary console in ESP32-C3 ECO7 (v1.1) (
aa8e0136)
Debugging
Fixed
- Gcov: Fixed unhandled exceptions when GCOV enabled (
4f4adf49) - Apptrace: Fixed the issue where the Segger SystemView app (v3.10 or later) gets stuck during the record analyzing step. (https://github.com/espressif/esp-idf/issues/10483) (
bba2971f) - Core Dump: Fixed potential checksum errors by using a buffer to write to flash. (
3b9ed0d7)
Documentation
Changed
- Updated the mesh ip_internal_network example (
16077ec3)
FreeRTOS
Fixed
- Fixed an SMP unsafe race condition in
xStreamBufferSend()leading to a crash inxTaskNotify(). (d92c4a91) - Fixed an SMP unsafe race condition in
xStreamBufferReceive()leading to a crash inxTaskNotify(). (45c893d5) - IDF Additions: Fixed a bug wherein
no-splitring buffers could receive items prematurely when the items may not have been sent to the buffer yet and the buffer is full (https://github.com/espressif/esp-idf/issues/14568) (d067a99a) - 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. (
abc7c134)
PHY
Fixed
- Improved ESP32 RX sense from -94 to -97, which was introduced by commit.(
github.com/espressif/esp-idf@4dfeb9c26c) (57414f78)
Peripheral Drivers
Fixed
- SPI Flash: Removed auto suspend support for XMC-C flash series (
6afa87ba) - ADC: Fixed
adc_cali_check_schemereturn wrong supported scheme issue on ESP32-C2/ESP32-H2/ESP32-C6 (f6749497) - GPTimer: Fixed race condition between
gptimer_startandgptimer_stop(https://github.com/espressif/esp-idf/pull/14767) (c1802d07) - I2S: Fixed I2S sample rate can occasionally be half of the configuration. (
f1e86424) - MCPWM: Added description of special dead-time configurations and added checking in the driver (https://github.com/espressif/esp-idf/issues/14773) (
e5e4e977) - MCPWM: Fixed memory leak when power management is enabled (
e7bff6c8) - UART: Changed UART VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size (
09e84586) - UART: Changed UART VFS read() to treat end-of-line characters as regular bytes, with no early return (https://github.com/espressif/esp-idf/issues/14155) (
09e84586) - USB Host: Fixed return value in the memory allocation failure case within
usb_host_client_register()(https://github.com/espressif/esp-idf/pull/14859) (0e2656ae) - LEDC: Fixed ledc_get_freq() returned frequency error due to calculation overflow (https://github.com/espressif/esp-idf/pull/14882)(
3412aebe)
System Hardware
Added
- Supported ESP32-C2 chip rev2.0 (
4b261859) - PSRAM: Supported PSRAM
.noinitsegment on ESP32-S2/S3(https://github.com/espressif/esp-idf/issues/14253) (d0f84399) - PSRAM: Supported APS3204L (
1d6e6f10)
Fixed
- Solve external 32K problem caused by the wrong configurations on ESP32-C3 and ESP32-S3. (
675b5125) - Move RTC initialization before MSPI timing tuning to improve stability (
f8a3ba14) - PSRAM: Fixed PSRAM heap registration when
himemis used. (3f7d78c2) - PSRAM: Fixed ESP32 PICO-V3 psram enabled but not ignored issue (https://github.com/espressif/esp-idf/issues/14970) (
a6acfe35)
Power Management
Changed
- Removed the dependence of PM_SLP_IRAM_OPT (
0c0767b8) - Improved esp_timer timing accuracy after light sleep is rejected (
bc82044c)
Fixed
- Fixed a deadlock that occurred when a high-priority task and a low-priority task changed PM mode at the same time (
e35c46b2) - Disable timer wakeup source with esp_pm auto light-sleep off (
0b5fbeba)
Security
Added
- MbedTLS: Support ESP32-C2 rev2.0 ROM mbedtls-v3.6.0 (
6fd257d4)
Changed
- MbedTLS: Updated the MbedTLS version to 3.6.2 (
86520512)
Fixed
- Flash Encryption: Fixed encrypt only image instead of the partition optimisation not being enabled (
9bf654fd) - MbedTLS: Reduced application binary size by disabling the mbedtls options
MBEDTLS_ECP_FIXED_POINT_OPTIMandMBEDTLS_SHA3_Cby default. (060aefc9) - MbedTLS: Fixed ESP32-C2 ROM ECO1 mbedTLS issues (
95dda5b0)
Storage
Fixed
- LittleFS: Added support for LittleFS image generation on Windows (https://github.com/espressif/esp-idf/issues/12900) (
9d5c7063) - NVS: Added sanity checks of NVS entry header (
94250f05) - NVS: Added host tests of damaged NVS entry header with correct crc (
94250f05)
Toolchain
Changed
- Upgraded openocd version to v0.12.0-esp32-20241016 (
bd7f2d94)
Tools
Changed
- Updated CMake version to 3.30.2 (https://github.com/espressif/esp-idf/pull/14376) (
f9effecd) - Updated Ninja version to 1.12.1 (
f9effecd) - Updated Ccache version to 4.10.2 (
f9effecd) - Changed downloaded file format from
.zipto.tar.gzof ninja build tool (https://github.com/espressif/esp-idf/pull/14633) (6f794b10)
Fixed
- idf_tools.py: pip and setuptools are upgraded separately so the setuptools version dependency would be handled by the upgraded pip (
9f304aa9) - Displayed additional details if imports in idf.py are unsuccessful (
48ff843b) - Printed message about GDBGUI being not supported with Python 3.13 (
e6a6ccfe) - Fixed default SORT flag usage in linker mapping fragment (
e5617c26)
Wi-Fi
Fixed
- Fixed the STA tbtt interval update error when AP's beacon interval changed (https://github.com/espressif/esp-idf/issues/14720) (
879da394) - Fixed the delete group id error in Wi-Fi mesh (https://github.com/espressif/esp-idf/issues/14735) (
879da394) - Added type check in ESP-NOW (
879da394) - The AES IV can be random value for ESPTouch v2 (
cf1bec85)
Wi-Fi MAC
Added
- Support ESP32-C2 chip rev2.0 Wi-Fi (
3106c368)
Fixed
- Fixed ESP32-S2 get ack rssi invaild issue (
25288d1f) - Fixed wifi drive use rssi as snr issue (
25288d1f) - Fixed the issue of inaccurate calibration warning information.(https://github.com/espressif/esp-idf/issues/14963) (
57414f78) - Fixed the issue of Blufi connecting to WPA or WEP routers failing. (
57414f78) - Fixed the issue that the STA could not connect to AP due to authentication timeout after association was refused temporarily by certain APs. (
c444fc3d) - Fixed the issue where SoftAP has rebooted but the connected station did not disconnect. (
c444fc3d) - Added protect for softap when sending mgmt frame to not connected station (
fc9cbc70) - Fixed the issue that softap would recv noauthed assoc request (
fc9cbc70) - Fixed wrong reason code when softAP application issues a disconnect for station (
b3f2d7f3) - Fixed AMPDU to NORMAL causes free buffer twice issue. (
8059b611) - Fixed the issue that data packets take several seconds to be sent when coexisting with ble start and stop scenarios. (
8059b611) - Fixed the issue that STA connects twice simultaneously. (
8059b611) - Fixed the issue that multicast packet loss when listen interval is not equal to 1 in coexistence scenarios. (
8059b611) - Fixed STA failing to sleep when connecting to connected AP. (
8059b611) - Fixed the issue that association failed In WPA3 encryption mode. (
8059b611) - Prevented the use of incorrect channel list during simultaneous scans. (
70049e89) - Fixed crash when station issues disconnect during connection establishment and 'failure_retry_cnt' is set in station configuration (
a44b49dc) - Fixed FTM bandwidth related issues in AP-STA mode (
e546409a) - Fixed the issue where supplicant deinitialization may miss the internal WAPI deinitialization. (
111fa052) - Improved internal error propagation in esp_wifi_set_mode API (
bde38f63) - In SoftAP, fixed incorrect typecasting to get SPP capabilities (
fe84af30) - Fixed the issue that STA may not receive packets for a period of time in coexistence scenarios. (
6c536b1e) - Fixed ESP32 crash due to too latency of TBTT (
74a40e60) - Fixed rarely happened issue that Wi-Fi can not RX anymore (
74a40e60) - Added support to recognize AP advertising WPA3-Enterprise-Only and WPA3-Enterprise-Transition Mode capabilities with 'WIFI_AUTH_WPA3_ENTERPRISE' and 'WIFI_AUTH_WPA2_WPA3_ENTERPRISE' authmode, respectively. (
717cc7cd) - Fixed the issue that STA may not receive packets when enable light-sleep (
89c33099) - Fixed incorrect ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME (
89c33099) - Updated coexistence power management period when Wi-Fi ps type being changed (
89c33099)
ESP-WIFI-MESH
Fixed
- Enlarged the mesh TX task stack (
879da394) - Clear the issue rootless state in mesh ie when changing from leaf to root(https://github.com/espressif/esp-idf/issues/14063) (
16077ec3) - Fixed the root conflict issue that both roots are yielded (
16077ec3)
Wi-Fi Supplicant
Fixed
- Fixed assoc reject after WPS session (
01a851ca) - Allowed WPA-AES connection after WPS (
795e2bba) - Fixed concurrency issue during WPS registrar/softAP deinit (
795e2bba) - Added support for sae rejected groups (
5d8cf319) - Fixed security vulnerabilities related to sae rejected groups (
5d8cf319) - Fixed deiniting old dpp authentication when config is received. (
ca6515d2) - Fixed SAE connection failure when using the GCMP cipher (
cb74823a) - Recompute keys in OWE in case of mismatched or absent PMKID from association response (
4019318c)
- SPI Flash: Remove XMC-C suspend support because there is risk that erase operation might never finishes (