github espressif/esp-idf v4.3.6
ESP-IDF Release v4.3.6

latest releases: v5.3.1, v5.0.7, v5.3...
12 months ago

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

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

Obtaining v4.3.6

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

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

Download an archive with submodules included

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

Major changes

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

Major Bug Fixes

  • Support 8MD256 as RTC slow clock work properly ESP32-S2/ESP32-C3/ESP32 (3ebd574)
  • Current increase 2 ~ 3uA when in deepsleep by default config (3ebd574)
  • Current will increase when 8MD256 used as RTC slow clock in sleep (3ebd574)
  • Fixed POWER ON reset when using RTC IO as input in deepsleep on ESP32-S2/ESP32-C3 (3ebd574)
  • Fixed RTC memory lost in high temperature in deepsleep on ESP32-S2/ESP32-C3 (3ebd574)
  • Fixed dangerous power parameters in sleep modes on ESP32-S2 (3ebd574)
  • SPI Flash: Fixed concurrency issue when concurrently calling esp_flash APIs under XIP_PSRAM or Auto-suspend condition (e1647e5)

Changelog

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Controller: Support ESP32-C3 new BLE lib (b1ecece)
  • Controller: Add comments to the header files for ESP32-C3 and ESP32-S3 to support CI (08c212e)

Changed

  • Controller: Improved scan performance when scan and sync coexist on ESP32-C3 and ESP32-S3 (551de84)

Fixed

  • Controller: Fixed BLE disconnection delay on peripheral when slave latency is not zero on ESP32. (9812efb)
  • Controller: Fixed BLE LLCP initialization for central and peripheral on ESP32. (9812efb)
  • Controller: Fixed sent command status event twice for disconnect command on ESP32. (9812efb)
  • Controller: Fixed crash when controller initialization fails due to insufficient memory on ESP32-C3 and ESP32-S3. (9812efb)
  • Controller: Fixed BLE connection terminated due to MIC failure during encryption procedure on ESP32-C3 and ESP32-S3 (119c4c4)
  • Controller: Fixed BLE connection failed to be established when disabled 5.0 feature on ESP32-C3 and ESP32-S3 (119c4c4)
  • Controller: Fixed BLE disconnection failure on ESP32 (4713320)
  • Controller: Fixed disconnection due to consecutive CRC errors in first 6 intervals on ESP32 (4713320)
  • Controller: Fixed non-connectable and non-scannable directed adv can't be scanned on ESP32-C3 and ESP32-S3 (551de84)
  • Controller: Disable controller 5.0 feature bits if host 5.0 feature is not enabled (551de84)
  • Controller: Fixed duplicate scan refresh cycle is not accurate after restarting scan on ESP32 (a42d0ef)
  • Controller: Set default instance value to 6 on ESP32-C3 and ESP32-S3 (b1ecece)
  • Controller: Disable controller 5.0 feature bits if host 5.0 feature is not enabled (b1ecece)
  • Controller: Fixed extend ADV parameters check for ADV_DIRECT_HI (b1ecece)
  • Controller: Fixed memory leak when setting adv data on ESP32. (af6498f)
  • Controller: fix Wi-Fi unable to work normally in coexistence with BLE extended scan, when scan whitelist is enabled, on ESP32-C3 and ESP32-S3. (0814f65)
  • PHY: Fixed the iPhone disconnects immediately after connecting when BLE and wifi coexist on ESP32-C3 (3a10cc9)

ESP Bluedroid Host

Added

  • Bluedroid: Added a log statement to print the Bluetooth MAC address (328e151)
  • Bluedroid: Added API to get the name of Bluetooth device. (f3c5763)

Changed

  • Bluedroid: Prohibiting the enablement of privacy uring non-connected activities to comply with the protocol specifications (08c212e)

