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

latest releases: v5.4-dev, v5.2.1, v4.4.7...
2 months ago

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

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

Obtaining v5.1.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.1.3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1.3
cd esp-idf-v5.1.3/

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

Download an archive with submodules included

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

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

Major changes

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

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame. (81ee463)

Changelog

802.15.4

802.15.4 MAC

Added

  • Introduced the feature of received done handler (47c8944)
  • Supported IEEE802.15.4 MAC deinit (d09d7bb)
  • Supported packets statistic of IEEE802.15.4 (f922e43)
  • Added the pending tx while rx feature (15a392c)

Changed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame. (0b28bdb)

Fixed

  • Fixed pending tx will be delayed issue (eb4fa72)
  • Fixed the issue of not receiving packets when RSSI is positive in ESP32-H2. (db1e54a)

Thread

Added

  • Add deep sleep support for SED. (ecbbd3c)
  • Added netif check when calling udp api (f922e43)
  • Supported rcp re-initialization. (f922e43)
  • Added ESP Radio spinel for external protocol stack (15a392c)
  • Added ESP OpenThread vendor commands support (15a392c)
  • Added configure option for openthread address query (15a392c)
  • Supported the common console command in OT CLI (15a392c)
  • Supported openthread radio caps rx on when idle (15a392c)
  • Supported setting netif_idx of udp pcb to no_index when binding UDP PCB to netif (f922e43)

Changed

  • Updated OpenThread upstream to 456c448 (d117ae0)
  • Updated SRP server update response error code (f922e43)
  • Disabled the rx on when idle in coex scenario (5c74483)
  • Enabled uart ISR in IRAM for UART RCP process (ff1fd81)

Fixed

  • Fixed eventfd missing issue when SPI interface is enabled (46d52c8)
  • Actively set raw pcb ttl value to 255 for icmpv6 message of border router (575af15)
  • Fixed frequent tx timeout && RCP recover issue when using SPI radio (f922e43)
  • Fixed ot netif destroy netif order issue (f922e43)
  • Fixed checking the lifetime value before calling sys_timeout (f922e43)
  • Fixed filter the zero-length prefix when adding router table (f922e43)
  • Moved router entry pointer in timeout handler (f922e43)
  • Added parsing when txt entry key pointer is NULL (f922e43)
  • Fixed RCP handle timeout crashing issue (d117ae0)
  • Fixed RCP handle timeout crashing issue (eb4fa72)
  • Enabled uart ISR in IRAM for UART RCP process (eb4fa72)
  • Disabled the rx on when idle in coex scenario (eb4fa72)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 (0b28bdb)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added support for selecting whether to use CSA#2 through the configured option on ESP32-C2, ESP32-C6 and ESP32-H2. (6deb0ae)
  • Added support for ESP32-C3 ECO7 BLE (d51b712)
  • Supported clear BLE legacy advertising on ESP32. (4023a22)
  • Supported clear BLE legacy advertising on ESP32-C3 and ESP32-S3. (4023a22)
  • Added config to enable HW recorrect eco on ESP32-C3 and ESP32-S3 (c467750)
  • Added BLE mesh advertising types for exception list on ESP32-C3 and ESP32-S3 (c467750)
  • Added BLE mesh advertising types for exception list on ESP32 (c467750)
  • Support enable advertising packet when extend advertising data length is zero on ESP32-C3 and ESP32-S3(4fd3de1)

Changed

  • Modify mesh proxy solic uuid to 0x18590303 on ESP32. (4023a22)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32-C3 and ESP32-S3 (c467750)

