Skip to content

ESP-IDF Release v5.1.2

Compare
Choose a tag to compare
@github-actions github-actions released this 16 Nov 10:18
· 7570 commits to master since this release
v5.1.2
482a8fb

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

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

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

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

Download an archive with submodules included

Attached to this release is an esp-idf-v5.1.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.

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

Major changes

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

Changelog

Thread

Added

  • Support time synchronization feature (af4cb75)
  • Make Border router discovery delegate be able to reply self-hosted service (af4cb75)
  • Added support to allocate message pool from PSRAM. (a99bb2e)
  • Added configuration for setting mesh local prefix. (649b8bc)
  • Added support for border router deinit. (649b8bc)

Changed

  • Host connection logic refactor (6cc6ece)
  • Added rcp size optimization configuration (ffc8da6)
  • Optimized Thread Sleepy device power consumption by disabling ND6 timer (865b480)

Fixed

  • Fixed openthread settings get next empty index (649b8bc)
  • Fixed removing client service failure in some cases (649b8bc)
  • Fixed curl failure in NAT64 (649b8bc)
  • Fixed multi connection issue in NAT64 (649b8bc)

Zigbee

Changed

  • Update the zigbee example to adapt the esp_zigbee_lib and esp_zboss_lib version. (25f031c)

Bluetooth Common

Fixed

  • Fixed the link target conflict when SPIRAM is enabled (b790f0a)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Supported IRAM release in esp_bt_mem_release for ESP32-C2. (4069e720)
  • Added support for removing devices from the resolution list by RPA on ESP32-C2, ESP32-C6, and ESP32-H2.(7781867)
  • Added DTM function on ESP32C6 and ESP32H2. (ae3c28f)
  • Added support for using the RPA to remove the device from the whitelist after the IRK is deleted on ESP32-C2, ESP32C6, and ESP32H2. (ae3c28f)
  • Added modem reset when initializing BLE on ESP32C2, ESP32C6 and ESP32H2. (6b49269)
  • Added wake up overhead change on ESP32C6 and ESP32H2. (4a221b0)
  • Added the vendor hci command for adv report flow control on ESP32C2. (f0437b9)
  • Added the vendor hci command for adv report flow control on ESP32C6 and ESP32H2. (6cca4bd)

Changed

  • Changed transmit power level index of ESP32-H2 and ESP32-C2. (7781867)
  • Moved PHY enable/disable in esp_bt_controller_enable() and esp_bt_controller_disable() on ESP32-C3 and ESP32-S3 (ab7ad8a)
  • Improved the performance of ADV when dealing with high throughput in connections on ESP32-C6 and ESP32-H2. (1c7b1b8)

Fixed

  • Fixed advertising random delay when advertising interval is less than 20 ms on ESP32-C3 and ESP32-S3. (ab7ad8a)
  • Fixed advertising random address setting when owner address type is public on ESP32-C3 and ESP32-S3. (ab7ad8a)
  • Fixed instant setting for BLE LLC procedures with instants on ESP32. (ab7ad8a)
  • Fixed advertising random delay when advertising interval is less than 20 ms on ESP32. (ab7ad8a)
  • Added comments to the header files for ESP32-C3 and ESP32-S3 to support CI (d7020c0)
  • Fixed mempool crash issue on ESP32C6, ESP32H2, and ESP32C2. (ae3c28f)
  • Fixed the occasional connection timeout issue on ESP32H2. (ae3c28f)
  • Fixed crash issue when setting scan response data after enabling non-scannable legacy adv on ESP32C6 and ESP32H2. (ae3c28f)
  • Fixed adv chain pdu tx stopping issue on ESP32C6 and ESP32H2. (9f2a2db)
  • Fixed scan not stopping after scan window expires on ESP32C2 (9f2a2db)
  • Fixed peripheral latency without ACL data to send on ESP32C6, ESP32H2 and ESP32C2 (9f2a2db)
  • Fixed crash issue when memory is insufficient on ESP32C2. (1c7b1b8)
  • Fixed connection control process failure due to no memory on ESP32C6 and ESP32H2. (4a221b0)
  • Fixed BLE not entering light sleep after deinit mesh issue. (4a221b0)
  • Fixed BLE slave latency update failure issue. (4a221b0)
  • Fixed BLE crash issue when out of memory on ESP32C6 and ESP32H2. (4a221b0)
  • Fixed connect parameter update issue on ESP32C2. (f0437b9)
  • Fixed issues of wrong data packet length when there is a chain mbuf. (261af82)
  • Fixed compile issue when disable duplicate config option in kconfig. (fae05ac)
  • Fixed the issue of establishment failure when creating synchronization with periodic advertiser on ESP32C2. (4d044ab)
  • Fixed the issue of packaging SYNC_IND PDU when updating channel map on ESP32C2. (4d044ab)
  • Fixed the heap corruption issue when controller deinit on ESP32C6 and ESP32H2. (6cca4bd)

