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

latest release: v5.2.4
3 days ago

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

ESP-IDF v5.1.6 is a bugfix update for ESP-IDF v5.1.

Obtaining v5.1.6

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

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

Using git

To get this release, use the following commands:

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

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

Download an archive with submodules included

Attached to this release is an esp-idf-v5.1.6.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

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

Major changes

This is the list of changes since release v5.1.5:

Major Features

  • Supported ESP32-H2 revision v1.2 (4609ec4)
  • Increased ESP32-C2 maximum version to v2.99 (b5ca10d)

Breaking Changes

  • SPI Flash: Removed auto suspend support for XMC-C flash series (5b6aa19)
  • SPI Flash: Removed XMC-C suspend support because there is risk that erase operation might never finishes (5b6aa19)
  • For ESP32-C6, to continue to use RC32K clock as the RTC slow clock source now requires to select RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED Kconfig first; For ESP32-H2, this option is completely removed. (fd3da18)
  • Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. (fd3da18)
  • MbedTLS: MbedTLS option MBEDTLS_ECP_FIXED_POINT_OPTIM is disabled by default to save significant (approx. 27 kB) flash footprint. This allows easier migration from IDF 4.x to 5.x release. If the performance is desired and ECC accelerator is not available then the config can be turned on. (289ffe7)
  • MbedTLS: Support for SHA3 operations is now configurable and disabled by default to save flash size. The config can be enabled if an application needs to perform SHA3 operations. (289ffe7)

Changelog

802.15.4

802.15.4 MAC

Added

  • Set 802.15.4 energy scan duration before cca (0192db5)
  • Supported IEEE802.15.4 ISR callbacks registration feature (4a83e6b)
  • Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels (d326f02)
  • Supported rx buffer and txrx statistics in 802.15.4 debugging mode (50b36ec)
  • Supported configuring 15.4 PTI at runtime (515b025)
  • Supported setting/getting ACK timeout APIs (f032c5c)

Fixed

  • Returned ESP_FAIL if enh-ack generating logic was not implemented. (cd50023)

Thread

Added

  • Added an API to to set RCP version string (822764f)
  • Supported hardware reset RCP while processing RCP failure for the example ot_br (026d8ae)
  • Added Thread connect support in protocol_common component (79f444f)
  • Supported otPlatRadioGetPreferredChannelMask, added a configuration to set the preferred channel mask. (d326f02)
  • Added set dns server address API for Thread network interface (cc58cf3)
  • Supported custom header file for openthread configuration (a355efb)
  • Supported RCP compatibility mismatch error handler (7805969)
  • Supported to allocate NAT64 session from PSRAM (7805969)
  • Enabled bbr feature to support multicast by default (7805969)
  • Supported modifying port and txt in SRP server (7805969)
  • Enabled vendor hooks for rcp operating in spi mode (954f6ba)
  • Supported Thread Radio Encapsulation Link (TREL) feature (954f6ba)
  • Added OpenThread dataset changed event (122462f)

Changed

  • Updated openthread submodule (005c5ce) (7805969)
  • Replaced NETCONN_EXT_RESOLVE_HOOK with DNS_EXT_RESOLVE_HOOK to support more application layer protocols (06efbee)

Fixed

  • Fixed the issue of incorrect duration and channel configuration in otPlatRadioEnergyScan calls (740de14)
  • Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly (7805969)
  • Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (cc58cf3)
  • Fixed SRP server to support zero number of subtype item when updating service (bd5e1c3)

Zigbee

Changed

  • Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (bdc59fc)
  • Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (bdc59fc)

Removed

  • Removed the esp_zigbee_rcp example (bdc59fc)

Application Utilities

