Skip to content

ESP-IDF Release v4.3.7

Compare
Choose a tag to compare
@github-actions github-actions released this 04 Jan 09:23
· 20348 commits to master since this release
v4.3.7
1bdf0a8

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

ESP-IDF v4.3.7 is a bugfix update for ESP-IDF v4.3.

Obtaining v4.3.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 v4.3.7 --recursive https://github.com/espressif/esp-idf.git esp-idf-v4.3.7
cd esp-idf-v4.3.7/

This is the recommended way of obtaining v4.3.7 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v4.3.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/v4.3.7/esp-idf-v4.3.7.zip

Major changes

  • Increase the maximum supported version of ESP32-C3 to v1.99 (e19f84c)

This is the list of changes since release v4.3.6:

Changelog

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE mesh advertising types for exception list on ESP32C3 and ESP32(2b6ebac)
  • Support ESP32-C3 ECO7(v1.1) BLE (ef90a3d)
  • Support clear BLE legacy advertising on ESP32-C3 and ESP32 (173f596)
  • Added config to enable HW recorrect eco on ESP32-C3 (2b6ebac)

Changed

  • Modify mesh proxy solic uuid to 0x18590303 on ESP32-C3 and ESP32 (173f596)

Fixed

  • Fixed assert when BLE disconnect due to instant passed on ESP32-C3 (49c2896)
  • Fixed add(remove) RPA to(from) white list on ESP32-C3 (49c2896)
  • Fixed AES encryption for RPA resolution on ESP32-C3 (49c2896)
  • Fixed assert when BLE disconnect due to instant passed on ESP32. (49c2896)
  • Fixed scan event timeout on ESP32. (49c2896)
  • Fixed random address setting when scanning on ESP32. (49c2896)
  • Fixed BLE bugs in setting advertising data and scan response data on ESP32-C3 (173f596)
  • Fixed power state setting when entering modem sleep on ESP32-C3 (173f596)
  • Fixed DTM payload length cannot be 0 on ESP32-C3 (2b6ebac)
  • Report the number of packets sent on the TX end on ESP32-C3 (2b6ebac)
  • Fixed resolvable private address renew after timeout on ESP32-C3 (2b6ebac)
  • Fixed address resolution for directed advertising when scanning on ESP32-C3 (2b6ebac)
  • Fixed extended advertising address setting after advertising restart on ESP32-C3 (2b6ebac)
  • Fixed PHY enable and disable for BLE controller on ESP32-C3. (fbd905a)
  • Fixed advertising random delay when advertising interval is less than 20ms on ESP32-C3. (fbd905a)
  • Fixed advertising random address setting when owner address type is public on ESP32-C3. (fbd905a)
  • Fixed instant setting for BLE LLC procedures with instants on ESP32. (fbd905a)
  • Fixed advertising random delay when advertising interval is less than 20ms on ESP32. (fbd905a)
  • Fixed memory leak in ESP32-C3 controller (530cf57)
  • Fixed BLE recorrect enable bug on ESP32-C3 (2e8d33e)
  • Fixed BLE bb isr is enabled by default on ESP32-C3 (2e8d33e)

ESP Bluedroid Host

Added

  • Added BLE Micro definition in a header file (8560017)
  • Added BLE GATTS local database print API (8560017)
  • Added BLE periodic advertising sync transfer API and EVT (8560017)
  • Added GATTC read multiple variable length characteristic API and EVT (8560017)
  • Added API to clear BLE legacy advertising. (173f596)
  • Support setting scan response data length to zero in BLE (b84f952)
  • Support high duty advertising interval setting. (fbd905a)
  • Support periodic ADI feature. (fbd905a)
  • Supported LE GATT service database hash calculate (8560017)
  • Supported LE GATT robust caching feature (8560017)
  • Supported LE periodic advertising sync transfer (8560017)
  • Supported LE L2CAP credit based connection (8560017)
  • Supported SMP OOB pairing for LE secure connection (8560017)
  • Added internal GATT API for BLE PTS (8560017)
  • Added characteristics for LE GAP and GATT service (8560017)
  • Support BLE gattc notify registration number (a01caee)
  • Support control point in BLE HID example (a01caee)