Fixed

  • Bluedroid: Fixed issues about data length 0 when set ext adv data,ext scan rsp data and periodic adv data. (08c212e)
  • Bluedroid: Fixed GATT control block free when disconnecting. (e45f790)
  • Bluedroid: Fixed GATTC database cache free when disconnecting. (e45f790)
  • Bluedroid: Fixed compile warning when optimize for performance. (e45f790)
  • Bluedroid: Fixed the issue of setting BLE advertising data incorrectly when the data length is 0. (328e151)
  • Bluedroid: Fixed BLE default extended connection parameters. (9812efb)
  • Bluedroid: Revert "bluedroid: report disconnect event after BLE link closed". (9812efb)
  • Bluedroid: Fixed BLE extended advertising random address setting for NRPA (119c4c4)
  • Bluedroid: Fixed BLE advertising data construct for device name (119c4c4)
  • Bluedroid: Fixed BLE SMP key distribution setting (119c4c4)
  • Bluedroid: Report disconnect event after BLE link closed (119c4c4)
  • Bluedroid: Fixed no error report when own address type is rpa_random and no random address setting (4713320)
  • Bluedroid: Fixed battery profile wrong condition in bluedroid host (4713320)
  • Bluedroid: Report status when clearing the BLE whitelist is complete. (f3c5763)
  • Bluedroid: Fixed saving GATTC cache with the same device address. (f3c5763)
  • Bluedroid: Fixed state conflict between advertising and scanning. (f3c5763)
  • Bluedroid: Fixed BLE extended advertising params check on bluedroid. (54bce0c)
  • Bluedroid: Fixed bluedroid host ATT Ignore wrong response error sometimes (b1ecece)
  • Bluedroid: always enable BT_BLE_RPA_SUPPORTED If target is not ESP32 (b1ecece)

ESP NimBLE Host

Added

  • Nimble: Added Encryption support (4ef3907)
  • Nimble: Added GATT notify and subscribe support (4ef3907)
  • NimBLE: Expose Address Resolution API outside stack (d6615a6)

Fixed

  • NimBLE: Fixed compilation issue in blufi for nimble (08c7c13)

BluFi

Fixed

  • Blufi: Fixed Blufi document description errors (4713320)
  • Blufi: Fixed vulnerability attacks that could cause heap overflow in fragmented Blufi packet processing (b1ecece)

Other Profile

Fixed

  • HID: Fixed BLE HID battery level setting. (9812efb)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Bluedroid: Added status parameter for AVRCP passthrough command response event to make user notified of the response code from AVRCP target. (46e0779)

Changed

  • Bluedroid: Updated the API documentation of esp_bt_gap_set_cod. (dd8f93e)

