github espressif/esp-idf v5.4.2
ESP-IDF Release v5.4.2

latest releases: v5.5.1, v5.3.4, v5.5...
2 months ago

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

ESP-IDF v5.4.2 is a bugfix release for ESP-IDF v5.4.

Obtaining v5.4.2

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

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

Using git

To get this release, use the following commands:

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

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

Download an archive with submodules included

Attached to this release is an esp-idf-v5.4.2.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub. To reduce the size of the archive, the .git directory doesn't include the history of commits older than one year. Users who need to use git checkout to access an older release of IDF will have to use git fetch first to download the remaining part of the history.

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

Major changes

Major New Features

  • Coexistence: Supported BR/EDR (e)SCO and Wi-Fi coexistence. (d1b0c39)
  • ADC: Supported ESP32P4 ADC calibration (7fe1903)
  • GPIO: Allow RTC-IO API to set edge type wakeup sources for targets that support this (0228056)
  • PSRAM: Supported UnilC Octal PSRAM on ESP32S3 (a8e166e)

Breaking Changes

  • Security/MbedTLS: If using MbedTLS for server certificate verification, it is mandatory to call mbedtls_ssl_set_hostname before the connection begins. No change is required if the application uses esp-tls layer. (7ddb2ba)
  • 15.4/MAC: Added a duration argument for ieee802154_receive_at() (8fa7bf6)