Fixed

  • Fixed BLE recorrect enable bug on ESP32-C3 and ESP32-S3 (ddd142e)
  • Fixed BLE bb isr is enabled by default on ESP32-C3 and ESP32-S3 (ddd142e)
  • Fixed an assertion issue when stopping periodic adv if the extended adv data is longer than 228 bytes and the periodic adv is enabled after extended adv on ESP32-C6 and ESP32-H2.. (d24b321)
  • Fixed the crash issue of deinitializing controller when the controller is busy on ESP32-C2. (6deb0ae)
  • Fixed occasional enter sleep failure during scan and connection on ESP32-C2. (6deb0ae)
  • Fixed occasional MIC error during multiple concurrent connections on ESP32-C6 and ESP32-H2. (6deb0ae)
  • Fixed the issue of the slave waiting for response timeout in the indication procedure when the device is in multi-connection on ESP32-C6 and ESP32-H2. (6deb0ae)
  • Fixed assert when BLE disconnect due to instant passed on ESP32-C3 and ESP32-S3. (c6a9a06)
  • Fixed add(remove) RPA to(from) white list on ESP32-C3 and ESP32-S3. (c6a9a06)
  • Fixed AES encryption for RPA resolution on ESP32-C3 and ESP32-S3. (c6a9a06)
  • Fixed assert when BLE disconnect due to instant passed on ESP32. (c6a9a06)
  • Fixed scan event timeout on ESP32. (c6a9a06)
  • Fixed random address setting when scanning on ESP32. (c6a9a06)
  • Fixed the issue that failed to establish synchronization with periodic advertising when coexisted with the connection on ESP32-C2. (5bd0ae4)
  • Fixed the occasional issue of being unable to receive packets on ESP32-C2. (80b6128)
  • Fixed extended adv tx issue when connection and adv coexist on ESP32C2. (80b6128)
  • Fixed BLE occasional connection timeout after connection params update process on ESP32C6, ESP32H2 and ESP32C2. (80b6128)
  • Fixed BLE occasional wakeup failure from light sleep when restarting scan and updating connection params on ESP32-C6 and ESP32-H2. (80b6128)
  • Fixed BLE bugs in setting advertising data and scan response data on ESP32-C3 and ESP32-S3. (4023a22)
  • Fixed power state setting when entering modem sleep on ESP32-C3 and ESP32-S3. (4023a22)
  • Fixed DTM payload length cannot be 0 on ESP32-C3 and ESP32-S3 (c467750)
  • Report the number of packets sent on the TX end on ESP32-C3 and ESP32-S3 (c467750)
  • Fixed resolvable private address renew after timeout on ESP32-C3 and ESP32-S3 (c467750)
  • Fixed address resolution for directed advertising when scanning on ESP32-C3 and ESP32-S3 (c467750)
  • Fixed extended advertising address setting after advertising restart on ESP32-C3 and ESP32-S3 (c467750)
  • Fixed memory leak in BLE controller after enabling CONFIG_MAC_BB_PD on ESP32-C3 and ESP32-S3. (9043501)
  • Fixed the assertion of get_rxed_buffer() when the host task is blocked for a long time on ESP32-C6 and ESP32-H2. (71dfc32)
  • Fixed the issue of losing a packet during the 1M DTM Rx process on ESP32-H2. (71dfc32)
  • Fixed the occasional cache error issue when sleep is enabled on ESP32-C6 and ESP32-H2. (71dfc32)
  • Fixed BLE scan request IFS time error in coexistence scenarios on ESP32 (7011329)
  • Fixed the issue of releasing memory improperly when the controller is de-initialized after scanning on ESP32-C6 and ESP32-H2. (899b216)
  • Fixed interrupt timeout issue after enabling CONFIG_MAC_BB_PD on ESP32-C3 and ESP32-S3 (214a4d7)
  • Fixed the assertion in memory check when the host processing is too slow on ESP32-C6 and ESP32-H2. (931eaf7)
  • Fixed the occasional assertion of rxbuffer_free_all on ESP32-C6 and ESP32-H2. (d922d41)

ESP Bluedroid Host

Added

  • Added API to clear BLE legacy advertising. (4023a22)
  • Supported BLE sync create with reporting initially enabled(disabled) and duplicate filtering initially enabled(disabled) (08d54a6)
  • Supported BLE GATTC notify registration number (8f4c9bd)
  • Supported control point in BLE hid example (8f4c9bd)
  • Added getter for BLE GATTC, GATTS and GAP calllback (4fd3de1)