Fixed

  • Bluedroid: Fixed null pointer access after disconnection。 (af6498f)
  • Bluedroid: Fixed the error the module HFP-AG used an out-of-bounds array index. (f01a1f5)
  • Bluedroid: Fixed the crash of LoadProhibited caused by invalid operation on list node in handling hci_hardware_error event. (6a7c559)
  • Bluedroid: Fixed the problem of memory access out-of-bounds in HFP caused by the variable-length array introduced in 3268075. (#11264) (eb56474)
  • Bluedroid: Fixed the inconsistency between the indicator event received by the HF application layer and the actually received indicator. (#6486) (cac7fb9)
  • Bluedroid: Fixed the alarm leak which is caused by not releasing the timer during A2DP and HF-AG deinitialization. (3fddf4a)
  • Bluedroid: Fixed the unexpected use of 3-EV3 packet type in HFP when Wide-Band Speech is disabled, by revising the (e)SCO configuration parameter sets according to HFP_v1.8. (4c0206c)

Classic Bluetooth Controller

Fixed

  • Controller: Fixed memory exhaustion resulted from repetitive unhanded event LC_AFH_UPDATE_IND on ESP32 (af6498f)
  • Controller: Fixed link disconnection during sniff negotiation due to invalid D_sniff value on ESP32 (af6498f)
  • Controller: Fixed failure of re-connection after ACL link is disconnected but host continues to send ACL data to controller on ESP32 (af6498f)

PHY

Changed

  • Optimised Wi-Fi RX performance on multi-path environment (a1e7766)
  • Optimized ht40 tx side band issue (f47d7d9)
  • BLE TX sideband optimization for ESP32-C3. (a1e7766)

Fixed

  • Fixed the issue that Wi-Fi not work with T-sensor on ESP32-S2. (a1e7766)

Wi-Fi

Added

  • Added new API to get RSSI info after station connected to AP (258623a)

Changed

  • Updated FTM calibration way and other FTM bug fixes (f93805a)
  • Updated TX rate when PHY mode change from LR to 11N (c65c587)
  • Updated SoftAP pairwise cipher. (a93ccc1)
  • Improvements in station SA query procedure handling (0369fe8)
  • Connection management related improvements in STA and SoftAP (0369fe8)
  • the callback of esp_wifi_set_vendor_ie_cb() can be set to NULL now (258623a)

Fixed

  • Fixed the issue that STA receive CSA indication not belongs to it in scan which leads to connection issue (eaf90a4)
  • Fixed the issue that when SoftAP receive QoS null will lead to receiving issue (258623a)
  • Fixed association refused temporarily comeback time set to zero issue. (258623a)
  • Fixed crash in use of esp_wifi_action_tx_req() (258623a)
  • Fixed SoftAP mode NVS <ssid,password,pmk> not matching issue. (73c4120)
  • Fixed ESP-NOW example add peer with other channel fail(#9592) (650e722)
  • Fixed potential issue when TX fragment packets. (40ed293)
  • Fixed ESP32-C3 rate control issue to improve TX robust (9502bcc)
  • Fixed initialization of EAP methods during reassociation (5a160d2)
  • Fixed set inactive time crash issue. (a93ccc1)
  • Fixed a bug that when STA connected with 11g AP and TXOP enabled, Tx buffer leak happened. (a93ccc1)
  • Fixed the issue SoftAP will not verify SSID of association request. (a93ccc1)
  • Fixed infrequent issue with the de-initialization and btm task deletion. (e8f2f5e)
  • Fixed beacon TX process issue when softAP interface was stopped (a9586ad)
  • Fixed typo in wifi_enterprise example README (#10042) (3d25318)
  • Fixed the issue that the wifi mac parse beacon bug of ie length equal to zero for ESP32C3/ESP32S3/ESP32C2/ESP32C6 (258623a)
  • Fixed the issue that the wifi can not go to sleep caused by MAC waiting for RX/TXING (258623a)

Supplicant

Fixed

  • Fixed EAPOL Key TxDone callback implementation (70f8666)

ESP-WIFI-MESH

Changed

  • ESP-WIFI-MESH: Updated mesh doc (c65c587)
  • ESP-WIFI-MESH: Updated discard context condition and process disconnect condition (c65c587)

Fixed

  • ESP-WIFI-MESH: Fixed the layer2 node scan issue when fixed root (9195898)
  • ESP-WIFI-MESH: Fixed the heap corrupt issue (c65c587)
  • ESP-WIFI-MESH: Fixed the bug that esp_mesh_is_root() return error when set root type (c65c587)
  • ESP-WIFI-MESH: Fixed the bug that user can't set inactive time on mesh root (c65c587)
  • ESP-WIFI-MESH: Fixed the bug in set idle type (c65c587)

Security

Fixed

  • Hardware AES: Fixed DMA descriptor calculation for the specific aligned data length case causing memory corruption (#11310) (3897faa)

Peripheral Drivers

Fixed

  • GPIO: Fixed the issue that IOs, which are used for deep sleep wakeup, keep staying in holding state after waking up. These IOs can now be re-configured. (#10921) (d31e0fb)
  • GPIO: Fixed potential crash in ISR when CONFIG_SPIRAM_USE_MALLOC is enabled (#11876) (adc016c)
  • I2C: Fixed a bug in the SDA sample timing calculation resulting in the SCL staying low after a NACK (#9777) (bf2e588)
  • SPI Flash: Fixed concurrency issue when concurrently calling esp_flash APIs under XIP_PSRAM or Auto-suspend condition (e1647e5)
  • Temperature Sensor: Fixed wrong sensor value under subzero temperature (056459a)
  • Temperature Sensor: Fixed the conflict between wifi and peripheral. (f57d0fc)
  • UART: Fixed concurrency which could cause ESP_ERR_TIMEOUT when calling uart_wait_tx_done due to the TX_DONE interrupt bit being wrongly cleared in the task instead of triggering the ISR. (c6a75ac)
  • UART: Fixed concurrency which could cause RTS line being mis-reset while tx transmission is not done in RS485 mode. (c6a75ac)

System Hardware

Fixed

  • Support 8MD256 as RTC slow clock work properly ESP32-S2/ESP32-C3/ESP32 (3ebd574)
  • Fixed POWER ON reset when using RTC IO as input in deepsleep on ESP32-S2/ESP32-C3 (3ebd574)
  • Fixed RTC memory lost in high temperature in deepsleep on ESP32-S2/ESP32-C3 (3ebd574)
  • Fixed dangerous power parameters in sleep modes on ESP32-S2 (3ebd574)
  • Psram: Fixed incorrect returned out_ptr when calling esp_himem_map with non-zero range_offset (#5639) (1b31873)

Core System

Fixed

  • Fixed a race condition in esp_timer which resulted in linked list corruption (#11215) (65c877a)
  • Fixed FLAG_ATTR attribute causing infinite recursion (#7754) (4571dd1)
  • ESP-ROM: Fixed newlib time ROM functions being used regardless of CONFIG_SPIRAM_CACHE_WORKAROUND (85c0fe4)

Power Management

Changed

  • Optimized ESP32-S2 light sleep current (061caf9)

Fixed

  • Current increase 2 ~ 3uA when in deep sleep by default config (3ebd574)
  • Current will increase when 8MD256 used as RTC slow clock in sleep (3ebd574)
  • Fixed output formatting issue in esp_pm_dump_locks function (#11704) (33d1818)
  • Fixed potential lightsleep wakeup failure with ESP_SLEEP_POWER_DOWN_FLASH enabled (756fa45)
  • Fixed deep sleep abnormal base current when goto deep sleep from softAP mode on ESP32-S2 (b13ddef)

LWIP

Fixed

  • DHCP server: Checked whether the DHCP server IP address and subnet mask match. (b0bdc8c)
  • Fixed an issue where the getaddrinfo() was returning NULL when using an IPv4 mapped address (#9693) (7b9ab49)
  • Lower the DHCP discover and request retry backoff time (7b9ab49)
  • Fixed on-demand fine timers bug, that allowed only one DHCP client to run at a time without issue. (a29d767)
  • Fixed forwarding multicast packets on some routers (49e55d0)
  • Fixed DHCP server's bug allowing the assigned IP addresses to exceed the configured subnet range (49e55d0, b0bdc8c)
  • Fixed TCP (Out of order segments) to incorrectly trim a segment when FIN flag was moved (49e55d0)
  • Fixed potential thread safety issue if tcp_abort() called directly by user thread (49e55d0)

mbedTLS

Changed

Fixed

  • Fixed incorrect transmission of esp-aes APIs' return values and zeroising the output buffer in case of an error condition (esp-aes-gcm). (470fbc3)

Bootloader

Fixed

  • Fixed super watchdog not being automatically enabled at startup on ESP32-C3, ESP32-S3 (08aab06)

ESP-TLS

Fixed

  • Fixed issue in the DS peripheral case to release mutex from the owner task only (#11402) (bcec78f)

Tools

Fixed

  • esptool: Fixed potential text/rodata overlap mapping issue on I/DBUS shares mmu entry chips (90c589d)

Documentation

Changed

  • Updated the ESP-NOW frame length in docs (c65c587)
  • Synchronised contribution agreement to match the one in CLA Assistant (ceddc4f)

Fixed

Removed

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.