Major Bug Fixes

  • Updated mbedTLS version to 3.6.3. (7ddb2ba)
  • JPEG: Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (796bac0)
  • PPA: Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (70ab1cc)
  • UART: Eliminated the possibility of garbled data sent/received from the UART port during sleep process (d5a43ed)
  • USB: Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (#15932, #15912) (6837ed3)
  • System Hardware: Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (bb60389)
  • Cache: Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (bfdca51)
  • MMU: Fixed API thread-safety in esp_mmu_map.h (#15564) (0be3444)

Changelog

This is the list of changes since release v5.4.1.

15.4

MAC

  • Added Tx/Rx frame dumping for debugging. (c0c7023)
  • Added a duration argument for ieee802154_receive_at() (8fa7bf6)

Thread

  • Supported bus_latency configuration for Thread BR (b999d10)
  • Updated openthread submodule (ec2b0d487) (3fc7689)
  • Supported OT_BR example for ESP32-P4 (3fc7689)
  • Supported periodic parent search mechanism for MTD (c5f88c4)
  • Added a function to ensure monotonically increasing frame counter (2423cd3)
  • Added a callback to handle rcp reset failure (2423cd3)
  • Bound DNS server to unspecified netif on Border Router (2423cd3)
  • Supported DNS resolution / forwarding for Thread BR (0355d74)
  • Fixed recursive multicast packet forwarding issue (0355d74)
  • Updated openthread submodule (8c30b93) (0355d74)
  • Fixed CSL issue in which RX is not turned off during idle periods (8fa7bf6)

Application Utilities

App Update

  • Introduced esp_ota_resume API for managing OTA resumption scenarios. (54283c9)

CJSON

ESP HTTP Client

  • Added API to extract TLS error from HTTP client. (#15059) (9a36e3f)
  • Updated header deletion by allowing value to NULL in esp_http_client_set_header() (#15715) (#15714) (6f36edd)
  • Added a configuration to set address type (f481174)
  • Fixed invalid content-length header (#15291) (710ed9b)

ESP HTTPS Server

  • Fixed the HTTP server Async handler example for multiple /long URI requests and handled some error conditions. (#15587) (103db4a)
  • Updated the CA certificates that were used for self-signing/mutual authentication use cases to contain the Key Usage parameter due to the change in Python3.13's default ssl context requirements. (cb24473)

BLE

BluFi

  • Added support for stopping adv in BLUFI for nimble (837eeca)

Bluedroid

  • Fixed issue with deleting link key when classic Bluetooth is not used. (282c1d6)
  • Increased maximum attribute value length to 517 to prevent data loss. (0ba1b04)
  • Fixed validation logic for BLE GAP appearance configuration. (0ba1b04)
  • Added sync_cte_type in bluedroid PA sync fucntion (b9123d5)
  • Added throughput mode for BLE SPP example. (0bfda8c)
  • Added BLE eddystone sender example. (180ee9e)
  • Fixed missing event reporting in esp_ble_create_sc_oob_data. (26b9ba6)
  • Fixed BLE crash when disabling bluedroid host. (26b9ba6)
  • Fixed potential uint32_t overflow in BLE btu_start_timer. (26b9ba6)
  • Fixed memory leak issue when using dynamic memory and deinitializing the host. (26b9ba6)
  • Added a new API esp_bt_config_file_path_get() to retrieve the Bluetooth configuration file path used for storing bond keys in the NVS module. (26b9ba6)
  • Added esp_ble_gap_read_channel_map() API to retrieve the BLE channel map of a connected device. (26b9ba6)
  • Reported cte_type in periodic adv report if CTE feature is enabled (8e473c6)
  • Supported BLE iso in bluedroid host (4e61ce2)
  • Supported BLE CTE in bluedroid host (4e61ce2)
  • Supported BLE bluedroid host power control feature (4e61ce2)
  • Supported BLE bluedroid host connection subrating feature (4e61ce2)
  • Supported BLE vendor HCI event reporting (cebb126)
  • Supported BLE setting vendor event mask (cebb126)
  • Added Read Long Characteristic Values example. (4af2344)
  • Added support for the "Read Periodic Advertiser List Size" command. (3fbc2b7)
  • Reduced bluedroid host bin size (3fbc2b7)
  • Fixed an issue where advertising data and scan response data were not reported together during BLE active scanning. (08d2987)

Controller

  • Reduced bin size and IRAM for BLE rom code on ESP32-C3 and ESP32-S3 (9b329bb)
  • Fixed missing ADV reports after bonding and connection on ESP32-C3 and ESP32-S3 (#15789) (76b003c)
  • Fixed an occasional assertion issue in scan and connection scenarios on ESP32-C6. (734b1b1)
  • Supported creating connections during scanning process on ESP32-C6 and ESP32-H2. (734b1b1)
  • Fixed occasional packet loss issue in multi-connection scenarios on ESP32-C6. (734b1b1)
  • Fixed crash issue caused by using os_mbuf_dup on ESP32-C6 and ESP32-H2. (734b1b1)
  • Fixed occasional timeout issue during connection parameter update while latency is active on ESP32-C6 and ESP32-H2. (8ad0d3d)
  • Fixed an issue where the DID was not refreshed after stopping advertising and updating the advertising data on ESP32-C6 and ESP32-H2. (8ad0d3d)
  • Fixed an occasional assert issue when repeatedly starting and stopping extended advertising during periodic advertising scenario on ESP32-C6 and ESP32-H2. (8ad0d3d)
  • Fixed an occasional interrupt watchdog timeout issue on ESP32-H2. (8ad0d3d)
  • Fixed an occasional assert issue in function r_ble_lll_sched_check_remaining_entries when ble spi log is enabled for ESP32-H2. (8ad0d3d)
  • Fixed MIC error disconnection when pairing with an iOS device on ESP32-C3 and ESP32-S3. (3e39358)
  • Disabled anonymous extended advertising reporting on ESP32-C3 and ESP32-S3. (69173b1)
  • Fixed BLE assert lld_adv.c 2992 on ESP32-C3 and ESP32-S3. (69173b1)
  • Fixed heap assert due to advertising data buffer double freeing on ESP32-C3 and ESP32-S3. (69173b1)
  • Fixed BLE 0x08 disconnection when the window size is greater than half of the connection interval on ESP32-C3 and ESP32-S3. (69173b1)
  • Fixed an occasional assert issue when stopping aux scan on ESP32-C6 and ESP32-H2. (3ad3632)
  • Fixed an occasional assert issue when the task is blocked during the extended scan scenario on ESP32-C6 and ESP32-H2. (3ad3632)
  • Fixed an occasional issue of being unable to receive packets during the extended scan scenario on ESP32-C6 and ESP32-H2. (3ad3632)
  • Fixed the cache error if controller runs in flash and BLE sleep is enabled on ESP32-C2. (017480b)
  • Fixed possible assertion when multiple ACL runs concurrently on ESP32-C6, ESP32-H2. (017480b)
  • Fixed occasional interrupt watchdog timeout issue when scanning and connection coexist on ESP32-C6. (017480b)
  • Fixed an occasional issue where the connPeripheralLatency parameter was not properly applied on ESP32-C6, ESP32-H2. (017480b)
  • Fixed bluetooth controller flash only bug if hci-uart is enabled on ESP32-C3 and ESP32-S3 (8e473c6)
  • Fixed a heap assertion issue when enabling BLE and ESP32C2_REV_MIN_200 for ESP32-C2 v2.0 (a3cf6b0)
  • Fixed an occasional load access fault issue when performing ext_conn creation for ESP32-C2. (dd9dbfc)
  • Added a function to maintain the connection when an instant pass issue occurs on ESP32-C2. (dd9dbfc)
  • Fixed extended advertising interval upper limit issue on ESP32-C6 and ESP32-H2 (#15240) (dd9dbfc)
  • Fixed hci assertion issue when uart interference occurs on ESP32-C2, ESP32-C6,ESP32-H2. (f6dc2b6)
  • Changed the maximum supported value of the whitelist to 31 on ESP32-C2, ESP32-C6,ESP32-H2 (f6dc2b6)
  • Fixed GPIO unavailable warning when repeatedly reconfiguring HCI UART pins on ESP32-C2, ESP32-C6,ESP32-H2. (f6dc2b6)

Documentation

  • Updated the Bluetooth SIG Qualification information for ESP32-C6. (89a76e9)
  • Updated the BLE feature support status in API Guides. (89a76e9)

Mesh

  • Optimized the performance of remote provisioning (f3e781b)
  • Fixed an unprovisioned device may be provisioned by provisioner and remote provisioning client at the same time (f3e781b)

NimBLE

  • Handle memory leak due to missing mempool_deinit call (46909c5)
  • Added api's to fetch gatt cache info (ebcbbb9)
  • Added a configurable option to select ext adv v2 command (ebcbbb9)
  • Added support for anonymous address type for whitelist (ebcbbb9)
  • Fixed UUID type error in GATT caching API to search for included services. (ebcbbb9)
  • Fixed an async race condition with HCI outstanding packets counter (ebcbbb9)
  • Add chip dependancy flag for Flow control feature (3c118a4)
  • Fixed incorrect comparison with gattc proc that can cause request-response mismatches (f8be920)
  • Added runtime configurable support for observer role, security mode 1 level, and GATT caching (5d4d3c6)
  • Modified HID KIR and MIR Characteristic write permission from hardcoded to configurable (5d4d3c6)
  • Fixed LLS crash when no callback was registered for LLS event (5d4d3c6)
  • Added SPS callback event to expose changes in scan parameters (5d4d3c6)
  • Fixed incorrectly passed in GATT Caching disovery operations (5d4d3c6)
  • Enabled Connection Subrating bit in ESP32C6 (5d4d3c6)
  • Optimized nimble throughput example by extended adv support and switching between different Phy modes. (6af5691)
  • feat(nimble): Added tutorials for PAwR examples (81c34b0)
  • Fix sync handle assignment for PAwR connection (b5802d7)
  • Fixed incorrect OTA address type assignment (b4ebe7a)
  • Added missing ble_hs_unlock for periodic adv sync reattempt case. (5e38aae)
  • Corrected event posting in Read Remote Features event handling (#15670) (f8b7c14)
  • Added a change in the BLE SPP Client example to allow the client to subscribe to the server. (9d45436)
  • Fix conversion for min-max itvl of periodic adv param in example (078a29e)
  • Exposed the ble_gap_wl_tx_add API to add a device in whitelist (4d749ee)
  • Deprecate BLE_GAP_EVENT_LINK_ESTAB event. (4d749ee)
  • Update controller data length upon connection creation. (4d749ee)
  • Fixed pairing failure issue when SC only mode is selected (4d749ee)
  • Handle application code compilation issue due to removal of link_estab structure (4d749ee)
  • Fix SMP command allocation (4d749ee)
  • Fix incorrect event deinit in gatt caching discovery (4d749ee)
  • Added support for Vendor Event mask VSC (4d749ee)
  • Add Bluetooth LE 5 1 direction finding feature (4d749ee)

Bluetooth Common

Controller

  • Fixed the issue that disable Bluetooth controller may cause interrupt watchdog timeout on ESP32 (8f2b6df)

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 (733ff2b)

Build & Config

  • Fixed CMake configuration warning CMP0165 for Linux target (#15488) (17a2461)
  • Changed build fatal error to warning when the ESP_ROM_ELF_DIR environment variable is not set (58210d6)

Classic Bluetooth

Bluedroid

  • Fixed the issue where an incorrect mask was used to exclude SCO packets during the establishment of eSCO link (306f101)
  • Fixed the issue that L2CAP server stop operation does not report the ESP_BT_L2CAP_SRV_STOP_EVT event (e912a4f)
  • Added callback events for L2CAP register and unregister vfs operations (4ad27c7)
  • Fixed write_read task stack overflow in l2cap example (4ad27c7)
  • Fixed the issue with L2CAP when dyamic memory allocation of environment variables is not enabled (4ad27c7)
  • Fixed no report of ESP_SPP_WRITE_EVT and Bluedroid btc task being blocked when SPP connection number reaches the upper limit (4ad27c7)
  • Added APIs to get status on such information as initialization state, connection number, for Classic Bluetooth profiles (26e415d)
  • Add Kconfig options for setting of SDP attribute length (#15321) (74d5769)
  • Fixed connection failure due to insufficient number of service security records when multiple profiles are initialized. (7572134)
  • Add Kconfig option to keep device bonding information when HID virtual cable unplugging (b1a3813)
  • Fixed memory leaks in SPP callback mode (3813793)
  • 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. (b1659a5)
  • Fixed reporting of unexpected ESP_BT_GAP_DISC_STATE_CHANGED_EVT event upon ACL disconnection, due to uninitialized local variable (d6a436c)

Controller

  • Implemented a workaround for potential data packet exchange issues when secure connection is enabled on ESP32 (304acd5)
  • Fixed ACL has few chance to run when it coexists with SCO on ESP32 (4854f41)
  • Fixed errors in dynamic priority configuration in Bluetooth dual mode on ESP32 (4854f41)
  • Fixed a crash issue caused by accessing external memory in ISR context on ESP32 (4854f41)
  • Fix the incorrect unit of duration_min in CPB TX on ESP32 (1bdd5da)
  • Recalculate the channel map when AFH is enabled on ESP32 (1bdd5da)

Coexistence

  • Fixed some external coexist issues. (70ff14e)
  • Support BR/EDR (e)SCO and Wi-Fi coexistence. (d1b0c39)

Core System

  • fix an issue that prevented RTC reserved area to have a size multiple of 4 (#13082) (a68299e)
  • Fixed linker script for ESP32-C3, ESP32-S2 and ESP32-S3, reducing Flash usage by up to 512 bytes. (ed85800)
  • 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. (7dfccfb)
  • Fixed DRAM_DMA_ALIGNED_ATTR for ESP32-P4 (63d0aa7)
  • Fixed esp_ptr_executable to specifically check if the pointer is in PSRAM memory on esp32p4. (6f13ac0)

Heap

  • Fixed CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH not being able to be used together with CONFIG_HEAP_TLSF_USE_ROM_IMPL. (fe75355)

Linux target

  • Added SOC_CPU_CORES_NUM define for the Linux target (#15758) (a97879b)

Log

  • Moved esp_log_writev to IRAM (d2eb653)

Newlib

  • Updated Newlib usleep() to always sleep for the desired sleep period or more but never less (#15132) (063d9d4)

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 (#15166, #15018, #10110) (0cecb7b)

Partition Table

  • Fixed partition table names must be only ASCII characters (b293914)

Watchdogs

  • The LP-WDT on ESP32-P4 now takes into account the value EFUSE_WDT_DELAY when setting the timeout (6b617c5)

Debugging

Apptrace

  • Store CRC16 checksum of trace blocks in Xtensa perfmon register to enable host-side data integrity verification. (84174f6)
  • Fix deadlock on sysview start (e84c28e)

Ethernet

  • Fixed ESP32P4 EMAC REF RMII CLK output mode (19e8640)
  • Fixed ESP32P4 EMAC flow control enable (19e8640)

FreeRTOS

IDF Additions

  • Updated xRingbufferReceive() and xRingbufferReceiveFromISR() APIs to restrict them from being called to retrieve items from allow-split buffers. (a218e3f)

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. (4f09162)
  • Fixed an issue where automatic light-sleep can cause FreeRTOS ticks to jump and cause unexpected timeouts (#15642) (ef797e0)

LWIP

DHCP

  • Fixed DHCP server recv decline issue (b4bbfe1)

Low Power Features

  • Improved esp_timer timing accuracy for esp32 and esp32s2 when esp_pm DFS is enabled. (b53f520)
  • Fixed the issue that esp32p4 may get stuck when entering deepsleep. (cf0c429)
  • Fixed deepsleep leakage after USB HS phy is initialized on esp32p4 (c51c27e)
  • Allowed to keep SAR ADC power when using ADC_ULP_MODE. (#12426) (79d965f)
  • Optimized CPU IDLE power consumption by enabling automatic clock gating of CPU/Cache/memory. (9f8548b)
  • Fixed power leakage when external 32k slow clock source detection fails. (65e0d49)
  • Warning the use of lightsleep GPIO/UART wakeup source if PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP option is enabled. (1113c71)

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. (871aeae)
  • Fixed accumulation of wakeup cause bits in ULP (#15794) (7256dea)
  • 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 (#15433) (4354c30)

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. (592c631)

PHY

  • Fixed the issue that tsens read abnormal value in Wi-Fi STA mode for esp32c2 v2.0. (5e7a047)

Peripheral Drivers

ADC

  • Fix ADC oneshot read zero after getting done signal on P4 (8770ad5)
  • Fixed ESP32P4 ADC continuous mode stop early (7fe1903)
  • Supported ESP32P4 ADC calibration (7fe1903)
  • Fix ADC oneshot lose power control counts (de3964a)
  • Fix ADC oneshot read error after continuous (de3964a)

Analog Comparator

  • Fixed the issue that unit1 can't generate the ETM event properly (ef1a507)
  • Corrected the supported interrupt priority to 0~3 (ef1a507)

Camera

  • Fixed Cache-Safe build error (70e8afb)

GDMA

  • Support independent registration of Cache Safe ISR for each GDMA channel (#15771) (af3fa87)

GPIO

  • Fixed wrong pu/pd/drv values got from gpio_dump_io_configuration for ESP32 RTC IOs (#14931) (afa7b83)
  • Forbidden to enable pull-up, pull-down on input-only IOs (afa7b83)
  • gpio_reset_pin can be called to revoke any IO reservation now (#15598) (afa7b83)
  • Allow RTC-IO API to set edge type wakeup sources for targets that support this (0228056)
  • Fixed the issue that when USJ PAD is configured as GPIO, the GPIO function is unavailable after waking up from lightsleep. (#15797) (4753018)

GPTimer

  • The start and stop functions are now idempotent (#12325) (2d582fe)

I2C

  • Fixed clear bus issue in legacy i2c driver (#15638) (d62e3c7)
  • Fixed that fsm reset cause i2c scl frequency changed on esp32s2 (#15724) (d62e3c7)
  • When the driver enables GPIO pull-up, it will also disable the internal pull-down accordingly. (#15774) (93cff12)
  • Fixed race condition issue (#15444) (89e81df)
  • Fixed stretch causes timeout in i2c probe (#15589) (89e81df)
  • Fixed array size of static array (#15583) (89e81df)
  • Fixed auto selection i2c slave device cause error (#15644) (89e81df)
  • Fixed uses i2c customize api read one byte cause error (#15685) (89e81df)
  • Added a Kconfig option I2C_SKIP_LEGACY_CONFLICT_CHECK to disable the legacy driver conflict check (f74b338)

I2S

  • Fixed the false buf catenate while use preload (#15775) (77ae1d2)
  • Fixed i2s inappropriate check and assign sequence (#15648) (7e11597)
  • Added check for minimum sample rate (#15659) (7e11597)
  • Fixed failure when GDMA is set IRAM_SAFE but I2S not (#15533) (21d470d)
  • Added check for i2s DMA buffer array allocation (#15607) (21d470d)

JPEG

  • Fixed the issue that jpeg encoder blocked when the output buffer is not sufficient. (796bac0)
  • Fixed handing of invalid JPEG marker (8d44639)
  • Added support for decoding JPEG images without Huffman table (8d44639)
  • Correctly set JPEG restart interval (8d44639)

LCD

  • Fixed the infinite wait when lvgl timer is no ready in example (#15853) (02a4dec)
  • Fixed the issue that SPI LCD device initialization breaks the IO setting of others (#15478) (2dd1f03)
  • Fixed the issue that the restart buffer failed to mount to the DMA when memory encryption is enabled (#15228) (3d650ab)

LEDC

  • Fixed potential incorrect PWM output at relatively high frequency for ESP32-C6/H2/P4 (57a8335)
  • Fix potential assert failure in ledc_fade_stop due to race condition (#15580) (fba8377)

MCPWM

  • Fixed the issue that MCPWM output wrong frequency during DFS on ESP32 and ESP32-S3 (28c4303)
  • GPIO pull-up/down will be automatically disabled when the driver GPIO pull-up/down flag is not set.(#15774) (93cff12)

PARL_IO

  • Fixed an issue where prematurely disabling PARL_IO TX caused errors in subsequent transmissions. (7e1238d)

PPA

  • Fixed calling ppa_do_scale_rotate_mirror could potentially get blocked when scaling to YUV420 color mode (70ab1cc)

RMT

  • Fixed the race condition when between rmt_receive and receive ISR (#15842) (bb2c83e)
  • Enhanced the rmt_receive_config_t error message (#15836) (bb2c83e)
  • TX channel can switch to different GPIO at runtime. (b8bb557)
  • Supported to set slower channel resolution. (#14760) (ff8c836)
  • Fixed the panic when the number of received symbols is a multiple of the memory block size. (c3b4d5a)
  • Fixed the wrong reset code duration in the simple encoder example (#15498) (ddd8a5d)

SD_HOST

SDMMC

  • Fixed multiple definitions of SD Card example pins issue in project Kconfig file (c8848f4)
  • Fixed all pins need to be set issue when using slot0 on ESP32P4 (c8848f4)
  • Fixed transfer timeout due to higher priority tasks (#13934) (13baf98)

SPI

  • Fixed the issue that driver objects may be allocated from PSRAM unintentionally (705592c)

SPI Master

  • Fixed SPI stop after remove devices which using RC_FAST as clock source on ESP32C6 and H2 (62ace4d)

SPI Flash

  • Fixed flash encryption write verify (#15380) (c94014c)
  • Added flash suspend chip version check on esp32h2 and esp32c6 (c94014c)

TWAI

Temperature Sensor

  • Add temprature calibration support on esp32-c2, c6, h2, p4 (e293460)

Touch Element

  • Fixed the missing programming guide of Touch Element on ESP32-S3 (#15755) (9d3b69f)

Touch Sensor

  • Fixed tie option take no effect issue. (0e584aa)
  • Fixed concurrent issue in the legacy touch v1 (esp32) driver (0e584aa)

UART

  • Updated uart_get_baudrate API documentation (#15449) (d5a43ed)
  • Fix wrong unit conversion from knots to m/s in uart/nmea0183_parser example (#15695) (d5a43ed)
  • Eliminated the possibility of garbled data sent/received from the UART port during sleep process (d5a43ed)
  • Enlarged default task stack size for uart_async_rxtxtasks example to avoid stack overflow (#15363) (a125701)
  • Updated programming guide to align configuration orders with the example codes (#13182) (a125701)
  • Unsupported low baud rates (e.g., 2400bps, 1700bps) on LP UART is now properly reported (#15427) (8bce143)

USB

  • Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (#15932, #15912) (6837ed3)

USB Device

  • Fixed incorrect pull-up resistor settings on the USB PHY that prevented the device from being detected by the host. (67a6fbc)

USB Host

  • Allocate DMA capable memory to external ram on ESP32-P4 (10bf6f8)
  • Added support for Low-speed devices, connected via external Hubs to Full-speed peripheral (be8d377)
  • Added support for Low-Speed devices connected through Full-Speed HUB (#15683) (0448c4b)
  • Fixed heap corruption (#15815) (92a5676)
  • Fixed host channel number calculation for ESP32-S3, ESP32-P4, and ESP32-S2. (5190ce5)
  • Fixed possible deadlock when closing a device that was not previously opened (ae57289)

USB Serial JTAG

  • Fixed usb_serial_jtag_ll_phy_select can't select PHY0 (IO24, 25) issue on ESP32-P4 (#15499) (beee8e0)
  • Fixed wrong return value from usb_serial_jtag_write_bytes when input parameters are invalid (#15620) (ff74f67)

Power Management

  • Fixed the issue of modem wakeup req always high caused by pmu min slp cycle update (d2b2909)
  • Fixed possible assert in vTaskStepTick after turning on auto light sleep. (45d95b1)

Security

  • Fixed a bug that resulted in a boot loop when a memory protection fault occurred on ESP32-S2 (#15359, #7656) (89edea0)
  • Fix secure OTA without secure boot issue for MMU page size configurable SoCs (#15936) (43d3dd7)
  • Fix secure boot (ECDSA) build failure for ESP32-C6 target (#15856) (90607ee)

MbedTLS

  • Update mbedTLS version to 3.6.3. (7ddb2ba)
  • If using MbedTLS for server certificate verification, it is mandatory to call mbedtls_ssl_set_hostname before the connection begins. No change is required if the application uses esp-tls layer. (7ddb2ba)
  • Make mbedtls SHA1 software support configurable (952e0e3)

Storage

FATFS

  • Changed VolToPart variable to be non-const to allow for run-time modification (#14148) (aa1db69)
  • Added options CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT and CONFIG_FATFS_DONT_TRUST_LAST_ALLOC to control how free space is calculated for a FATFS volume (#15241) (5bedbdf)

NVS

  • Fixed nvs_tool.py to properly format JSON output. Additionally, cleaned up text minimal format output (#15274) (1c29e55)

VFS

  • Fix incorrect open and close behavior for /dev/console (9df731b)

System Hardware

  • Fixed compile error on esp_cpu_int_has_handler on ESP32-P4 (GitHub PR) (#15942 #15941) (12143d6)
  • Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (bb60389)

Cache

  • Support cache build for pure RAM app (9bb2fd0)
  • Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (bfdca51)

MMU

MSPI

  • Improved the selection of timing tuning points when the last few tuning points succeed consecutively (7817120)
  • Improved the PSRAM timing tuning configurations on ESP32P4 (7817120)

PSRAM

  • Fixed external RAM .bss and .noinit section vaddr calculations (#15513) (3076186)
  • Fixed waste of PSRAM MMU pages due to incorrect calculation of XIP pages and increased available heap size. (a33851c)
  • Supported UnilC Octal PSRAM on ESP32S3 (a8e166e)

TCP Transport

  • Added an API to configure the addr family (f481174)

Toolchain

Tools

  • IDF Monitor: Added note about limitation of auto coloring feature with multiline messages (#15793) (82eba30)
  • Switched to flashing ESP32-C3 with stub when the USB Serial/JTAG mode is used (fc5b878)
  • Fixed deprecation warnings when using extractall() on Python 3.12 and newer (43b42c6d)
  • Added input validation of optional install features (916d1d3)
  • Deactivated the previously set ESP-IDF environment every time the export script runs (on Unix systems only) (6d4faa0)
  • Fixed processing of packages with dots in their names in Python dependency checks (487b26a)

WI-FI

Examples

  • Fixed some issues in roaming app (a18ce5d)

MAC

  • Fixed the issue that rx bcn failed when sta off channel under modem state (28980b6)
  • Fixed locking in incorrect state when stop_scan is called after wifi_connect (8497af9)
  • Fixed TX power not update if country changes when enable multiple PHY init data bin (5c11f71)
  • Fixed the issue when the PS state machine becomes invalid after enabling BSS max idle (5c11f71)
  • Fixed STA cannot send keep alive when receive UDP packets (5c11f71)
  • Fixed STA BSS max idle period always use default value (5c11f71)
  • Fixed sleep without sending sleep null when enable BSS max idle (5c11f71)
  • Fixed channel TX power limitation does not take effect when connected AP switch channel (5c11f71)
  • Fixed the issue that sta rx packet failed under modem state. (d2b2909)
  • Fixed country element not update in beacon (6a75fd8)
  • Fixed the WEP shared authentication association timeout issue. (d0068c4)
  • Fixed the issue of disconnection from the AP due to ERSU compatibility. (d0068c4)
  • Fixed phy data partition restoring default fails issue. (d0068c4)
  • Separate the LR bit in PHY mode for station and softAP (#9978) (97af977)
  • Added timer to send wake null after STA received association response (97af977)
  • Fixed the noise floor error on ESP32C5 (#15594) (97af977)
  • Fixed an issue to prevent writing configuration to NVS when the station configuration remains unchanged. (be719bf)
  • Fixed occasional dropping of SA Query responses by SoftAP (274925f)
  • Supported service specific info in NAN service discovery frames (#12473, #13366) (395295c)
  • Added DS parameter in probe requests from STA (b79dcab)
  • Fixed second channel is always below in ht40 on 5G band (3ee14ca)
  • Fixed the issue that TWT just post one event for multiple flows (3ee14ca)
  • Fixed negotiated bandwidth not correct (3ee14ca)
  • Added band check when config SoftAP (3ee14ca)

Mesh

  • Updated the description for esp_mesh_send() return value (#14440) (97af977)

Supplicant

  • Cleared SAE-PK capability in Assoc Request when not enabled at STA. (f906de4)
  • Disabled IP renew skip by default since most AP don't support it. (7cc3e9c)
  • Fixed issues reported by static analyzer. (7cc3e9c)
  • Improved WPS PBC overlap detection to ensure it works correctly, even if the UUID is missing. (df50dda)
  • Ensured disconnection with previously connected AP when initiating WPS. (df50dda)
  • Increased WPS message timeouts to address interoperability issues. (beb0bcc)
  • Fixed send_confirm value for SAE confirm according to specification. (ee317c3)
  • Added domain name validation support for EAP connection. (24a92a3)
  • Added optimized PSK implementation (#15072) (0cb892d)

Vendor

  • Added more check when receiving ESP-NOW data (28980b6)
  • Fixed the issue that STA connection information loss LR info on ESP32C6 (104f57d)
  • Fixed the scan information error in LR only mode (97af977)
  • Changed the max data length to 1470 bytes for ESP-NOW v2.0 (97af977)

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.