Documentation for IDF v5.1.7 is available at https://docs.espressif.com/projects/esp-idf/en/v5.1.7/
ESP-IDF v5.1.7 is a bugfix update for ESP-IDF v5.1 and also the last bug fix release of ESP-IDF v5.1. According to ESP-IDF Support Period Policy, ESP-IDF v5.1 release branch reached end-of-life in December 2025. With EOL, new features, bug fixes, and security fixes will no longer be supported on this branch. Customers who are currently using ESP-IDF v5.1 release branch are encouraged to upgrade their projects to more recent ESP-IDF releases, such as ESP-IDF v5.5.x.
Obtaining v5.1.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.1.7 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1.7
cd esp-idf-v5.1.7/
This is the recommended way of obtaining v5.1.7 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.1.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. To reduce the size of the archive, the .git directory doesn't include the history of commits older than one year. Users who need to use git checkout to access an older release of IDF will have to use git fetch first to download the remaining part of the history.
This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.1.7/esp-idf-v5.1.7.zip
Major changes
Breaking Changes
- 15.4/MAC: Added a duration argument for ieee802154_receive_at() (c70a55c)
Application Utilities/Provisioning Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (84467ec) - BLE/Controller: Fixed occasional assertion in adv/scan/connection coexistence scenario on ESP32-H2. (22ced0a)
- BLE/Controller: Fixed occasional assertion in scan/connection coexistence scenario on ESP32-C6. (22ced0a)
- Bluetooth Common: Starting from this version, Espressif's Bluetooth vendor-specific HCI commands and events for all ESP Bluetooth chips are disabled by default in HCI UART mode and non-ESP host mode. Please refer to esp_bt_vs.h (E.g., components/bt/include/esp32/include/esp_bt_vs.h) for detailed information . (1f4106f)
- Security: The ECDSA peripheral of the ESP32-H2 supports both ECDSA-P192 and ECDSA-P256 operations. However, starting with ESP32-H2 revision 1.2, only ECDSA-P256 operations are enabled by default. CONFIG_ESP_ECDSA_ENABLE_P192_CURVE need to be enable to turn on the ECDSA-P192 operations. (6383285)
- Security/MbedTLS: If using MbedTLS for server certificate verification, it is mandatory to call mbedtls_ssl_set_hostname before the connection begins. No change is required if the application uses esp-tls layer. (b8f6564)
- WI-FI: esp_wifi_set_config would returned ESP_ERR_WIFI_STATE when wifi was in connecting state. (238266d)
Changelog
15.4
MAC
- Replaced the TX pending feature with backoff-based retransmission mechanism. (5dd4123)
- Added compensation on the energy detection result for H2 (37f1adb)
- Changed the default cca threshold to -75dBm (7a9eee1)
- Added Tx/Rx frame dumping for debugging. (4f75a02)
- Added a duration argument for ieee802154_receive_at() (c70a55c)
Thread
- Fixed an issue where NVS was not opened from the configured partition (89fd89a)
- Fixed a potential stack overflow issue in TREL browse (d7793f8)
- Fixed an occasional multicast router initialization failure (a244862)
- Fixed a deadlock issue in DNS resolver (a244862)
- Supported multicast forwarding cache filter in Thread BR (7a9eee1)
- Updated openthread submodule (36b14d3ef) (7a9eee1)
- Supported DHCPv6 PD feature (7a9eee1)
- Supported custom netif config during initialization (32e99fa)
- Added APIs to start or stop the OpenThread stack (dffaf91)
- Updated the OpenThread examples to use the new APIs (dffaf91)
- Updated OpenThread examples to use esp_console. The
otprefix is required when running OpenThread CLI commands. (dffaf91) - Updated openthread submodule (3b3dd203) (680a36b)
- Introduced a new API to register the console based openthread CLI command (e4c8197)
- Fixed an issue with source address selection during network switching (bb1446e)
- Use the ML-EID address for self-hosted services if OMR address is not preferred (53b06b3)
- Handled MeshCoP mDNS service in state change callback (e5d6848)
- Updated openthread submodule (b945928) (e5d6848)
- Improved TREL message reception (e5d6848)
- Added a function to exit openthread main loop safely (9b9f496)
- Supported bus_latency configuration for Thread BR (daf9fa4)
- Updated openthread submodule (ec2b0d487) (4e71c78)
- Supported periodic parent search mechanism for MTD (63b29d8)
- Added a function to ensure monotonically increasing frame counter (fdfa0ed)
- Bound DNS server to unspecified netif on Border Router (fdfa0ed)
- Added a callback to handle rcp reset failure (fdfa0ed)
- Supported DNS resolution / forwarding for Thread BR (9834161)
- Fixed recursive multicast packet forwarding issue (9834161)
- Updated openthread submodule (8c30b93) (9834161)
- Fixed CSL issue in which RX is not turned off during idle periods (c70a55c)
Application Utilities
CJSON
- Updated cJSON to v1.7.19 (b4afd60)
ESP HTTP Client
- Updated the postman root certificate for the esp_http_client example. (3e9fdf0)
- Fixed memory leak in HTTP client when header parsing fails during fetch operation. (0eaf976)
ESP HTTPS Server
- Updated the CA certificates that were used for self-signing/mutual authentication use cases to contain the
Key Usageparameter due to the change in Python3.13's default ssl context requirements. (3d5cf55)
Protocomm
- Add security checks for buffer overflow / incorrect length handling (a861dc3)
- add validation for Security1 client verifier data (7463bd8)
Provisioning
- Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (84467ec)
BLE
- Fixed uninitialized return code in BLE Get Started - NimBLE examples (f4c3f90)
- Add Bluetooth LE 5 1 direction finding feature. (f099935)
BluFi
- Added an API to start advertising with specified name. (1c926f0)
- Added support for stopping adv in BLUFI for nimble (b7ea118)
Bluedroid
- Fixed the issue that extend advertising might not restart if the connection fails (5a9a1bb)
- Fixed Bluetooth LE incorrect device record count issue (5618f71)
- Improved debugging by adding more logs and thread diagnostic tools. (53f1ef0)
- Fixed GATT response timeout setting. (53f1ef0)
- Fixed a memory leak during deinitialization when the service table was created but not started (2590dcf)
- Fixed crash when deinitializing or disabling host during scanning (ba358f7)
- Added an API to set channel map for scanning or initiating. (4bca78f)
- Fixed the status setting in the HCI event. (5f96c34)
- Fixed potential out-of-bounds memory access when resolving advertising data (035e2f5)
- Added Bluetooth LE multiple connections examples. (bfa7681)
- Fixed the connection count limit in multi-connection. (bfa7681)
- Supported multi-connection optimization vendor HCI command. (bfa7681)
- Adjusted L2CAP round robin msg send strategy. (bfa7681)
- Set sec_conn only on successful pairing in ble_hid_device_demo to avoid unexpected behavior (2d7044e)
- Fixed incorrect update of resolving_list_avail_size (0151678)
- Fixed issue where resolving list was not updated after the oldest device was removed (0151678)
- Fixed issue that caused failure in "BTM_GetSecurityFlags" (0151678)
- Fixed failure to disconnect when device record is cleared (0151678)
- Fixed extended advertising restart failure during reconnection. (cf95955)
- Fixed BLE SMP state machine inconsistency on disconnection (f1d4845)
- Fixed null pointer assert in l2c_link_check_send_pkts (7bc49c1)
- Fixed issue with deleting link key when classic Bluetooth is not used. (58fd178)
- Fixed validation logic for BLE GAP appearance configuration. (0522298)
- Increased maximum attribute value length to 517 to prevent data loss. (0522298)
- Added throughput mode for BLE SPP example. (65d725f)
- Fixed missing event reporting in
esp_ble_create_sc_oob_data. (b171e3b) - Fixed memory leak issue when using dynamic memory and deinitializing the host. (b171e3b)
- Fixed BLE crash when disabling bluedroid host. (b171e3b)
- Fixed potential uint32_t overflow in BLE
btu_start_timer. (b171e3b) - Added BLE eddystone sender example. (fa41c50)
- Added support for the "Read Periodic Advertiser List Size" command. (64d22a4)
- Added Read Long Characteristic Values example. (5bf714f)
- Supported BLE setting vendor event mask (e701957)
- Supported BLE vendor HCI event reporting (e701957)
- Supported SPI log output options for HCI. (392c303)
- Fixed an issue where advertising data and scan response data were not reported together during BLE active scanning. (e9bc012)
- Supported change HID task size by Kconfig in HID example(#15320). (e7629d0)
Controller
- Add a feature to automatically initiate a data length update using the appropriate parameters when a PHY update or a connection interval update occurs for ESP32-C6 and ESP32-H2. (b120dad)
- Fixed a disconnection issue that occurred when using the Coded PHY to transmit data with a 7.5 ms connection interval and a Tx data length of 251 bytes for ESP32-C6 and ESP32-H2. (b120dad)
- Fixed an occasional disconnect issue caused by MIC errors on ESP32-C6 and ESP32-H2 (b120dad)
- Fixed BLE assert lld_con.c 1479 on ESP32-C3 and ESP32-S3 (e421c70)
- Changed the maximum number of concurrent connections to 70 on ESP32-H2 (43b1fa9)
- Fixed crash in btdm_controller_task on ESP32 (15f8397)
- Fixed scan HCI command timeout issue on ESP32 (15f8397)
- Fixed an occasional interrupt watchdog timeout issue when stopping scanning for ESP32-C2. (1a601ab)
- Added a feature that allows the Controller to continue receiving PDUs in the next connection event instead of entering latency after receiving a data packet on ESP32-C6, ESP32-H2. (1a601ab)
- Supported controller log compression on ESP32-C3 and ESP32-S3. (71c7d4a)
- Fixed an occasional connection timeout issue when utilizing BLE Flash Only feature for ESP32-C2. (c9b93bc)
- Fixed an occasional interrupt watchdog timeout issue when establishing connection for ESP32-C2. (c9b93bc)
- Fixed an occasional connection establishment failure issue when utilizing BLE Flash Only feature for ESP32-C2. (c9b93bc)
- Add scheduling priority level configuration when internal scheduling conflicts on ESP32-H2,ESP32-C6. (c9b93bc)
- Fixed occasional memory leaks in multi-connection scenarios on ESP32-H2 and ESP32-C6. (fe96a02)
- Fixed an occasional MIC failure issue in Start Encryption procedure for ESP32-C2. (fe96a02)
- Fixed occasional disconnection issue when sending Data Length Update too quickly on ESP32-C2. (22ced0a)
- Fixed occasional assertion in adv/scan/connection coexistence scenario on ESP32-H2. (22ced0a)
- Fixed occasional assertion in scan/connection coexistence scenario on ESP32-C6. (22ced0a)
- Improved security when receiving a connection request PDU with an invalid Access Address on ESP32 (48d3ac7)
- Supported the PAwR feature on ESP32-C6, ESP32-H2. (8a9059f)
- Optimized check Access Address when receive connection request PDU on ESP32 (ddd00f1)
- Fixed the issue where RSSI of connection is incorrect when latency is no zero on ESP32. (706d22a)
- Fixed priority setting for BLE events on ESP32. (706d22a)
- Fixed disconnection issue when coexisting with other BLE events on ESP32. (706d22a)
- Fixed crash due to bandwidth full when updating connection params on ESP32. (706d22a)
- Supported multiple connection optimization vendor HCI command on ESP32. (706d22a)
- Fixed BLE TX issue when the event is aborted on ESP32-C3 and ESP32-S3. (547ecd2)
- Fixed BLE assert llc_llcp.c 487 on ESP32-C3 and ESP32-S3. (547ecd2)
- Fixed BLE assert sch_prog.c 304 on ESP32-C3 and ESP32-S3. (547ecd2)
- Fixed BLE anonymous extended advertising filtering on ESP32-C3 and ESP32-S3. (547ecd2)
- Fixed an occasional assert issue in case of controller disable on ESP32-C2. (fcba350)
- Fixed an occasional sync lost issue on ESP32-C6, ESP32-H2. (fcba350)
- Fixed occasional disconnection issue when sending Data Length Update too quickly on ESP32-C6, ESP32-H2. (ea1edc0)
- Fixed an occasional assertion issue during sync on ESP32-C6, ESP32-H2. (ea1edc0)
- Reduced bin size and IRAM for BLE rom code on ESP32-C3 and ESP32-S3 (e8aa955)
- Fixed double free exception during BLE init under low memory on ESP32-C3/S3 (e8aa955)
- Fixed an APM panic issue when enabling TEE in the BLE scenario on ESP32-C6, ESP32-H2. (85009a7)
- Fixed an occasional abnormal scanning stop issue on ESP32-C6, ESP32-H2. (85009a7)
- Fixed an occasional assertion issue during scanning on ESP32-C6. (85009a7)
- Fixed an issue where the central role would disconnect abnormally when the peripheral did not support the Connection Parameters Request Procedure on ESP32-C6, ESP32-H2. (85009a7)
- Fixed missing ADV reports after bonding and connection on ESP32-C3 and ESP32-S3 (#15789) (f9f1d1b)
- Fixed an occasional assertion issue in scan and connection scenarios on ESP32-C6. (60aa069)
- Supported creating connections during scanning process on ESP32-C6 and ESP32-H2. (60aa069)
- Fixed crash issue caused by using os_mbuf_dup on ESP32-C6 and ESP32-H2. (60aa069)
- Fixed occasional packet loss issue in multi-connection scenarios on ESP32-C6. (60aa069)
- Fixed an occasional assert issue in function r_ble_lll_sched_check_remaining_entries when ble spi log is enabled for ESP32-H2. (05ebbbf)
- Fixed occasional timeout issue during connection parameter update while latency is active on ESP32-C6 and ESP32-H2. (05ebbbf)
- Fixed an issue where the DID was not refreshed after stopping advertising and updating the advertising data on ESP32-C6 and ESP32-H2. (05ebbbf)
- Fixed an occasional assert issue when repeatedly starting and stopping extended advertising during periodic advertising scenario on ESP32-C6 and ESP32-H2. (05ebbbf)
- Fixed an occasional interrupt watchdog timeout issue on ESP32-H2. (05ebbbf)
- Fixed MIC error disconnection when pairing with an iOS device on ESP32-C3 and ESP32-S3. (eb64371)
- Fixed BLE 0x08 disconnect when the window size is greater than half of the connection interval on ESP32-C3 and ESP32-S3. (0ae8794)
- Disable anonymous extended advertising reporting on ESP32-C3 and ESP32-S3. (0ae8794)
- Fixed BLE assert lld_adv.c 2992 on ESP32-C3 and ESP32-S3. (0ae8794)
- Fixed heap assert due to advertising data buffer double freeing on ESP32-C3 and ESP32-S3. (0ae8794)
- Fixed an occasional assert issue when stopping aux scan on ESP32-C6 and ESP32-H2. (01d62de)
- Fixed an occasional assert issue when the task is blocked during the extended scan scenario on ESP32-C6 and ESP32-H2. (01d62de)
- Fixed the occasional issue of not receiving packets during the extended scan scenario on ESP32-C6 and ESP32-H2. (01d62de)
- Fixed the cache error if controller runs in flash and BLE sleep is enabled on ESP32-C2. (6f80a5d)
- Fixed occasional interrupt watchdog timeout issue when scanning and connection coexist on ESP32-C6. (6f80a5d)
- Fixed possible assertion when multiple ACL runs concurrently on ESP32-C6, ESP32-H2. (6f80a5d)
- Fixed an occasional issue where the connPeripheralLatency parameter was not properly applied on ESP32-C6, ESP32-H2. (6f80a5d)
- Fixed a heap assertion issue when enabling BLE and ESP32C2_REV_MIN_200 for ESP32-C2 v2.0 (2d90379)
- Fixed an occasional
load access faultissue when performingext_conncreation for ESP32-C2. (1f4106f) - Added definitions for bluetooth hci vendor commands and events (1f4106f)
- Fixed hci assertion issue when uart interference occurs on ESP32-C2, ESP32-C6,ESP32-H2. (0b1eb90)
- Changed the maximum supported value of the whitelist to 31 on ESP32-C2, ESP32-C6,ESP32-H2. (0b1eb90)
- Fixed GPIO unavailable warning when repeatedly reconfiguring HCI UART pins on ESP32-C2, ESP32-C6,ESP32-H2. (0b1eb90)
- Reduced controller bin size for ESP32-C3 and ESP32-S3 (588f566)
- Fixed enhanced TX power setting and getting for legacy adv on ESP32-C3 and ESP32-S3. (3991203)
- Fixed compatibility issues during the encryption procedure on ESP32-C3 and ESP32-S3. (3991203)
- Fixed BLE assert lld_con.c 2387 on ESP32-C3 and ESP32-S3. (3991203)
- Added BLE debug log module on ESP32-C3 and ESP32-S3. (f2c8eb0)
- Enhance Access Address validation in compatibility mode on ESP32. (0d0800d)
- Fixed the issue where disconnection events were not reported as a slave on ESP32. (0d0800d)
- Fixed scan duplicate filter failure when receiving ADV_DIRECT_IND for ESP32-C2. (fe44aa7)
- Added continuous connection function when instant pass issue triggers on ESP32-H2 and ESP32-C6. (e9b7e6c)
- added channel assessment function on ESP32-H2 and ESP32-C6. (e9b7e6c)
Documentation
- Added Bluetooth LE Multi-Connection Guide in API Guides (71ced00)
- Added Bluetooth LE Low Power Mode FAQ in API Guides (913dc18)
- Updated ESP-Nimble SIG qualification version to core specification 6.1. (9fbc86c)
NimBLE
- Fix tinycrypt related compilation issue (98b3fb7)
- Fixed PAwR Subevent Data Set error when data length set too large (21b65cd)
- Handle sync cancel during reattempt operations (03ae763)
- Added a check for periodic psync before processing (87f22a4)
- Fix typos in NimBLE examples (#17824) (1722d62)
- Fix compilation issues across different NimBLE examples (afddac0)
- Add Read all local / remote supported feature HCI command /event. (07e91ab)
- Fix array overflow caused by invalid connection handle indexing (717e3ea)
- Added support for Channel Sounding host functionality. (a9dc9d7)
- Use nimble platform mem malloc / free APIs (7e6e0d0)
- Added support to consider mbuf of different size during copying (bcb59bc)
- Update HCI log functions to use uint16_t for data length (01602a7)
- Rearrange NimBLE menuconfig options (0cb4f79)
- Handled adv ext data setting in reattempt adv upon disconnect (efe7ba0)
- Add indicate / notification code under correct flags [ Closes https://github.com//issues/16769 ] (8fb119d)
- Fixed incorrect HCI status in connect event (c17c002)
- Updated reattempt count handling for periodic adv (4bf28d6)
- Restructured table of README.md file of bleprph and blecent (cb46dca)
- Add connection failure event when connection fails (3231ed8)
- Added helper APIs in NimBLE for gatt cache as exposed in Bluedroid (a32c2cc)
- Update ble_gatts_show_local to show CPFDs and CAFDs. (ea5415b)
- Fix include service definition handle being the same for all definitions. (ea5415b)
- Fix for attribute count mismatch between cached gatt db and actual db. (e114b00)
- Update count parameter correctly by considering offset. (e114b00)
- Fixed compilation issue due to BLE_GATTS flag (cdbc997)
- Clear GATT service entries counter upon GATT deinit (e6955de)
- Add packet allocation retry for limited iteration (8888f03)
- Add timestamp information to HCI logging data buffer (83f5d0e)
- Provide a way to make blufi advertising customizable. [ https://github.com//issues/16234 ] (274c58c)
- Fix compilation issues when gatt caching is enabled in peripheral only mode (5846e21)
- Add a missing instance of ble_hs_unlock() in a corner case. (34308ee)
- Added parameter in peer_init() to allocate memory for included services (7fcf7fd)
- Automatically initiate security and retry service request if service request fails due to insufficient security. (7bc593a)
- Added option to require Encryption, Authentication, or Authorization to subscribe for Notifications or Indications. (7bc593a)
- Fix compilation issue when CSFCS is set to 0. (1291373)
- Wrap BLE service API with extern "C" (1291373)
- Fixed issue of Adv report not observed in PAwR example. (d0ffbce)
- Added sdkconfig with options to showcase DRAM reduction for NimBLE examples. (94378a3)
- Handle memory leak due to missing mempool_deinit call (80ba563)
- Add chip dependancy flag for Flow control feature (cefaaae)
- Fixed incorrect comparison with gattc proc that can cause request-response mismatches (6ce383b)
- Handled an async race condition with HCI outstanding packets counter (6111779)
- Add support for anonymous address type for whitelist (6111779)
- Fixed UUID type error in GATT caching API to search for included services. (db62e83)
- Added api's to fetch gatt cache info (ee6c1c7)
- Added option to enable stack to handle repeat pairing internally (6cc26e5)
- Enabled Connection Subrating bit in ESP32C6 (d4274bc)
- Added SPS callback event to expose changes in scan parameters (d4274bc)
- Fixed incorrectly passed UUID in GATT Caching disovery operations (d4274bc)
- Fixed LLS crash when no callback was registered for LLS event (d4274bc)
- Modified HID KIR and MIR Characteristic write permission from hardcoded to configurable (d4274bc)
- Added runtime configurable support for observer role, security mode 1 level, and GATT caching (d4274bc)
- Optimized nimble throughput example by extended adv support and switching between different Phy modes. (f972569)
- feat(nimble): Added tutorials for PAwR examples (62f8f8a)
- Fix sync handle assignment for PAwR connection (726efa4)
- Fixed incorrect OTA address type assignment (faec5da)
- Corrected event posting in Read Remote Features event handling [ Closes https://github.com//issues/15670 ] (b5f4533)
- Added missing ble_hs_unlock for periodic adv sync reattempt case. (0c6ca93)
- Fix conversion for min-max itvl of periodic adv param in example (0c8508d)
- Fix SMP command allocation from existing buffers (c4e013b)
- Add support for Vendor Event mask VSC (a1f5732)
- Fix incorrect event deinit in gatt caching discovery (83a4198)
- fix(nimble): Exposed the ble_gap_wl_tx_add API to add a device in whitelist (b523b9f)
- Fixed pairing failure issue when SC only mode is selected (126fdc3)
- Added a change in the BLE SPP Client example to allow the client to subscribe to the server. (8ea69f2)
- Handle application code compilation issue due to removal of link_estab structure (fbec1c0)
- Update controller data length upon connection creation. (22e5ec0)
- Deprecate BLE_GAP_EVENT_LINK_ESTAB event. (bec000a)
- Fixed compilation warnings in nimble examples. [ Closes https://github.com//issues/15157 ] (495b0ff)
- Handle nested locks when BT_NIMBLE_DEBUG enabled (#15014, #15294, #15202) (495b0ff)
- Updated README.md by removing unclear line (#15284) (495b0ff)
- Additional PAwR changes support for ESP IP (495b0ff)
- Added offset field that can be used during GATT server long read context (495b0ff)
- Address compilation issue observed when WARN_WRITE_STRINGS is set. [PR: https://github.com/espressif/esp-nimble/pull/84 ] (495b0ff)
- Enhanced error handling by adding to print core error definitions (495b0ff)
- Added changes to save the gatt context in case of preemption (495b0ff)
- Fixed nvs corruption due to BLE_ENV_ADV_DATA flag (495b0ff)
- Handle not sending disconnect event if connect event was not sent. (495b0ff)
- Restart adv / sync when periodic sync fails due to 0x3E (495b0ff)
- Reset global variables during link disconnection (495b0ff)
- Clear our and peer security records cleanly during unpair. (495b0ff)
- Added HCI Read Remote Version Information command. (495b0ff)
Power Management
- Fixed occasional sleep enter failure due to BLE waking up too soon (c9b93bc)
Bluetooth Common
- Starting from this version, Espressif's Bluetooth vendor-specific HCI commands and events for all ESP Bluetooth chips are disabled by default in HCI UART mode and non-ESP host mode. Please refer to esp_bt_vs.h (E.g., components/bt/include/esp32/include/esp_bt_vs.h) for detailed information . (1f4106f)
Bluedroid
- Security enhancements for Bluedroid Host Stack and Examples (844213c)
- Fixed missing BLE connection and disconnection events (5618f71)
- Added API to retrieve the local BLE Identity Resolving Key (IRK) (53ac9fa)
Controller
- Fixed the issue that Bluetooth baseband might not reinitialize after stopping and starting Bluetooth when coexisting with WiFi on ESP32 (#15841) (888fe2c)
- Fixed the issue that unfixed core tasks may register or trigger software interrupts of the wrong core when calling the Bluetooth interface on ESP32 (77bb1f6)
- Fixed the issue that disable Bluetooth controller may cause interrupt watchdog timeout on ESP32 (7c70024)
- Disable debug vendor HCI command on ESP32. (ff51717)
- Added API to get/set low power clock source on ESP32 (abb9e30)
Classic Bluetooth
Bluedroid
- Backported several security-related fixes to from Google Fluoride to esp-idf Bluedroid (0225da0)
- Deprecate RSSI threshold related macros (4a2973e)
- Fixed missing NULL pointer check in l2c_fcr_clone_buf in Bluedroid (fc83f40)
- Split A2DP sink example to several simpler examples to demonstrate A2DP/AVRCP functions of different aspects (ce5507d)
- Fixed crash caused by performing A2DP deinitialization when initating an A2DP connection (4839764)
- Added an API to create SPP server with a parameter that selects whether to create a corresponding SDP service record (cfecb22)
- Fixed memory leak in HID host and HID device (ff4da9e)
- Fixed potential stack buffer overflow in the processing SDP response in Bluedroid (1289970)
- Update the class of device before enabling inquiry scan to make it effective in inquiry scan response (acb302d)
- Fixed potential buffer overflow in the composition of AVRCP vendor dependent command in Bluedroid (51842c4)
- fix(bt/bluedroid): Fix the boundary conditions when checking EIR data (ae60a38)
- Fixed potential buffer overflow vulnerability in Bluedroid (daca4d6)
- fix(bt/bluedroid): Prevent out-of-bounds access and add type check when resolving EIR data (8f9a806)
- Added
record_handleparameter inESP_SDP_REMOVE_RECORD_COMP_EVT(ab3034f) - Fixed HFP AG data callback gets mistakenly cleared after profile re-initialization, if Bluedroid dynamic memory allocation is enabled (651f1e8)
- Added AVRCP callback event for notification of profile ON/OFF state (53da6a3)
- Fixed the issue where an incorrect mask was used to exclude SCO packets during the establishment of eSCO link (420604d)
- Fixed no report of ESP_SPP_WRITE_EVT and Bluedroid btc task being blocked when SPP connecion number reaches the upper limit (6108880)
- Added events for l2cap register and unregister vfs (6108880)
- Fixed
write_readtask stack overflow in l2cap example (6108880) - Fixed the issue with l2cap not using dynamic memory (6108880)
- Fixed the issue that L2CAP server stop operation does not report the
ESP_BT_L2CAP_SRV_STOP_EVTevent (3437128) - Added APIs to get status on such information as initialization state, connection number, for Classic Bluetooth profiles (d97e490)
- Fixed connection failure due to insufficient number of service security records when multiple profiles are initialized. (c61fe8d)
- Fixed reporting of unexpected
ESP_BT_GAP_DISC_STATE_CHANGED_EVTevent upon ACL disconnection, due to uninitialized local variable (787406b) - Fixed the issue that after SPP reaches the maximum number of connections, it will mistakenly free the server resources when disconnecting, causing the next server start to fail. (9c91ff7)
- Fixed memory leaks in SPP callback mode (28035c9)
- Fixed incorrect records in SDP record search response using 16-bit UUID (76ea699)
- Fixed error type returned when searching for service records of SIM Access Profile(SAP) in SDP (76ea699)
Controller
- Fixed not reject connection request when auto accept is off and connect request event is masked on ESP32 (dd754fc)
- Fixed the hardware channel map error by ignoring invalid channel maps during AFH disable procedure on ESP32 (0dd0ec3)
- Fixed improper handling of transaction collision during LMP encryption start/stop procedure on ESP32 (0dd0ec3)
- Removed the assertion when new acl data packet is sent to controller while previous data transmission is not finished on ESP32 (466e4c5)
- Fixed the out of sync of data buffers between software and hardware on ESP32 (f13498d)
- Fixed the issue where modifying the btdm_pwr_state value would cause phy_disable to be called twice on ESP32 (f13498d)
- Fixed that peripheral does not authenticate agaist peer device when the first request was rejected on ESP32 (f13498d)
- Fixed the errors that SCO frame scheduling is not stopped fter the base ACL link has been released on ESP32 (f13498d)
- Fixed that Tx descriptor for FHS packet in page procedure may becomes empty after handshake failure on ESP32 (48d3ac7)
- Fixed wrong state caused by transaction collision in Enryption Pause and Resume procedure on ESP32 (48d3ac7)
- Fixed for no HCI_LINK_KEY_NOTIFICATION_EVENT on repairing of the acceptor size on ESP32 (48d3ac7)
- Ignored the reception of LMP_DETACH PDU during detach process on ESP32 (48d3ac7)
- Fixed possible access to NULL pointers on ESP32 (48d3ac7)
- Fixed missing of HCI event upon canceling truncated page procedure on ESP32 (48d3ac7)
- Fixed zero size of encryption key used in Active Peripheral Broadcast on ESP32 (48d3ac7)
- Always send LMP_ENC_KEY_SIZE_MASK_REQ before changing to temp key on ESP32 (48d3ac7)
- Fixed the incorrect unit of clock in CPB Rx event on ESP32 (4f91b24)
- Fixed LMP legacy and secure authentication collision bugs on ESP32 (b800234)
- Implemented a workaround for potential data packet exchange issues when secure connection is enabled on ESP32 (399353d)
- Fixed ACL has few chance to run when it coexists with SCO on ESP32 (7fe8b9d)
- Fixed errors in dynamic priority configuration in Bluetooth dual mode on ESP32 (7fe8b9d)
- Fixed a crash issue caused by accessing external memory in ISR context on ESP32 (7fe8b9d)
- Fix the incorrect unit of
duration_minin CPB TX on ESP32 (6c52731) - Recalculate the channel map when AFH is enabled on ESP32 (6c52731)
- Fixed assessing NULL pointer in case of handling earlier message when Bluetooth Classic connection gets disconnected (#15128) (ff51717)
- Avoid accessing released ACL resources in SCO logic on ESP32 (ff51717)
Coexistence
- Fixed ESP32 cache disable crash issue at coexistence scenario. (7137596)
- Fixed the abnormal grant or priority value issue when the external coexistence pin floating (3e94617)
- Fixed the issue that BLE connection may disconnect when WIFI is reconnecting on ESP32C2 (bf6a226)
- Fixed some external coexist issues. (517b018)
- Support BR/EDR (e)SCO and Wi-Fi coexistence. (79cdf85)
- Added coexistence scheme for BT Inquiry/Page coexist with WIFI (779100a)
Core System
- fix c++ TLS classes destructors calls (#14360) (c7b762c)
- Fixed implementation of __atomic_test_and_set to be atomic (92a6718)
- Ensure proper reset for crypto peripherals before software restart. This fixes a rare and intermittent secure boot verification failure based on RSA-PSS scheme. The fix is recommended for aggressive revocation config. Please see commit log for more details. (a8cc5b9)
Panic handling
- Fixed infinite loop in
.eh_frame-based backtracing when DWARF unwind information was missing. (ebc1049) - Fixed multi-core race condition in the panic handler when enabling RTC WDT. (e39f0bf)
- Updated the panic handler to use RTC WDT. This fixes a bug where in the panic handler could get stuck without rebooting the system (#15166, #15018, #10110) (4aa9256)
Debugging
Apptrace
- Updated SystemView trace processing to support SEGGER standard multicore format available in v3.60 or later. (f8dc3fc)
- Updated SEGGER SystemView source file version to v3.56 to support data plotting (f8dc3fc)
- Added CRC16 checksum of trace blocks to enable host-side data integrity verification. Strored in Xtensa perfmon register. (2c1fd67)
- Fixed deadlock on sysview start (7f17e57)
Core Dump
- Fixed
CONFIG_ESP_COREDUMP_MAX_TASKS_NUMoption that was previously ignored, allowing users to limit the number of tasks included in core dumps. (#14407) (2700f40)
Ethernet
- Fixed W5500 poor performance in 10 Mbps mode. (b8a639d)
LWIP
- Fixed ping component to retrieve network interface name in a TCP/IP thread safe manner (#14982) (79c784f)
DHCP
- Fixed DHCP server recv decline issue (0ce9aff)
DHCP Server
ESP Netif
- Fixed potential crash caused by DHCP restore callback for PPP interface types (espressif/esp-protocols#800) (a99faa3)
Low Power Features
- Fixed power leakage in the LP peripheral power domain during Light Sleep when the HP peripheral domain remained powered on esp32c6. (29b7f65)
- Fixed a rare issue where ESP32-C6 could permanently hang on wake-up when Wi-Fi Power Save was enabled and the HP peripheral domain remained powered during light sleep. (29b7f65)
- Added
esp_sleep_get_wakeup_causes()to support multiple wakeup sources and deprecateesp_sleep_get_wakeup_cause()(36628fd) - Added explicit handling for ESP_PD_OPTION_AUTO, allowing direct mode switching and reference count reset. (16d3daf)
- Warning instead of assert when disable a disabled power domain using
esp_sleep_pd_config(#16872) (16d3daf) - Fixed the problem that the modem would work abnormally after waking up from light sleep if ADC is initialized on esp32c6/esp32h2. (a805fe0)
- Fixed a possible wakeup failure on esp32 if lightsleep/deepsleep was requested by Core1. (452e609)
- Fixed
esp_sleep_get_ext1_wakeup_statusalways return 0 on esp32c6. (dccb4fd) - Improved esp_timer timing accuracy for esp32 and esp32s2 when esp_pm DFS is enabled. (029dacd)
- Allowed to keep SAR ADC power when using ADC_ULP_MODE. (#12426) (df04451)
- Fixed power leakage when external 32k slow clock source detection fails. (81ee3e8)
- Warning the use of lightsleep GPIO/UART wakeup source if
PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEPoption is enabled. (1e83cfe) - Fixed the issue that esp32c2 may fail to wake up after entering deepsleep with external 32 kHz oscillator. (f473357)
- Added sleep duration validity check in
esp_sleep_enable_timer_wakeup. (#15255) (5ec8b9c)
PHY
- Added protection against double phy-disable operations by one modem source, which can result in hardware clock being switched off in coexistence scenario (09ce874)
- Updated librtc.a to fix coexist problems on ESP32 (0a3c525)
- Fixed phy cert_test example crash on ESP32-C3 and ESP32-S3 (#16888) (fa4f9f7)
- Fixed the issue that tsens read abnormal value in Wi-Fi STA mode for esp32c2 v2.0. (54b9f8f)
- Optimization of RX calibration in high-interference environments. (6ff5fca)
Peripheral Drivers
- Fixed issue that DMA are not reset when CPU reset (cb5e4b9)
ADC
- Fixed ESP32 ADC2 continuous loss sample times (#10612) (4606518)
- Fixed ADC function abnormal on 32k XTAL clock pin on esp32c6/esp32h2 (557b6ac)
- Fixed ESP32-S2 ADC calibration loss resolution(https://github.com/espressif/esp-idf/issues/15671) (3ff7fa0)
GPIO
- Fixed the issue where the hold state of the GPIO corresponding to XTAL_32K_P was destroyed during reset or deepsleep. (#17419) (3862660)
- Fixed the issue that on ESP32, the IOs with RTC functionality are not able to reflect GPIO sleep PU/PD configuration during light sleep (103bf98)
- Calling gpio_reset_pin on an input only pin should not produce an error message (#17047) (103bf98)
- Fixed wrong pu/pd/drv values got from gpio_dump_io_configuration for ESP32 RTC IOs (#14931) (900d633)
- Forbidden to enable pull-up, pull-down on input-only IOs (900d633)
- Fixed the issue that when USJ PAD is configured as GPIO, the GPIO function is unavailable after waking up from lightsleep. (#15797) (48b3162)
- Fixed the issue that configuring RTCIO as GPIO causes other initialized RTCIO to function abnormally on esp32s2 & esp32s3. (#10404, #12681) (db5f597)
I2S
- Support to constitute full-duplex mode for STD and TDM automatically when the channel configuration are same. (e686c01)
- Fixed the
rw_posandcurr_ptrinvalid issue while big gap between the two 'write' or 'read'. (f1feeee) - Fixed the sample rate slow down issue when using more than 4 slots in PDM RX mode. (81417bf)
- Added PLL240M clock source on ESP32-S3/C6 (#17056) (81417bf)
- Fixed the false buf catenate while use preload (#15775) (4ccd9af)
- Fixed i2s inappropriate check and assign sequence (#15648) (bd35137)
- Added check for minimum sample rate (#15659) (bd35137)
- Fixed failure when GDMA is set IRAM_SAFE but I2S not (#15533) (be6934b)
- Added check for i2s DMA buffer array allocation (#15607) (be6934b)
- Fixed clock not update issue when re-configure the slot (#15256) (6a00758)
STD
- Fixed STD mode initialization failure on ESP32 when using
I2S_NUM_AUTO. (009ed2f)
LEDC
- Forced the new duty update to wait until its last duty update finishes for ESP32 (7abf440)
- Fix potential assert failure in ledc_fade_stop due to race condition (#15580) (77f41c7)
- Fixed potential incorrect PWM output at relatively high frequency for ESP32-C6/H2 (63da8bb)
MCPWM
- Fixed the division by zero error when input expect resolution was too low.(#17665) (e6ebab9)
- Fixed the issue that MCPWM output wrong frequency during DFS on ESP32 and ESP32-S3 (06becec)
PCNT
- Fixed race condition causing accum_value loss on counter overflow (4460844)
RMT
- Improve the stability of ESP32 when pm is enabled (dccf69b)
- Enhanced the inspection of the size of encoded symbols in loop transmission. (336336c)
- Fixed RMT TX disable timeout on ESP32 when mem_block_symbols is large. (#17692) (df63f94)
- Fixed the spurious RX done interrupts when the RX engine has been disabled on ESP32 (#15948) (83dbd98)
- Supported to set initial level before any TX transmission (#16068) (83dbd98)
- Enable the internal pull-up resistor in the onewire bus example (8093434)
- Fixed the race condition when between
rmt_receiveand receive ISR (#15842) (54ade18) - Enhanced the
rmt_receive_config_terror message (#15836) (54ade18) - Fixed the panic when the number of received symbols is a multiple of the memory block size. (d9825b0)
SD_HOST
SDMMC
- Improved checking of SD being busy and always requesting SD to send status, even if a write operation failed. (1cc32e7)
- Fixed transfer timeout due to higher priority tasks (#13934) (f8c8779)
SPI Flash
- Fixed issue of escaping boundary check (2630775)
- Fixed build fail when rom_patch config disabled (#15229) (7ee30e1)
TWAI
Temperature Sensor
- Add temprature calibration support on ESP32-C2/C6/H2/P4 (92638cb)
Touch Sensor
- Fixed tie option take no effect issue. (7143b71)
- Fixed concurrent issue in the legacy touch v1 (esp32) driver (7143b71)
- Fixed touch read WDT timeout issue on esp32 (#15629) (7143b71)
UART
- Fixed incorrect uart_get_tx_buffer_free_size API behavior (#15859) (e7117c7)
- Fixed an issue that some UART ports would generate a BRK_DET interrupt directly after module enabled (register reseted) (e7117c7)
- Fixed uart_release_pin logic if switching only specific pins with uart_set_pin (e7117c7)
- Eliminated the possibility of garbled data sent/received from the UART port during sleep process (3b145a2)
- Fix wrong unit conversion from knots to m/s in uart/nmea0183_parser example (#15695) (3b145a2)
- Updated uart_get_baudrate API documentation (#15449) (3b145a2)
- Allowed TX and RX configure to the same pin in uart_set_pin (#14787) (80915d4)
- Fixed potential UART_SELECT_READ_NOTIF race condition (80915d4)
USB
- Updated USB Device examples to esp_tinyusb v2.0.0 (bef993f)
USB Host
- Fixed possible deadlock when closing a device that was not previously opened (653eec6)
- Fixed crash during sudden disconnection (#13364) (#15290) (6df6ab7)
USB Serial JTAG
- Fixed an issue where CPU would be blocked for approximately 50ms during wake-up when performing USB Serial/JTAG printing if the device was not connected to a host. (5332b80)
Power Management
- Fixed regDMA contention issue between modem close rf and soc wakeup caused by default rf delay parameter (37f80e4)
- Fixed examples/system/light_sleep compilation fail on CONFIG_ESP_CONSOLE_NONE selected (e7117c7)
- Reduce current of ESP32-H2 in light sleep with TOP PD and flash PU (d474b5b)
- Fixed regDMA wait timeout caused by default wait parameters (2b823f7)
- The current leakage for ESP32 in light sleep has been decreased by 80uA (103bf98)
- Fixed the issue of modem wakeup req always high caused by pmu min slp cycle update. (238266d)
- Fixed possible assert in
vTaskStepTickafter turning on auto light sleep (0c28c65)
Security
- The ECDSA peripheral of the ESP32-H2 supports both ECDSA-P192 and ECDSA-P256 operations. However, starting with ESP32-H2 revision 1.2, only ECDSA-P256 operations are enabled by default. CONFIG_ESP_ECDSA_ENABLE_P192_CURVE need to be enable to turn on the ECDSA-P192 operations. (6383285)
- Updated ECDSA-P192 support for ESP32H2. (6383285)
- Fix secure boot (ECDSA) build failure for ESP32-C6 target (#15856) (7b37214)
- Fixed Memory protection interrupt check for ESP32S2 (PERI1 bus) (#15359) (8285cd1)
ESP Cert Bundle
- Add entry for "Sectigo - Comodo AAA Services root" in the common CA cert authority list. This fixes problem with server verification with GitHub endpoint. Regression introduced in e174fc9. (2535423)
Flash Encryption
- Fixed
esp_flash_encryption_set_release_mode()API to program the efuse bit to level low only if the efuse is not already programmed. (5fcee26)
MbedTLS
- Updated mbedTLS version to 3.6.5 (a322e93)
- If using MbedTLS for server certificate verification, it is mandatory to call
mbedtls_ssl_set_hostnamebefore the connection begins. No change is required if the application usesesp-tlslayer. (b8f6564)
Secure Boot
- Fixed the Secure Boot behaviour to write disable
SECURE_BOOT_SHA384_EN/ECDSA_CURVE_MODEin the security init function instead of the bootloader to allow configuring other efuses sharing the same write-protection (5fcee26)
Storage
NVS
- Fixed the order of NVS page state changes in space reclaim function to allow recover from sudden power-off event. (1149019)
- Set NVS default value for SAE identifier to NULL (dfe9d70)
- Improved performance of BLOB get and set operations (ac8e7a7)
- Fix NVS partition being incorrectly marked as encrypted by the build system (3e163c6)
System Hardware
- Fixed the issue that some ESP32 chips may crash when CPU cores run on 240MHz (c4d9d45)
- Support to check the eFuse block revision during the startup. (401f9e7)
- Fixed esp32s3 possible cache_error triggered by another core accessing flash in esp_restart (f16e65b)
MMU
- Fixed API thread-safety in
esp_mmu_map.h(#15564) (b0947e3) - Fixed spi_flash_phys2cache return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled (0d00802)
- Supported call esp_mmu_paddr_find_caps with any physical address offsets (#14988) (6d851a7)
MSPI
- Improved the selection of timing tuning points when the last few tuning points succeed consecutively (6bb8f25)
PSRAM
- Supported using fallback driver pattern when PSRAM ID is not matched on ESP32-S3 (f0d3cbb)
- Supported UnilC Octal PSRAM on ESP32S3 (c5ccf3d)
- Fixed external RAM .bss and .noinit section vaddr calculations (#15513) (d001a5a)
Toolchain
- Upgraded toolchain version to esp-12.2.0_20250801 (4105adb)
- Upgraded openocd version to v0.12.0-esp32-20250707 (f8dc3fc)
- Update ESP ROM ELFs to version 20240305 (393ec17)
Tools
- Fixed the
idf.py confservercommand failing because of small buffer size by increasing the default buffer size and adding the--buffer-sizeargument to further adjust the value if needed (#18018, #18017) (c1e2633) - Updated
ccacheversion to 4.12.1 (#17756) (811b233) - Added a fix to prevent Windows from unsuccessfully building the ESP-IDF root directory (7ef85f8)
- Added requirements file for the new IDE feature of installing Python packages for IDE support (0c4a4ef)
- Explicitly disabled pip "user" option when installing the ESP-IDF Python virtual environment (#16189) (700330d)
- Fixed
idf_tools.py install tools@versioncommand to be able to install specific tool versions (66fb9df) - Fixed processing of packages with dots in their names in Python dependency checks (f90d09e)
- Fixed deprecation warnings when using
extractall()on Python 3.12 and newer (7d78f36) - Added input validation of optional install features (e6106d0)
- Switched to flashing ESP32-C3 with stub when the USB Serial/JTAG mode is used (954ac35)
WI-FI
- Fixed the issue that ESP32C6 RX packet failed when Station in modem state (6ebff33)
- Added scan stop when user call smartconfig stop (6052104)
- esp_wifi_set_config would returned ESP_ERR_WIFI_STATE when wifi was in connecting state. (238266d)
Examples
- Added max retry count for iperf station command (1b81a5e)
- Supported 11ax rate for cert test. (91993ac)
- Added GPIO output set command for cert test. (6ff5fca)
MAC
- Resolved NAN crash by discarding out of slots Packets correctly (b0f5707)
- B-TWT setup now respect user's dwell timeout configuration. (c188970)
- Fixed lmacTxDone assert issue in TX Fragment (c188970)
- Ensured Sta parses FTM Responder beacon correctly (035db94)
- Set NVS SAE pwe default value to SAE_PWE_BOTH for SoftAP and station (ac7daba)
- Fixed some wifi bugs related to AMPDU (44e2e05)
- Fixed Wi-Fi can not send OMC (44e2e05)
- Fixed GCMP fragment TX issue. (8a19d06)
- Supported WAPI fragment TX and RX. (8a19d06)
- Fixed the issue where the WAPI unicast key index was incorrect after reconnection. (8a19d06)
- Fixed not clear disconnect reason status issue (c4b992a)
- Set dialog token of last FTM Response to Zero (#17235) (11cdbbe)
- Performed FTM in 40Mhz in disconnected State (11cdbbe)
- Fixed PTK key memory leak on deinit. (470a324)
- Fixed the crash issue when sending sleep NULL (461f5cc)
- Fixed TWT not closed in suspend state when wifi disconnected (461f5cc)
- Corrected the 'wifi_auth_mode_t' type sent during 'WIFI_EVENT_STA_CONNECTED' event (d4b1bfa)
- Fixed inactive time reset when wifi disconnect (876bbf9)
- Fixed cache access error after TWT setup (876bbf9)
- Fixed TX error 0xa1 (876bbf9)
- Fixed beacon timeout when TWT setup (876bbf9)
- Fixed open mode receive fragment packet fail issue. (bf4956d)
- Fixed the issue that STA fail to RX packet under modem state. (238266d)
- Fixed the issue where the device fails to sleep if it gets disconnected during the transmission of probe requests after beacon timeout. (238266d)
- Fixed esp32 mac deinit stuck issue. (238266d)
- The esp_wifi_set_config() API NOW cannot be called while Wi-Fi is connecting. (238266d)
- Fixed the issue that STA fail to RX beacon when off channel under modem state. (238266d)
- Fixed locking in incorrect state when stop_scan is called after wifi_connect (e3a508c)
- Prevented NON-PMF STA from retrying connection attempts if esp_wifi_disconnect() called before handshake, even if 'failure_retry_cnt' allows retries. (ecaac76)
- Fixed STA cannot send keep alive when receive UDP packets (2631c87)
- Fixed STA BSS max idle period always use default value (2631c87)
- Fixed sleep without sending sleep null when enable BSS max idle (2631c87)
- Fixed channel TX power limitation does not take effect when connected AP switch channel (2631c87)
- Fixed TX power not update if country changes when enable multiple PHY init data bin (2631c87)
- Fixed the issue when the PS state machine becomes invalid after enabling BSS max idle (2631c87)
- Fixed phy data partition restoring default fails issue. (7407819)
- Fixed the WEP shared authentication association timeout issue. (7407819)
- Fixed the issue of disconnection from the AP due to ERSU compatibility. (7407819)
- Fixed occasional dropping of SA Query responses by SoftAP (a59cb59)
- Fixed an issue to prevent writing configuration to NVS when the station configuration remains unchanged. (e1831e3)
- Fixed issue that esp_wifi_set_tx_done_cb() should not process frames sent using esp_now_send(). (1f2e526)
- Added support for transition disable for SoftAP (fd2c025)
- Fixed TWT post just one event for multiple flow (34449e9)
- Fixed channel in rx_ctrl is zero when using sniffer (34449e9)
- Fixed compatibility issues and crash during scan (34449e9)
- Modified authmode to sta for sta connect event (db58c5f)
- Fixed disable external coexist fail issue. (6ff5fca)
Mesh
- Fixed the mesh crash issue when changing mesh AP's authmode (5f8b1ae)
- Fixed the esp_mesh_scan_get_ap_record() error in chain topology (5f8b1ae)
Supplicant
- Ensured EAPOL state machine is correctly terminated when WPS is reinitialized during an ongoing WPS session (WPS Registrar). (8146ecc)
- Fixed an issue where WPS timers were not properly cancelled if a disconnection occurred during an active WPS session (WPS Enrollee). (8146ecc)
- Fixed a crash where STA is freed before WPA3 SAE finishes (f9a379d)
- Fixed some invalid memory access in wpa_supplicant (635e9dc)
- Added support for WPA-Enterprise in Station mode (a96fb81)
- Resolved WPS crash triggered by repeated EAPOL-Start during handshake. (97429ef)
- Cleared SAE-PK capability in Assoc Request when not enabled at STA. (e36aab1)
- Fixed pmksa expiration caused by sntp time synchronization issue. (08e3a50)
- Ensured disconnection with previously connected AP when actually starting the WPS instead of initiating WPS. (00dd08c)
- Added check for WPS-PBC overlap detection in dual band. (12e51f5)
- Improved WPS PBC overlap detection to ensure it works correctly, even if the UUID is missing. (12e51f5)
- Ensured disconnection with previously connected AP when initiating WPS. (12e51f5)
- Increased WPS message timeouts to address interoperability issues. (090362c)
- Fixed send_confirm value for SAE confirm according to specification. (d91940e)
- Added domain name validation support for EAP connection. (f3e7fc4)
- Added optimized PSK implementation, closed #15072 (87319fa)
- Added some implementation changes in roaming. (fd2c025)
- Resolved WPS connectivity issue that caused failures when the station was already connected (777668b)
- Fixed issues reported by the static analyzer on GitHub (#15097, #15098, #15099). (eda82c2)
- Fixed memory leak occurring in SAE PK connection. (46b822c)
- Reduced WPS scan frequency to make it easier for users to enter the PIN on the AP. (388d63b)