Skip to content

ESP-IDF Release v5.0.7

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Aug 18:56
· 15109 commits to master since this release
v5.0.7

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

ESP-IDF v5.0.7 is a bugfix update for ESP-IDF v5.0.

Obtaining v5.0.7

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

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

Download an archive with submodules included

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

Major changes

Major Bug Fixes

  • SPI Flash: Fixed stuck during spi_flash operation when a task was not pinned to a certain CPU. (f0c2da6)

Changelog

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

App Update

Added

  • Updated esp_ota_revoke_secure_boot_public_key to validate the new app and the bootloader before key revocation. (68c450d)

App Utils

Changed

  • Updated cJSON version to v1.7.18 (d962b76)

Fixed

  • Added check for LWIP_NETIF_LOOPBACK in the HTTP server control socket API (#13659) (3043a83)
  • Fixed allocating if_name in client context multiple times (#13945) (6a28414)
  • Fixed esp_http_client to reset redirect_counter after completion of a request (#13633) (3043a83)
  • Fixed incorrect processing of HTTP header (#13497) (9d1abd7)
  • Fixed esp_http_client digest auth without qop (5af8e88)
  • Esp Prov: Fixed incorrect input decoding when using console transport (bf87512)

Bluetooth Low Energy (BLE)

Fixed

  • Example: Use correct struct type in discover service complete event in examples/bluetooth/bluedroid/ble/gatt_client. (d388c85)
  • Example: Fixed UART HCI when flow control is off in examples/bluetooth/hci/controller_hci_uart_esp32c3_and_esp32s3. (7a649e8)

Bluetooth Low Energy Controller

Added

  • Supported ESP32-C2 light sleep using an external 32.768 kHz oscillator at pin0 as a slow clock source. (2796f01)
  • Added CCA-related config option on ESP32-C2 (2796f01)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (3b6ee15)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Added BLE scan backoff config in menuconfig on ESP32 (dd61b7e)
  • Removed error print when disconnection again if the disconnection procedure is ongoing on ESP32 (dd61b7e)
  • Added support for configurable default TX power on ESP32-C2. (4a46dce)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C2. (2796f01)
  • Optimized BLE notify and write throughput performance on ESP32. (d156502)
  • Optimized BLE event reporting time for connection failures (9a0c562)
  • Changed the level of BLE interrupt to avoid allocation failure on ESP32S3. (13033ac)

Fixed

  • Fixed HCI command status event sent when LLCP is busy on ESP32 (d388c85)
  • Fixed HCI command status event sending for disconnection command on ESP32 (d388c85)
  • Fixed LE transmitter test command parameters check on ESP32 (d388c85)
  • Fixed an occasional assertion issue when enabling multiple periodic adv on ESP32-C2. (b1992f1)
  • Fixed adv interval range limit error issue on ESP32-C2. (b1992f1)
  • Fixed an occasional assertion issue when disabling the Controller on ESP32-C2. (b1992f1)
  • Fixed scheduling when modem sleep wakeup is delayed on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed BLE IRQ FIFO overflow when entering critical on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed clock sync timeout when exiting modem sleep on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed directed adv with RPA when privacy was disabled on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed instant passed when connection updating or PHY updating on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed BLE TX count in direct test mode on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed BLE modem sleep enter failed sometimes on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed an occasional assertion issue during slave connection in WiFi coexistence scenarios on ESP32-C2. (38aef77)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. (2796f01)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Fixed BLE scan assert on ESP32 (#8532) (dd61b7e)
  • Fixed BLE assert when receiving packets on ESP32 (dd61b7e)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) (d156502)
  • Fixed BLE connection timeout issue after using DTM on ESP32. (d156502)
  • Fixed assert issue caused by DPORT access on ESP32. (d156502)
  • Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C2. (b6f8340)
  • Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32C2. (b6f8340)
  • Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. (bb71e79)
  • Fixed the issue where RPA did not re-generage after each reboot on ESP32-C3 and ESP32-S3. (bb71e79)
  • Fixed BLE scan backoff on ESP32 (d4f35fc)
  • Fixed BLE coexistence assert on ESP32 (961ca4f)
  • Fixed BLE DTM status and TX count error on ESP32 (961ca4f)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. (fb12a68)
  • Use embedded assembly to get access to DPORT registers on ESP32 (dd61b7e)
  • Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (ef922dd)
  • Fixed BLE interrupt allocation using system API on ESP32-C3 and ESP32-S3. (ef922dd)
  • Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (ef922dd)
  • Fixed controller task blocking issue when using UART HCI on ESP32-C2. (8d86ea0)
  • Prevent BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (7109734)
  • Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero (7109734)
  • Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C2. (8599e25)
  • Fixed occasional cache error crash in the DTM process on ESP32-C2. (8599e25)

ESP Bluedroid Host

Added

  • Added bluerooth HCI layer data stream record (6d63daa)
  • Added APIs for BLE direct test mode (6d63daa)
  • Added API to send vendor HCI command (6d63daa)
  • Added API to add BLE devices to the resolving list (2233d54)
  • Support creating BLE static random address and NRPA (2233d54)
  • Support API to set resolvable private address timeout (2233d54)
  • Added support for setting BLE privacy mode for peer devices. (6d288ef)
  • Added definitions for BLE authentication failure reasons. (ef922dd)
  • Added support for BLE 5.0 instances in related events (a8f8936)
  • Added the check for setting BLE advertising parameters when deleting GATTS services (a8f8936)

Changed

  • Updated maximum BLE reconnection attempts configuration (597a7d1)
  • Optimized BLE SPP example for improved compatibility (2233d54)

Fixed

  • Fixed the issue where advertising does not restart due to disconnection reason 0x3e (6d63daa)
  • Fixed crash when calculating GATTS database hash (d388c85)
  • Fixed BLE crash when repeatedly initializing and deinitializing host (ffdd5dc)
  • Fixed BLE periodic advertising to create sync parameter check error (ffdd5dc)
  • Fixed xQueueSemaphoreTask assert when deinitializing host during scan (d253654)
  • Fixed BLE appearance category ranges (#13626) (4ae73b7)
  • Fixed BLE GATT max length of an attribute value (2233d54)
  • Fixed the issue where the BLE data length change event was not triggered when the packet length was modified on the other connected device. (9e49bf8)
  • Fixed BLE security vulnerability when using fixed local IRK. (ef922dd)

Removed

  • Removed error print when failing to remove a device from the resolving list. (ef922dd)

ESP BLE Mesh

Changed

  • Improved BLE mesh deinitialization procedure when using NimBLE Host (48570f5)

Fixed

  • Fixed an issue that could cause incorrect transmission resources to be released (6ed2802)
  • Fixed potential deadlock may happened during initialization when using Bluedroid Host (432f1ff)
  • Fixed issue where the mesh deinit complete event may not be reported when using NimBLE Host (1505232)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh stack (55adcbf)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh examples (55adcbf)
  • Fixed using wrong type value for ADV_NONCONN_IND in NimBLE Host adapter (1cc35f0)

ESP NimBLE Host

Added

  • Added support for periodic ADV feature updates in BLE 5.3 (4780f80)
  • Added periodic_adv_enh SOC capabilities for ESP32-C2 (4780f80)
  • Added support of encrypted advertising data (a1ce7ed)
  • Added test API to show current stack operations status (f60c9f1)
  • Added APIs to support BLE DTM functions. (6977aa0)
  • Added check to validate adv interval min /max range (ae0beef)
  • Added usage of esp_timer_get_expiry_time to get current remaining ticks (39a07ff)
  • Added the check to prevent address resolution in case of identity addr for esp32 (b6b820f)
  • Added ble_host_rpa_enabled flag for address resolution for ESP32 (2079260)
  • Added support for deleting the oldest bonded device across reboot (300d4bf)
  • Added VSC and VSE framework (d859008)
  • Added API to get resolve ADV data (c5515d7)
  • Added API to get the local used address. (e746d29)
  • Create separate API to only extract cb info (4e5e8aa)
  • Added support for data length change event (79b48fe)
  • Added return code in ble_gap_unpair error logs (dfe5f62)

Changed

  • Increase range of reattempt connection count (17de259)
  • Updated help sections for BLE_RPA_TIMEOUT menuconfig. (2365dd1)
  • Simplify GAP reconnection code (6da2547)
  • Added change to start readvertising for disconnect with 0x3E code in slave mode (7a4adba)
  • Update menuconfig options to consider BLE 5.0 support options. (1b89cfc)

Fixed

  • Change 'move_count' to uint8_t type to fix compilation issue in nimble for -O2 flag. (ee8edad)
  • Fixed out of order message causing DOS during SMP procedure. (0e56e20)
  • Added support to authorize or deauthorize a BLE device for a connection (d39db5e)
  • Handle memory leak in callout deinit (9aaa048)
  • Fixed type in blehr/README (#13034) (2769144)
  • Free controller memory if stack init fails (espressif/esp-nimble#68) (dca1678)
  • Deselect MBEDTLS_ECP_RESTARTABLE when mbedTLS is used (#13645) (c603b01)
  • Expose API to set RPA timeout in stack. (0ed5284)
  • Fixed compilation issues when CCCD is set to 0 (94b7b50)
  • Fixed for CVE-2024-24746 vulnerability (a109711)
  • Fixed the size of number packets in dtm event (5b861df)
  • Set correct peer_addr during reattempt connection (0ef284e)
  • Fixed memory leak during reattempt adv data usage (7a4adba)
  • Handle a missing free in ble spp example (46976bd)
  • Explicitly NULL assign adv data pointer after free. (c46dc8c)
  • Fixed crash issue by copying data correctly into reattempt buffer (9b7a80a)
  • Fixed issue where cb information passed in connect request was getting corrupted. (dc13544)
  • Clear resources before re-starting advertising (0877ec2)
  • Reserve space for one extra ext adv packet (f262a27)

Removed

  • Removed double free of l2cap packet in example (f6be884)

BluFi

Fixed

  • Fixed BluFi module link error (C++ hybrid compilation) (d388c85)
  • Corrected host deinit API (6992b53)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Added description of use limitations of security masks in SPP API document (66d71ef)

Changed

  • Unify the conversion of error code between HCI status and esp_bt_status_t constants (ad81112)

Fixed

  • Fixed the issue of using the wrong handle to handle the BTA_JV_L2CAP_READ_EVT event (#13847) (f864a09)
  • Fixed the HID Host inner error state caused by repeat connection of the same device (e8641f6)
  • Fixed inconsistency of connection initiator state for HID Host open event (e8641f6)
  • Fixed the HID Device inner error state caused by the failed connection (e8641f6)
  • Allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is enabled (e1dfcbc)
  • Fixed the crash caused by using illegal pointers during SDP deinit (d435059)
  • Fixed missing of callback event when removing an invalid SDP record (d435059)
  • Fixed SPP crash due to the connection not being disconnected before esp_spp_deinit was called (3fdc794)
  • Fixed the dangling pointer in processing the list of bonded bluetooth device (646658a)
  • Fixed connection failure due to out-of-sync status of application layer and BTU layer (153b81b)

Classic Bluetooth Controller

Fixed

  • Added integrity check for HCI_Link_Key_Selection command on ESP32 (fdc230e)
  • Fixed returning incorrect link key with hci command rd_stored_link_key on ESP32 (bc93b77)
  • Fixed the assert triggered during APB TX on ESP32 (bc93b77)
  • Fixed role switch LMP collision bug on ESP32 (bc93b77)
  • Fixed assert 1024 issue when Classic Blueooth TX and Wifi coexist on ESP32 (d4f35fc)
  • Fixed the error in parsing packet_type argument for HCI_Enhanced_Setup_Synchronous_Connection, which causes acception of eSCO EDR packet types when they are configured not to be used (d4f35fc)
  • Fixed the incorrect timing in reporting HCI_Link_Key_Type_Changed event on ESP32 (3cf0a49)
  • Fixed the incorrect initialization vector during resuming encryption on ESP32 (3cf0a49)
  • Fixed incorrect link key returned from HCI command HCI_READ_STORED_LINK_KEY on ESP32 (3cf0a49)
  • Fixed crash issue when doing Bluetooth deinit in coexistence scenario on ESP32 (75873b4)
  • Fixed invalid transmission of LMP_MAX_POWER PDU in case that peer device is expected peer to increase TX power to maximum on ESP32. (75873b4)
  • Fixed the loss of coexistence request event during sniff transition process due to insufficient of message queue length, which causes Bluetooth link disconnection in case of wireless coexistence on ESP32 (d388c85)
  • Clear sniff state in coexistence scheme when no connections exist on ESP32 (d388c85)
  • Fixed fail to establish eSCO when connected to two devices on ESP32 (#11172) (a808db0)
  • Fixed uninitialized random number before pausing AES encryption on ESP32 (a808db0)
  • Fixed not report HCI_Disconnection_Complete event after the controller has initiated a disconnection procedure on ESP32 (a808db0)
  • Removed an improper assertion in ACL link driver which can be triggered on peripheral SNIFF mode when RX window is adjusted on ESP32. (88ee1f5)

Bluetooth Common

Added

  • Added an option to make alarm number configurable (7649270)

Fixed

  • Fixed missing linker generated symbols in using esp_bt_mem_release when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY is enabled (#10427, #11377) (6a17b9c)

Bluedroid

Changed

  • Make the maximum number of bond devices to be configurable. (7a649e8)

Fixed

  • Fixed controller using null pointer after bluedroid deinit (7c9bacb)

Controller

Added

  • Added compile options -ffunction-sections and -fdata-sections when building libbtdm_app.a, to allow to reduce code and data from executable on ESP32 (462dfaf)

Fixed

  • Apply only necessary patches for Bluetooth controller ROM code according to Bluetooth mode on ESP32 in order to reduce IRAM consumption and binary size (462dfaf)
  • Register coexist functions into Bluetooth controller on ESP32-C3/ESP32-S3 (dd61b7e)

Coexistence

Fixed

  • Fixed LoadProhibited issue in coexistence scenario on ESP32C3 and ESP32S3 (ce8dd39)
  • Fixed the issue that BLE do not update SCAN status correctly for coexistence module on ESP32C3 and ESP32S3. (bb71e79)
  • Fixed circular dependency issue on ESP32 (#13113) (2ed1e79)

PHY

Added

  • Added PHY calibration data check when mode is not none calibration (4db9de0)

Changed

  • Updated ESP32-S2 PHY version to 2500, 8368a9b, Mar 21 2024 (5f71b65)
  • Updated ESP32-C3 PHY version to 1170, f4aea9b, Apr 30 2024 (1f8b9b0)
  • Updated ESP32-S3 PHY version to 670, b7bc9b9, Apr 30 2024 (1f8b9b0)

Fixed

  • Fixed BLE coded PHY s8 packet TX issue in coexistence scenarios on ESP32-C3, ESP32-S3 and ESP32-C2. (14e3444)

Wi-Fi

Changed

  • Updated the LMK description in ESP-NOW documentation (#12976) (3b1ec55)
  • Updated scan AP number when clear scan AP records (a1dad7e)

Fixed

  • Fixed issue in changing operation mode when WPS is enabled. (4c6b043)
  • Fixed sniffer dump FCS error packets fail (#10777) (85fdb69)
  • Fixed ESP-NOW get private parameter error (#13693) (85fdb69)
  • Added fix for memory leak in WPA3-SAE. (394a3f5)
  • Docs: Format AP basic configuration tables (026f3ed)
  • Fixed the issue of TBTT interrupt miss caused by beacon monitor (a2434a8)
  • Avoid internal retries for off channel FTM Requests (6d79a72)

Removed

  • Smart Config: Removed rogue semicolon in SMARTCONFIG_START_CONFIG_DEFAULT() which was causing some build errors when used in C++ (#12867) (d409df4)

Wi-Fi MAC

Added

  • Supported Wi-Fi power save at coexist mode (a2434a8)

Changed

  • Updated FTM PHY Compensation values (289e886)
  • Treated it as WPA2/WPA3-PSK when AP advertising WPA/WPA2/WPA3-PSK (#12517) (cb4d647)
  • Refactor FTM code and add calibration for FTM in 40MHz Bandwidth (9474791)
  • Limited the number of sub AMSDU frame (b0173a1)
  • Improved Wi-Fi connecting success rate at coexist scenary (987752f)

Fixed

  • Fixed Wi-Fi connect issue after software CPU reset with BLE scan. (a2434a8)
  • Fixed GCMP encryption for management packets. (a6e89b4)
  • Fixed decryption of deauth/disassoc packets when Management Frame Protection enabled (a6e89b4)
  • Fixed ESP32 unrecoverable "m f" issue (55ca8a8)
  • Fixed issue in decryption of ESP-NOW packets for esp32 and esp32s2 when station disconnects from PMF AP (b2fb9e3)
  • Fixed FTM failures with external AP while connected in 40MHz (289e886)
  • Fixed bug in esp_wifi_deauthenticate_internal and other improvements (eaef526)
  • Fixed issue that esp_wifi_set_mode not returning error for invalid argument (b0173a1)
  • Fixed AMPDU compatibility issue for some AP (b0173a1)
  • Fixed sporadic crash arising out of concurrency issues in functioning of DPP module (2fcd97d)
  • Station should ignore FT, Enterprise AP for connection when their capabilities are disabled in Kconfig (01ac18f)
  • Fixed association refused temporarily issue (17bdbed)
  • Fixed the issue of DNS failure caused by continuously initiating connections to the same router (#12315) (17bdbed)
  • Fixed issue of STA may join bad RSSI AP when sort by signal (#13958) (17bdbed)
  • Fixed ESP32 wrong period for ESP_WIFI_SLP_BEACON_LOST_OPT feature. (a2434a8)
  • Fixed ESP32-C3/ESP32-C2/ESP32-S2 inaccurate period for ESP_WIFI_SLP_BEACON_LOST_OPT feature. (a2434a8)
  • Fixed the loop beacon timeout issue when STA connected to AP do Wi-Fi scan (97bac41)
  • Fixed the issue that SOC_WIFI_GCMP_SUPPORT with GCMP disabled try to connect AP with both CCMP and GCMP enabled (d0ff5e6)
  • Used low rate to send DHCP offer and DHCP ack to avoid get IP fail (b0173a1)
  • Used QoS Data to encapsulated EAPOL frame (b0173a1)
  • Fixed crash issue during WiFi connect when AMSDU TX enabled (b0173a1)
  • Fixed multicast address QoS frames issue (b0173a1)
  • Fixed task watchdog got triggered by esp_wifi_stop issue (b0173a1)
  • Fixed scan get AP number issue (b0173a1)
  • Fixed beacon timeout after restart (987752f)
  • Fixed Wi-Fi stop cost too much time at coexist scenario (987752f)
  • Fixed esp_wifi_scan_start memory leakage issue (#10693) (c286a41)

ESP-WIFI-MESH

Changed

  • Updated the documentation for the use of mesh APIs (85fdb69)

Fixed

  • Fixed the issue that XON request timeout constantly when root reboot (#13212) (98d3c82)
  • Do not send NULL data when scan start/done for mesh (#13786) (9cceca5)
  • Fixed the TX issue when mesh lifetime remain equal to zero (8b6811e)
  • Wait for child disconnect event when mesh deinit (a1dad7e)

Wi-Fi Supplicant

Added

  • Added parameter to configure reason code of deauth frame (eaef526)
  • Added support for WPA3-Enterprise and OWE transition disable indication (a7e404d)
  • Added low heap Kconfig option for EAP enterprise (702853c)
  • Added change to allow calling esp_mbo_* APIs only when MBO config flag is enabled. (1e8aa6c)
  • Added support to move supplicant BSS to external memory (91ed63e)

Fixed

  • Fixed for setting WPS status fail when connection fails. (517ca1b)
  • Fixed a memory leak that occurs when the SAE connection is interrupted. (509015c)
  • Fixed dereferencing a dangling function pointer in WPS (397c1d9)
  • CVE-2023-52160 Updated phase2 requirement for WiFi PEAP authentication to required when client cert/private key is not used. (94d2ac6)

ESP Vendor Feature

Changed

  • example: Changed the magic variable from int to uint32_t on the receiving side (#10912) (26af71d)
  • Updated the documentation for the use of sniffer APIs (#10740) (26af71d)

Fixed

  • example: Fixed smartconfig BSSID set issue (edaff79)

Ethernet

Added

  • Added functions to access MDIO Managed Devices (MMD) PHY registers (1a48259)

Fixed

  • Fixed link detection for DP83848 to use BMSR (#13560) (9751ab5)
  • Fixed reset timing of IP101 to align with datasheet. (13959f2)
  • Fixed issue when Ethernet MAC didn't start after the second start/stop sequence when auto-negotiation disabled. (f746399)
  • Fixed SPI Ethernet _alloc_recv_buf error handling (5952e6c)
  • Fixed W5500 flush received frame function (5952e6c)

Security

Fixed

  • Fixed incorrect results for GCM operations that used non-AES ciphers using software fallback (4a7eab3)
  • Fixed build failure and incorrect GCM hardware usage when CONFIG_MBEDTLS_HARDWARE_GCM is disabled (f01e9be)
  • Additional protection for secure version check in anti-rollback case to avoid security bypass with physical access to flash (534e3ad)
  • Updated method for disabling HMAC to avoid unnecessary peripheral reset during disabling (8223995)

Peripheral Drivers

Added

  • SPI Flash: Add check for safe write address in encrypted flash write API (d80aa9f)
  • RMT: Added help function to allocate the memory used by the encoder (#13032) (1ddc356)
  • RMT: Support update bytes encoder configurations at runtime (#12775) (7146c55)

Changed

  • SPI Flash: Moved config options that depends special flash models into Main Flash configuration menu (50fc2bf)
  • SPI Flash: Now HPM (Quad Flash > 80MHz), that rely on special flash model, needs users' manual confirmation by selecting SPI_FLASH_HPM_ENA (Read Programming guide SPI Flash API > Optional Features for Flash > High Performance Mode First!) (50fc2bf)

Fixed

  • ADC: Fixed wrong results after ADC continuous mode stops and starts again on ESP32-C6/ESP32-H2/ESP32-S3/ESP32-S2/ESP32-C2 on leagcy driver (1cb07eb)
  • GPIO: Fixed mismatching real drive capability with the configured value for some IOs on ESP32-C3 and ESP32-S3 (6371dcb)
  • I2C: Fixed timeout being overwritten when starting an I2C transfer (#4999) (2691bba)
  • I2S: Fixed incorrect reg base name on C3 (#12643) (b721f9c)
  • LCD: Fixed build errors in cxx project when using the deprecated esp_lcd_color_space_t type (#14029) (7a81ba2)
  • Rgb Lcd: Flush the PSRAM frame buffer after allocation (#13294) (f934022)
  • Rgb Lcd: Fixed the issue that the restart transmission can't work with RGB332 pixel format (#13020) (fcc7bcb)
  • Mcpwm: Reset the generator GPIO after deleting (#12980) (e9fa7a9)
  • Modbus: Fixed possible incorrect event processing in modbus slave examples (67e446d)
  • RMT: Fixed the issue that RX filter can't work properly when using REF_TICK as the clock source on ESP32/S2 (#13510) (5faf0a6)
  • Sdmmc: Fixed initialization process for certain cards in SPI mode (#6686, #10542) (0b71bfa)
  • SPI Flash: Fixed stuck during spi_flash operation when a task was not pinned to a certain CPU. (f0c2da6)
  • SPI Flash: Fixed document issue of Auto suspend enabled by default (fbc4dfb)
  • SPI Flash: Fixed issue that flash encryption failed while ROM_IMPL config is enabled, increases 1.2KB IRAM usage. (09d7bb4)
  • UART: Shortened uart_read_bytes blocking period when the RX ring buffer is already full (6f72d01)
  • UART: Fixed the maximum baud rate value (UART_BITRATE_MAX) on ESP32-C2 that ensures the data sampling correctness. (3087b28)
  • UART: Fixed inconsistent number of UART wakeup rising edges required with the threshold value configured on ESP32-S2 and later chips (#12586) (cf4825b)
  • USB: Fixed ISOC channels abort on error (2dc5e29)
  • Usb Host: Fixed a bug in the USBH layer where multiple concurrent events on the same device would result in some of those events being dropped. (76ea011)

Removed

  • Rgb Lcd: Removed the validation of pins for RGB_LCD output (#13103) (fcc7bcb)

System Hardware

Fixed

  • Solve CLK calibration timeout problem caused by the wrong range of RTC_CLK_CAL_CYCLES. (1bd6dff)
  • Fixed bbpll calibration fail bug for s3 to avoid TG0WDT_SYS_RESET. (343560e)

Core System

Added

  • IPC: Added non-blocking IPC call (f0c2da6)

Fixed

  • Console: Fixed a bug in linenoise console where a negative prompt length can lock up the console, making it unresponsive and leading to a task watchdog timeout. (#4924) (422bb72)
  • Esp_Ringbuffer: Fixed a bug that resulted in a function in flash being called from an ISR in RAM (#13378) (170cfde)
  • Heap: Fixed size propagated to allocation failed hook in heap_caps_calloc() (19304c5)
  • Interrupts: Fixed esp_intr_free when task has no core affinity (#12608) (5ff53bf)
  • Log: Fixed wrap-around of cache generation counter (#6516) (c73e7c6)
  • Log: Fixed incorrect argument type in hexdump log functions (#13347) (de5efa5)
  • Fixed the problem that when the external 32k clock source is selected as the slow clock source on the 26MHz version ESP32-C2, the RTC_WDT will be triggered during the startup when the clock source is missing. (3b44849)

Debugging

Changed

  • Core Dump: Moved the log strings from RAM to flash (3bb82f7)

Toolchain

Changed

Low Power Features

Fixed

  • Fixed Fast Memory and Slow Memory may lost in sleep modes on ESP32-C3/ESP32-S3 (155eb11)

Power Management

Fixed

  • Fixed a bug where using XTAL as the clock source for the watch dog timers would trigger a watchdog timeout immediately after waking up from light sleep. (50ce5e9)
  • Fixed the problem that CPU frequency is not updated immediately after pm_config updated. (#13492) (ff4dba8)
  • Fixed the issue of modem hang caused by incorrect configuration of power and isolate signals in modem domain (55fc8e6)

ULP

Fixed

  • Ulp-Risc-V: Fixed a bug where an incorrect register was being written to for setting RTC IO output mode for the ULP RISC-V (#14010) (52fa840)

LWIP

Added

  • Added fall back dns config in menuconfig (a1dad7e)

Fixed

  • Fixed compilation error in lwIP debug print formatting. (a1dad7e)
  • Fixed DNS initialization to work correctly with FALLBACK_DNS_SERVER_ADDRESS() in IPv4 only mode (espressif/esp-lwip#62) (a1dad7e)
  • Esp Netif: Fixed setting missing IPv6 auto-configuration flag for PPP interfaces if enabled in menuconfig (#13713) (a783022)
  • Esp Netif: Fixed memory leak caused by mdlv6 report timer creation (2c4f0cd)
  • Fixed compilation error in lwIP undefined reference to `if_nametoindex'. (#13577) (f378e76)
  • Esp Netif: Fixed wrong event post when IPv6 address state changes between two valid states (2c4f0cd)
  • DHCPS: Fixed the issue of can't clear oldest DHCP pool sometimes (76d2ac0)

HTTP Client

Added

  • Added support for OTA updates over TLS 1.3 (1bec490)

mbedTLS

Changed

  • Updated mbedTLS to v3.6.0 (8a25d14)

Bootloader

Added

  • Added legacy retained memory CRC calculation as an option (#12849) (2486b6b)
  • Added API to verify bootloader/app image before revoking the secure boot key. (68c450d)
  • Added a config to encrypt only the app image instead of the whole partition when flash encryption is enabled (#12576) (14ddc19)

Changed

  • Flash: Moved SPI Flash config options that depends on bootloader into bootloader submenu to make them more obvious (50fc2bf)

Fixed

  • Fixed the value of the image_length field of the image metadata populated by esp_image_verfiy() to include the size of the signature sector when Secure Boot V1 is enabled. (14ddc19)

ESP-TLS

Added

  • Added support for TLS 1.3 connection in client mode (1bec490)

Fixed

  • Initialize mbedtls RNG context prior to setting client config in ESP-TLS, this fixes ECC key parsing issue for specific cases (fddb503)

Storage

Added

  • Littlefs: LittleFS demo example is added (8c7a828)

Changed

  • NVS: Improved NVS initialisation by extending consistency check of multi page BLOBs (05a45e9)

Fixed

  • Fatfs: Fixed wrong Wear Levelling mode for FatFS generation (wl_fatfsgen.py) (9daa8ef)
  • Fatfs: Fixed issue where FatFs tried to trim on sd cards that did not support it (f2d351d)
  • NVS: Fixed race condition during Lock class initialisation (05a45e9)
  • NVS: Fixed buffer overrun in nvs_get_blob when reading from NVS partition containing inconsistent multi page BLOBs (05a45e9)

Tools

Changed

  • The ESP-IDF version is acquired only from the version or the header file (#13385) (2c0efb8)
  • Set GDB timeout to 10 seconds for waiting for the remote target's response (ae1195f)

Fixed

  • idf.py: Avoided crashing when trying to use Git to acquire the ESP-IDF version (#13345) (cbb90de)
  • Fixed Access Violation Error on Windows with Python 3.12 (#13232) (914d893)
  • Fixed return codes in BAT scripts (e334aa0)