Changed

  • Delete one HID service to optimize compatibility with Android 10 and later devices (a01caee)
  • Optimized compatibility with IOS and MACOS devices (a01caee)
  • Increased default stack size of BTU task by 256 bytes (738a49f)

Fixed

  • Fixed the BLE advertising and scan status after stop/start cycles of the host (7cdd2b2)
  • Fixed the connection cannot be established after several stop/start cycles of the host (7cdd2b2)
  • Fixed add RPA to white list. (49c2896)
  • Fixed BLE SMP register log level (925654a)
  • Fixed deinit init BLE scan fail issue (ca64739)
  • Fixed BLE load bond information error after reboot (eb53913)
  • Fixed HID example stack overflow bugs when using ESP32-S3 (b84f952)
  • Fixed remove resolving list error for ESP32 (b84f952)
  • Fixed bugs in handling reading requests for GATT service changes characteristic (b84f952)
  • Fixed setting periodic advertising data error (b84f952)
  • Fixed address check error when using NRPA as random device address. (fbd905a)
  • Report BLE disconnect event after BLE link closed. (fbd905a)
  • Fixed BLE GATTC cache address saving when the cache list is full. (fbd905a)
  • Fixed bug while calculating block cipher using . (fbd905a)
  • Fixed timeout error when updating connection params. (fbd905a)
  • Fixed connection parameter validation error. (fbd905a)
  • Fixed GATT multiple notifications and robust caching (8560017)
  • Fixed an issue where memory resources were not properly released when devices disconnected (6cc40d5)
  • Fixed BLE advertising scan response event type error(64831f3)
  • Fixed BLE key size check error(64831f3)
  • Fixed encryption key size check error in BLE SMP (a01caee)
  • Fixed BLE Prepare Write Request timeout on Client Characteristic Configuration and Client Supported Features characteristic (aab7332)
  • Fixed prepare write out-of-bound memory write BLE for example (aab7332)

ESP NimBLE Host

Added

  • Added support for high duty adv interval (83778ad)

Fixed

  • Fixed authcomplete failure due to mismatch in the c1 value. (bcc3487)
  • Handled deletion of IRK/LTK on basis of key availability. (baf57ec)
  • Fixed incorrect handling of bonded devices. (baf57ec)
  • Memory leak fixes (5936402)

Removed

  • Removed global min/max definition (d6d55aa)

ESP-BLE-Mesh

Fixed

  • Fixed compilation failure while using time scene model (320f0a4)
  • Fixed PB-GATT adv packets reported to app layer too frequently (ac0138f)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Added two new APIs for HFP performance test to collect statistics of synchronous stream transmission and reception (d832144)
  • Added peer Bluetooth device address into HF callback parameters (d832144)
  • Added an API to terminate an ongoing call from HF client side (d832144)

Changed

  • Modified the number of SDP maximum connections from 2 to 4 to avoid connection exhaustion (ff16d2d)
  • Changed the description of esp_hf_client_reject_call (d832144)

Fixed

  • 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 (949c296)
  • Limit the number of paired BT devices stored into NVS and remove the oldest exceeded device from NVS when loading bond list. (f8e9443)
  • Fixed failure in QoS configuration when polling interval requested is greater than 40 (947085b)
  • Fixed failure of GAP disconnection complete event (947085b)
  • Fixed HID congestion checking issue. (5cd95b2)
  • Limit sniff request when pending the mode change event caused by the previous sniff request. (435561c)
  • Fixed incorrect enumeration values defined in type esp_hf_dial_type_t (08991d3)
  • Fixed the issue of uninitialized parameters in event BTA_AG_WBS_EVT in HFP (08991d3)
  • Fixed NULL Bluetooth device address in events of HF-AG was reported to application layer (d832144)
  • Fixed errors in parsing ATD command in HFP AG (d832144)
  • Fixed incorrect definition of event ESP_HF_CIND_RESPONSE_EVT in HF-AG (d832144)
  • Fixed wrong indexes of HF-AG indicators (d832144)
  • Fixed incorrect handling of A2DP set configuration command when response with error code INVALID_CODEC_TYPE is expected (82f1755)
  • Fixed the panic when the mutex created is enclosed by macro SMP_INCLUDE, but locked by functions beyond that macro (a8584ed)

