• v5.4 67c1de1eeb

    ESP-IDF Release v5.4
    Some checks failed
    docker / docker (push) Has been cancelled
    Create zip file with recursive source clone for release / Create release zip file (push) Has been cancelled
    Stable

    petr.gadorek released this 2024-12-31 06:57:07 +00:00 | 15730 commits to master since this release

    No known key found for this signature in database
    GPG key ID: 1AF25F3CD37D9114

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

    ESP-IDF v5.4 is a minor update for ESP-IDF v5.3. Release v5.4 is mostly compatible with apps written for ESP-IDF v5.3.

    Obtaining v5.4

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

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

    Download an archive with submodules included

    Attached to this release is an esp-idf-v5.4.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

    This archive can also be downloaded from Espressif's download server: https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v5.4/esp-idf-v5.4.zip

    Major changes

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

    Major New Features

    • Wi-Fi: Supported ESP32-C2 chip rev2.0 Wi-Fi (e43ded7e)
    • Wi-Fi: Added FTM calibration values for ESP32-C6 (e990d1e0)
    • Wi-Fi: Supported lower coexistence power consumption when Wi-Fi disconnects from AP (5a5c0046)
    • ESP Bluedroid Host: Added support of Cover Art feature in AVRCP Controller (cda28465)
    • ESP Bluedroid Host: Added support of Device Identification Profile (ca05aa5c)
    • Bootloader: Added mocks for bootloader_support component (90cc2619)
    • Power Management: Added support for PSRAM retention in light sleep on ESP32-P4(82e76aba)
    • Peripheral Drivers: Added support for sleep retention of several peripherals in light sleep on ESP32-C6 and ESP32-H2
    • ULP: Greatly expanded support for LP Core on C6 and P4 with among others: openocd debugging support, LP-ADC, LP-SPI, ETM wakeup, LP-IO wakeup.
    • I2C: Support lp i2c instance on ESP32-P4 (ec3029eb)
    • ISP: Support a series of ISP features on ESP32-P4
    • LCD: Added i80 and RGB LCD driver support on ESP32-P4 (fdd90d48) (6d716388)
    • Touch Sensor: New touch sensor on ESP32-P4 (c23165bb)
    • MbedTLS: Support ESP32-C2 rev2.0 ROM mbedtls-v3.6.0 (9a47de53)
    • Supported ESP32-C2 chip rev2.0 (b70331a9)
    • PSRAM: Supported APS3204L (cb9f4740)
    • Thread: Supported Thread Radio Encapsulation Link (TREL) feature (d1ef4230)

    Breaking Changes

    • Core System: Renamed __VA_NARG__ and its macros to be prefixed with ESP_, i.e. __VA_NARG__ to ESP_VA_NARG to avoid naming collisions. If using these then update to use the new name. (bb8fa930)
    • Security / ESP Cert Bundle: Due to changes in the certificate bundle format to reduce RAM usage, the use of pre-generated certificate bundles using the older format would now be incompatible with the newer application binaries. You now need to either use the default ESP-IDF build system method for attaching the certificate bundle while building applications or update your pre-generated certificate bundle binaries by generating them using the latest gen_crt_bundle.py script. (fa4c3873)
    • SDMMC: Function sdmmc_host_init no longer returns ESP_ERR_INVALID_STATE when the SDMMC host is already initialized, now it returns ESP_OK. (d1571c14)
    • SPI Flash: Removed XMC-C suspend support because there is risk that erase operation might never finish (121a272e)
    • Wi-Fi: Removed the definition of the "WIFI_BAND_2G_5G" field in "wifi_band_t". (7b5014a0)
    • ESP Bluedroid Host: Added new Kconfig option to enable SDP APIs and remove the dependency of SDP on L2CAP Kconfig option
    • LWIP / PPP: PPPoS internal callback function has incompatible prototype. Please use esp_netif API or update your function callbacks. (d4f60feb)
    • Modify the type of "bandwidth" and comment in wifi_ap_record_t. (3b0cf1a2)
    • ESP HTTP Server: HTTP version 1.0 was previously supported due to a software bug. With this update, only HTTP/1.1 is allowed. (57553ecf)
    • MbedTLS: MbedTLS option MBEDTLS_ECP_FIXED_POINT_OPTIM is disabled by default to save on significant (~27KB) flash footprint. This allows easier migration from IDF 4.x to 5.x release. If the performance is desired and ECC accelerator is not available then the config can be turned on. (27f11f87)
    • MbedTLS: Supported for SHA3 operations is now configurable and disabled by default to save flash size. The config can be enabled if an application needs to perform SHA3 operations. (27f11f87)
    • Bluetooth Common / Controller: Move esp_wifi_bt_power_domain_on and esp_wifi_bt_power_domain_off from esp_bt.h to esp_phy_init.h (a09d5747)
    • For ESP32-C6, to continue to use RC32K clock as the RTC slow clock source now requires to select RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED Kconfig first; For ESP32-H2/ESP32-P4, this option is completely removed. (0f1bec18)

    Known Issues

    • For ESP32-P4 chips, when ESP_SLEEP_KEEP_DCDC_ALWAYS_ON is not enabled (enabled by default), accessing external storage (Flash/ PSRAM) after waking up from light sleep may get incorrect data.

    Changelog

    802.15.4

    Added

    • Supported the large scale size of pending table (8aacb78a)
    • Added a frame length check for the transmission frame (c7d15c1f)

    Changed

    • Refactored the next_operation() logic to avoid some risks when multiple IEEE802154 events are processed in one ISR (c7d15c1f)
    • Ignored the bit8 of the frame length (83eaef8c)

    Fixed

    • Returned ESP_FAIL if enh-ack generating logic was not implemented (84569bc9)

    Thread

    Added

    • Supported openthread time sync feature on both RCP and BR (2ca453da)
    • Supported changing openthread version information (93c32d4d)
    • Added a task switching lock holder check (e42b95d3)
    • Supported Thread Radio Encapsulation Link (TREL) feature (d1ef4230)
    • Enabled vendor hooks for rcp operating in SPI mode (b835986b)
    • Added OpenThread dataset changed event (f012157c)
    • Supported custom header file for openthread configuration (9181ecab)
    • Supported RCP compatibility mismatch error handler (69a9b175)
    • Supported to allocate NAT64 session from PSRAM. (69a9b175)
    • Supported modifying port and txt in SRP server (69a9b175)
    • Enabled bbr feature to support multicast by default (69a9b175)

    Changed

    • Replaced NETCONN_EXT_RESOLVE_HOOK with DNS_EXT_RESOLVE_HOOK to support more application layer protocols (4d4062a2)
    • Made ot task queue sending non-permanent blocking (9f1f2853)
    • Updated CONFIG_LWIP_IPV6_NUM_ADDRESSES to 12 in Thread BR lib (9f1f2853)
    • Updated openthread submodule (f32c18b) (ad8f175a)
    • Moved the registration of UART VFS devices to UART initialization function (9e5e1f08)
    • Updated openthread submodule (005c5ce) (69a9b175)

    Fixed

    • Fixed the issue of incorrect duration and channel configuration in otPlatRadioEnergyScan calls (1754c8f8)
    • Fixed the bug that 3-wire external coexistence on ESP32-H2 does not work properly. (69a9b175)

    Zigbee

    Changed

    • Updated Zigbee Gateway example to use ot_rcp instead of esp_zigbee_rcp (dd8b4fa0)
    • Updated the Zigbee examples to be based on the ESP-Zigbee 1.6.x release (dd8b4fa0)

    Removed

    • Removed the esp_zigbee_rcp example (dd8b4fa0)

    Application Utilities

    Added

    • ESP HTTP Client: Added new feature of http method (beda3dc0)
    • Added HTTP Code 413 support in esp_http_server (https://github.com/espressif/esp-idf/pull/13746) (245ec914)
    • Added config option to set timeout for posting events in esp_http_client, esp_http_server, esp_https_server and esp_https_ota (9294914c)
    • ESP HTTPS OTA: Added API to retrieve the most recent status logged from the HTTP response. (fe47676a)
    • Provisioning: Added an event that triggers a blocking callback to allow users set advanced WiFi configurations (2f0dc01f)
    • Provisioning: Added support for Notify attribute in provisioning service (0f110524)
    • Provisioning: Added support for ESP IP chips to work with bluedroid stack (6e5414b6)
    • Provisioning: Added API to keep BLE on after provisioning. (5b56ff6f)
    • ESP HTTP Server: Added support to handle HTTP 1.0 requests for legacy compliance purpose (0fae01c7)

    Changed

    • Provisioning: Exposed API to set BLE random address (07e377c7)

    Fixed

    Bluetooth Low Energy (BLE)

    Added

    • Documentation: Added BLE Getting Started Tutorials (Chinese version) to Espressif Programming Guide, including BLE Introduction, Device Discovery, Connection, and Data Exchange. (a11aa9ce)
    • Documentation: Added BLE Features Support Status to API Guides (782b8f05)

    ESP Bluedroid Host

    Added

    • Added BLE connection ID parameter for ESP_GATTS_RESPONSE_EVT. (1a065dc3)
    • Added support for retrieving the BLE address type within the bond list(https://github.com/espressif/esp-idf/issues/13872). (8971902e)
    • Added print and assert statements for memory allocation failures. (707dd9b5)
    • Added support for BLE 5.0 instances in related events (25f07134)
    • Added definitions for BLE authentication failure reasons. (83cda5cf)
    • Added the check for setting BLE advertising parameters when deleting GATTS services. (27f06bef)
    • Added API to set BLE supported channel selection algorithm. (755d3a2f)
    • Added BLE 5.0 throughput examples. (438c0634)

    Changed

    • Optimized BLE example for setting advertising data. (cd117829)
    • Optimized documentation for BLE connection parameter updates. (368cfdac)
    • Optimized BLE event reporting time for connection failures (33b3408e)
    • Updated BLE address type of peer device when the connection is completed. (c27db100)

    Fixed

    • Fixed error when writing Client Supported Features characteristic. (1ba647da)
    • Fixed BLE handle check for GATT API. (2381487c)
    • Fixed access fault when reading BLE controller information fails. (1a065dc3)
    • Check whether the work queue is NULL before deleting it when creating thread failed. (f54e1a8f)
    • Fixed memory out-of-bounds issue when parsing ADV data. (6a2bc24f)
    • Report HCI error status to application when command fails. (ba4e111e)
    • Fixed incorrect state issue when unregistering BLE GATTC application. (d3716777)
    • Cancelled the BLE connection initiation if the connection has already been established when both devices initiate a connection simultaneously. (b24dd77b)
    • Fixed the issue where BLE could not create a connection if the controller doesn't support the coexistence of scanning and connection initiating states. (2c44bb71)
    • Reset BLE security parameters during initialization (https://github.com/espressif/esp-idf/issues/13869) (54da4450)
    • Fixed BLE security vulnerability when using fixed local IRK. (43af0fbe)
    • Display BLE controller initial status for ESP32 and ESP32-C3/ESP32-S3 (705c21d3)
    • Fixed BLE build failure when enabling dynamic memory with BLE 5.0 (7f42ed38)
    • Fixed crash issue in BLE SMP when a disconnection process is ongoing (379698cc)
    • Fixed connection params copying when creating BLE connection. (b0620923)
    • Fixed BLE create connection failed because of invalid own address type. (3f63fd91)
    • Fixed Classic Bluetooth build failure when enabling dynamic memory and disable BLE (b5c02eb3)

    Removed

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

    Bluetooth Low Energy Controller

    Added

    • Added support for BLE scanning and initiating state coexistence on ESP32. (c4d1c046)
    • Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32. (911ddf72)
    • Added config for whether to disconnect after the instant of ACL control procedure has passed on ESP32-C3 and ESP32-S3. (7dd10f37)
    • Supported using external 32k oscillator as Bluetooth sleep clock on ESP32/ESP32-C3/ESP32-S3 (1662e287)
    • Supported enhanced BLE TX power setting and getting on ESP32-C3 and ESP32-S3. (c1e875fd)
    • Supported mesh duplicate with extended scan on ESP32-C3 and ESP32-S3 (ce12f410)
    • Added support for running controller code in flash-only mode on ESP32-C3 and ESP32-S3 (81020a37)
    • Added support for configurable default TX power on ESP32-C6, ESP32-H2, and ESP32-C2. (40034622)
    • Supported UHCI function on ESP32-C6 and ESP32-H2. (abfca505)
    • Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32. (c122f727)
    • Supported for putting code in flash on ESP32-C2 (28bf5eac)

    Changed

    • Changed the maximum TX power to +20 dBm on ESP32-C3 and ESP32-S3. (cb2624fb)
    • Updated the BLE rom.ld file for ESP32-C2 revision 2.0. (53dff535)

    Fixed

    • Fixed the issue where scan could not be reset when the Controller was reset during scanning on ESP32. (e628335f)
    • Fixed Wi-Fi BLE coexistence assert issue on ESP32 (39a1e17c)
    • Fixed BLE Direct Test Mode on ESP32 (39a1e17c)
    • Removed BLE creating connection assertion when the connection already exists on ESP32. (a516ca52)
    • Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 revision v1.1. (9b112e0f)
    • Fixed extended connectable advertising data length check on ESP32-C3 and ESP32-S3. (2f272782)
    • Fixed early wake-up during light sleep when using the RC oscillator on ESP32-C3 and ESP32-S3. (a02fb3c1)
    • Fixed BLE TX power retrieval failure on ESP32-C3 and ESP32-S3. (a02fb3c1)
    • Fixed issue where RPA is not updated after BLE RPA timeout on ESP32-C3 and ESP32-S3. (7752c1b0)
    • Fixed BLE scan assert in lld_scan.c 1728 on ESP32-C3 and ESP32-S3. (3000402f)
    • Fixed subsequent periodic advertising sync create failed after canceling sync before sync established on ESP32-C3 and ESP32-S3. (c27614fd)
    • Fixed BLE util buffer free after controller reset on ESP32-C3 and ESP32-S3. (1d8f1a58)
    • Fixed assert when BLE connection already exist and be connected again on ESP32-C3 and ESP32-S3. (1d8f1a58)
    • Fix BLE channel map update issue when latency is non-zero on ESP32-C3 and ESP32-S3. (8072d96c)
    • Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero on ESP32-C3 and ESP32-S3. (6750215f)
    • Prevent BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (18f118fc)
    • Fixed Bluetooth BB interrupt allocation on ESP32-C3 and ESP32-S3. (8057d80f)
    • Fixed BLE interrupt allocation using system API on ESP32-C3 and ESP32-S3. (a3cb889b)
    • Fixed advertising data memory leak after restart advertising on ESP32-C3 and ESP32-S3. (a3cb889b)
    • Fixed occasional crash issue in multi-connect scenarios on ESP32-C6. (c62555d1)
    • Fixed occasional ACL data packet loss issue when using UHCI on ESP32C6 and ESP32H2. (c62555d1)
    • Fixed occasional assertion issue when enabling logging on ESP32-C2. (c62555d1)
    • Fixed memory leak issue when deinitializing URAT HCI on ESP32-C2, ESP32-H2 and ESP32-C6. (c62555d1)
    • Fixed a crash during host deinitialization after the controller had been deinitialized on ESP32-C2. (9c25d54c)
    • Fixed instant wake up from deep sleep issue when BLE is running on ESP32-H2. (6c59cda5)
    • Fixed an occasional WDT issue when disabling the Controller on ESP32-C6. (18e8e18f)
    • Fixed the issue where directed advertising could not be connected when the advertisement filter was set to 0x2 on ESP32-C6, ESP32-H2, and ESP32-C2. (ff4f1a24)
    • Fixed occasional WDT issue in multi-connection scenarios on ESP32-H2. (ff4f1a24)
    • Fixed the issue where connectable advertising could still be set after reaching the maximum number of connections on ESP32-C6, ESP32-H2, and ESP32-C2. (ff4f1a24)
    • Fixed response timeout issue when updating connection parameters on ESP32-C6, ESP32-H2 and ESP32-C2. (ff4f1a24)
    • Fixed a low-probability assertion issue in ADV and SCAN coexistence scenarios on ESP32-C6. (ff4f1a24)
    • Fixed the issue of occasional assertion in multi-synchronization scenarios on ESP32-H2. (abfca505)
    • Fixed occasional assert issue in ADV and scan coexistence scenario on ESP32-C6. (2d803804)
    • Fixed occasional cache error crash in the DTM process on ESP32-C2. (2d803804)
    • Fixed occasional packet loss issue during severe air interference on ESP32-C6 and ESP32-H2. (2d803804)
    • Fixed HCI not returning 0x45 issue when adv interval and data length mismatch on ESP32-C6,ESP32-H2 and ESP32-C2 (2d803804)
    • Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 and less than 0xFFFF on ESP32-C2. (82af8250)
    • Fixed btdm_sleep_clock_sync timeout when exiting sleep on ESP32-C3 and ESP32-S3. (7dd10f37)
    • Fixed the issue where the BLE connection can't be established when initiating and advertising coexist on ESP32. (911ddf72)
    • Fixed assert in ke_mem.c at line 409 when controller resets on ESP32. (911ddf72)
    • Fixed occasional crash issue in low memory scenarios on ESP32C6 and ESP32-H2. (b763700b)
    • Fixed a occasional WDT issue in multi-connection scenarios on ESP32-C6. (5e0fe45c)
    • Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (5e0fe45c)
    • Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (3915ea30)
    • Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (3915ea30)
    • Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (3915ea30)

    ESP-BLE-Mesh

    Added

    • Added an option BLE_MESH_V11_SUPPORT to enable or disable BLE Mesh v1.1 features (3a4aa2e1)
    • Added BLE Mesh support on ESP32-C61 (fa3f6ac5)

    Changed

    • Reduced the flash size occupied by the BLE Mesh component (ae67021e)
    • Disable generic & sensor & time scene & lighting server models by default (7ca53a11)

    Fixed

    • Fixed wrongly updating the time set parameter in the time scene server model (3929afdb)
    • Fixed crash may happen when using NimBLE host at compilation level Os (be4278fc)
    • Fixed segmented message advertising was incomplete when sending to both local and external elements (0c0dfe1a)
    • Fixed transmission resources might not be released correctly (2fe83732)

    ESP NimBLE Host

    Added

    • Added change to set data length once the connection is created. (46acfdce)
    • Added a change to print the address of an advertising instance (2a12872d)
    • Added fixes for issues reported by Coverity (f68d16e7)
    • Add support for ext adv param v2 HCI command (c6bed070)
    • Added support for bidirectional data transfer between SPP client and server (1f41827b)
    • Created a function to make CCCD flags configurable. (b341791f)
    • Added BT_HCI_LOG_INCLUDED macro into ESP-NimBLE configuration according to nimble nomenclature (41d1b687)
    • Added BLE NimBLE Get Started examples added under examples/bluetooth/ble_get_started/nimble (35235257)
    • Added new event to confirm link establishment. (c480d92a)
    • Added support to initiate connection while a scan is in progress. (dbce23f8)
    • Added change to handle linked om data at Blufi layer for nimble. (5c3e6371)
    • Supported Bluetooth LE 5.1 direction finding on nimble host. (f90d2356)
    • Added host cb to provide IRK during host init. (41783153)
    • Added support for Multiple Variable Length Notifications. (7e2534d5)
    • Added support for EATT or ATT over Enhanced L2CAP Credit Based Flow Control Mode. (7e2534d5)
    • Added support for Multiple EATT bearers. (7e2534d5)
    • Added error logs in case of memory overflow/failure (be95e8e1)

    Changed

    • Updated the correct parameter in set Data len API in cases where BLE 5.0 support is disabled (3459ff2c)
    • Enabled direction finding feature in nimble host only mode. (2c67f086)
    • Updated sbom.yml to reflect correct nimble version (5b1dcaaf)
    • Added change to not issue an SetDataLen command when updated with the same data length and tx time. (a547ebb3)
    • Update Advertising Tx power levels to match with the specification. (737d8f84)
    • Increase Timer stack size for nimble application (764433f4)
    • Updated menuconfig options to consider BLE 5.0 support options. (7f8fac5d)

    Fixed

    • Fixed the sequence of LL and host transport init (1c80078b)
    • Fixed compilation warning observed in clang-based builds (e17f2427)
    • Fixed the deinit sequence in blufi example. (88bb0e08)
    • Register dummy host callback in stack deinit procedure. (cfb78587)
    • Fixed a crash issue of examples/bluetooth/nimble/ble_multi_conn (5f6971bf)
    • Corrected parameter handling in periodic transfer enable API (259b7009)
    • Fixed the issue caused by the encryption event being posted to the application before bonding information was saved. (ac8f3544)
    • Fixed assert issue in proximity_sensor example due to a duplicate advertising instance (313f016e)
    • Fixed a BLE security vulnerability when using fixed local IRK (6381f604)
    • Fixed the sequence of pairing complete event (065c0319)
    • Fixed issue where callback information passed in connect request was getting corrupted. (b1c8757b)
    • Zero initialized variables to fix incorrect paired device number information received after host initialization. (929c04cf)
    • Resolved watchdog issue due to memory exceed prints (5af12cf7)
    • Removed min/max macro definition from os.h (https://github.com/espressif/esp-idf/issues/14840) (06587938)

    Bluetooth Common

    Controller

    Changed

    • Move esp_wifi_bt_power_domain_on and esp_wifi_bt_power_domain_off from esp_bt.h to esp_phy_init.h (a09d5747)

    Fixed

    Bootloader

    Added

    Changed

    Build & Config

    Added

    • Added support for component property COMPONENT_SOURCE which determines the override precedence among the components with the same name (4b3a5e93)
    • Added support for inverting the Boolean value when renaming a Kconfig option in sdkconfig.rename (18d9ac4b)
    • Added check for missing component_target in the idf_component_get_property function (https://github.com/espressif/esp-idf/pull/14036) (1ac37b69)
    • Added a Kconfig option to make default warnings to be errors (https://github.com/espressif/esp-idf/pull/11239) (b1768dcd)
    • Added the CONFIG_COMPILER_STATIC_ANALYZER option that enables GCC "-fanalyzer" option for the build (b0ba5689)
    • Added a new CMake flag NON_OS_BUILD to simplify building non-FreeRTOS projects (6f466df7)

    Changed

    Fixed

    Removed

    Coexistence

    Fixed

    • Fixed LoadProhibited issue in coexistence scenario on ESP32-C3 and ESP32-S3 (44a9881a)
    • Fixed the issue of ESP32-C5, ESP32-C6 and ESP32-C61 enable external coexist failure when enable power management for station when disconnected. (bd481841)

    Core System

    Added

    Changed

    Fixed

    Removed

    • Linux target: Deprecated esp_linux_helper.h (replaced by sys/cdefs.h) (1ced2333)
    • Linux target: Made watchpoint configs CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=n on Linux obsolete (374f497b)
    • Log: Disabled CONFIG_LOG_COLORS option by default, logs are now automatically colored by IDF Monitor, instead. (f659405e)
    • Log: Deprecated esp_log_buffer_hex (use ESP_LOG_BUFFER_HEX instead), esp_log_buffer_char (use ESP_LOG_BUFFER_CHAR instead). (28e59256)

    Debugging

    Added

    • OpenOCD: WROVER-B driver was added for easier configuration of JTAG debugging on Windows (dcb34c5f)
    • GDB Stub: Added handling of FPU registers to the gdbstub. (2bb613c5)
    • OpenOCD: Integrated the OpenOCD flasher stub to speed up debugging. This increases RAM usage by 8 KB for ESP32-C6 and ESP32-H2 to preallocate stub code. This feature can be disabled via Component config > ESP System Settings in menuconfig. (9a13c597)

    Fixed

    • Core Dump: Fixed array out of the bounds compile error (9746eff3)
    • Core Dump: Fixed a buffer overflow issue when getting the coredump summary. (1e90b1f5)
    • Core Dump: Include .data, .bss, and heap sections into the core dump (5bac46d9)
    • Apptrace: Fixed the issue where the Segger SystemView app (v3.10 or later) gets stuck during the record analyzing step. (https://github.com/espressif/esp-idf/issues/10483) (c2ae8066)

    Documentation

    Added

    Changed

    Fixed

    Removed

    • Removed obsolete ESP32-DevKitS User Guide (58f59de4)

    Ethernet

    Added

    Changed

    • Optimized throughput of DM9051 at high SPI rates. (127306fe)
    • Simplified memory allocation for received frames of DM9051. (127306fe)

    Fixed

    Removed

    FreeRTOS

    Added

    • Added kconfig option for disabling software timer functionality (https://github.com/espressif/esp-idf/pull/13578) (6cbee5c7)
    • IDF Kernel: Added examples showing basic freertos SMP usage and common APIs, including how to create pinned and unpinned tasks, use queue to communicate between tasks, use locks to protect shared resources and use task_notification for synchronization. (ce01841b)

    Changed

    • Enabled the usage of FPU in ISR context for exp32s3. (a110f09d)
    • Amazon SMP Kernel: Upgraded to upstream v11.1.0 (cfb8af0c)
    • IDF Additions: Renamed the SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY to FREERTOS_TASK_CREATE_ALLOW_EXT_MEM (1b797719)

    Fixed

    • Fixed an SMP unsafe race condition in xStreamBufferSend() leading to a crash in xTaskNotify(). (9a3427f8)
    • Fixed an SMP unsafe race condition in xStreamBufferReceive() leading to a crash in xTaskNotify(). (943103a4)
    • Resolved a priority inversion issue where a lower-priority task continued executing after unblocking a higher-priority task that was waiting on an event group. (a97a7b09)
    • Fixed parts of documentation referring to stack size as "in words". Should be "in bytes" in IDF (https://github.com/espressif/esp-idf/issues/11600) (bdb36f13)
    • IDF Additions: Fixed an occasional assert failure in vTaskDeleteWithCaps() (https://github.com/espressif/esp-idf/issues/14222) (c01512f4)
    • IDF Additions: Fixed a bug wherein no-split ring buffers could receive items prematurely when the items may not have been sent to the buffer yet and the buffer is full (https://github.com/espressif/esp-idf/issues/14568) (9b3eda09)
    • IDF Additions: xRingbufferCreateWithCaps allows non-4-byte-aligned xBufferSize input for non-RINGBUF_TYPE_BYTEBUF ring buffer type (76102f3b)
    • IDF Additions: Fixed an issue where the vTaskDeleteWithCaps() API leaked memory (https://github.com/espressif/esp-idf/issues/14222) (23e4823f)
    • IDF Kernel: Fixed an issue where the vTaskPlaceOnEventListRestricted() used incorrect critical section macro and resulting in deadlocks for the Linux target. (354ffb45)
    • IDF Kernel: Fixed a bug where the FreeRTOS port layer would incorrectly crash on an assert failure when the system is not in an interrupt context but the port layer determines the opposite. (7806aeb3)

    LWIP

    Added

    Changed

    • Upgraded to LWIP v2.2.0 (d4f60feb)
    • Changed maximum number of available sockets (https://github.com/espressif/esp-idf/pull/13866) (5c6272c6)
    • IPv6: Changed the default IPv6 input hook to drop all IPv6 packets if the input network interface has no link local address assigned. (82a29b7d)
    • PPP: PPPoS internal callback function has incompatible prototype. Please use esp_netif API or update your function callbacks. (d4f60feb)
    • TCP: Updated mechanism to recycle PCBs also in FIN_WAIT_1 and FIN_WAIT_2 states (8a17f7f8)

    Fixed

    Low Power Features

    Power Management

    Added

    • Added support for PSRAM retention in light sleep for ESP32-P4(82e76aba)
    • Fixed possible low internal voltage and load capacity on ESP32-H2. (bae513ec)
    • Supported power down PSRAM and Flash during deep sleep for esp32p4 rev1.0 (de3a5d4d)
    • Supported power down Flash (configurable) during light sleep for esp32p4 rev1.0 (de3a5d4d)
    • Supported to query PHY RF used time. (12c49601)

    Changed

    • Optimized the power consumption of ESP32-P4 in active state (6abe40e5)
    • Improved esp_timer timing accuracy after light sleep is rejected (df64e63b)

    Fixed

    • Disable timer wakeup source with esp_pm auto light-sleep off (40a910bf)
    • Fixed the issue of regDMA wait node to immediately return to done caused by regdma wait mode comparator for ESP32-C6, ESP32-H2 and ESP32-P4 (3415ff27)
    • Fixed CPU switch fail due to BB PLL calibration fail bug under low temp on ESP32-H2 (36e78b3b)
    • Fixed issue of ESP32-C5 and ESP32-C61 fail to enter light sleep using EXT1 wakeup source after disable exited EXT1 IO and enable other EXT1 IO (daf465c0)
    • Fixed BBPLL cali fail bug under low temp on ESP32-H2. (023d772d)
    • Fixed the issue of wifi RX packet loss when switching SOC root clock source (914a4810)
    • Fixed the issue of MMU table content loss due to default PD signal (914a4810)
    • Fixed a deadlock that occurred when a high-priority task and a low-priority task changed PM mode at the same time (35f0fdcd)

    ULP

    Added

    • Added option to allow custom cmakefile project file for ULP project (41dd1a35)
    • Enabled the generation of the compile_commands.json file for ULP and LP core apps. (https://github.com/espressif/esp-idf/pull/13926) (0494dc45)
    • LP Core: Added LP core debugging support (a07eed67)
    • LP Core: Added support for LP-IO a wake-up source (1f195437)
    • LP Core: Added LP VAD driver and support for VAD events as a wake-up source for both HP/LP cores (e05fce3c)
    • LP Core: Added ULP lp core critical section that can be used by both main CPU and LP CPU. (e051b921)
    • LP Core: Added support for LP ADC to the LP Core on esp32p4 (1b6a829e)
    • LP Core: Added missing extern C guards in ulp_lp_core_print.h (https://github.com/espressif/esp-idf/pull/14329) (cbb2c4be)
    • LP Core: Added light-weight print functions, optimized panic handler size by using these. (70420685)
    • LP Core: Added option for routing LP-Core prints to HP-Core console uart (92bf4029)
    • LP Core: Added support for ETM events as a wake-up source (d1132ddf)
    • LP Core: Added LP SPI support to the LP Core on esp32p4. (f8a7af8f)

    Changed

    • LP-Core: Optimized ESP32-C6 & ESP32-P4 LP-CPU power consumption in deepsleep (12cbdfef)
    • LP Core: Changed wakeup time calc to use a precomputed tick value, as this calculation cause the binary to pull in software division functions. With this LP-Core binaries now use 1.1k less bytes. (8b73c861)

    Fixed

    MQTT

    Changed

    Fixed

    Networking

    Added

    • Examples: Added logic to attempts to find a suitable source interface and IPv6 address for communication based on the destination address type. (3aee7c92)

    PHY

    Added

    Changed

    Fixed

    • Fixed the frequency switching issue in esp32h2/esp32c6 ble/ieee802154 coex. (6e59ca58)

    Peripheral Drivers

    Added

    • ADC: Fixed ADC oneshot example attributes order (https://github.com/espressif/esp-idf/issues/14303, https://github.com/espressif/esp-idf/pull/14304) (88c45ecf)
    • Camera: Supported SC2336 Camera Sensor in the camera related example (cba8c5d7)
    • Camera: Supported initialization without XCLK pin by setting GPIO_NUM_NC when using external XTAL (e6746089)
    • Camera: Supported more camera color formats CAM_CTLR_COLOR_GRAY4 and CAM_CTLR_COLOR_GRAY8 (e6746089)
    • CSI: Added verification of no backup buffer or no new trans (7d097ca9)
    • CSI: Added CSI plus DSI camera display example (cd1a6811)
    • ETM: Sleep retention is supported by enabling allow_pd in driver configuration (d38e30ed)
    • GDMA: Added sleep retention support for AXI_DMA and AHB_DMA (ec50cb17)
    • GPTimer: Added an example to simulate the Wiegand interface with GPTimer (bb080b43)
    • I2C: Support LP I2C instance on ESP32-P4 (ec3029eb)
    • I2C: Added an interface for getting initialized handle via port (https://github.com/espressif/esp-idf/issues/13968) (40089b23)
    • I2C: Added a new API for sending multi data buffers (https://github.com/espressif/esp-idf/pull/13635) (5bae2987)
    • I2C: Added a new version of slave driver for easy use. (71c43776)
    • I2S: Supported light sleep power down retention. (16d99f3e)
    • I2S: Added the APLL clock support for I2S on ESP32-P4 (https://github.com/espressif/esp-idf/issues/14311, https://github.com/espressif/esp-idf/issues/14448) (b71768b7)
    • I2S: Supported I2S ETM event and task (ed91305d)
    • I2S: Added missing port 2 on ESP32-P4 (b1a5d80b)
    • LP_I2S: Supported LP I2S HP core driver on ESP32P4 (d16bb640)
    • LP_I2S: Added LP I2S and LP VAD programming guides (47d0a913)
    • ISP: Supported ISP LSC driver on ESP32-P4 (df9d7222)
    • ISP: Supported ISP Demosaic driver on ESP32-P4 (d7b701bf)
    • ISP: Supported ISP histogram driver on ESP32-P4 (0e4464c3)
    • ISP: Supported ISP Gamma correction driver on ESP32-P4 (c6075441)
    • ISP: Supported ISP Sharpen driver on ESP32-P4 (b432ded9)
    • ISP: Supported ISP AE (Auto-Exposure) driver on ESP32-P4 (3e974bd8)
    • ISP: Supported ISP CCM driver on ESP32-P4 (d92b8c37)
    • ISP: Supported ISP AWB (Auto-White-Balance) driver on ESP32-P4 (ad57a47d)
    • ISP: Supported to change config after initialized (a4bbdd3b)
    • ISP: Added ISP BF and ISP DVP programming guide (cd1ec842)
    • ISP: Added LSC programming guide (dfe11ebb)
    • ISP: Added RGB2YUV and YUV2RGB range and standard configurations (79a44199)
    • ISP: Added ISP AF example via CSI and DSI (895e6d5a)
    • LEDC: Support configuration of the LEDC behavior in light sleep (92d33554)
    • LCD: Supported EK79007 MIPI DSI LCD in the example (a82b8565)
    • LCD: Added i80 LCD driver support on ESP32-P4 (fdd90d48)
    • LCD: Added CS setup time config parameters (af9d107f)
    • LCD: Added a help function to allocate draw buffer with proper alignment for i80 LCD driver (14435b0d)
    • LCD: Added new configuration in the RGB_LCD driver to set DMA burst size (e6596759)
    • LCD: Added RGB LCD driver support on ESP32-P4. (6d716388)
    • LCD: Support color conversion for MIPI LCD driver (29003010)
    • LDO: Output voltage is calibrated with eFuse data (6932df2c)
    • MCPWM: Added description of special deadtime configurations and added checking in the driver(https://github.com/espressif/esp-idf/issues/14773) (ec8de8a1)
    • MCPWM: Added MCPWM sleep retention support (e1aed77c)
    • PARL_IO: Supported parlio_tx transmit buffer in external PSRAM (646d2f9e)
    • PARL_IO: Added Parlio sleep retention support (722db20d)
    • PCNT: Added driver support for PCNT to notify user when configured number of steps changed (3cdbe8ce)
    • PCNT: Added documentation about pull-up/pull-down (https://github.com/espressif/esp-idf/issues/14277) (183834a8)
    • PPA: Added PPA example, support EK79007 MIPI DSI LCD (f5d9cbe4) (cba8c5d7)
    • RMT: Support backup registers before sleep on ESP32-C6/ESP32-H2 (4c0b3a50)
    • SD_HOST: Supported UHS-I SDR50 (100MHz, 50MB/s), DDR50 (50MHz, 50MB/s) on ESP32-P4 (3b2eb131)
    • SDSPI: Supported tuning clock duty cycle (7a5c05e7)
    • SPI: Supported SPI master mode sleep retention on ESP32-C6/H2/P4 (a155b988)
    • SPI Flash: Added support for XMC-D flash series. (c092de66)
    • SPI Flash: Added docs for how to distinguish whether bootloader supports HPM_DC (28340977)
    • SPI Flash: Add 32bit address support for ESP32-P4 v0.1 (e4deaf08)
    • TWAI: Supported TWAI sleep retention (0aa8c024)
    • Temperature Sensor: Added sleep retention support on ESP32-C6/H2/P4 (642188c8)
    • Touch Sensor: New touch sensor on ESP32-P4 (c23165bb)
    • UART: Added the textual description of the error code to the LOG in uart_select example (https://github.com/espressif/esp-idf/pull/14393) (8da1b8bb)
    • UART: Support UART sleep retention on ESP32-C6/ESP32-H2/ESP32-P4 (2d8c719f)
    • USB Device: USB MSC Device example now works with USJ console on ESP32-P4 (c2366d5d)
    • USB Host: Added configurable parameter for reset recovery interval for external USB Hub ports (e26ad72c)
    • USB Host: Added external HUB support (https://github.com/espressif/esp-idf/issues/12554) (d50a64ea)
    • USB Host: Added option to initialize USB Host stack with unpowered port (c2b53392)
    • USB Host: USB Host allows to read and cache multiple configuration descriptors from USB device (67c10eaf)
    • USB Host: Added clear error message when no more free channel available (501e4e6c)
    • USB Serial JTAG: Added select functionality to the driver (7b72c32f)
    • USB Host: Added support for 2 USB instances on ESP32-P4 (e422e12f)

    Changed

    Fixed

    Removed

    • GPIO: Removed IO hold support during Deep-sleep for ESP32-P4 (15e20f0d)
    • MCPWM: Deprecated keep_io_conf_at_exit flag in capture. Now the driver never resets the GPIO. (b42cd6b4)
    • PARL_IO: Deprecated io_no_init flag in parlio_rx. Now the driver never resets the GPIO. (9cacadc5)
    • SPI Flash: Removed auto suspend support for XMC-C flash series (121a272e)

    Security

    Added

    Changed

    Fixed

    • AES: Fixed extra cache sync of memory caused due to aligned up size of DMA descriptors (0aeb9653)
    • Flash Encryption: Fixed Flash encryption for ESP32-P4 (cd8009dc)
    • Flash Encryption: Fixed encrypt only image instead of the partition optimisation not being enabled (9b513734)
    • MbedTLS: Fixed ESP32-C2 ROM ECO1 mbedTLS issues. (80106f53)
    • MbedTLS: Fixed wrong dma descriptor alignment (8f3f8602)
    • Secure Boot: Fixed build issue for c++ compiler (https://github.com/espressif/esp-idf/pull/14398) (2884ce0e)
    • Clear PMA entries before using them in ESP-IDF (2a6be654)
    • Extended example flash_encryption to show FATFS related settings (8d349931)
    • MbedTLS: Reduced application binary size by disabling the mbedtls options MBEDTLS_ECP_FIXED_POINT_OPTIM and MBEDTLS_SHA3_C by default. (27f11f87)
    • MbedTLS: Fixed external memory corruption caused due to unaligned length cache sync of external memory buffers (e1c0ad91)

    Removed

    • ESP-TLS: Removed excessive parameter check for esp_tls_conn_read (a5f249ba)

    Storage

    Added

    Changed

    Fixed

    Removed

    • Removed the dependency on the spi_flash include. (82b1d5ed)

    System Hardware

    Added

    • Supported ESP32-C2 chip rev2.0 (b70331a9)
    • Supported to check the eFuse block revision during the startup. (c9df77ef)
    • Cache: Supported sliced C2M esp_cache_msync operation (23ee0b65)
    • Cache: Supported catching illegal instruction access and load access fault errors from/to cache on RISCV chips (10301a6c)
    • Efuse: Supported Linux target (374f497b)
    • Efuse: Added efuse ADC calibration fields for ESP32-P4, ESP32-C5, and ESP32-C61 (985090a4)
    • PSRAM: Supported PSRAM .noinit segment on ESP32-S2/ESP32-S3/ESP32-P4 (https://github.com/espressif/esp-idf/issues/14253) (6730203c)
    • PSRAM: Allow PSRAM as stack when PSRAM is only available via esp_heap_caps(). (d2cfb78d)
    • PSRAM: Support psram timing point dynamically adjustment via internal temperature sensor on 120M DDR psram on ESP32-S3 (c2cb7d4e)
    • PSRAM: Supported APS3204L (cb9f4740)

    Changed

    • Moved RTC initialization before MSPI tuning to improve stability (e57c6861)
    • BOD: Update brownout threshold on ESP32-P4 v1.0 (381135df)

    Fixed

    • rtc_clk_cpu_freq_set_xtal should always disables CPU's PLL, fixed the behavior on ESP32-C6/H2/P4 (ed91ad56)
    • Fixed CPU frequency switching has become slightly slower when the DFS is used. (041a9378)
    • Fixed deepsleep wakeup fail due to memory lost on ESP32-P4 (a9000085)
    • Solve external 32K problem caused by the wrong configurations on ESP32-C3 & ESP32-S3. (b9c58c55)
    • Fixed ESP32-P4 90MHz->360MHz and 180MHz->360MHz CPU frequency switching failure issue (08b89791)
    • Fixed high probability of esp32-P4 getting stuck in bootloader_random_enable after sleep wakeup. (c6e8c7c0)
    • Fixed non-iram rtc code in early stage on p4 leading xip_psram stuck (7755ce18)
    • BOD: Fixed brownout glitch can not be filtered on ESP32-C3, ESP32-C2 (0299e782)
    • Cache: Fixed double exception after cache disabled caused by branch predictor (f6ec756b)
    • Postponed the time to turn CPU's PLL off in sleep process for ESP32-C6/ESP32-H2/ESP32-P4 (ed91ad56)
    • Efuse: Fixed efuse example not compiling on ESP32-C2 when flash encryption is disabled (efc143bf)
    • MMU: Fixed spi_flash_phys2cache return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA is enabled (ed92c2c2)
    • MMU: Fixed mmap failure caused by leftover register value when running multicore app with unicore bootloader on ESP32 (https://github.com/espressif/esp-idf/issues/11617) (742a4838)
    • MMU: Fixed virtual address calculation for sub-region from already memory mapped region (af25eb44)
    • MMU: Fixed spi_flash_cache2phys return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled (fe3fd4ae)
    • PSRAM: Fixed PSRAM heap registration when himem is used. (4e4b6c16)
    • RAM-APP: Fixed ram app crash issue on ESP32-P4 (8d75f0d1)
    • Fixed the issue that after OTA application changes the slow clock source, the RTC slow clock is missing and causes a stuck at esp_restart on ESP32-C6/H2/P4. (131609cf)
    • Fixed LDO1 switched off issue at startup on ESP32-P4 v1.0 (b57ae0a1)
    • Fixed the issue that after OTA application changes the slow clock source, the modem module not work during lightsleep on ESP32-C6/H2/C5 (569f6c02)
    • Fixed a possible crash on esp_restart if PSRAM is used (41ce4c9e)
    • PSRAM: Fixed ESP32 PICO-V3 psram enabled but not ignored issue (https://github.com/espressif/esp-idf/issues/14970) (714c7738)

    Removed

    • BOD: Remove config on ESP32-P4 v0.x, use a fixed value around 2.52v instead (35ed582e)
    • Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. (0f1bec18)

    TCP Transport

    Changed

    • Updated WS transport initialization to eliminate the dependency on the error handling descriptor (Foundation) (1c2befc3)

    Fixed

    Toolchain

    Changed

    Tools

    Added

    Changed

    Fixed

    Removed

    WI-FI

    Added

    Changed

    • Modify the scan channel on 5G for smartconfig (b8cc161f)
    • The AES IV can be random value for ESPTouch v2. (3b0cf1a2)

    Fixed

    Removed

    • Removed the definition of the "WIFI_BAND_2G_5G" field in "wifi_band_t". (7b5014a0)
    • Removed support for the ESP32-C5 revision v0.0. (3b0cf1a2)

    Wi-Fi MAC

    Added

    • Added support to recognize AP advertising WPA3-Enterprise-Only and WPA3-Enterprise-Transition Mode capabilities with 'WIFI_AUTH_WPA3_ENTERPRISE' and 'WIFI_AUTH_WPA2_WPA3_ENTERPRISE' auth mode, respectively. (cbf105e8)
    • Added protect for SoftAP when sending management frame to not connected station (9b242a48)
    • Added FTM calibration values for esp32c6 (e990d1e0)
    • Supported lower coexistence power consumption when Wi-Fi disconnects from AP (5a5c0046)
    • Supported Wi-Fi to wakeup by listen interval/DTIM period when coexisting with BT init only (5a5c0046)
    • Create fallback option while allocating memory in case PSRAM fails (93454579)
    • Supported ESP32-C2 chip rev2.0 Wi-Fi (e43ded7e)

    Changed

    • Improved internal error propagation in esp_wifi_set_mode API (ccdf82bc)
    • Changed SoftAP default dtim_period to 1 (1b4e4d7f)

    Fixed

    • Fixed issue in changing op mode when WPS is enabled. (a5c0fcea)
    • Prevented the use of incorrect channel list during simultaneous scans. (6c8ce912)
    • Fixed the issue that data packets take several seconds to be sent when coexisting with BLE start and stop scenarios. (5315027e)
    • Fixed the issue that multicast packet loss when listen interval is not equal to 1 in coexistence scenarios. (5315027e)
    • Fixed crash when station issues disconnect during connection establishment and 'failure_retry_cnt' is set in station configuration (d4c16efc)
    • Fix AMPDU to NORMAL causes free buffer twice issue (ad6fba3c)
    • Fixed the issue that the STA could not connect to AP due to authentication timeout after association was refused temporarily by certain APs (1522b6bb)
    • Fixed the issue where SoftAP has rebooted but the connected station did not disconnect. (16461de2)
    • Fixed multi country info warning issue.(https://github.com/espressif/esp-idf/issues/14323) (16461de2)
    • Fixed the issue that SoftAP would recv noauthed associate request (9b242a48)
    • Fixed FTM bandwidth related issues in AP-STA mode (38642006)
    • Fixed ESP32-S2 get ack RSSI invalid issue (b2a3e496)
    • Fixed the issue that STA may not receive packets for a period of time in coexistence scenarios (52059ae5)
    • In SoftAP, fixed incorrect typecasting to get SPP capabilities (e220f1fe)
    • Fixed wifi drive use RSSI as SNR issue (7e6cc5d3)
    • Avoid internal retries for off channel FTM Requests (22c95666)
    • Fixed ESP32 crash due to too latency of TBTT (1fb1924d)
    • Fixed rarely happened issue that Wi-Fi can not RX anymore (1fb1924d)
    • Fixed the issue that SSN update failed when ESP32C6 STA wake up from light sleep. (46e6db02)
    • Fixed the issue that STA may join bad RSSI AP when set by signal(https://github.com/espressif/esp-idf/issues/13958) (097fd376)
    • Fixed the issue of DNS failure caused by continuously initiating connections to the same router(https://github.com/espressif/esp-idf/issues/12315) (15e3f4a0)
    • Fixed the issue that STA can't connect to AP after association refused temporarily by some AP (3a7917ff)
    • Fixed the issue that esp_wifi_get_config got wrong SoftAP DTIM and CSA count (10f04da2)
    • Station should ignore FT, Enterprise AP for connection when their capabilities are disabled in sdkconfig (16e586e5)
    • Fixed the issue that STA did not receive Probe Responses in some coexistence scenarios when wifi band is 5G. (3b0cf1a2)
    • Fixed the issue that STA connects twice simultaneously. (3b0cf1a2)
    • Fixed the issue that STA fail to sleep when connecting to connected AP. (3b0cf1a2)
    • Added a parameter to enable or disable send QoS NULL to keep live during TWT. (3b0cf1a2)
    • Fixed the issue that association failed In WPA3 encryption mode. (3b0cf1a2)
    • Fixed the STA TBTT interval update error when AP's beacon interval changed (https://github.com/espressif/esp-idf/issues/14720) (3b0cf1a2)
    • Fixed bandwidth value is always 0 in esp_wfi_sta_get_ap_info(). (3b0cf1a2)

    ESP-WIFI-MESH

    Fixed

    Wi-Fi Supplicant

    Added

    • Added a check on hostapd instance while handling an Auth frame (90cfc528)
    • Added extra layer of dpp_crypto APIs to make the code more consistent. (42f1e217)
    • Added support for SAE rejected groups (4530b0e3)
    • Added support for 5GHz channel list for WiFI Easy Connect (903c11ff)
    • Allowed WPA-AES connection after WPS (1ac6043b)
    • Added check for WPS-PBC overlap detection in dual band. (e963bff5)
    • Fixed the issue where supplicant deinitialization may miss the internal WAPI deinitialization. (ed5f75ab)

    Changed

    • Updated DPP implementation as per upstream hostapd tag hostap_2_10 (42f1e217)

    Fixed

    • Fixed security vulnerabilities related to SAE rejected groups (4530b0e3)
    • Set 5GHz bitmap when 5GHz candidate is present in the BTM request (0c9d7c9d)
    • Fixed concurrency issue during WPS registrar/softAP deinit (b0712b6a)
    • Fixed crash in wifi deinit due to roaming neighbor list lock. (2a222d43)
    • Fixed deiniting old DPP authentication when config is received. (4c401905)
    • Recompute keys in OWE in case of mismatched or absent PMKID from association response (94767335)
    • Fixed the issue that setting WPS status failed when fail to connect. (3ed18847)
    • Fixed a crash due to dangling pointer in WPA3 softAP (63386f34)
    • In SoftAP, fixed incorrect typecasting to get SPP capabilities (e220f1fe)
    • Fixed associate reject after WPS session (bc89933a)
    • Fixed for crash while receiving deauth in ESP32-C2 ECO4 (a61663d6)

    Classic Bluetooth

    Classic Bluetooth Bluedroid Host

    Added

    Fixed

    • Fixed the default codec type and set it to CVSD to avoid mistakenly using unavailable mSBC on PCM datapath in hfp_hf example. (17f422cc)
    • Fixed the issue that AT commands transmission will not exit current sniff mode by modify power management configuration lookup tables (220d4c6d)
    • Fixed missing of deep copy of service_name and user1_ptr in SDP search complete event (4b74e4e5)
    • Fixed not clearing the mode request status which causes unexpected exit of sniff mode. (160bd658)
    • Fixed not release BTC SDP record memory after it has been created successfully (ca05aa5c)
    • Limited SDP service discovery operation when the previous discovery is not finished (ca05aa5c)
    • Fixed protocol mode mapping bug in esp_hid component(https://github.com/espressif/esp-idf/issues/14232) (89712154)
    • Fixed example esp_hid_host cannot get remote device name from eir data (ef3d0633)
    • Fixed the stack overflow of uTask in bt example spp initiator (3b46ee05)
    • Fixed the wrong connection handle in the event handler of BTA_JV_L2CAP_READ_EVT (https://github.com/espressif/esp-idf/issues/13847) (809f1e34)
    • Fixed AVRCP compatibility issue on absolute volume synchronization (82802eb4)
    • Fixed memory leak of synchronous data queue when disabling Bluedroid (0e6c74e9)
    • Fixed no release of ACL connection after reception of incorrect SDP response (76d90ba1)

    Classic Bluetooth Controller

    Added

    • Added PCM configuration options for PCM frame sync signal shape(stereo, mono1, mono2) on ESP32 (f3f8618e)
    • Added the check of the range of LAP in HCI_Periodic_Inquiry_Mode command handler on ESP32 (99f529f2)
    • Added integrity check for HCI_Link_Key_Selection command on ESP32 (74d3c00f)

    Fixed

    • Fixed access of NULL pointer in the (e)SCO frame end ISR after the SCO link is disconnected on ESP32 (99f529f2)
    • Fixed the wrong logic in the key exchange when LMP transaction collision occurred on ESP32 (99f529f2)
    • Fixed the using of wrong error codes in the transaction collision of role switch on ESP32 (99f529f2)
    • Fixed disconnection caused by channel map update in sniff mode on ESP32 (d92c09a0)
    • Fixed failure of establishing eSCO link in case there are connections with two devices on ESP32 (https://github.com/espressif/esp-idf/issues/11172) (14090573)
    • Fixed use of uninitialized random number during pause of AES encryption procedure on ESP32 (f5e9ccbc)
    • Fixed no reporting of HCI_Disconnection_Complete event after the controller has initiated a disconnection procedure on ESP32 (f5e9ccbc)
    • Fixed logic error when LMP transaction collision happens during role switch on ESP32 (651e6a7b)
    • Fixed zero attempt value set by role switch which cause fatal hardware error on ESP32 (25039926)
    • Fixed lack of protection on access of critical section upon freeing (e)SCO buffers on ESP32 (25039926)
    • Fixed duplicated encryption restart process when new link key type is semi-permanent key on ESP32 (25039926)
    • Fixed the issue where HCI_Encryption_Change was not reported to host after changing the key type, even when the encryption mode was correctly changed via HCI_Set_Connection_Encryption command on ESP32 (25039926)
    • Fixed wrong logic in handling sniff transaction collision at slave side on ESP32. (c122f727)
    • Fixed the issue ACL is stopped too early before eSCO on ESP32. This issue can cause ACL Perihperal to be unable to receive acknowledgements from the ACL Central, resulting in an infinite retransmission of a certain packet on the Peripheral side. (c122f727)
    • Fixed crash upon name request from peer device without setting local device name on ESP32 (c122f727)
    • Set the QoS value to the minimum value if the calculated QoS is less than the minumum on ESP32 (c122f727)

    Removed

    • Removed an improper assertion statement in SCO module (99f529f2)
    • Removed an improper assertion in ACL link driver which can be triggered on peripheral SNIFF mode when RX window is adjusted on ESP32. (77c4da89)