ESP Bluedroid Host

Added

  • Bluedroid: Added BLE GATTS local database print API. (1b87f35)
  • Bluedroid: Added BLE periodic advertising sync transfer API and EVT. (1b87f35)
  • Bluedroid: Added GATTC read multiple variable length characteristic API and EVT (1b87f35)
  • Bluedroid: Support periodic ADI feature (ab7ad8a)
  • Bluedroid: Support scan response data length zero (ca8d6f3)
  • Bluedroid: Support high duty advertising interval setting (ab7ad8a)

Changed

  • Bluedroid: Optimized the description of Scan Duplicate (ca8d6f3)
  • Bluedroid: Report BLE disconnect event after BLE link closed (ab7ad8a)
  • Bluedroid: Updated comments in BLE (ab7ad8a)

Fixed

  • Bluedroid: Fixed HID example stack overflow bugs when using ESP32-S3 (ca8d6f3)
  • Bluedroid: Fixed remove resolving list error for ESP32 (ca8d6f3)
  • Bluedroid: Fixed bugs in handling reading requests for GATT service changes characteristic (ca8d6f3)
  • Bluedroid: Fixed setting periodic advertising data error (ca8d6f3)
  • Bluedroid: Fixed setting periodic advertising data error when periodic advertising data length is BTM_BLE_PERIODIC_ADV_DATA_LEN_MAX (7275ae1)
  • Bluedroid: Fixed an issue where memory resources were not properly released when devices disconnected (4afb2a8)
  • Bluedroid: Fixed address check when using NRPA as random device address (ab7ad8a)
  • Bluedroid: Fixed BLE GATTC cache address saving when the cache list is full (ab7ad8a)
  • Bluedroid: Fixed bug while calculating block cipher using AES-128 (ab7ad8a)
  • Bluedroid: Fixed timeout error when updating connection params (ab7ad8a)
  • Bluedroid: Fixed connection parameter validation error (ab7ad8a)
  • Bluedroid: Prohibiting the enablement of privacy uring non-connected activities to comply with the protocol specifications (d7020c0)
  • Bluedroid: allowed data length to be set to 0 when setting extend advertising data, extend scan response data and periodic advertising data (d7020c0)
  • Bluedroid: Fixed compile warning when optimize for performance (60143c7)

ESP NimBLE Host

Added

  • Nimble: Added the tutorial for the spp_client example. (d02cfc2)
  • Nimble: Added the tutorial for the spp_server example. (c4b6f0c)
  • Nimble: Added support for dynamic services addition/deletion (94ad8f1)
  • Nimble: Added support of encrypted advertising data (9396753)
  • Nimble: Added the tutorial for bleperiodicadv and bleperiodicsync_examples. (c99a5e6)
  • Nimble: Added Walkthrough tutorial for phy_cent example (c1e0210)
  • Nimble: Added adv queue congestion check (bf204d4)
  • Nimble: Added support for high duty adv interval (8e6bf6c)
  • Nimble: Added support for LE Data Set Related Address Change command (81ae481)
  • Nimble: Added periodic Adv Feature Updates in BLE 5.3 (d57466d)
  • Nimble: Added the tutorial for coc_blecent example. (b5891b6)
  • Nimble: Added the tutorial for blemultiadv example. (8c74d27)
  • Nimble: Added tutorial for blecent example. (54c81dd)
  • Nimble: Added support for Duplicate Exception list update VSC for Nimble (acc08b9)

Changed

  • Nimble: Updated Kconfig help section for Example Ext Adv (842eb0f)