Removed

  • Removed the incorrectly defined HCI error code ESP_BT_STATUS_HCI_PENDING (1915151)
  • Deleted the redundant 'memset' in btc_hf_cb_handler (d832144)

Classic Bluetooth Controller

Changed

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

Fixed

  • Fixed logic error during sniff negotiatoin which causes failure to enter sniff mode on ESP32. (dc90927)
  • Fixed conflicts during unsniff procedure negotiation on ESP32, when local and peer devices initiate unsniff procedure at the same time. (dc90927)
  • Fixed crash when central and peripheral both attempt to initiate sniff procedure on ESP32. (dc90927)
  • Fixed the crash during hardware error handling caused by Rx IRQ generated from sniff frame on ESP32. (dc90927)
  • Fixed assertion resulted from failure of insertion of role switch frame on ESP32. (dc90927)
  • Fixed the assertion caused by improper handling of Rx IRQ in inquiry scan frame on ESP32. (dc90927)
  • Fixed the assertion caused by improper handling of Rx IRQ in page scan frame on ESP32. (dc90927)
  • Fixed logic error of coexistence status set and clear upon failure of sniff negotiation on ESP32. (dc90927)
  • Fixed IntegerDevideByZero caused by interrupted procedure of synchronous link creation on ESP32. (dc90927)
  • Fixed parameter check for HCI_Setup_Synchronous_Connection command. (49c2896)
  • Fixed parameter check for HCI_Set_Connectionless_Peripheral_Broadcast command. (49c2896)
  • Fixed error in HCI_Recevie_Synchronization_Train Command parameter check on ESP32. (dc90927)
  • Fixed secure authentication failure for peripheral on ESP32. (dc90927)
  • Fixed error in HCI_Change_Connection_Packet_Type Command parameter check on ESP32. (5ecd048)
  • Fixed error in HCI_Accept_Synchronous_Connection_Request Command parameter check on ESP32. (5ecd048)
  • Fixed error in HCI_Set_Connectionless_Peripheral_Broadcast_Data Command parameter check on ESP32. (5ecd048)
  • 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. (d06b5a1)

Bluetooth Common

Bluedroid

Changed

  • Unify the process of loading bonded device during bluetooth initialization and update the newest active device when an new ACL link is established. (f8e9443)

Fixed

  • Fixed bluedroid host build warning when log is disabled (2b6ebac)

Controller

Added

  • Added config to disable hci uart flow control on ESP32 and ESP32-C3 (2b6ebac)

Changed

  • Enable pll track by default on ESP32 (2b6ebac)

PHY

Changed

  • Updated phy lib same to master (0418bd2)

Fixed

  • Fixed Bluetooth coexist bug on ESP32 (67b9c0a)

Wi-Fi

Changed

  • Example: Adjusted iperf example compiler optimization level from COMPILER_OPTIMIZATION_DEFAULT to COMPILER_OPTIMIZATION_PERF to improve performance (3a03999)

Wi-Fi MAC

Added

  • Supported fragment for LR mode (7e9d90c)
  • Supported ESP32-C3(v1.1) Wi-Fi (1444269)

Changed

  • Changed fragment threshold to 256 (7e9d90c)

Fixed

  • Fixed FTM regressions (16e0493)
  • Fixed the issue that deinit/init cause wifi scan fail issue (ca64739)
  • Fixed multi antenna issue (7e9d90c)
  • Fixed beacon timeout retriggered issue (7e9d90c)
  • Fixed typo in wifi api docs (7e9d90c)
  • Fixed RX fragment fail in Open mode (7e9d90c)
  • Dropped fragmented packets in AMPDU (7e9d90c)
  • Fixed AMPDU duration issue (7e9d90c)
  • Fixed CCMP and GCMP PN became large issue. (4d8baf8)
  • Fixed enable PSRAM causes DHCP failure in WAPI encryption mode. (4d8baf8)
  • Fixed the issue that Station with PMF disabled not reject AP with PMF required (4d8baf8)
  • Allowed some special invalid IGTK key index to workaround faulty APs. (4d8baf8)
  • Fixed an issue where PMF was getting disabled during the connection. (85f2d53)
  • Fixed key installation issue in EAP Re-authentication (85f2d53)
  • Fixed Wi-Fi station no response after m f null happened. (365b867)
  • Fixed station example authmode threshold issue. (e9371de)
  • Fixed crash in sending neighbour report request. (de21e45)
  • Fixed the crash issue when clear the scan AP list (16317f5)
  • Fixed the issue that Station connecting with WPA security in enterprise mode (2f00d01)
  • Fixed the issue that Station disconnect immediately after scan (0e493db)

