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
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
- Reduced possibility of "no mem for receive buffer" error. (#9308, #9083, #6101, #9594, #12533)(a39355d)
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 toADC_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 asN+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
- Updated to v2.28.5 (193b8f8)
Storage
Fixed
- NVS: Fixed OOM check wrong pointer issue (e0c52bc)
Tools
Changed
- Bumped idf-component-manager minimal version to 1.1 (6f147b9)
Fixed