Fixed

  • Nimble: Fixed L2CAP COC application for sending more than one packet of data (3c41bee)
  • Nimble: Fixed compilation warnings when max bonds or cccd is set to 0 (be63ddd)
  • Nimble: Added event for reattempt connection count information (d72f2e1)
  • Nimble: Updated BLE Phy example (013a0d4)
  • Nimble: Fixed compilation issue of unknown MYNEWT_VAL(9d8af97)
  • Nimble: Added log for extended advertisement (da575a6)
  • Nimble: Added API to send pcl set rssi vsc (0c4ac54)
  • Nimble: Added check to set length only if data is valid in periodic adv (6e3c700)

Removed

  • Nimble: Removed unused coex header inclusion (aaded3f)

ESP-BLE-Mesh

Fixed

  • Fixed compilation failure while using scene model (9e2a1b3)
  • Fixed PB-GATT ADV is reported to app layer too frequently (a59f65e)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Bluedroid: Added peer Bluetooth device address into HF callback parameters. (680a254)
  • Bluedroid: Added an API to terminate an ongoing call from HF client side. (680a254)
  • Bluedroid: Added option whether to include or exclude device name in extended inquiry response data (09954c1)
  • Bluedroid: Added eSCO S1 support for hfp client BQB test. (8008dbe)
  • Bluedroid: Added support for specific indicator sending from AG to Client. (8008dbe)

Changed

  • Bluedroid: Modify the operator name to English in hfp_ag example. (8008dbe)
  • Bluedroid: Modify AT+CNUM response api and HFP AG example. (8008dbe)
  • Bluedroid: Limit sniff request when pending the mode change event caused by the previous sniff request. (02ea722)
  • Bluedroid: Limit HID device sending interrupt report when the triggering reconnection is in progress. (09c1bfe)
  • Bluedroid: Changed the description of esp_hf_client_reject_call. (680a254)
  • Bluedroid: Changed log level from WARNING to DEBUG in bta_ag_sco_read_cback when received packets with invalid air mode. (680a254)
  • Bluedroid: Modified the number of SDP maximum connections from 2 to 4 to avoid connection exhaustion. (d00077e)

Fixed

  • Bluedroid: Fixed incorrect handling of A2DP set configuration command when response with error code INVALID_CODEC_TYPE is expected (9619d85)
  • Bluedroid: Fixed errors in parsing ATD command in HFP AG (680a254)
  • Bluedroid: Fixed incorrect definition of event ESP_HF_CIND_RESPONSE_EVT in HF-AG. (680a254)
  • Bluedroid: Fixed wrong indexes of HF-AG indicators. (680a254)
  • Bluedroid: Fixed invalid access to freed semaphore. (680a254)
  • Bluedroid: Fixed failure in QoS configuration when polling interval requested is greater than 40 (da79b8a)
  • Bluedroid: Fixed failure of GAP disconnection complete event (da79b8a)
  • Bluedroid: Fixed wrong judgement of HID congestion condition. (5a06cee)
  • Bluedroid: Fixed AG will response to HF when AG actively calling esp_hf_ag_out_call. (8008dbe)
  • Bluedroid: Fixed the error code return of function btc_hf_indchange_notification. (8008dbe)
  • Bluedroid: Fixed use of empty Bluetooth device address in HFP AG calback events reported to application layer. (680a254)
  • Bluedroid: Fixed incorrect enumeration values defined in type esp_hf_dial_type_t. (c7132d3)
  • Bluedroid: Fixed the issue of uninitialized parameters in event BTA_AG_WBS_EVT in HFP. (c7132d3)
  • Bluedroid: Fixed l2cap_bqb_ertm_mode_included_flag being wrapped up in the wrong macro (fb2076c)

Removed

  • Bluedroid: Removed an incorrectly defined HCI error code. (b20c3f8)
  • Bluedroid: Deleted the redundant 'memset' in btc_hf_cb_handler (680a254)

Classic Bluetooth Controller

Changed

  • Moved the transmission of hardware error event out of ISR context on ESP32. (9f6fe72)