ESP-WIFI-MESH

Fixed

  • Fixed wifi mode error when mesh start after station has connected to router (16317f5)

Wi-Fi Supplicant

Changed

  • Do not disconnect in WPS disable API incase WPS is done/scanning (207d846)
  • Get passphrase in WPS if AP support SAE (b7b0a6f)

Fixed

  • Fixed WPS connection issues (207d846)
  • Fixed WDT when esp_supp_dpp_start_listen is called multiple times (b99bade)
  • Fixed memory leak in DPP deinit path (b99bade)
  • Memzeroed wifi config before sending DPP config event. (deffe32)
  • Fixed crash in dpp when dpp-akm enabled AP starts authentication. (deffe32)
  • Added checks in dpp listen and deinit path. (deffe32)
  • Added checks to ensure that dpp APIs follow the init->bootstrap->listen path. (deffe32)
  • Skipped using PMK cache in WPA3 connection incase configured password is incorrect (09e397b)
  • Drop EAPOL msg if EAP success is not processed (a6bcdf9)

ESP Vendor Feature

Fixed

  • Fixed ESPNOW send error when station connected to AP and modem sleep is enabled (6da3a37)
  • Fixed set LR rate fail for ESP-NOW and 80211_tx (813a9bf)
  • Fixed the RX error when softAP/station and ESP-NOW both encrypted, and the ESP-NOW peer address is equal to the connection peer address (813a9bf)

Coexistence

Fixed

  • Fixed BLE scan not restarting after being interrupted by WIFI on ESP32 (b9a538b)

Ethernet

Fixed

Peripheral Drivers

Fixed

  • SPI: Fixed undesired touching to DMA (#12241) (5af1c9e)
  • Spi Master: Fixed polling api blocks all SPI transmit when ESP_ERR_NO_MEM (#11845) (784a688)
  • TWAI: Fixed TWAI examples crash when using USB-serial-Jtag pins (f994bb8)

Removed

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

System Hardware

Added

  • Increase the maximum supported version of ESP32-C3 to v1.99 (e19f84c)

Fixed

  • Brownout: Disable the hardware brownout reset when brownout interrupt is enabled. (20b42ca)

Core System

Fixed

  • Pthread: Fixed pthread condition variable linker hook (f21cbb6)
  • Fixed the issue that a CPU interrupt of priority N was actually set as N+1 (12dec61)
  • CPU: Fixed a bug in esp_cpu_set_watchpoint() where a watchpoint on a range of addresses was improperly set on RISC-V targets. (3cd0cd9)

Low Power Features

Fixed

  • Solved CPU crash problem caused by voltage insufficient when its frequency switched from high to low on ESP32S2. (8196913)
  • Fixed potential illegal instruction exception after waking up from light sleep (92c7565)

LWIP

Added

  • Added config options to control TCP out-of-sequence (OOSEQ) packet buffers and timeouts (525f5a0)
  • Added sbom description file for Software BOM (525f5a0)
  • Added support for configuring TCP/IP task priority to improve performance (3a03999)

Changed

  • Updated TCP connection code to increase transmission timeout only if we're not opening a new connection (525f5a0)

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) (525f5a0)
  • DHCP Server: Fixed DHCP server pool configuration issue (525f5a0)
  • ESP-NETIF: Fixed network interface list locking issue (#12261) (c79f1bc)
  • NAPT: Fixed deinit to restor to the initial state (525f5a0)

mbedTLS

Changed

Storage

Fixed

  • NVS: Fixed OOM check wrong pointer issue (e0c52bc)

Tools

Changed

  • Bumped idf-component-manager minimal version to 1.1 (6f147b9)

Fixed

  • Fixed ZSH autocomplete for --port option (#7970) (bfcba10)