Fixed

  • ESP HTTP Client: Fixed connection close condition check for a case where no explicit errno is set (#14724) (6bca6f4)
  • ESP HTTP Server: Updated logic to enforce HTTP/1.0 or HTTP/1.1, no longer supporting other versions (#14723) (ed5f875 & c1931f0)
  • Provisioning: Fixed hostname resolving for IPv6-only host (937d309)

Bluetooth Low Energy (BLE)

Added

  • Documentation: Added Bluetooth SIG Qualification information to API Guides. (c08c117)
  • Documentation: Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (0f1400b)

Fixed

  • Fixed crash in BLE HID host example during logging (e423469)

Bluetooth Low Energy Controller

Added

  • Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (e77ee13)
  • Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32. (15fb892)
  • Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32. (15fb892)
  • Supported using external 32k oscillator as Bluetooth sleep clock on ESP32, ESP32-C3 and ESP32-S3. (de8cdc5)
  • Added support for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (f068192)
  • Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (90b1dbb)
  • Supported resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (b33c50d)
  • Added parameter validation when enabling Periodic Advertising on ESP32-C3 and ESP32-S3. (b33c50d)
  • Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32-C3 and ESP32-S3. (3f87a40)
  • Supported for putting code in flash on ESP32-C2 (febfdf6)
  • Supported for putting BLE code into flash on ESP32-C6 and ESP32-H2. (40fe9c1)
  • Provided DTM configuration command in HCI example for ESP32-C2, ESP32-C6 and ESP32-H2. (b370b75)

Changed

  • Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (40fe9c1)

Fixed

  • Fixed occasional connection supervision timeout when coexisting with WiFi and light sleep enabled on ESP32-C6 and ESP32-H2. (2d6c938)
  • Fixed an occasional issue where BLE fails to send ADV packeting when Wi-Fi keeps scanning in the coexistence scenario on ESP32-C6. (f604a60)
  • Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (e77ee13)
  • Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (e77ee13)
  • Removed BLE creating connection assertion when the connection already exists on ESP32. (8cee3e3)
  • Fixed the issue where the BLE connection can't be established when initiating and advertising coexist on ESP32. (15fb892)
  • Fixed assert in ke_mem.c at line 409 when controller resets on ESP32. (15fb892)
  • Fixed the issue where SCAN could not be reset when the Controller was reset during scanning on ESP32. (626d642)
  • Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (b33c50d)
  • Resolved assertion failure "assert lld_scan.c 1728, param 00000000 00000000" on ESP32-C3 and ESP32-S3. (b33c50d)
  • Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (b33c50d)
  • Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (b33c50d)
  • Fixed that the resolvable private address does not change when light sleep is enabled on ESP32-C3 and ESP32-S3 (90b1dbb)
  • Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (90b1dbb)
  • Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (eb935a2)
  • Fixed btdm_sleep_clock_sync timeout when exiting sleep on ESP32-C3 and ESP32-S3. (3f87a40)
  • Fixed extended connectable advertising data length check on ESP32-C3 and ESP32-S3. (ed06d92)
  • Fixed early wake-up during light sleep when using the RC oscillator on ESP32-C3 and ESP32-S3. (2627e8b)
  • Fixed BLE TX power retrieval failure on ESP32-C3 and ESP32-S3. (2627e8b)
  • Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (9ed0dac)
  • Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (9ed0dac)
  • Fixed an occasional WDT issue with long running time on ESP32-C2. (9ed0dac)
  • Fixed an issue where the default TX power of connection is incorrect after setting the scan TX power on ESP32-C2. (9ed0dac)
  • Fixed a occasional WDT issue in multi-connection scenarios on ESP32-C6. (2928d40)
  • Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (2928d40)
  • Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (43e4dd5)
  • Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (43e4dd5)
  • Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (43e4dd5)
  • Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (40fe9c1)
  • Fixed an issue where the default TX power of connection is incorrect after setting the scan TX power on ESP32-C6 and ESP32-H2. (40fe9c1)
  • Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (40fe9c1)
  • Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (40fe9c1)
  • Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (40fe9c1)
  • Fixed occasional crash issue in low memory scenarios on ESP32C6 and ESP32H2. (287e712)

ESP Bluedroid Host

Added

  • Added BLE get started examples for Bluedroid. (58e0766)
  • Added config for saving BLE bonding keys to NVS flash. (85df8b0)
  • Added BLE 5.0 throughput examples. (aacce66)
  • Added API to set BLE supported channel selection algorithm. (c17d169)

Changed

  • Refactored the print for gatt_server and gatt_client example. (588bb93)
  • Refactored the print for BLE examples. (588bb93)
  • Optimized the references to BLE GATT related APIs. (c2fde43)

Fixed

  • Fixed the issue where the BLE channel selection algorithm event was not reported. (b098ced)
  • Fixed event reporting upon completion of preferred connection parameter settings. (b098ced)
  • Fixed BLE create connection fail because of invalid own address type. (f639dcc)
  • Fixed Classic Bluetooth build failure when enabling dynamic memory and disable BLE (78fc88d)
  • Fixed BLE build failure when enabling dynamic memory with BLE 5.0 (26dabfd)
  • Fixed crash issue in BLE SMP when a disconnection process is ongoing (192f3c1)
  • Fixed error when writing Client Supported Features characteristic. (987a61f)
  • Fixed BLE handle check for GATT API. (f25e272)

ESP NimBLE Host

Added

  • Added ATT Tx queue cleanup during link disconnection (df8a095)
  • Added a new check for invalid offset (5746b00)
  • Added support for Multiple Variable Length Notifications. (5971420)
  • Added support for Multiple EATT bearers. (5971420)
  • Added support of LE GATT Security Level Characteristic (5971420)
  • Added a menuconfig option to enable SC only mode. (5971420)
  • Added support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (5971420)
  • Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (5971420)
  • Added menuconfig option to enable L2CAP Enhanced COC (5971420)
  • Added support for PAwR feature (5971420)
  • Added host configuration to enable/disable SC Only mode (5971420)
  • Implemented a function for printing HCI error definition (bd2e471)

Changed

  • Updated the set_data_len API to use the correct parameter when BLE 5.0 support is disabled (4f21e5b)
  • Changes done to assign correct peer OTA address type (5746b00)

Fixed

  • Corrected storing method of csfc to nvs (7b4e90d)
  • Resolved a compilation issue when combining Extended Advertising with the Reattempt Connection flag (1f9bf6d)
  • Fixed compilation issues when BLE_MAX_STORE_BOND is set to 0. (#14712) (bdb5033)
  • Addressed a memory leak issue in BluFi Example (5746b00)
  • Replaced esp_rom_printf with ESP_LOGI for memory allocation failure logs (e4e56f0)
  • Corrected link_estab event handling parameters (ff0826a)
  • Fixed issue with Device Information, Battery Level service and Scan Parameters (5971420)
  • Fixed issue in L2CAP regarding incorrect comparison between SDU length and MTU/MPS (5971420)
  • Added a fix to clear IRK from controller when clearing keys from NVS during signed write operation (5971420)
  • Fixed memory issue in multiple L2CAP COC connections. (5971420)
  • Fixed issues in connection subrating request. (5971420)
  • Fixed crash issue in read multiple variable length callback (5971420)
  • Added fixes for CVE-2024-(47248/47249/47250/51569) vulnerabilities for nimble (ddf1949)
  • Fixed compilation issue in esp_hid_host example (77a3025)
  • Replace ESP_LOG* with esp_rom_printf in controller context callback (6052f46)
  • Resolved a watchdog trigger caused by excessive memory usage prints (a7855d3)
  • Improved NimBLE error logs for memory overflow/failure cases (97e4f3c)
  • Fixed the sequence of LL and host transport init (320096d)

BluFi

Fixed

  • Fixed potential out-of-bounds memory access issue in Blufi example. (c48ebdd)
  • Fixed crash issue during memcpy in example. (a62e0e7)
  • Fixed crash issue in Blufi example during prepare write operation. (620ec85)
  • Fixed Blufi initialization failure after deinitialization on ESP32 (#14898). (e423469)
  • Enhanced security in BLUFI example. (d57745b)

Bluetooth Common

Added

  • Added support for converting BT HCI logs to btsnoop format. (e423469)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Added HFP callback event for notification of profile ON/OFF state (3e1ecc4)

Fixed

  • Fixed access NULL in HFP callback handler. (ec07ca5)
  • Fixed the incorrect UUID obtained at the application layer due to byte alignment issues (763ef6b)
  • Disconnect SDP connection on receiving incorrect response or the ACL connection will never be released(345693c)
  • Fixed AVRCP compatibility issue on absolute volume synchronization (ce2f2d7)
  • Fixed the issue that AT commands transmission will not exit current sniff mode by modify power management configuration lookup tables (9480f89)
  • Fixed memory leak for synchronous data queue when disabling Bluedroid (2b5b526)

Classic Bluetooth Controller

Fixed

  • Added the check of the range of LAP in HCI_Periodic_Inquiry_Mode command handler on ESP32 (9439479)
  • Fixed missing of critical protections on linked-list structure of (e)SCO buffers on ESP32 (8034b50)
  • Fixed missing of critical protection for the free method of (e)SCO buffers on ESP32 (ea5c51c)
  • 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 (3891314)
  • Fixed the issue where the pause and resume encryption requests were not initiated after the link key upgrade completion on ESP32 (3891314)
  • Fixed zero attempt value set by role switch which cause fatal hardware error on ESP32 (ea5c51c)
  • Fixed duplicated encryption restart process when new lk type is semi-permanent key on ESP32 (ea5c51c)
  • Fixed the issue where HCI_Encryption_Change was not reported to host after changing the key type, even when the encryption mode was correctly changed via HCI_Set_Connection_Encryption command on ESP32 (ea5c51c)
  • 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. (07821e8)
  • Fixed crash upon name request from peer device without setting local device name on ESP32 (15fb892)
  • Set the QoS value to the minimum value if the calculated QoS is less than the minimum on ESP32 (15fb892)
  • Fixed access of NULL pointer in the (e)SCO frame end ISR after the SCO link is disconnected on ESP32 (9439479)
  • Fixed the wrong logic in the key exchange when LMP transaction collision occurred (9439479)
  • Fixed the using of wrong error codes in the transaction collision of role switch (9439479)
  • Removed an improper assertion statement in SCO module (9439479)

PHY

Added

  • Supported PHY changes for ESP32-H2 ECO5 (a2d03a1)

Wi-Fi

Fixed

  • Fixed configuration related to SPIRAM_IGNORE_NOTFOUND (6ee30b3)
  • Fixed potential crashes in WiFi-netif APIs from invalid arguments (#8702) (1fd224d)
  • Fixed the STA TBTT interval update error when AP's beacon interval changed (#14720) (76d4410)
  • Fixed the issue that default wifi_config.ap.sae_pwe_h2e is not correct (9052a0e)
  • Prevented compilation of Wi-Fi-related components when Wi-Fi is not supported (8c1e948)
  • Fixed the issue of inaccurate calibration warning information (#14963). (55c50d6)
  • Fixed the issue of Blufi fail to connect to WPA or WEP routers. (55c50d6)

Wi-Fi MAC

Added

  • Added protect for SoftAP when sending management frame to stations which are not connected (4f9120c)
  • Added a parameter to enable or disable sending QoS NULL to keep live during TWT (024c6de)

Changed

  • Improved internal error propagation in esp_wifi_set_mode API (263a3ed)
  • Changed SoftAP default dtim_period to 1 (6ee30b3)

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 (546a8c8)
  • Fixed the issue that STA fail to connect to a shared WEP AP. (508df00)
  • Fixed ESP32-C6 max_idle period is 1 cause watchdog issue (5fc64fb)
  • Fixed incorrect ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME (b6399a3)
  • Fixed the issue that the STA could not connect to AP due to authentication timeout after association was refused temporarily by certain APs. (41a885b)
  • Fixed the issue where SoftAP has rebooted but the connected station did not disconnect. (41a885b)
  • Fixed the issue that SoftAP would receive non-authed associate request (4f9120c)
  • Fixed wrong reason code in some cases for 'WIFI_EVENT_AP_STADISCONNECTED' event when PMF (Protected Management Frame ) enabled (bb48bfb)
  • Prevented the use of incorrect channel list during simultaneous scans. (7f13f06)
  • Fixed crash when station issues disconnect during connection establishment and 'failure_retry_cnt' is set in station configuration (381b01d)
  • Fixed the issue that STA connects twice simultaneously. (0dbc947)
  • Fixed the issue that STA fail to sleep when connecting to connected AP. (0dbc947)
  • Fixed the issue that association failed In WPA3 encryption mode. (0dbc947)
  • Fixed wrong reason code when SoftAP application issues a disconnect for station (8a8f21e)
  • 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). (39fe106)

ESP-WIFI-MESH

Fixed

  • Enlarged the mesh TX task stack (76d4410)
  • Fixed the delete group id error in Wi-Fi mesh (#14735) (76d4410)
  • Fixed the mesh connection failure in WPA3 mode after erasing flash (#14095) (9052a0e)

Wi-Fi Supplicant

Added

  • Added a check on hostapd instance while handling an Auth frame (648ff3c)
  • Added support for SAE rejected groups (efa4a3a)

Fixed

  • Enabled EAP workarounds by default (b9a77ef)
  • Fixed associate reject after WPS session (174aa79)
  • Fixed security vulnerabilities related to SAE rejected groups (efa4a3a)
  • Fixed the issue where supplicant deinitialization may miss the internal WAPI deinitialization. (dbab329)

ESP Vendor Feature

Added

  • Supported esp_wifi_80211_tx() using 11ax rate to send (8c1e948)
  • The AES IV can be random value for ESPTouch v2 (58b9f28)
  • Added type check in ESP-NOW (76d4410)

Coexistence

Added

  • Supported lower coexistence power consumption when Wi-Fi is disconnected from AP (7ac7939)
  • Supported Wi-Fi to wakeup by listen interval/DTIM period when coexisting with BT init only (7ac7939)

Changed

  • Updated coexistence power management period when Wi-Fi ps type being changed (b6399a3)

Fixed

  • Fixed the issue that data packets take several seconds to be sent when coexisting with BLE start and stop scenarios. (0dbc947)
  • Fixed the issue that multicast packet loss when listen interval is not equal to 1 in coexistence scenarios. (0dbc947)
  • Fixed external coexistence build fail issue. (aeff127)
  • Fixed the issue of ESP32-C6 enable external coexist failure when enable power management for station when disconnected. (7ac7939)

Security

Added

  • Flash Encryption: Support XTS-AES pseudo round function on ESP32-H2 chip version v1.2 (c3611f7)
  • MbedTLS: Support AES pseudo round function on ESP32-H2 chip version v1.2 (c3611f7)

Changed

  • MbedTLS: updated the MbedTLS version to 3.6.2 (7a518ed)

Fixed

  • MbedTLS: Reduced application binary size by disabling the mbedtls options MBEDTLS_ECP_FIXED_POINT_OPTIM and MBEDTLS_SHA3_C by default. (289ffe7)

Peripheral Drivers

Added

  • SPI: Supported master sample point adjust using spi_device_interface_config_t::sample_point on ESP32-H2 v1.2 and later. (b25bf99)
  • MCPWM: Added description of special dead-time configurations and added checking in the driver (#14773) (9305e55)
  • RMT: Added a function to return the real clock resolution of a channel (#15074) (cb1f878)

Changed

  • UART: Changed UART VFS read() function to directly return the available bytes, instead of waiting for more bytes to reach the requested size (0d4bc85)
  • UART: Changed UART VFS read() to treat end-of-line characters as regular bytes, with no early return (#14155) (0d4bc85)
  • I2S: Refactored I2S example common dependencies, make them an example common component (#14751) (2249f2c)
  • SDMMC: Improved initialization of SD card relative address (RCA). (d4eca53)

Fixed

  • ADC: Fixed the issue that adc_cali_check_scheme returns wrong supported scheme ESP32-C2/ESP32-H2/ESP32-C6 (11608b1)
  • GPIO: Patched the esp_rom_gpio_connect_out_signal function on ESP32 and ESP32-S2 to avoid potential output glitch (#12826) (16b622b)(e79c1ea)
  • GPIO: Fixed GPIO reserves 8 data lines while connected to Quad Flash on ESP32-S3 (1f022e2)
  • GPTimer: Fixed race condition between gptimer_start and gptimer_stop (#14767) (3a7cc46)
  • I2S: Fixed incorrect DMA buf size calculation for 8-bit & 24-bit data width. (2249f2c)
  • 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). (2249f2c)
  • 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. (2249f2c)
  • I2S: Fixed I2S sample rate can occasionally be half of the configuration. (a2704f5)
  • LEDC: Fixed the issue that ledc_get_freq returned error frequency due to calculation overflow (#14882) (f54616a)
  • MCPWM: Fixed memory leak when power management is enabled (a915313)
  • MCPWM: Fixed pm_lock not being created when initializing capture timers on ESP32-C6/H2 (a915313)
  • RMT: Fixed the channel resolution divider rounding issue (#15092) (5cd2c27)
  • SPI: Fixed slave rx buffer overwrite when no DMA and configured trans_len don't match master trans_len. (#14462) (5cbd829)
  • SPI Flash: Fixed Cache states not recorded issue when using Flash no-OS APIs on ESP32-H2/C6 (c3b7a31)
  • TWAI: Fixed other node got BUS-OFF when TWAI init. (#14548) (e7fb729)
  • Temperature Sensor: Fixed the temperature sensor return wrong values ​​when ESP_WIFI_ENHANCED_LIGHT_SLEEP is enabled on ESP32-C6. (5c6a4ba)
  • UART: Eliminated glitch on TX at setup if TX signal is configured to be inverted (#14285) (16b622b)
  • UART: Fixed the slave setup mode in the modbus example (#14878) (9ee99a1)
  • USB Host: Fixed return value in the memory allocation failure case within usb_host_client_register (#14859) (5ee3b78)

Removed

  • I2S: Removed the least 2 slots limitation for the PCM short format in TDM mode (#14879) (2249f2c)

System Hardware

Added

  • Supported ESP32-H2 revision v1.2 (4609ec4)

Changed

  • Increased ESP32-C2 maximum version to v2.99 (b5ca10d)

Fixed

  • Postponed the time to turn CPU's PLL off in sleep process for ESP32-C6/ESP32-H2 (1cb4701)
  • rtc_clk_cpu_freq_set_xtal should always disables CPU's PLL, fixed the behavior for ESP32-C6/ESP32-H2 (c7ad441)
  • Fixed the issue that after OTA application changes the slow clock source, the modem module not work during lightsleep on ESP32-C6/ESP32-H2 (907337a)
  • Fixed the issue that after OTA application changes the slow clock source, the RTC slow clock is missing and causes a stuck at esp_restart on ESP32-C6/ESP32-H2/ESP32-P4. (3a24b91)
  • PSRAM: Fixed PSRAM heap registration when himem is used. (26bfbfa)
  • PSRAM: Fixed bad timing when reading mode registers on Octal and Hex PSRAMs (8b8f6d1)
  • PSRAM: Fixed ESP32 PICO-V3 PSRAM enabled but not ignored issue (#14970) (08e6ef4)

Core System

Fixed

  • Corrected the address used to fetch the application image header during system startup (9e1474b)
  • Console: Fixed crash when enable USB-Serial-JTAG as the primary console in esp32c3 ECO7 (v1.1) (56aae01)

Debugging

Changed

Fixed

  • Apptrace: Fixed the issue where the Segger SystemView app (v3.10 or later) gets stuck during the record analyzing step. (#10483) (f2a0d61)
  • Core Dump: Fixed potential checksum errors by using a buffer to write to flash. (5b15425)

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. (bb97baa)
  • Fixed an SMP unsafe race condition in xStreamBufferSend() leading to a crash in xTaskNotify(). (21fbcea)
  • Fixed an SMP unsafe race condition in xStreamBufferReceive() leading to a crash in xTaskNotify(). (0270cb0)
  • IDF Additions: Fixed a bug wherein a no-split ring buffer does not receive any item if space on the buffer is acquired until the buffer is full and the acquire pointer wraps around (#14948) (e5d9f16)

Low Power Features

Power Management

Added

  • Supported to query PHY RF used time. (306a587)

Changed

  • Improved esp_timer timing accuracy after light sleep is rejected (9ede3c8)

Fixed

  • Fixed possible low internal voltage and load capacity on ESP32-H2. (853b8c7)
  • Fixed the crash of esp_pm auto light sleep when PM_TRACE is enabled. (6e9e617)
  • Fixed BB PLL calibration fail bug under low temp on ESP32-H2. (7312ba8)
  • Fixed a deadlock that occurred when a high-priority task and a low-priority task changed PM mode at the same time (fdd8d59)
  • Fixed CPU switch fail due to BB PLL calibration fail bug under low temp on ESP32-H2 (9a80fa7)

Removed

  • Removed the dependence of PM_SLP_IRAM_OPT (64849cb)

ULP

Changed

  • ULP: Optimized ESP32-C6 LP-CPU power consumption in deepsleep (aacc60d)

Fixed

  • ULP: Fixed the issue that RISC-V type ULP contains redundant GPIO definition which causes compilation failure (#14437) (a0079d0)

LWIP

Added

  • Added a hook for DNS external resolving with resolved callback (5e0d0a8)

Changed

  • TCP: Updated mechanism to recycle PCBs also in FIN_WAIT_1 and FIN_WAIT_2 states (2f9661b)
  • Changed the default IPv6 input hook to drop all IPv6 packets if the input network interface has no link local address assigned. (fb83a5e)

Fixed

  • Fixed a bug in dns_clear_cache() that caused deadlock by clearing active DNS entries (#14287). (2f9661b)
  • Fixed IPv6 raw socket ICMPv6 checksum calculation in IPv6-only configuration (2f9661b)
  • IPv6: Fixed for replying the NS without source link-layer address option (2f9661b)
  • TCP: Fixed unlimited PCB issue, allowing application to allocate more TCP connections than configured (#9670) (2f9661b)

TCP Transport

Fixed

  • Fixed partial reads of Websocket header (#14704, #14706) (ccaff0a)
  • Fixed potential memory corruption on Websocket connection while reading more data then allocated (#14473) (a068fdd)

Storage

Added

  • LittleFS: Added support for LittleFS image generation on Windows (#12900) (2a815c8)
  • NVS: Added sanity checks of NVS entry header (6b51d36)
  • NVS: Added host tests of damaged NVS entry header with correct crc (6b51d36)

Fixed

  • VFS: Fixed incorrect level of log messages (#14327) (a8c6894)
  • VFS: Fixed incorrect open and close behavior for /dev/console (be5bf51)

Tools

Changed

  • idf_tools.py: pip and setuptools are upgraded separately so the setuptools version dependency would be handled by the upgraded pip (e7303ce)
  • Changed downloaded file format from .zip to .tar.gz of the ninja build tool (#14633) (0c53e6d)

Fixed

  • Displayed additional details if imports in idf.py are unsuccessful (320626a)
  • Fixed default SORT flag usage in linker mapping fragment (927a5ed)
  • Printed message about GDBGUI being not supported with Python 3.13 (05a0f5e)

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.