Fixed

  • Fixed error in HCI_Change_Connection_Packet_Type Command parameter check on ESP32. (98f4ce2)
  • Fixed error in HCI_Accept_Synchronous_Connection_Request Command parameter check on ESP32. (98f4ce2)
  • Fixed error in HCI_Set_Connectionless_Peripheral_Broadcast_Data Command parameter check on ESP32. (98f4ce2)
  • Fixed Central not being able to handle the procedure collision between remote Peripheral's role switch request and local initiated encryption mode request on ESP32. (5256c31)
  • Fixed error in HCI_Recevie_Synchronization_Train Command parameter check on ESP32. (4ac53c7)
  • Fixed error in HCI_Set_Connectionless_Peripheral_Broadcas Command parameter check on ESP32. (4ac53c7)
  • Fixed secure authentication failure for peripheral on ESP32. (4ac53c7)
  • Fixed logic error during sniff negotiatoin which causes failure to enter sniff mode on ESP32. (9f6fe72)
  • Fixed conflicts during unsniff procedure negotiation on ESP32, when local and peer devices initiate unsniff procedure at the same time. (9f6fe72)
  • Fixed crash when central and peripheral both attempt to initiate sniff procedure on ESP32. (9f6fe72)
  • Fixed the crash during hardware error handling caused by Rx IRQ generated from sniff frame on ESP32. (9f6fe72)
  • Fixed failure of assertion resulted from failure of insertion of role switch frame on ESP32. (9f6fe72)
  • Fixed failure of assertion caused by improper handling of Rx IRQ in inquiry scan frame on ESP32. (9f6fe72)
  • Fixed failure of assertion caused by improper handling of Rx IRQ in page scan frame on ESP32. (9f6fe72)
  • Fixed logic error of coexistence status set and clear upon failure of sniff negotiation on ESP32. (9f6fe72)
  • Fixed IntegerDevideByZero caused by interrupted procedure of synchronous link creation on ESP32. (9f6fe72)

PHY

Added

  • Supported PLL track on all targets. (f3ac648)

Changed

  • Optimized WIFI RX performance under multipath interference environment (c1d8013)
  • Optimized BLE TX sideband interference for ESP32-C3/ESP32-S3(c1d8013)
  • Optimized Wi-Fi HT40 TX sideband interference(c1d8013)

Fixed

  • Fixed Wi-Fi deinit stuck issue for ESP32-C6 (5bf6e57)
  • Fixed Wi-Fi not working with temperature sensor on ESP32-S2(c1d8013)

Wi-Fi

Added

  • Example: Supported get AP info from stdin in wifi power save example (88e436f)

Wi-Fi MAC

Added

  • MAC: Added a new authmode for WPA3 enterprise 192 bit security. (8ce86c3)
  • MAC: Added feature for static buf for management,control,qos null,null data rx packet. (aececf7)
  • MAC: Added iTWT parameter check. (aececf7)
  • MAC: Added HT 20/40 capability indication in extended caps IE. (aececf7)
  • MAC: Added provision of interface to acquire/release extra Wi-Fi radio use. (aececf7)

