Documentation for IDF v5.5.2 is available at https://docs.espressif.com/projects/esp-idf/en/v5.5.2/
ESP-IDF v5.5.2 is a bugfix release for ESP-IDF v5.5.
🎅 Obtaining v5.5.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.5.2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.5.2
cd esp-idf-v5.5.2/
This is the recommended way of obtaining v5.5.2 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.5.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.5.2/esp-idf-v5.5.2.zip
Major changes
Breaking Changes
- BLE/Controller: Fixed occasional assertion in adv/scan/connection coexistence scenario on ESP32-H2. (e93f0e5)
- BLE/Controller: Fixed occasional assertion in scan/connection coexistence scenario on ESP32-C6. (e93f0e5)
- SPI Flash: Added a new argument
flagstoesp_flash_os_functions_t::start. The caller and implementer needs to handle this argument properly. (0f4b384) - Suppress possible data corruption or system panic on ESP32-C5 when flash encryption is enabled. Now the CPU frequency is limited to 160 MHz temporarily. (e81ca4b)
- WI-FI: Added second channel field in the
wifi_action_tx_req_tstructure. (d14ce1f)
Major New Features
- Added initial support for ESP32-C5 Rev1.2
- Added initial support for ESP32-C61 Rev1.1
- Added initial support for ESP32-P4 Rev3.0
- Added support for ESP-TEE (Trusted Execution Environment) on ESP32-C5 (ea36c4f)
- Upgraded toolchain (esp-14.2.0), QEMU (9.2.2), and GDB (16.3)
Major Bugfix
- Added additional checks for JPEG markers to prevent potential exploitation of this vulnerability to attack ESP chips (18531ed)
- Fixed PSRAM write stuck after reset on ESP32-C5/C61 (ddb9f5d)
Known Issues
- OpenOCD has limited support for ESP32-P4 Rev3.0 chip. Just base debugging functionality is supported w/o flash.
Changelog
15.4
MAC
- Added compensation on the energy detection result for ESP32-H2 (332c73b)
- Changed the default cca threshold to -75dBm (0586744)
Thread
- Fixed a potential stack overflow issue in TREL browse (332c73b)
- Fixed an occasional multicast router initialization failure (332c73b)
- Fixed a deadlock issue in DNS resolver (332c73b)
- Fixed an issue where NVS was not opened from the configured partition (332c73b)
- Supported custom netif config during initialization (6334043)
- Updated openthread submodule (36b14d3ef) (0586744)
- Supported multicast forwarding cache filter in Thread BR (0586744)
- Supported DHCPv6 PD feature (0586744)
- Added APIs to start or stop the OpenThread stack (31b8066)
- Updated the OpenThread examples to use the new APIs (31b8066)
- Updated OpenThread examples to use esp_console. The
otprefix is required when running OpenThread CLI commands. (31b8066) - Updated openthread submodule (3b3dd203) (7b45a16)
- Resolved the RCP data transmission issue over USB Serial JTAG (166e12c)
Application Utilities
CJSON
- Updated cJSON to v1.7.19 (847ceb6)
ESP HTTP Client
- Fixed handling of errors while reading data from server using API esp_http_client_perform(). (8a4f0c5)
- Updated condition to close and cleanup the HTTP client (d0ffafb)
ESP HTTP Server
- Fixed the response status in Captive portal example. (344266f)
- Fixed http(s) server request close order with LRU purge enabled. (#17470) (0313a36)
- Added support for pre-handshake callback, which is executed before upgrading to WebSocket protocol. (b966e39)
ESP HTTPS OTA
- Added fix to ensure the data written during OTA updates is properly aligned to 16 bytes when flash encryption is enabled (cfba6ee)
- Fixed partial download OTA to work on a single persistent connection rather than sending every range request on individual subsequent connections (5058b75)
ESP HTTPS Server
- Fixed the issue where a second request on the same socket was blocked after the first async request succeeded.(#16998) (1970cc7)
BLE
- Fixed uninitialized return code in BLE Get Started - NimBLE examples (a62dc1d)
BluFi
- Added an API to start advertising with specified name. (6b7d55a)
Bluedroid
- Fixed Bluetooth LE incorrect device record count issue (8789584)
- Fixed the issue that extend advertising might not restart if the connection fails (a63ae74)
- Fixed crash when deinitializing or disabling host during scanning (d4a52b1)
- Added an API to set channel map for scanning or initiating. (690e83d)
- Fixed the status setting in the HCI event. (7aee10f)
- Fixed potential out-of-bounds memory access when resolving advertising data (56bef4d)
- Added Bluetooth LE multiple connections examples. (ba4300c)
- Supported multi-connection optimization vendor HCI command. (ba4300c)
- Fixed the connection count limit in multi-connection. (ba4300c)
- Adjusted L2CAP round robin msg send strategy. (ba4300c)
Controller
- Fixed BLE assert lld_con.c 1479 on ESP32-C3 and ESP32-S3. (2a039e3)
- Supported controller log compression on ESP32-C3 and ESP32-S3. (91dd2ae)
- Fixed the disconnection issue caused by a MIC error on ESP32-C61. (443bbf5)
- Fixed an occasional connection establishment failure issue when utilizing BLE Flash Only feature for ESP32-C2. (25186fb)
- Fixed an occasional interrupt watchdog timeout issue when establishing connection for ESP32-C2. (25186fb)
- Fixed an occasional connection timeout issue when utilizing BLE Flash Only feature for ESP32-C2. (25186fb)
- Add scheduling priority level configuration when internal scheduling conflicts on ESP32-H2,ESP32-C6 and ESP32-C5. (25186fb)
- Fixed occasional memory leaks in multi-connection scenarios on ESP32-H2 and ESP32-C6. (38694c3)
- Fixed an occasional MIC failure issue in Start Encryption procedure for ESP32-C2. (38694c3)
- Fixed occasional assertion in adv/scan/connection coexistence scenario on ESP32-H2. (e93f0e5)
- Fixed occasional disconnection issue when sending Data Length Update too quickly on ESP32-C2. (e93f0e5)
- Fixed occasional assertion in scan/connection coexistence scenario on ESP32-C6. (e93f0e5)
- Improved security when receiving a connection request PDU with an invalid Access Address on ESP32 (326f10b)
- Supported the PAwR feature on ESP32-C6, ESP32-H2, ESP32-C61 and ESP32-C5. (7d73f5e)
Documentation
- Added Bluetooth LE Low Power Mode FAQ in API Guides (d1f4a0c)
- Updated ESP-Nimble SIG qualification version to core specification 6.1. (65bd466)
- Added Bluetooth LE 6.0 features support status. (f7bad9f)
Mesh
- Support for BLE 5.0 Extended Advertising in ESP-BLE Mesh communication (db87284)
- Adds log-compression support when building Bluetooth LE Mesh applications. (636daf1)
NimBLE
- Handle sync cancel during reattempt operations (51493f9)
- Added a check for periodic psync before processing (df08d0d)
- Fix compilation issues across different NimBLE examples (df08d0d)
- Support runtime memory alloc for mempool. (df08d0d)
- Fix typos in NimBLE examples (#17824) (85604da)
- Add Read all local / remote supported feature HCI command /event. (dfccdf1)
- Update HCI log functions to use uint16_t for data length (025e5f2)
- Fix array overflow caused by invalid connection handle indexing (bf41c80)
- Add support for host side support for Channel Sounding. (39b9662)
- Use nimble platform mem malloc / free APIs (38917f3)
- Handled adv ext data setting in reattempt adv (e8ff0a5)
- Rearrange NimBLE menuconfig options (54de9c4)
- Add indicate / notification code under correct flags [ Closes https://github.com//issues/16769 ] (965e2e4)
- Fixed incorrect HCI status in connect event (a2c5d88)
- Updated reattempt count handling for periodic adv (b0ec8fe)
- Restructured table of README.md file of bleprph and blecent (aa82f52)
- Updated ble_gatts_show_local API to show CPFDs and CAFDs. (37eaa4c)
- Added helper api's in nimble. (37eaa4c)
- Fix include service definition handle being the same for all definitions. (37eaa4c)
- Added VSC for Set Scan Channel Bitmap. (37eaa4c)
- ISO minor support for NimBLE Host (37eaa4c)
- Add connection failure event when connection fails (37eaa4c)
Power Management
- Fixed occasional sleep enter failure due to BLE waking up too soon (25186fb)
Bluetooth Common
Bluedroid
- Fixed missing BLE connect and disconnect events (8789584)
- Security Enhancements for Bluedroid Host Stack and Examples (5cf7ec6)
- Added API to retrieve the local BLE Identity Resolving Key (IRK) (c5d19fd)
Controller
- Fixed the issue that Bluetooth baseband might not reinitialize after stopping and starting Bluetooth when coexisting with WiFi on ESP32 (#15841) (3c0e283)
- Fixed the issue that unfixed core tasks may register or trigger software interrupts of the wrong core when calling the Bluetooth interface on ESP32 (42e7c93)
Bootloader
- Fixed stuck in PSRAM write after a CPU or system reset on esp32C5/ESP32C61 (ddb9f5d)
Build & Config
- Fixed syntax errors in generated Graphviz dependency graphs by wrapping Node ID strings in double quotes (#17594) (69552e5)
- Fixed evaluation of dependencies based on Kconfig options in idf_component.yml files (f69550b)
- Fixed an issue where optional Kconfig dependencies were not evaluated correctly unless
idf.py reconfigurewas run twice (9f1603d)
Classic Bluetooth
Bluedroid
- Fixed potential stack buffer overflow in the processing SDP response in Bluedroid (70ab2dd)
- Fixed memory leak in HID host and HID device (2dc1a9b)
- Update the class of device before enabling inquiry scan to make it effective in inquiry scan response (8c9f686)
- Fixed potential buffer overflow in the composition of AVRCP vendor dependent command in Bluedroid (fba0edd)
- fix(bt/bluedroid): Fix the boundary conditions when checking EIR data (799e347)
- Fixed the issue that HFP AG not report audio data to application when using external codec (3c0e283)
- Fixed potential buffer overflow vulnerability in Bluedroid (1a3e0eb)
- fix(bt/bluedroid): Prevent out-of-bounds access and add type check when resolving EIR data (87793a2)
Controller
- Fixed the hardware channel map error by ignoring invalid channel maps during AFH disable procedure on ESP32 (a146cfe)
- Fixed improper handling of transaction collision during LMP encryption start/stop procedure on ESP32 (a146cfe)
- Avoid asserting when new acl data was sent to controller while previous data was not finished transmitting on ESP32 (1d3324d)
- Fixed the issue where modifying the btdm_pwr_state value would cause phy_disable to be called twice on ESP32 (1a6bc96)
- Fixed the out of sync of data buffers between software and hardware on ESP32 (1a6bc96)
- Fixed that peripheral does not authenticate agaist peer device when the first request was rejected on ESP32 (1a6bc96)
- Fixed the errors that SCO frame scheduling is not stopped fter the base ACL link has been released on ESP32 (1a6bc96)
- Ignored the reception of LMP_DETACH PDU during detach process on ESP32 (326f10b)
- Fixed that Tx descriptor for FHS packet in page procedure may becomes empty after handshake failure on ESP32 (326f10b)
- Fixed for no HCI_LINK_KEY_NOTIFICATION_EVENT on repairing of the acceptor size on ESP32 (326f10b)
- Fixed zero size of encryption key used in Active Peripheral Broadcast on ESP32 (326f10b)
- Fixed wrong state caused by transaction collision in Enryption Pause and Resume procedure on ESP32 (326f10b)
- Fixed possible access to NULL pointers on ESP32 (326f10b)
- Always send LMP_ENC_KEY_SIZE_MASK_REQ before changing to temp key on ESP32 (326f10b)
- Fixed missing of HCI event upon canceling truncated page procedure on ESP32 (326f10b)
Coexistence
- Fixed ESP32 cache disable crash issue at coexistence scenario. (f230471)
- Fixed the ESP-NOW send fail when coexist enable (2a8d264)
- Fixed the abnormal grant or priority value issue when the external coexistence pin floating (72d9925)
- Added 802.15.4 status for internal coexistence (d05500c)
Core System
- Fixed an issue where the ESP32-P4 chip could encounter exceptions or hang when exiting the WFI (Wait For Interrupt) state. (a378b52)
ESP Timer
IPC
- Allowed IPC recursion calls in esp_ipc_call (7109c7b)
Log
Panic handling
- Fixed infinite loop in
.eh_frame-based backtracing when DWARF unwind information was missing. (9a186c2) - Fixed an issue where the panic handler may reboot even though it is configured to dump the CPU registers and halt (#17260) (5665e9d)
Debugging
Core Dump
- Fixed
CONFIG_ESP_COREDUMP_MAX_TASKS_NUMoption that was previously ignored, allowing users to limit the number of tasks included in core dumps. (#14407) (03b0d7f)
Documentation
Ethernet
- Fixed W5500 poor performance in 10 Mbps mode. (39bba2f)
FreeRTOS
- Fixed mistakenly stating that stack watermarks are reported in words, IDF reports these in bytes (cb8dbac)
IDF Additions
LWIP
- allow task stack from SPIRAM except for ESP32 ECO2 and below (#17827) (e2493ad)
- Fix dhcp arp check issue (93603cd)
ESP Netif
IPv6
- Added support for Route Information Options in IPv6 Neighbor Discovery (ND6 RIO) (f75e0a4)
Low Power Features
- Optimized active power consumption of ESP32P4 rev3 chips in single-core mode. (29e9e7e)
- Fixed power leakage in the LP peripheral power domain during Light Sleep when the HP peripheral domain remained powered on esp32c6. (34c9b4f)
- Fixed a rare issue where ESP32-C6 could permanently hang on wake-up when Wi-Fi Power Save was enabled and the HP peripheral domain remained powered during light sleep. (34c9b4f)
- Fixed an issue where the system would stop responding to interrupts after sleep was rejected in ESP32P4 PD_TOP lightsleep. (9602933)
- Supported lightsleep to power down the CPU power domain separately on ESP32P4 rev3.0. (6cb1869)
- Fixed HP LDO leakage during Lightsleep and optimized power consumption of ESP32P4 Lightsleep. (6cb1869)
- Fixed an issue where the xtal32k was powered down during sleep when used as the slow clock source on ESP32C5 with Wi-Fi disabled. (438046d)
- Fixed the issue where RTC_BOD may reset or get stuck when waking up from Deepsleep on ESP32P4. (9f9eebf)
- Removed the support for switching power from DCDC to LDO during ESP32P4 lightsleep. (9f9eebf)
- Added
esp_sleep_get_wakeup_causes()to support multiple wakeup sources and deprecateesp_sleep_get_wakeup_cause()(cdeedc5) - Fixed the issue where the sleep wakeup failed after reset when RTC_CLK_SRC_INT_8MD256 is enabled on esp32/esp32c2/esp32c3/esp32s3. (#16243) (752e4e8)
- Warning instead of assert when disable a disabled power domain using
esp_sleep_pd_config(#16872) (184f2a4) - Added explicit handling for ESP_PD_OPTION_AUTO, allowing direct mode switching and reference count reset. (184f2a4)
- Fixed the problem that the modem would work abnormally after waking up from light sleep if ADC is initialized on esp32c6/esp32h2. (3e9d20f)
ULP
LP Core
- Updated LP core I2C library to provide macros for SDA and SCL GPIO pin instead of hardcoding the same at each stage, so the library as well as test apps don't need manual update when switching from ESP32C6 to C5 or P4. (b0e0b4d)
- Fixed array-bound compile error for P4 when compiling with -Os (#17054) (d0872ec)
ULP-RISC-V
- Fixed the ulp_riscv_delay_cycles() to handle small delays correctly (#16891) (3a6614b)
- Fixed an issue where I2C error prints in ulp_riscv_i2c component were not getting disabled by using esp_log_level_set API (#17425) (4b2b5d7)
- Returned error code back to application for ULP RISC-V I2C read/write errors (Closes #15904) (4b2b5d7)
PHY
- Fixed the TX gain mismatch in Coexistence scenario on ESP32C5/ESP32C61 (b1e3248)
- Optimization of PHY calibration parameter in low RSSI environments (f501d0a)
Peripheral Drivers
- Fixed issue that DMA are not reset when CPU reset (b94616a)
ADC
- Fixed ADC function abnormal on 32k XTAL clock pin on esp32c6/esp32h2/esp32c5/esp32c61/esp32p4 (01b9a1d)
- Fixed ESP32-P4 ADC2 wrong channel-to-gpio mapping (dc7304b)
- Added ADC continuous parse data API (dc7304b)
- Fixed ESP32 ADC2 continuous loss sample times (#10612) (fd980a7)
Camera
DVP
- Add format conversion for LCD_CAM DVP (d939ad7)
- Switched to use proper DMA descriptor type for better memory usage on ESP32S3 (9991b1f)
GPIO
- Fixed the issue that gpio_output_enable and gpio_output_disable would not take effect if the IO was routing to an output signal through IOMUX. (1d5fcc6)
- Fixed the issue where the hold state of the GPIO corresponding to XTAL_32K_P was destroyed during reset or deepsleep. (#17419) (d7bdd17)
- Fix USB DP pin unusable after CPU reset for ESP32-S3 and ESP32-C3 if USJ_ENABLE_USB_SERIAL_JTAG is deselected in menuconfig (#17488) (2f63581)
- Fixed the issue that on ESP32, the IOs with RTC functionality are not able to reflect GPIO sleep PU/PD configuration during light sleep (d317715)
- Calling gpio_reset_pin on an input only pin should not produce an error message (#17047) (d317715)
- Improved some RTC_IO LL functions performance by avoiding "read-modify-write" operation (d317715)
- Removed unsupported GPIO_OUTPUT_SET macro for ESP32-P4 (#16050) (d317715)
- Support clock output feature for esp32c5 & esp32c61. (d421c99)
I2C
- Fixed i2c read value via several read jobs might lose data (#16231) (9d21fa2)
- Disable the open drain mode on deinit (#17737) (5a44b73)
- Make I2C nack error log as debug level, not force print anymore. (f7ddaef)
- Added gpio reserve check on i2c driver (f7ddaef)
I2C Master
I2S
- Fixed the
rw_posandcurr_ptrinvalid issue while big gap between the two 'write' or 'read'. (136c44d) - Fixed the sample rate slow down issue when using more than 4 slots in PDM RX mode. (95cdc33)
- Added PLL240M clock source on ESP32-S3/C6 (#17056) (95cdc33)
- Support to constitute full-duplex mode for STD and TDM automatically when the channel configuration are same. (0847a85)
ISP
- Supported AWB module white balace gain configuration API and subwindow statitics API (d1e8549)
- Supported Black Level Correction (BLC) driver on ESP32P4 REV3 (1484524)
JPEG
- Added additional checks for JPEG markers to prevent potential exploitation of this vulnerability to attack ESP chips (18531ed)
- Support yuv444 yuv420 jpeg encoder format on esp32p4 revision 3 (18531ed)
LCD
- The underrun interrupt is supported on ESP32-P4 version 3.0 (1de3dbf)
- The MIPI DSI driver can draw bitmap of gray8 format on ESP32-P4 version 3.0 (4c5ee37)
LEDC
- Forced the new duty update to wait until its last duty update finishes for ESP32 (9244d4b)
MCPWM
- Fixed the division by zero error when input expect resolution was too low.(#17665) (42e7e40)
- Fixed FOC example frequency calculation (#17015) (a7dbebf)
PARL_IO
- Supported to set start/stop delay for valid signal on ESP32P4 V3.0 (5ab2e6e)
RMT
- Improve the stability of ESP32 when pm is enabled (7fd2f23)
- Fixed RMT TX disable timeout on ESP32 when
mem_block_symbolsis large. (#17692) (31bae90) - Enhanced the inspection of the size of encoded symbols in loop transmission. (082ba14)
- Fixed the spurious RX done interrupts when the RX engine has been disabled on ESP32 (#15948) (6adb0e5)
- Supported to set initial level before any TX transmission (#16068) (6adb0e5)
SPI Flash
- New argument
flagsis added toesp_flash_os_functions_t::start. Caller and implementer should handle this argument properly. (0f4b384) - Fixed the cache map 32M flash failed on esp32c5 (c38222d)
- Fixed cpu start failed when log functions are put in flash on esp32c5 (c38222d)
- Fixed bootloader flash size is not accurate when flash size is larger than 32MB (695f8e4)
- Fixed flash read failed in qio mode on external flash (695f8e4)
TWAI
- Update twai examples with new driver API and simplified them (#8461) (82ed0c7)
- Added API
twai_node_transmit_wait_all_done()(82ed0c7) - Fixed the issue that legacy twai driver can't send frame with dlc equals to zero (#17467) (82ed0c7)
- Fixed ESP32C5 can't receive frame in listen_only mode when multiple node on bus (#17461) (82ed0c7)
- Fixed
[tx|rx]_error_countempty fromtwai_node_get_info(#17434) (82ed0c7) - Fixed using
twai_make_dual_filter()to config dual filter for 29-bits ext_id (#17504) (82ed0c7) - More accurate the
sample_pointcalculation when usingtwai_timing_basic_config_t::sp_permill(#17522) (82ed0c7) - Removed unsupported busoff and clkout signals on ESP32-C5 (ee5f84e)
- Added support for calling
twai_node_transmit()from ISR contexts, enabling real-time CAN frame transmission from interrupt handlers with automatic context detection and ISR-safe queue operations. (e797515) - Fixed DLC larger than 255 in received frame from
twai_node_receive_from_isr(e9790c0)
Temperature Sensor
Touch Sensor
- Fixed touch current measuring channel workaround and added test for it (#17759) (ef75607)
- Support P4 Ver3 features: 1. force update benchmark; 2.
touch_sensor_config_t::trigger_rise_cnt(25c6d75)
UART
- Fixed incorrect uart_get_tx_buffer_free_size API behavior (#15859) (1d5fcc6)
- Fixed the issue that LP watchdog would get triggered on esp_restart if uart_driver_delete was called previously on ESP32-C5 (1d5fcc6)
- The default console UART TX IO can now also be re-used as a peripheral signal input through GPIO matrix (#16764, #17459) (1d5fcc6)
- Fixed uart_release_pin logic if switching only specific pins with uart_set_pin (1d5fcc6)
- Fixed an issue that some UART ports would generate a BRK_DET interrupt directly after module enabled (register reseted) (1d5fcc6)
- Fixed the issue that interrupt watchdog would get triggered on uart_driver_install if uart_driver_delete was called previously on ESP32-C5 (#17779) (1d5fcc6)
USB
- Fixed USB-Serial-JTAG and USB-OTG1.1 PHY swapping on ESP32-P4 (#17831) (feaa12e)
- Updated cdcacm_rx_cb and cdcacm_tx_cb placement when CONFIG_ESP_CONSOLE_USB_CDC_SUPPORT_ETS_PRINTF (#17000) (24a36e5)
- Added CherryUSB host and device demo example (65dd743)
- Updated USB Device examples to esp_tinyusb v2.0.0 (bc3457c)
USB Serial JTAG
- Fixed an issue where CPU would be blocked for approximately 50ms during wake-up when performing USB Serial/JTAG printing if the device was not connected to a host. (925e34d)
Power Management
- Fixed potential crash on ESP32-C61 during DFS when PSRAM is enabled and CPU frequency is lower than 10 MHz. (0f4b384)
- Fixed examples/system/light_sleep compilation fail on CONFIG_ESP_CONSOLE_NONE selected (1d5fcc6)
- The current leakage for ESP32 in light sleep has been decreased by 80uA (d317715)
Security
- Added support for ESP-TEE (Trusted Execution Environment) on ESP32-C5 (ea36c4f)
- Fixed app image encryption length for secure update without secure boot case (fa08f23)
AES
- Fixed AES failure with C5 PSRAM encryption by using an internal buffers to perform chunk-wise operation (07d815b)
ESP-TLS
- Added missing event tracker during mbedtls read operation (1e538c1)
- Updated esp-tls docs for non TLS connections (#17652, #17598) (d5161cb)
Flash Encryption
- Fixed Flash Encryption and Secure Boot Release mode config behaviour to write-protect the SECURE_BOOT_SHA_384_EN bit by default, when Secure Boot scheme is not SHA-384 (34ff240)
- Fixed
esp_flash_encryption_set_release_mode()API to program the efuse bit to level low only if the efuse is not already programmed. (042f29d)
Key Manager
- Fixed broken encrypted write operation to use efuses key instead of the Key Manger key when Flash Encryption is disabled. (4cc95c4)
- Fixed incorrect internal state management when starting a Key Manager operation (3631cb1)
MbedTLS
- Fixed alignment requirements when hardware AES and SHA operations access encrypted PSRAM buffers (86bd3d3)
- Updated mbedTLS version to 3.6.5 (6b89f1e)
- Optimized dependent peripheral clock usage for the ESP32-H2's revision v1.2 whose ECDSA peripheral does not use the MPI peripheral. (7d8bed2)
NVS Sec Provider
- Fixed startup workflow to emit warning when
nvs_keyspartition is missing instead of returning error (#17710) (4a6a231)
RNG
- Added new entropy source for RNG on ESP32P4 Rev3.0 (d957378)
- Improved RNG documentation (#14665) (d28a8a0)
Secure Boot
- Fixed enabling ROM secure download mode when DIS_DOWNLOAD_MODE is already disabled (3f3525e)
- Fixed the Secure Boot behaviour to write disable
SECURE_BOOT_SHA384_EN/ECDSA_CURVE_MODEin the security init function instead of the bootloader to allow configuring other efuses sharing the same write-protection (042f29d)
Storage
NVS
- Improved performance of BLOB get and set operations (d666e12)
Partitions
- Added support for partitions larger than 4MB on Linux target (011dd41)
System Hardware
- Suppress possible data corruption or system panic on ESP32-C5 when flash encryption is enabled. Now the CPU frequency is limited to 160 MHz temporarily. (e81ca4b)
- Fixed an issue on ESP32-C5 where peripheral operation could not be maintained during a CPU reset because the clock source was reset. (2db9177)
Efuse
- Allowed custom key purposes (5d6573c)
PSRAM
- Added PSRAM 250M support for ESP32P4 V3 and upper versions (d66ebb8)
- Removed PSRAM 200M support from experimental features, now it's a stable feature (d66ebb8)
- make SPIRAM_USE_MEMMAP available for all targets, regression from d285884 (#17764) (0434169)
Toolchain
- Upgraded toolchain version to esp-14.2.0_20251107 (501405d)
- Upgraded qemu version to esp_develop_9.2.2_20250817 (95d2e96)
- Upgraded gdb version to 16.3_20250913 (e902243)
- Fixed linkage rules for libc_nano.a if CONFIG_SPIRAM_CACHE_WORKAROUND=y (#17004, #17436) (d64a453)
Tools
- Added a fix to prevent Windows from unsuccessfully building the ESP-IDF root directory (38b434c)
- Fixed the
idf.py confservercommand failing because of small buffer size by increasing the default buffer size and adding the--buffer-sizeargument to further adjust the value if needed (#18018, #18017) (13614ad) - idf_tools.py: Fixed warning message to show correct allowed install options (#17586) (bb70fda)
- Fixed click's deprecation warnings (
__version__, click.MultiCommand) (37385bf)
WI-FI
- [WI-FI] Fixed documentation rendering of doxygen groups in esp_now.h (e113ecd)
- Supported ESP32-C5 cert test example. (b490bc0)
- Fixed country code PK miss 2.4G permission (419e91d)
- Set NVS default value for SAE identifier to NULL (5e48198)
- Added switch channel API and remain on channel API for ESPNOW (d14ce1f)
- Added second channel field in
wifi_action_tx_req_tstructure. (d14ce1f)
MAC
- Fixed some wifi bugs related to AMPDU (e8b9854)
- Fixed Wi-Fi can not send OMC (e8b9854)
- Added the termination dialog token in case of ASAP FTM (cc569cb)
- Fixed FTM status 5 fail issue on ESP32C5 (4cf811f)
- Avoided disconnecting with connected AP/STA when switching to a new band mode that includes the current one (45d4989)
- Fixed the crash issue when sending sleep NULL (45d4989)
- Fixed the issue that use LR protocol on 5G band when 2.4G band setting LR protocol (45d4989)
- Fixed wrong setting of AID (4483e26)
- Fixed get wrong channel number when policy is auto (4483e26)
- Fixed TWT not closed in suspend state when wifi disconnected (4483e26)
- Fixed fragment issue with WPA TKIP encryption. (bf7a786)
- Fixed esp32 MAC deinit stuck issue. (bf7a786)
- Fixed the crash issue when using ESPNOW off channel tx (3154f66)
- Added scan stop when user call smartconfig stop (3154f66)
- Fixed PTK key memory leak on deinit. (96564a5)
- Fixed NAN API return status and NDP Peer inactivity detection (313903c)
- Fixed scan done event miss issue (207ad39)
- Corrected the 'wifi_auth_mode_t' type sent during 'WIFI_EVENT_STA_CONNECTED' event (4f52b60)
- Fixed beacon timeout when TWT setup (4f52b60)
- Fixed perform active scan on DFS channel (4f52b60)