Changed

  • Optimized the BT_GATTS_ROBUST_CACHING_ENABLED configuration option by disabling the GATT robust caching feature to avoid compatibility issues with the Windows operating system (0aed680)
  • Optimized BLE remove all bonded devices function (0aed680)
  • Optimized compatibility with IOS and MACOS devices (8f4c9bd)
  • Deleted one HID service to optimize compatibility with Android 10 and later devices (8f4c9bd)
  • Optimized BLE heap allocation to fix malloc fail in malloc_internal_wrapper (#12574) (4fd3de1)

Fixed

  • Fixed BLE Prepare Write Request timeout on Client Characteristic Configuration and Client Supported Features characteristic (8b84071)
  • Fixed Prepare Write out-of-bound memory write BLE for example (8b84071)
  • Fixed the BLE advertising and scan status after stop/start cycles of the host (fae6ce0)
  • Fixed the connection cannot be established after several stop/start cycles of the host (fae6ce0)
  • Fixed add RPA to white list. (c6a9a06)
  • Fixed BLE advertising scan response event type (7f63951)
  • Fixed BLE keysize check (7f63951)
  • Fixed BLE load bond information error after reboot (472718d)
  • Fixed deinit init BLE scan fail issue (0172c33)
  • Fixed encryption key size check in BLE SMP (8f4c9bd)
  • Fixed BLE advertising data check to avoid memory overflow (#12886) (e4ae078)
  • Fixed BLE memory leak when GATTC config off (7d45bbe)
  • Fixed BLE dangling pointer issue in deletion of bonded devices (4fd3de1)
  • Fixed background connection status log level when a bg connection is initiated or terminated (4fd3de1)

ESP NimBLE Host

Added

  • Added the tutorial for coc_bleprph example. (5709078)
  • Added Protocomm BLE Event Structure and Event Handling. (54e3737)
  • Added check to validate allowed random address (a08c557)
  • Added periodic_adv_enh SOC capabilities for ESP32-C2, ESP32-H2 (bbd8d13)
  • Added VSC to set the chan select algorithm to be used (c57b352)
  • Added Support for HID service. (3629f07)
  • Added NULL peer address check during connection initiation (36ca229)
  • Added change to return success for API execution in "ble_sm_inject_io" (8a6d244)
  • Added Current Time Service support. (820d4a9)
  • Added API to get controller's white list size. (e55ede5)
  • Added the tutorial for the bleprph example. (2a227b8)
  • Added support for VSC to clear legacy adv memory (0eec2b5)
  • NimBLE: Added connection reattempt in case of Ext connect. (9a85bb8)

Fixed

  • Fixed issue of enabling address resolution across reboot (d2c1fcf)
  • Handled race condition for conn elements being set to NULL (b929a14)
  • Handled all 0s address of controller during IRK generation. (04b6feb)
  • Fixed authcomplete failure due to mismatch in the c1 value. (694c9cc)
  • Handled the deletion of RPA mapping. (3ed9c70)
  • Fixed the parameters in duplicate exception list vsc command (4f16f20)
  • Use Unique local IRK for each chip. (3662303)
  • Handled deletion of IRK/LTK on basis of key availability. (4d88e7b)
  • Added change to initiate pairing when enc fails with key missing reason (443a612)
  • Fixed incorrect handling of bonded devices. (3b30594)
  • Handled the Load access fault crash caused due to an invalid setting of index-variable 'reattempt_idx' (81a4a86)
  • Handled invalid write on year value in Current Time Service (cda441f)
  • Fixed dangling pointer error during compilation (54a5d13)
  • Fixed ble_gap_unpair_oldest_peer to prevent writing to invalid memory (9e86352)
  • NimBLE: Fixed address resolution during inquiry for host based privacy. (9a85bb8)

Removed

  • Removed occurance of IRAM_ATTR from internal files. (9c5b538)
  • Removed non effective nimble example sdkconfig options. (ad11452)
  • Removed Menuconfig option BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM (8b6977b)
  • NimBLE: Removed unwanted assert. (9a85bb8)

ESP-BLE-MESH

Fixed

  • Reject node reset when provisioning link is active (29803d9)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Added dynamic memory allocation for HFP control blocks when HF_DYNAMIC_MEMORY is enabled (82bfc1d)
  • Added an API to set packet types for ACL-U traffic (4809110)
  • Added new API functions that can add 32 and 128-bit UUID to the EIR data (#11529) (00936f9)
  • Added integrity check of function arguments for some HFP AG APIs (2cc61ca)

Changed

  • Increase the stack size of write_read task in bt_spp_vfs_acceptor to fix the LoadProhibited error (5c61c89)
  • Limited the number of paired BT devices stored into NVS and remove the oldest exceeded device from NVS when loading bond list. (378bb1f)

Fixed

  • Avoided crash of LoadProhibited during HFP AG deinitialization by releasing the control block in the event of BTA_AG_DISABLE_EVT (82bfc1d)
  • Fixed event code definitions for HF Client callback events (82bfc1d)
  • Fixed the initial value of air mode for HFP AG (82bfc1d)
  • Disabled Sniff Subrating temporarily as it did not work well (82bfc1d)
  • Fixed the panic when the mutex created is enclosed by macro SMP_INCLUDE, but locked by functions beyond that macro (df8cc9a)
  • Fixed compilation error in the L2CAP and HF_AG module when compiler optimization level is optimize for performance (925e3e2)
  • Corrected the API documents of HFP AG (2cc61ca)
  • Fixed the crash of invalid access to released resources, which is caused by the delayed timer which is alarmed after esp_spp_deinit as all the control blocks have been already released (d5e87fe)
  • Fixed bug with zero handler return in btc_sdp.c (#11529) (00936f9)
  • Fixed build error when both of the HFP roles are enabled and also BT_BLE_DYNAMIC_ENV_MEMORY is set to true (55f5b42)
  • Replaced use of deprecated API "esp_hf_ag_devices_status_indchange" with esp_hf_ag_ciev_report in HFP AG example(894cf04)
  • Added support for build different roles in corresponding profile HID and HFP into a single binary (0f15eec)

Removed

  • Removed the unused code on parsing of commands in HF and AG examples. (894cf04)
  • Removed redundant operation during SCO link clean up in HF AG (82bfc1d)

Classic Bluetooth Controller

Fixed

  • Fixed the issue in failing to establish two SCO connections on ESP32 (9088450)
  • Fixed parameter check for HCI_Setup_Synchronous_Connection command. (c6a9a06)
  • Fixed parameter check for HCI_Set_Connectionless_Peripheral_Broadcast command. (c6a9a06)

Bluetooth Common

Bluedroid

Fixed

  • Increased default stack size of BTU task by 256 bytes to avoid stack overflow (276332f)
  • Fixed bluedroid host build warning when log is disabled (c467750)
  • Unify the process of loading bonded device during bluetooth initialization and update the newest active device when an new ACL link is established. (378bb1f)

Removed

Controller

Added

  • Added config to disable hci uart flow control on ESP32, ESP32-C3 and ESP32-S3 (c467750)
  • Enable pll track by default on ESP32 (c467750)

PHY

Fixed

  • Fixed BLE TX IFS time for ESP32 (4e8b573)
  • Fixed BLE 2M PHY TX problem causing by phy_wifi_enable_set() on ESP32-C3 and ESP32-S3 (7cbee80)
  • Fixed BLE CCA bug on ESP32-C2 (7cbee80)
  • Fixed wifi boot bug at low temp on ESP32-C6 (7cbee80)
  • Fixed BLE and Wi-Fi could not receive packets after entering light sleep for a long time on ESP32-C3, ESP32-S3, ESP32-C2 and ESP32-C6 (7cbee80)
  • Fix ESP32-H2 PHY sleep wakeup issue (47b44df)

Coexistence

Added

  • Added a notification when 802.15.4 is broken by coexistence. (f922e43)

Fixed

  • Fixed ESP32-C6 coexist reg reset issue (09c7104)
  • Fixed Menuconfig option BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM invisible on ESP32C3/S3 (8b6977b)
  • Fixed dependency errors of Menuconfig option BT_LE_COEX_PHY_CODED_TX_RX_TLIM on ESP32-C2/ESP32-C6/ESP32-H2 (8b6977b)

Wi-Fi

Added

  • Added new API to get one scan AP record (87cd764)

Fixed

  • Fixed the crash issue when clearing the scan AP list (87cd764)
  • Fixed the rate check error in fragment (b938ef0)
  • Fixed issue of station disconnecting immediately after scanning (1a6a941)
  • Solved the bug that Wi-Fi may not work for BBPLL not locked or not stable when open_rf & SW_RESET on ESP32-C2/ESP32-S3/ESP32-C6 (89cc908)

WiFi MAC

Added

  • Supported dump 802.11 ACK frame for CSI (efa71e8)
  • Supported ESP32-C3(v1.1) WiFi. (0489504)
  • Supported to adjust listen interval to DTIM period (0489504)
  • Supported to TX packet without wake null (0489504)
  • Supported fragment for LR mode (70f1bd5)

Changed

  • Optimized bin size for STA only mode (70f1bd5)
  • Changed fragment threshold to 256 (70f1bd5)

Fixed

  • Fixed issues with NAN service discovery and datapath (fb511f4)
  • Fixed crash while stopping NAN (453738c)
  • Fixed wifi scan fail after deinit/init (0172c33)
  • Fixed m f probe / m f null due to too many probe request / null data. (0489504)
  • Fixed connecting failure after disconnecting from AP (0489504)
  • Fixed esp32c6 rxctrl info is not correct (2c564d3)
  • Fixed itwt information frame format is incorrect (2c564d3)
  • Fixed the issue that STA with PMF disabled did not reject AP with PMF required (2c564d3)
  • Allowed some special invalid IGTK key index to workaround faulty APs. (2c564d3)
  • Fixed the issue that PSRAM enabled but failed to initialize (#11971) (2c564d3)
  • Added the missing header file to the wifi header files (2c564d3)
  • Fixed AMPDU duration issue (70f1bd5)
  • Fixed RX fragment fail in Open mode (70f1bd5)
  • Dropped fragmented aggregated packets CVE-2020-26142. (70f1bd5)
  • Fixed PMK invalid lead same SSID WPA and WPA2 connect fail issue (26bbec8)
  • Fixed the bug that when AP recv auth in SA query process will clear Power save queue by mistake which will cause memory leakage (766d26f)

ESP-WIFI-MESH

Changed

  • Updated comments in esp_mesh.h and esp_mesh_internal.h (2c564d3)

Fixed

  • Fixed the IE crypto disable error in manual_networking example (2c564d3)
  • Fixed the bug that station can't found AP when the authmode is WPA (87cd764)
  • Fixed wifi mode error when mesh start after station has connected to router (87cd764)
  • Fixed the crash issue when mesh deinit (766d26f)

Supplicant

Added

  • Added a 1s timeout for DPP authentication process and runs DPP callback with reason code ESP_ERR_DPP_AUTH_TIMEOUT upon timeout (54bce56)
  • Added return types for DPP APIs. (54bce56)

Fixed

  • Fixed memory leak in DPP deinit path (54bce56)
  • Fixed a crash when esp_wifi_wps_disable is attempted when WPS process is ongoing (54bce56)
  • Fixed WDT when esp_supp_dpp_start_listen is called multiple times. (54bce56)
  • Memzeroed wifi config before sending DPP config event. (ea081e0)

ESP Vendor Features

Changed

  • Updated the CSI RX callback function and CSI related doc (2c564d3)
  • Updated the ESP-NOW example for the recv callback function (5a128c1)

Ethernet

Added

  • Added reception of multicast frames for KSZ8851SNL. (3bcbbf1)
  • Added multiple attempts when autodetecting PHY address. (3bcbbf1)
  • Added option to read/write PHY registers via ioctl API (3bcbbf1)
  • Added extra delay after setting PHY speed for LAN87xx (3bcbbf1)
  • Abstraction of SPI driver for SPI Ethernet modules (24e4b87)

Changed

  • Made IEEE 802.3 Ethernet PHY API public (3bcbbf1)

Fixed

  • Fixed loopback configuration for supported Ethernet chips (3bcbbf1)
  • Fixed issue when APLL CLK was not released when deleting internal EMAC's driver. (3bcbbf1)
  • Fixed issue when speed could not be configured for DM9051 and KSZ80xx. (3bcbbf1)

Security

Fixed

  • Unconditionally program efuse ESP_EFUSE_ECDSA_FORCE_USE_HARDWARE_K bit for ECDSA peripheral (as a security measure) (514cd78)

Changed

  • Updated API esp_hmac_disable_jtag() to disable JTAG access correctly. (da47d4d)

Peripheral Drivers

Added

  • RMT: Support use rmt_receive in the ISR context. Add CONFIG_RMT_RECV_FUNC_IN_IRAM to control the placement of the rmt_receive function. (ceb0aec)
  • SPI LCD: Added flags to control the DC level in cmd/param/data phase separately (#12908) (a66693c)
  • ADC: Supported ADC calibration on ESP32-H2 (1b3713f)
  • GPIO: Add an API to dump IO configurations (#12176) (ddb6d22)
  • MCPWM: Support MCPWM generator actions triggered by fault and sync event (a32f0cf)
  • MCPWM: Support update timer period at runtime (efafaca)

Changed

  • UART: Improved the UART RX ring buffer space usage (#12386) (f735330)

Fixed

  • ADC: Fixed wrong results after ADC continuous mode stops and starts again on ESP32-C6/H2/S3/S2/C2 (5e29bd5)
  • ADC: Fixed ADC calibration error after waking up from light sleep on ESP32-H2 (8425cad)
  • ADC: Fixed ADC read zero caused by the delay of ADC read signal delay on ESP32-H2 (64e7343)
  • ADC: Fixed wrong ADC reading results caused by ADC and WiFi power conflict on ESP32-H2 (87f58d5)
  • ADC: Fixed ADC one-shot mode doesn't divide the source clk (37fd9f4)
  • LEDC: PWM duty cycle can achieve 100% in most circumstances (#11516, #12593) (6bc8a02)
  • LEDC: Fixed duty overflow when setting the duty cycle to 100% on ESP32 (#12083) (6bc8a02)
  • RMT: Fixed the issue that a stopped RMT TX channel can still pick up a pending transaction (ceb0aec)
  • SPI: Corrected macro REG_SPI_BASE(i) for all targets (#12559) (#12562) (eb7022d)
  • SPI: Fixed undesired configuration of the DMA (#12241) (93a6cb9)
  • SPI Flash: Fixed bootloader build issue on ESP32-S3 (#12850) (0854554)
  • USB Host: Loosened requirements on bInterval for INTR and ISOC endpoints. Large bInterval values will now be internally rounded down to 32. (5cf65ce)
  • USB Host: Fixed string descriptor fetching for non-compliant USB devices (5cf65ce)

Removed

  • ADC: Deprecated wrong name ADC_ATTEN_DB_11, now it's updated to ADC_ATTEN_DB_12. (d0f8428)

System Hardware

Added

  • Added config for using custom MAC as base MAC. (e0cd5b7)
  • Efuse: Added new eFuses for ESP32-H2 and ESP32-C6 (7f39afb)

Changed

  • Increased the maximum supported version of ESP32-C3 to v1.99 (b7834bd)
  • Improved voltage convergence of ESP32-H2 chips for better stability (7f39afb)
  • MSPI: Improved timing tuning stability on ESP32-S3 (89cc908)

Fixed

  • Memory: Fixed DROM_HIGH_ADDR for ESP32-S3 used in memory utils APIs. (fa73831)

Core System

Added

  • Heap: Added memory poisoning checks of used blocks when calling heap_caps_check_integrity_xx functions (#12231). (6836ffd)
  • Added support for console output over USB_OTG peripheral's CDC port. (#8879) (3ba5771)

Fixed

  • Fixed corrupted backtraces on ESP32-S3 when a ROM function was encountered (#11512) (40bea11)
  • Fixed a bug in esp_cpu_set_watchpoint() where a watchpoint on a range of addresses was improperly set on RISC-V targets. (5719d88)
  • BOD: Fixed RF cannot be enabled again after brownout triggered on C6/H2. (1b78d57)
  • Freertos: Fixed an issue where the FreeRTOS IDLE tasks for each core had the same task name. (#12204) (3d29672)

Debugging

Added

  • Added info whether the crash happened in an interrupt context or not. (c42c37a)
  • re-enable CONFIG_ESP_DEBUG_OCDAWARE functionality (2c77ccd)
  • Send panic reason string to the OpenOCD when the debugger is connected (2277c3c)

Fixed

  • Fixed compilation warning observed in espcoredump (#12318) (de81da8)

Low Power Features

Power Management

Added

  • Supported callback for light sleep (cee24a6)
  • Added EXT1_WAKEUP_MODE_PER_PIN description for ESP32-C6 and ESP32-H2 (ecbbd3c)
  • Added support EXT1_WAKEUP_MODE_PER_PIN for ESP32-C6 and ESP32-H2 (ecbbd3c)
  • Supported PMU trigger regdma when PU TOP in ESP32-H2 (aa2793f)

Fixed

  • Fixed the issue where esp32c6 Light sleep wakes up too quickly when Flash is turned off, causing Flash access timing errors (61a11a7)
  • Fixed the error of watchdog trigger when running Bluetooth/IEEE80215.4 with flash power down enabled (a8a3adc)
  • Fixed the problem of abnormal CPU frequency in ESP32-H2 after pd_top light sleep (e51e8a0)
  • Fixed the potential problem of ESP32-C6/ESP32-H2 deep sleep not being able to wake up. (dbc13bc)
  • Fixed lp_aon_ll_ext1_set_wakeup_pins function for ESP32-C6 and ESP32-H2 because it should not use '|=' to configure hardware (977098e)
  • Fixed psram access failed after CPU powerdowned light sleep wakeup if vfs console uses uart driver (b09e1d8)
  • Fixed the issue that not able to go to sleep again after waking up light sleep from ULP RISCV (e718b60)
  • Fixed current leakage on usb pad during lightsleep on ESP32-S2, ESP32-C3, ESP32-S3, ESP32-C6, ESP32-H2 (0e1ec38)
  • Fixed ESP32-C6 ADC CH1 sample issue caused by ext32k xtal (1ed4072)
  • Added mac/bb power down/up prepare for fixing ESP32-C6 PLL issue (e913228)
  • Deepsleep current may decrease about 0.2uA on ESP32-H2 (7f39afb)
  • Fixed a frequency switching issue on the ESP32 where the next systick timeout can be set too late, leading to a interrupt watchdog timeout. (e1b2579)

ULP

Fixed

  • ULP: Fixed ESP32-C6's LP_CPU not being able to go to sleep after halt and resulting in high power consumption problem. (#12651) (2c7d68d)

LWIP

Added

  • Added support to enforce Neighbor Advertisement (NA) router forwarding (54f2536)
  • Added config options for TCP out-of-order sequence buffers (2348a0a)
  • Added sbom description file for Software BOM (84cd6e8)
  • Added improvements and fixes to NAPT module (espressif/esp-lwip#43) (84cd6e8)

Changed

  • Examples: Updated and renamed default TCP/UDP buffer sizes in iperf (0f61bd2)
  • Updated TCP connection code to increase transmission timeout only if we're not opening a new connection (2348a0a)
  • Changed ip ttl value from 255 to 64. (c9f2c51)

Fixed

  • DHCP Server: Fixed esp_netif_dhcps_option() API to fail when setting incorrect subnet mask (if the subnet mask is different from the interface ip_info) (493ecf5)
  • DHCP Server: Fixed esp_netif_dhcps_option() to correctly restore default address pool (493ecf5)
  • ESP Netif: Fixed network interface list locking issue (#12261) (bc3a75d)

OTA

Fixed

  • App Update: Avoid erasing an extra sector than the actual required size (#12460) (72ce018)
  • Esp_Https_Ota: Fixed return code of esp_https_ota_finish API (c1eae4b)
  • Fixed preencrypted ota failed with pytest server and partial http enabled (3b1d428)
  • Fixed wrong debug print for ota upgrade size (4788804)

HTTP Client

Added

  • Added support to use ECDSA peripheral to use ECDSA key stored in efuse (ecd485b)

Fixed

  • Fixed issue while reading in async mode. (d15ef87)

HTTP Server

Fixed

  • Examples: Fixed potential memory leak/crash in when handling error condition (b38ee33)

Provisioning

Added

  • Protocomm: Added salt-verifier generation API in SRP6a implementation and make its interface public (d083a0e)

Fixed

  • Wifi Provisioning: Retry provisioning on WIFI_AUTH_EXPIRE event (b7db75e)

mbedTLS

Added

  • Supported ESP32-C2 mbedtls can use crypto algorithm in ROM. (822aa69)

Changed

  • Updated config to use MBEDTLS_SSL_CID_TLS1_3_PAD_GRANULARITY for CID padding (#12177) (24467cc)

Fixed

  • Allocate AES interrupt during AES operation initialization regardless of input buffer size. (4aa464a4)
  • Fixed enable dynamic mbedtls will occur heap corruption when server support TLS renegotiation. (a5e3e0b)

Bootloader

Fixed

ESP-TLS

Added

  • Added support to use ECDSA peripheral for a TLS connection (ecd485b)

Fixed

  • Fixed missing header files in esp_tls_errors.h header file (9f76b1a)

Storage

Added

  • VFS: Added VFS UART select callback in IRAM when UART ISR is placed in IRAM (3e04fba)

Fixed

  • Esp Partition: Exposed esp_partition_unload_all() function which unloads partitions at runtime (#12625) (a165b5c)
  • Fatfs: Fixed esp_vfs_fat_spiflash_format_rw_wl function always formatting the first partition (number 0) (#12542) (958d98c)
  • Fatfs: Fixed FATFS lock-up when trying to write to a read-only filesystem (#12052) (684a093)
  • fatfsparse.py: Fixed compatibility with construct==2.10.70 by handling StringError when Unicode decoding error happens (ca5c8de)
  • VFS: Fixed uart malloc when locates ISR context in IRAM (9ed598a)

Tools

Added

Fixed

  • Fixed path delimiter in gdbinit for Windows (#12683) (e3ca11c)
  • Fixed detection of raw coredump files by idf.py coredump-debug command (#10852) (6dc9cc8)
  • Opt for the recommended tool listed in tools.json rather than the supported one (598a86e)
  • Fixed print filter environment variable for IDF monitor (76d3d18)
  • Fixed build failure if CMAKE_EXECUTABLE_SUFFIX is set (#12558) (3e2dbfe)
  • coredump-info: Fixed non-default partition table offset issues (#11564) (6edb998)
  • Docker: Allowed the access to ESP-IDF repository to non-root users (#12389) (36cb0b2)
  • Fixed idf.py gdb failure due to line endings in gdbinit file (#12052) (684a093)
  • Docker: Allowed to set git's safe.directory with IDF_GIT_SAFE_DIR environment variable (#12636) (b5289ed)
  • coredump-info: set default gdb timeout to 3 seconds (e100ffa)

Toolchain

Added

External Libraries

Changed

  • Updated cJSON version to v1.7.17 (5dec348)

Examples

Fixed

  • Fixed encoding issue in esp_local_ctrl's proto script (d7e275c)

Documentation

Fixed

  • Fixed hard-coded HW breakpoints/watchpoints number (b3479b3)

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.