Fixed

  • MAC: Fixed CCMP and GCMP PN became too large which cause no packets accepted by replay detection anymore. (8ce86c3)
  • MAC: Fixed key installation issue in EAP Re-authentication. (8df1e1a)
  • MAC: Fixed key installation issue in EAP Re-authentication (8df1e1a)
  • MAC: Fixed issue with incorrect beacon timeout and problems associated with disconnecting when scanning for a single channel (4fef94c)
  • MAC: Fixed wrong Association-ID (AID) assigned to stations when multiple stations try to connect simultaneously (4fef94c)
  • MAC: Fixed multi antenna issue (78ae4c3)
  • MAC: Fixed dirty eb when rx HE rate action for C6 (78ae4c3)
  • MAC: Fixed h/w modem state consecutive times when the modem sleep type is modified in runtime (78ae4c3)
  • MAC: Fix WiFi API docs typo (#12353) (78ae4c3)
  • MAC: Fix WiFi API docs typo (#12330) (78ae4c3)
  • MAC: Fixed enable PSRAM causes DHCP failure in WAPI encryption mode. (78ae4c3)
  • MAC: Fixed C6 esp_wifi_set_max_tx_power_fail issue. (78ae4c3)
  • MAC: Fixed incorrect wifi mode causing crash issue. (78ae4c3)
  • MAC: Fixed ESP32C6 disconnect from AP caused by nulldata sequence always equal 0. (78ae4c3)
  • MAC: Fixed Wi-Fi beacon timeout after connection established. (78ae4c3)
  • MAC: Fixed Wi-Fi failed to enter lightsleep after disconnected on esp32c6. (78ae4c3)
  • MAC: Fixed Wi-Fi crash when connected to non-trans bssid on esp32c6. (78ae4c3)
  • MAC: Fixed Wi-Fi station no response after m f null happened. (78ae4c3)
  • MAC: Fixed erroneous disconnect when scanning single channel. (aececf7)
  • MAC: Fixed light-sleep failure at Wi-Fi disconnected status on ESP32C6. (aececf7)
  • MAC: Fixed ESP32C6 disconnect from AP caused by nulldata sequence always equal 0. (aececf7)
  • MAC: Fixed some iTWT bugs. (aececf7)
  • MAC: Fixed unexpected HT frame from DUT during iperf. (aececf7)
  • MAC: Fixed ERUS configuration in ESPNOW rate does not work when set to LGI rate. (aececf7)
  • MAC: Fixed ESP32c6 returning WiFi primary channel for all packets as 0 in promiscuous mode(#12205). (aececf7)

Supplicant

Added

  • Supplicant: Added support to make WPA2-ent configurable to save binary size. (111779d)
  • Supplicant: Added fast PBKDF2 implementation to improve PMK calculation speed. (8ce86c3)
  • Supplicant: Added support to detect PBC overlap in wps registrar mode (372a34f)

Fixed

  • Supplicant: Fixed crash on receiving DPP auth_req from Hostapd with DPP AKM. (cf16ab5)
  • Supplicant: Fixed crash in DPP Listen without bootstrap (cf16ab5)
  • Supplicant: Added checks to ensure that DPP APIs follow the init->bootstrap->listen path. (cf16ab5)
  • Supplicant: Added fix for issue of WPS-PBC overlap in WPS-PIN method. (0c27d24)
  • Supplicant: Fixed abstraction violation in one instance (4299b93)
  • Supplicant: Ignored EAPOL non-key frames in EAPOL TxDone callback (43d6f90)
  • Supplicant: Skipped using PMK caching for WPA3 connection incase configured password is incorrect. (8ce86c3)
  • Supplicant: Fixed station connection with WPA security when enterprise mode is enabled. (8ce86c3)
  • Supplicant: Bugfix WPA3 SoftAP sending Deauth when the SoftAP is busy processing SAE confirm and it receives Assoc req from the same station. (8df1e1a)
  • Supplicant: Fixed missing PMKSA cache flush scenario incase of invalid pmkid (4fef94c)

ESP Vendor Feature

Fixed

  • Vendor: Fixed set LR rate fail for ESP-NOW and ieee80211_tx (closes #11751). (8ce86c3)
  • Vendor: Check the phy bandwidth when setting ESP-NOW peer rate. (8ce86c3)

Coexistence

Added

  • Added external coexist support for ESP32-H2/ESP32-C6 as a follower (66c9fb0)

Fixed

  • Fixed BLE scan not restarting after being interrupted by WIFI on ESP32 (9f6fe72)
  • Fixed wrong coexistence register file used in ESP32C6(backport v5.1)

Ethernet

Added

  • Added model number 0x13 to ksz80xx driver's list of supported models to include KSZ8041RNLI (a7a4397)
  • Added IRAM optimization option for internal EMAC (4b3cc2a)

Peripheral Drivers

Added

  • Esp Lcd: Allow user to specify RGB data endian in esp_lcd_panel_dev_config_t (fefa61a)
  • Rgb Lcd: Added user_data in the public LCD panel interface (1efe80a)
  • Rgb Lcd: Add callback to notify when bounce buffer finish copying a frame (609ac08)
  • Spi Lcd: Support quad mode SPI IO driver (609ac08)
  • Mcpwm: Support MCPWM generator's GPIO pull up/down configurable (#11878) (54ef954)
  • Mcpwm: Support MCPWM generator's GPIO open drain output (#11878) (54ef954)
  • Mcpwm: Add configuration to specify the priority of MCPWM interrupt (8da2c57)
  • Mcpwm: Add configuration of MCPWM carrier clock source in mcpwm_carrier_config_t (2a80451)
  • Modbus Example: Add support for ESP32-H2 target (0bd405b)
  • PCNT: Add configuration to specify the priority of the watch point interrupt (dabbc8b)
  • RMT: Support specify the interrupt priority of the RMT interrupt handler (aec9715)
  • UART: UART_SELECT_WRITE_NOTIF event added in UART driver (#10986)
  • USB Host: Added extra assertions to ensure that USB transfers are correctly initialized when they are submitted (cd979e2)

Fixed

  • ADC: Fixed wrong ADC reading results caused by ADC and WiFi power conflict on ESP32C6 (c1c843f)
  • ADC: Fixed continuous mode HAL functions not in IRAM issue when GDMA are set to IRAM-Safe (#11781) (be7cf3d)
  • ADC: Fixed legacy ADC continuous driver DMA descriptor not in internal RAM issue (9080a7a)
  • ADC: Fixed ADC filter allocation logic (860e047)
  • Gptimer: Fixed the issue that timer_hal_capture_and_get_counter_value is not placed in the IRAM conditionally (#12021) (f41df56)
  • I2C: Fixed I2C1 doesn't work on esp32h2 (0f51501)
  • I80 Lcd: Reset the CS GPIO when deleting the i80 IO driver (3cc3581)
  • Mcpwm: Make the MCPWM capture timer's resolution configurable (5baf019)
  • Mcpwm: MCPWM will fall back to use a default clock if it's not set explicitly in the driver configuration. (ce6d7ba)
  • Parlio Tx: Fixed the issue that DMA descriptors are not chained together (46817f4)
  • RMT: Fixed the issue that the RMT non-DMA channel can't work reliably during DFS. (#12292) (1c3b865)
  • Spi Master: Fixed polling api blocks all SPI transmit when ESP_ERR_NO_MEM (#11845) (8ff8486)
  • TWAI: Fixed twai_driver_install() so that an error is returned on interrupt allocation failure (#11494) (3a79e36)
  • Temperature Sensor: Fixed issue that if temperature sensor driver is disabled then phy can't work properly. (584250a)
  • UART: Fixed potential division-by-zero crash inside uart_ll_set_baudrate (#12179) (e3beb8c)
  • Usb Host: Restrict ESP32-S2 USB OTG AHB errata workaround to only ESP32-S2 ECO0 chips. Other chips and ECOs will no longer be affected by USB OTG DMA usage. (a66f61e)
  • Usb Serial Jtag: Fixed usb_serial_jtag vfs lose data randomly (#12119) (#11344) (#9318) (#11192) (ea5e749)

System Hardware

Added

  • PSRAM: Allow PSRAM CLK being shared with flash on ESP32-D0WD. (ccfa68c)

Changed

  • Returned deep sleep APIs to the original behavior (#12359). (fdacde7)
  • Added new deep sleep APIs that help to skip deep sleep if the wakeup source is set before the sleep request. (fdacde7)

Fixed

  • MMU: Fixed potential hal assertion failure caused by wrong end vaddr calculation when mmaping to boundary of memory (4d95619)
  • MSPI: Fixed 120MHz DDR max frequency issue when temperature is higher than 45 celsius degree (7698a41)
  • PSRAM: Fixed wrong start virtual address and max virtual address size in the programming guide (6674935)
  • Solved LP memory may lost bug in deepsleep & lightsleep mode in high temperature on C6 and H2 (cba086c)
  • Solved lightsleep wakeup may fail bug in high temperature when top not pd on ESP32-C6 (cba086c)
  • Solved deepsleep wakeup may fail bug, deepsleep wakeup time will increase 346us on ESP32-C6 (cba086c)
  • Xtensa: Fixed a6, a7 registers corruption after FreeRTOS task context switch (bc87e14)

Removed

  • MSPI: Removed 120MHz SDR timing tuning warning on ESP32-S3 (f618850)

Core System

Added

  • WDT: Added LP WDT HAL functions for ESP32-H2 (a432b14)

Changed

  • WDT: Changed ESP32-C3 WDT to use XTAL as clock src instead of APB, making the timeout consistent even when CPU frequency changes. (9e75635)
  • WDT: Changed ESP32-C6/ESP32-H2 WDT to use XTAL as clock src instead of PLL, as PLL could be powered down by power management. (9e75635)

Fixed

  • Fixed the issue that shared_vector_desc_t is not guaranteed to be allocated from internal RAM (#12271) (10793c3)
  • Pthread: Fixed pthread condition variable linker hook (5badfee)
  • Fixed the issue that a CPU interrupt of priority N was actually set as N+1 for RISCV targets (9838675)
  • Lp Core: Fixed a bug where the LP I2C SCL clock was programmed incorrectly. (5a25786)
  • Lp Core: Fixed a bug where the LP I2C write operation got stuck when the lp_core_i2c_master_write_read_device() API was used. https://jira.espressif.com:8443/browse/IDFGH-10740. (5a25786)
  • Lp Core: Fixed a bug where a 16-byte LP I2C read got stuck with some sensors. (5a25786)
  • Ulp-Risc-V: Fixed ulp i2c not working from main cpu if compiled with 0S or O2 (#12214) (6609e5e)
  • Interrupts: Fixed ordering of AES and SHA irq names to align with the respective irq numbers (e450ee2)
  • Fixed delay in ISR dispatch callbacks when TASK dispatch callbacks take more time (#11637) (79d403a)

Debugging

Changed

Fixed

  • Espcoredump: Fixed build warning when dumping to flash with log disabled (#11869) (31aa471)

Power Management

Added

  • Added internal pull-up/downs option for gpio used for deepsleep wakeup for all chip types (41d8715)

Changed

  • Deepsleep current will increase about 2uA on C6 and H2 (cba086c)
  • Lightsleep current will increase about 20uA when top_on and 7uA when top_off on ESP32-C6 (cba086c)
  • Lightsleep current will increase about 5uA when top_on and 3uA when top_off on ESP32-H2 (cba086c)
  • Supported hp_regi2c for esp32c6 (b58706c)
  • Supported the deep sleep of esp32h2 (b638cb3)
  • Supported lp timer wakeup and EXT1 wakeup of esp32h2 (b638cb3)
  • Supported pd HP AON domain in deepsleep for esp32c6 (5c3f7ed)
  • Bottom current can be as low as 5uA (b638cb3)

Fixed

  • Fixed the issue on ESP32-C3 where retention memory was exhausted prematurely and preventing the CPU from powering down. (bbbfa65)
  • Fixed CPU crash problem caused by voltage insufficient when its frequency switched from high to low on ESP32S2/S3. (08262e1)
  • Managed modem_etm clock in modem_clock for bt/154 indepently (8d08580)
  • Fixed ESP32-C6 UDP BC/MC RX loss issues when light sleep is enabled (7108303, 5d7bcdc)
  • Fixed the issue that the UART always prints the characters left in the FIFO at the moment of going sleep after the power-down peripheral lightsleep wakeup. (88e436f)
  • Fixed PMA cfg CSR regs bad retention in pd_top sleep (67e5366)
  • Fixed can't enter deep sleep on esp32c6 if WI-Fi advanced light sleep is enabled (5d0bdce)
  • Fixed ESP32C6 with default lwip timer, light sleep avg current more than the expected threshold. (aececf7)
  • Fixed ESP32C2 DTIM=10 failed to enter light sleep for about one second. (aececf7)
  • Fixed EXT1 bug of trigger mode option "ALL LOW" for esp32s2, esp32s3, esp32c6 and esp32h2 (b638cb3)

LWIP

Added

  • IPv6: Added option to disabling NDP (Neighbor Discovery Protocol) to improve power efficiency if ND6 not needed (865b480)
  • Added check to ensure safe restart of DHCP fine timer in dhcp.c in LWIP. (f0cd979)
  • Added support for configuring TCP/IP task priority and LWIP_EXTRA_IRAM_OPTIMIZATION to improve performance (8ce86c3)
  • Added option to use packet input thread for TCP/IP processing (LWIP_TCPIP_CORE_LOCKING_INPUT) to improve performance (8ce86c3)

Fixed

  • Fixed DHCP server bug ensuring pool range doesn't exceed subnet mask; verified server IP and subnet match (8f9c2c6)
  • Fixed DHCP server pool configuration issue (8f9c2c6)

OTA

Fixed

  • Fix issue with app verification built without secure padding v2 case (0f849d4)

HTTP Client

Added

  • feat(esp_http_client): Added support for OTA using DS peripheral for TLS (0122d6c)

Fixed

Provisioning

Fixed

  • Wifi Provisioning: Expose events for secure session establishment and credential mismatch (a1defb4)

mbedTLS

Added

  • Added a new configuration option MBEDTLS_ECP_FIXED_POINT_OPTIM for mbedtls. (75692c9)

Changed

  • Updated to release v3.5.0 (ee6ea57)

Fixed

  • Fix hardware DMA mode issue of incorrect result in SHA implementation for certain input data lengths (#11915) (d710a83)
  • Corrected the linking of the DMA descriptors, fixes AES completion timeout issue for certain data lengths (d22e640)
  • Corrected the DMA completion wait condition for hardware GCM case (d22e640)
  • Fix build issue in dynamic buffer feature with CONFIG_MBEDTLS_DHM_C enabled case (9029050)

Bootloader

Changed

  • Raised voltage for ESP32-C6, ESP32-H2 to increase stability (1aabb5f)
  • Lower CPU frequency of ESP32-H2 to 64 MHz to increase stability (1aabb5f)
  • Updated micro-ecc submodule version to v1.1 (3a652b2)

Fixed

  • Fixed the condition in startup to check signature block when SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT is enabled for ECDSA_V2 case (fd7f8ee)

ESP-TLS

Fixed

  • Fixed build issue with secure element and CONFIG_ATECC608A_TCUSTOM case (#11923) (920ca1c)

ESP-MQTT

Added

  • Added support to bind to network interface (667b83d)
  • Added support to limit the outbox size (667b83d)
  • Added support to use a custom transport (667b83d)
  • Added support to set server common name (667b83d)
  • Added an option to select outbox data destination (667b83d)
  • Added subscribe_id in esp_mqtt5_event_property_t (667b83d)
  • Added possibility to SUBSCRIBE to multiple topics (667b83d)
  • Added option to configure poll read timeout (667b83d)

Fixed

  • Fixed return when publishing QoS0 message while disconnected (667b83d)
  • Fixed flow control will increase count when send fragmented packet in mqtt5 (667b83d)
  • Fixed publishing allowing zero length payload in mqtt5 (667b83d)
  • Fixed formatting when using printf nano (667b83d)
  • Fixed flow control will regard the DUP packet and not consider PUBCOMP packet in mqtt5 (667b83d)

Security

Added

  • Added locking mechanism for the ECDSA and ECC peripherals (98e2f5b)

Storage

Added

  • VFS: Added support for multi-task UART select() call (f3fc7dd)

Changed

  • VFS: Updated event_write function to have balanced critical sections. (#12258) (b8d3ee9)

Tools

Added

  • Show hints for missing component dependencies (c8970d8)
  • Added dependency on the new esp-idf-panic-decoder package implementing esp_panic_server.py (19d710d)

Changed

  • Updated QEMU in the docker image to esp-develop-8.0.0-20230522 version with Xtensa and RISC-V support (941811a)

Fixed

  • Fixed inconsistency between export paths in Powershell and Command Prompt on Windows (#9849) (88c5511)
  • Fixed waiting on GDB process when interrupted with CTRL+C (#11871) (e7722dc)
  • Fixed Python dependency checker for missing packages (9ba0647)
  • Fix ZSH autocomplete for --port option (#7970) (697e3e8)

Build System

Fixed

  • Fixed checking for the target conflict when the mapping entries use section aliases (0d2a524)
  • Fixed to reflect a project name with dots in an app binary name (06a4943)

External Libraries

Changed

  • Cjson: Updated version to v1.7.16 (4a7cbc9)

Documentation

Added

  • Added CN translation for api-guides/performance/speed.rst (8ce86c3)
  • Added CN translation for api-reference/peripherals/spi_slave_hd.rst (c395dd3)
  • Added description for decoding ROM code addresses with esp-idf-monitor (cc38069)
  • Added Wi-Fi low power documentation and picture (5fa0d2a)

Changed

  • Iperf: Updated documentation with console interface details (#12039) (3a34b76)

Fixed

  • Fixed the docker flashing command issue in docs (#12060) (bb8f105)
  • Fixed documentation to correctly state NAN support on ESP32 and ESP32-S2 (0e80568)
  • Fixed Wi-Fi API docs typos (#12353) (#12330) (78ae4c3)