Espressif Release Notes

Follow

11 release notes curated from 1 source by the Releasebot Team. Last updated: Jul 19, 2026

Get this feed:

Espressif Products

  • Jul 17, 2026
    • Date parsed from source:
      Jul 17, 2026
    • First seen by Releasebot:
      Jul 19, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Release v5.5.5

    Espressif IoT Development Framework ships v5.5.5 as a bugfix release with a new unencrypted PSRAM option, stricter jpeg_decoder checks to block bad picture attacks, and ECDSA Secure Boot V2 disabled for ESP32-H2, ESP32-C5, and ESP32-P4 due to a security issue.

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

    ESP-IDF v5.5.5 is a bugfix release for ESP-IDF v5.5.

    Obtaining v5.5.5

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

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

    Download an archive with submodules included

    Attached to this release is an esp-idf-v5.5.5.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.5.5/esp-idf-v5.5.5.zip

    Major changes

    Major New Features

    Introduced CONFIG_SPIRAM_ENC_EXEMPT to enable the carving of a designated unencrypted PSRAM region, which is accessible through the new MALLOC_CAP_SPIRAM_NO_ENC to avoid encryption-related alignment considerations. (cc5a3fb)

    Major Bugfixes

    Improved the jpeg_decoder by adding strict checks to prevent potential bad picture attacks. (GHSA-v6r2-f6p2-88cj) (9143499)

    Disabled ECDSA Secure Boot V2 for ESP32-H2, ESP32-C5, and ESP32-P4, which are in the mass production stage. This was done due to a security vulnerability found in the ECDSA-based Secure Boot flow. (87c540d)

    Changelog

    For a full list of changes, please refer to ESP-IDF v5.5.5 Release Notes in Espressif's release notes database.

    Original source
  • Jun 29, 2026
    • Date parsed from source:
      Jun 29, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Pre-release v6.1-beta1

    Espressif IoT Development Framework releases v6.1-beta1 as a mostly compatible update to ESP-IDF v6.0, adding preview support for ESP32-S31, new Wi‑Fi and power management features, and stronger JPEG decoder checks, while also introducing several breaking API and component changes.

    Documentation for IDF v6.1-beta1 is available at https://docs.espressif.com/projects/esp-idf/en/v6.1-beta1/

    ESP-IDF v6.1-beta1 is a minor update for ESP-IDF v6.0. Release v6.1 is mostly compatible with apps written for ESP-IDF v6.0. Release v6.0.2 is the latest stable release at the time of writing.

    We highly recommend referring to our migration guide while moving your apps from ESP-IDF v6.0 to v6.1 release.

    Obtaining v6.1-beta1

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

    This is the recommended way of obtaining v6.1-beta1 of ESP-IDF.

    Download an archive with submodules included

    Attached to this release is an esp-idf-v6.1-beta1.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/v6.1-beta1/esp-idf-v6.1-beta1.zip

    Major changes

    Major New Features

    Added preview support for ESP32-S31, please help refer to ESP32-S31 support status for details

    System Hardware/PSRAM: Introduced CONFIG_SPIRAM_ENC_EXEMPT to enable the carving of a designated unencrypted PSRAM region, which is accessible through the new MALLOC_CAP_SPIRAM_NO_ENC to avoid encryption related alignment considerations (4811388)

    Wi-Fi: Added support for OWE-Only in SoftAP mode (f7a5ef7)

    Wi-Fi: Added support for DPP multi-configuration for the station (0b0c85c)

    Wi-Fi: Added support for privacy extension mechanisms for STA (6544496)

    Power Management: Added support for runtime attachment and detachment of sleep retention modules (d7a2e15)

    Major Bugfix

    JPEG Decoder: Improved the jpeg_decoder by adding strict checks to prevent potential bad picture attacks. (GHSA-v6r2-f6p2-88cj) (9c6bc38)

    Breaking Changes

    MQTT: The esp-mqtt component was moved to component manager. Add espressif/mqtt to dependencies to use it. (1da9860)

    Peripheral Drivers: Remove FreeRTOS header dependency in peripheral public headers. (986481f)

    Peripheral Drivers/GPIO: Rename gpio_deep_sleep_wakeup_enable/disable to gpio_wakeup_enable/disable_on_hp_periph_powerdown_sleep (1373011)

    Peripheral Drivers/GPIO: Add "rom_" prefix to all GPIO ROM functions in components/esp_rom/esp32xx/include/esp32xx/rom/gpio.h (5b97ebd)

    Peripheral Drivers/GPIO: MAX_PAD_GPIO_NUM, MAX_GPIO_NUM, and DIG_IO_HOLD_BIT_SHIFT macros have been removed. (5b97ebd)

    Peripheral Drivers/LCD: Unified color conversion API across RGB and DSI drivers (6b9427a)

    Peripheral Drivers/LCD: Replaced bits_per_pixel with FourCC-based color format configuration (6b9427a)

    Peripheral Drivers/LCD/DSI_LCD: Replaced the original use_dma2d flag with a new hook function esp_lcd_dpi_panel_enable_dma2d(). If 2D-DMA is not used, your application binary size can be saved by around 10KB. (b385b6e)

    Peripheral Drivers/SPI: The SPI master and slave no longer accepts ESP_INTR_FLAG_SHARED as interrupt flag during initialization. (70a0fb5)

    Peripheral Drivers/SPI Flash: New argument flags is added to esp_flash_os_functions_t::start. Caller and implementer should handle this argument properly. (32c31f6)

    Peripheral Drivers/SPI Flash: Changed the include path of headers to reflect their visibility. The #include statements of headers for customizing flash drivers and private use need to be updated. (5984b29)

    Peripheral Drivers/SPI Flash: Structures esp_flash_t and esp_flash_os_functions_t are moved to private headers. Users should call APIs instead of using the members directly. (5984b29)

    Peripheral Drivers/UART: Removed soc/uart_channel.h. All UART GPIO lookup equivalent macros can be found in soc/uart_pins.h (b5aae9a)

    Security/MbedTLS: Fixed the PSA persistent storage format for PSA ECDSA and HMAC opaque keys to use flat, serialization-safe storage structs, thus, PSA persistent opaque keys stored by prior ESP-IDF versions must be re-imported. (8f7984d)

    Security/Secure Boot: Removed support for 192-bit curve in secure boot as part of the upgrade to mbedTLS version 4.1.0. (cadda99)

    Security/Secure Boot: Disabled ECDSA Secure Boot V2 for ESP32-H2, ESP32-C5, ESP32-P4 which are in Mass Production stage. This was done due to a security vulnerability found in the ECDSA based Secure Boot flow, more details will be available in the Chip Errata. (3664bd2)

    System Hardware: Default revision of ESP32-P4 is changed to v3.0. Applications for < 3.0 chips whose sdkconfig has no CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y will build an incompatible binary. Append CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y to your sdkconfig file before running reconfigure or build. (7b3042e)

    Known Issues

    For ESP32-C2 revision v2.0, Wi-Fi Packet transmission may fail when light sleep mode is enabled.

    Changelog

    This full changelog of v6.1-beta1 release is on The ESP Release Notes site now.

    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Espressif and hundreds of other software products.

    Create account
  • Jun 29, 2026
    • Date parsed from source:
      Jun 29, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Release v6.0.2

    Espressif IoT Development Framework releases ESP-IDF v6.0.2, a bugfix update for the v6.0 line, with documentation available and improved download options including a submodule-ready archive for easier setup.

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

    ESP-IDF v6.0.2 is a bugfix release for ESP-IDF v6.0.

    Obtaining v6.0.2

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

    This is the recommended way of obtaining v6.0.2 of ESP-IDF.

    Download an archive with submodules included

    Attached to this release is an esp-idf-v6.0.2.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/v6.0.2/esp-idf-v6.0.2.zip

    Changelog

    For full list of changes, please refer to ESP-IDF v6.0.2 Release Notes in Espressif 's release notes database.

    Original source
  • May 19, 2026
    • Date parsed from source:
      May 19, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Release v5.2.7

    Espressif IoT Development Framework releases ESP-IDF v5.2.7 as a bugfix update for the v5.2 line, with updated documentation and OpenThread examples that now use esp_console and require the ot prefix for CLI commands.

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

    ESP-IDF v5.2.7 is a bugfix release for ESP-IDF v5.2.

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

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

    Download an archive with submodules included

    Attached to this release is an esp-idf-v5.2.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.2.7/esp-idf-v5.2.7.zip

    Major changes

    Breaking changes

    15.4/Thread Updated OpenThread examples to use esp_console. The ot prefix is required when running OpenThread CLI commands. (f1c1d2c)

    Changelog

    For full list of changes, please refer to ESP-IDF v5.2.7 Release Notes in Espressif 's release notes database.

    Original source
  • Apr 27, 2026
    • Date parsed from source:
      Apr 27, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Release v6.0.1

    Espressif IoT Development Framework releases ESP-IDF v6.0.1 as a bugfix update for v6.0, with documentation now available and new download options including a git clone path and an archive with submodules included.

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

    ESP-IDF v6.0.1 is a bugfix release for ESP-IDF v6.0.

    Obtaining v6.0.1

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

    This is the recommended way of obtaining v6.0.1 of ESP-IDF.

    Download an archive with submodules included

    Attached to this release is an esp-idf-v6.0.1.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/v6.0.1/esp-idf-v6.0.1.zip

    Changelog

    For full list of changes, please refer to ESP-IDF v6.0.1 Release Notes in Espressif 's release notes database.

    Original source
  • Similar to Espressif with recent updates:

  • Apr 17, 2026
    • Date parsed from source:
      Apr 17, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Release v5.4.4

    Espressif IoT Development Framework releases ESP-IDF v5.4.4 as a bugfix update for the v5.4 line, with refreshed documentation and release download options including a Git clone method and a ZIP archive with submodules included.

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

    ESP-IDF v5.4.4 is a bugfix release for ESP-IDF v5.4.

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

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

    Download an archive with submodules included

    Attached to this release is an esp-idf-v5.4.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. 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.4.4/esp-idf-v5.4.4.zip

    Changelog

    For full list of changes, please refer to ESP-IDF v5.4.4 Release Notes in Espressif 's release notes database.

    Original source
  • Mar 27, 2026
    • Date parsed from source:
      Mar 27, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Release v5.5.4

    Espressif IoT Development Framework releases ESP-IDF v5.5.4 as a bugfix update, fixing a potential NimBLE host connection loss issue on ESP32, ESP32-C3, and ESP32-S3 in v5.5.3. The release also provides updated documentation and downloadable source archives.

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

    ESP-IDF v5.5.4 is a bugfix release for ESP-IDF v5.5.

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

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

    Download an archive with submodules included

    Attached to this release is an esp-idf-v5.5.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. 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.5.4/esp-idf-v5.5.4.zip

    Major changes

    Major Bugfixes

    Fixed the issue of potential NimBLE host connection loss in ESP-IDF v5.5.3 release on ESP32 / ESP32C3 / ESP32S3 (IDFGH-17350)

    Changelog

    For full list of changes, please refer to ESP-IDF v5.5.4 Release Notes in Espressif 's release notes database.

    Original source
  • Mar 24, 2026
    • Date parsed from source:
      Mar 24, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Release v5.3.5

    Espressif IoT Development Framework releases ESP-IDF v5.3.5 as a bugfix update for the v5.3 line, with updated documentation, improved release packaging, and notable breaking changes in OpenThread CLI usage and SPI interrupt initialization.

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

    ESP-IDF v5.3.5 is a bugfix release for ESP-IDF v5.3.

    Obtaining v5.3.5

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

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

    Download an archive with submodules included

    Attached to this release is an esp-idf-v5.3.5.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.3.5/esp-idf-v5.3.5.zip

    Major changes

    Breaking Changes

    15.4/Thread: Updated OpenThread examples to use esp_console. The ot prefix is required when running OpenThread CLI commands. (fd0fd24)

    Peripheral Drivers/SPI: The SPI master and slave no longer accepts ESP_INTR_FLAG_SHARED as interrupt flag during initialization. (d3316dc)

    Changelog

    For full list of changes, please refer to ESP-IDF v5.3.5 Release Notes in Espressif 's release notes database.

    Original source
  • Mar 20, 2026
    • Date parsed from source:
      Mar 20, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Release v6.0

    Espressif IoT Development Framework ships ESP-IDF v6.0, a major update with PSA-first cryptography, newer C and C++ standards, support for ESP32-P4 v3 silicon, and broad driver, Wi-Fi, Bluetooth, storage, and tooling changes alongside many breaking API removals.

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

    ESP-IDF v6.0 is a major update for ESP-IDF v5.x. Release v6.0 is mostly compatible with apps written for ESP-IDF v5.x, but there are some breaking changes (please consult the list below) and removal of deprecated functionality which will require code changes when updating projects.

    We highly recommend referring to our migration guide while moving your apps from ESP-IDF v5.x to v6.0 release. Note that from v6.0 (final release) onward, and for all future IDF releases, the full changelog of release notes will be published on the ESP Release Notes site.

    Obtaining v6.0

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

    This is the recommended way of obtaining v6.0 of ESP-IDF.

    Download an archive with submodules included

    Attached to this release is an esp-idf-v6.0.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/v6.0/esp-idf-v6.0.zip

    Major changes

    Major New Features

    ESP-IDF v6.0 upgrades to MbedTLS v4.x and adopts the new PSA Crypto API, marking a major shift toward a PSA-first cryptography policy

    Upgraded default C standard to gnu23 (03855b9)

    Upgraded default C++ standard to gnu++26 (03855b9)

    Supported loading idf.py extensions from the project's component directories and from installed Python packages (https://developer.espressif.com/blog/2025/10/idf_py_extension/) (34f658a)

    Supported ESP32-P4 Version3 silicon

    Breaking Changes

    Legacy drivers of ADC, DAC, I2S, Timer Group, PCNT, MCPWM, RMT, Temperature Sensor peripherals were removed

    Application Utilities: The wifi_provisioning component is moved out of ESP-IDF and renamed to network_provisioning into external component https://github.com/espressif/idf-extra-components/tree/master/network_provisioning. The provisioning example and python provisioning tool are also moved to the new component directory. (105a64a)

    Application Utilities/CJSON: Moved cJSON from ESP-IDF to managed components (https://github.com/espressif/idf-extra-components/tree/master/cjson) (269acda)

    Application Utilities/ESP HTTP Client: Updating to mbedTLS 4.x with PSA migration increases the flash footprint. For esp_http_client, the flash impact increases about 37KB (~5.76%). (7da79a6)

    Application Utilities/ESP HTTP Server: Updating to mbedTLS 4.x with PSA migration increases the flash footprint. For http_server/simple, the flash impact increases about 41KB (~4.97%). (7da79a6)

    Application Utilities/ESP HTTPS OTA: Moved partial-download feature under a newly added config to reduce default flash footprint (b72e532)

    Application Utilities/ESP HTTPS Server: Updating to mbedTLS 4.x with PSA migration increases the flash footprint. For https_server, the flash impact increases about 27KB (~3.08%). (7da79a6)

    Application Utilities/Provisioning: Fixed wifi_prov_mgr_deinit api return type and handled error case in wifi_prov_mgr example (b9c2242)

    Application Utilities/Provisioning: Disabled protocomm security version 0 and 1 by default. If required then security 0/1 configs should be explicitly enabled. (f0cc452)

    BLE/BluFi: BLUFI protocol version has been updated (BTC_BLUFI_SUB_VER 0x03 → 0x04) and BLUFI security negotiation/crypto is updated. Existing BLUFI client/mobile apps may not interoperate with ESP-IDF v6.0 devices. (7da79a6)

    BLE/BluFi: BluFi Security is updated to use SHA256 from MD5 (dc38765)

    BLE/BluFi: BluFi Security is updated to migrate to 3072 based FFDHE keys (dc38765)

    BLE/BluFi: BluFi Security is updated to use AES-256 from AES-128 (dc38765)

    Bootloader: Removed option for compiling bootloader with no optimization level (-O0, CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE). For debugging purposes, it is recommended to use the -Og (CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG) optimization level instead. (dea8433)

    Bootloader: Renamed linker file 'bootloader.ld' to 'bootloader.ld.in'. Custom bootloader build scripts update might be required. (0367cfe)

    Build & Config: The build process may fail during linking if orphan sections are present. This can be resolved by removing custom section declarations or by explicitly placing orphan sections using linker fragment file. (a319aa9)

    Build & Config: The binary generation target gen_signed_project_binary is no longer available as the build system drops the need for this target. (c8f68c7)

    Build & Config: The binary generation gen_project_binary is now created during the __idf_build_binary() function invocation by the build system. Components, declaring dependency on this target could have build errors. For post-elf processing, the new idf_build_add_post_elf_dependenciy() must be used. (c8f68c7)

    Build & Config: Global Cmake variables presented by the esptool_py viz., ESPTOOLPY, ESPSECUREPY, ESPEFUSEPY and ESPMONITOR are no longer available. These must be accessed via the idf_component_get_property() function. (c8f68c7)

    Build & Config: The internal target variable, ${elf} is removed. Custom targets that need to add dependencies on the project elf must fetch the executable by querying the EXECUTABLE build property like idf_build_get_property(elf EXECUTABLE). (c8f68c7)

    Build & Config: Components adding target dependencies on the encrypted-flash target unconditionally is not allowed any more. Such dependencies can only be done if CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT is enabled. (c8f68c7)

    Build & Config: Changed the execution order of non-priority C++ constructors and functions marked with attribute((constructor)) from descending to ascending (44aeff1)

    Build & Config: Removed inclusion of <dirent.h> when <sys/dirent.h> is included. Include <dirent.h> for function declarations (0a7ace3)

    Build & Config: Upgraded default C standard to gnu23. Code changes may be required to fix new warnings. (03855b9)

    Build & Config: Upgraded default C++ standard to gnu++26. Code changes may be required to fix new warnings. (03855b9)

    Build & Config: Default warnings are now considered as errors by default. This can be disabled by setting CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS = y (6efd36f)

    Build & Config: Changed default libc from Newlib to Picolibc. This may introduce breaking changes in rare cases. Refer to the v6.0 Migration Guide ("System" chapter) for details. (effa1e4)

    Classic Bluetooth/Bluedroid: esp_spp_init has been deprecated and now it is replaced with esp_spp_enhanced_init (7cac735)

    Classic Bluetooth/Bluedroid: esp_hf_ag_devices_status_indchange has been deprecated and now it is replaced with esp_hf_ag_ciev_report (7cac735)

    Classic Bluetooth/Bluedroid: esp_bt_dev_set_device_name has been deprecated and now it is replaced with esp_bt_gap_set_device_name (7cac735)

    Classic Bluetooth/Bluedroid: esp_bt_dev_get_device_name has been deprecated and now it is replaced with esp_bt_gap_get_device_name (7cac735)

    Classic Bluetooth/Bluedroid: Deprecate RSSI threshold related macros (7a2e19c)

    Core System: Ring buffer functions are now placed in flash memory by default to save IRAM space. CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH Kconfig option has been removed. (11b80a7)

    Core System: Removed deprecated STATUS enum from ets_sys.h, use ETS_STATUS instead. (166269f)

    Core System: The header esp_vfs_cdcacm.h has been moved to the new component esp_usb_cdc_rom_console, you will now have to add an explicit REQUIRES for esp_usb_cdc_rom_console if using any functions from this header. (1f0152d)

    Core System/ESP Event: Removed unnecessary freertos header includes, if your code relied on this implicit include from esp_event.h then please add the correct explicit includes, freertos/queue.h" and freertos/semphr.h to your files. (cb36cd3)

    Core System/Heap: MALLOC_CAP_EXEC capability only defined when no memory protection is enabled (see #14837) (75305c2)

    Core System/Interrupts: Removed deprecated intr_types.h header, update to use esp_intr_types.h instead (365c8a3)

    Core System/Log: The following deprecated APIs have been removed: esp_log_buffer_hex(), esp_log_buffer_char(). (659ae57)

    Core System/Log The following deprecated headers have been removed: esp_log_internal.h. (659ae57)

    Core System/Newlib: COMPILER_ASSERT_NDEBUG_EVALUATE default value changed to 'n'. Default behavior is now to not evaluate expressions inside assert(X) when NDEBUG is set, which confirms to the C standard. (#2758) (33f92c8)

    Debugging/Apptrace: Deprecated ESP_APPTRACE_DEST_TRAX. Now it is replaced with ESP_APPTRACE_DEST_JTAG (fb3e616)

    Debugging/Apptrace: Changed esp_apptrace_down_buffer_config(). Now it requires esp_apptrace_dest_t dest as first parameter for API consistency. (fb3e616)

    Debugging/Apptrace: Removed CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX configuration option. (a083766)

    Debugging/Apptrace: Removed destination parameter from all apptrace APIs. (8ee473d)

    Debugging/Apptrace: Changed SystemView trace data destination configuration. Now it is controlled by the same configuration as the apptrace destination. It will not have its own destination configuration. (8ee473d)

    Debugging/Apptrace: Changed the way apptrace is configured. Applications must implement esp_apptrace_get_init_params to provide app_trace parameters to the components (8ee473d)

    Debugging/Apptrace: Refactored apptrace UART related menuconfig options. CONFIG_APPTRACE_DEST_UARTx options are removed and CONFIG_APPTRACE_DEST_UART is added to keep the port number. (9f38fa1)

    Debugging/Apptrace: Moved gcov component out of the IDF and is now available in the ESP Component Registry as esp-gcov (5ac81c1)

    Debugging/Core Dump: Dropped binary format support. Only ELF format is now supported. (521f3e3)

    Debugging/Core Dump: Dropped CRC32 checksum support. Only SHA256 checksum is now used. (521f3e3)

    Debugging/Core Dump: Changed function esp_core_dump_partition_and_size_get(). Now it returns ESP_ERR_NOT_FOUND for blank partitions instead of ESP_ERR_INVALID_SIZE (#15153) (521f3e3)

    Ethernet: The esp_eth_phy_802_3_reset_hw API accepts only one parameter and resets the Ethernet PHY with internal timing configuration defined during initialization. (7a35466)

    Ethernet: Removed RMII CLK Kconfig option for esp_eth component, use config structure to set this parameter. (bc421db)

    Ethernet: Removed and migrated 3rd party Ethernet drivers outside of ESP-IDF. Add the related driver from component manager to use it. (61aaaf3)

    Ethernet: Removed all Ethernet PTP ioctl commands and replaced them by a new API (b28d671)

    FreeRTOS: FreeRTOS functions are now placed in flash memory by default to save IRAM space. CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH Kconfig option has been removed. (11b80a7)

    FreeRTOS: The following deprecated APIs have been removed: xTaskGetAffinity(), xTaskGetIdleTaskHandleForCPU(), xTaskGetCurrentTaskHandleForCPU(). (46160b0)

    FreeRTOS: The compatibility function xQueueGenericReceive() has been removed. Use xQueueReceive(), xQueuePeek(), or xQueueSemaphoreTake() as per your usecase. (3ef4136)

    FreeRTOS: The compatibility function vTaskDelayUntil() has been removed. Use the function xTaskDelayUntil() instead. (3ef4136)

    FreeRTOS: The compatibility function ulTaskNotifyTake() has been removed. Use the macro ulTaskNotifyTake() instead. (3ef4136)

    FreeRTOS: The compatibility function xTaskNotifyWait() has been removed. Use the macro xTaskNotifyWait() instead. (3ef4136)

    FreeRTOS: Removed support for the user defined vPortCleanUpTCB() and the associated Kconfig option CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP. (75619d8)

    LWIP: Deprecated header sntp.h for lwip/app port layer has been removed. Users should include esp_sntp.h. (406c7f3)

    LWIP: Deprecated header ping.h and esp_ping.h for lwip/app port layer has been removed. Users should include ping_sock.h. (406c7f3)

    LWIP/DHCP Server: The LWIP_DHCPS_ADD_DNS macro was removed. Applications must now enable DNS option in DHCP offers with esp_netif_dhcps_option() and configure DNS servers explicitly using esp_netif_set_dns_info(). (57013ba)

    LWIP/ESP Netif: Removes option to disable error return in esp netif receive function (3d5c2ef)

    LWIP/ESP Netif: Deprecated API esp_netif_next() was removed. Users are suggested to iterate over interfaces using esp_netif_tcpip_exec(), or use esp_netif_find_if(). (ba0b61d)

    Low Power Features: Rename esp_deepsleep_gpio_wake_up_mode_t to esp_sleep_gpio_wake_up_mode_t (d0f992c)

    Low Power Features: Rename esp_deep_sleep_enable_gpio_wakeup to esp_sleep_enable_gpio_wakeup_on_hp_periph_powerdown (d0f992c)

    MQTT: The esp-mqtt component was moved to component manager. Add espressif/mqtt to dependencies to use it. (98a9e14)

    Peripheral Drivers: The io_loop_back config option is removed for all drivers, different peripheral drivers can still share the same GPIO number without having it. (1fa420e)

    Peripheral Drivers: The periph_module_t enum type is refactored into shared_periph_module_t and only the modules that have multiple independent functions are kept. (f348a10)

    Peripheral Drivers: The driver/periph_ctrl.h and driver/rtc_cntl.h header files are removed. Please use esp_private/periph_ctrl.h and esp_private/rtc_ctrl.h instead. (e3190c6)

    Peripheral Drivers: Removed unnecessary dependencies for the driver component (22a0f9a)

    Peripheral Drivers: Remove FreeRTOS header dependency in peripheral public headers. (5c5d78b)

    Peripheral Drivers/ADC: Legacy ADC driver and legacy ADC calibration driver have been removed (807cbbf)

    Peripheral Drivers/Camera/DVP: Used fourcc for dvp cam color format (7c1e88e)

    Peripheral Drivers/DAC: The legacy DAC driver is removed. (d445536)

    Peripheral Drivers/DMA: The esp_dma_capable_malloc and esp_dma_capable_calloc functions are removed. The GDMA_ISR_IRAM_SAFE Kconfig option is removed. (3e09d4f)

    Peripheral Drivers/DMA: The DMA core driver is now graduated into a separate component "esp_driver_dma". (799e366)

    Peripheral Drivers/GPIO: Removed gpio_iomux_in, gpio_iomux_out public APIs. Please use gpio_iomux_input, gpio_iomux_output in esp_private/gpio.h if neccessary. (2fb938c)

    Peripheral Drivers/GPIO: Add "rom_" prefix to all GPIO ROM functions in components/esp_rom/esp32xx/include/esp32xx/rom/gpio.h (7f0f043)

    Peripheral Drivers/GPIO: Added the esp_err_t return type to gpio_uninstall_isr_service (#14114) (7f0f043)

    Peripheral Drivers/GPIO: MAX_PAD_GPIO_NUM, MAX_GPIO_NUM, and DIG_IO_HOLD_BIT_SHIFT macros have been removed. (7f0f043)

    Peripheral Drivers/GPIO: Rename gpio_deep_sleep_wakeup_enable/disable to gpio_wakeup_enable/disable_on_hp_periph_powerdown_sleep (d0f992c)

    Peripheral Drivers/GPTimer: The legacy timer group driver is removed. (3b50481)

    Peripheral Drivers/I2C: I2C slave version one driver is removed (456ae96)

    Peripheral Drivers/I2C: Legacy I2C driver (driver/i2c.h) is end-of-life and compile warning is added. (bb80291)

    Peripheral Drivers/I2C/I2C Master: I2C master transaction now will report ESP_ERR_INVALID_RESPONSE when NACK is detected. (6af87b6)

    Peripheral Drivers/I2S: The legacy I2S driver is removed. (e71e755)

    Peripheral Drivers/I2S: Removed 'i2s_port_t' type and use 'int' type instead. (726a430)

    Peripheral Drivers/LCD: Dropped the support of the legacy I2C master driver in the esp_lcd component (9cee386)

    Peripheral Drivers/LCD: The GPIO number type in the LCD driver has been changed from int to the more type-safe gpio_num_t. (6ea0fa1)

    Peripheral Drivers/LCD: The color_space and rgb_endian configuration options in the esp_lcd_panel_dev_config_t structure is replaced by the rgb_ele_order member, which sets the RGB element order. (6ea0fa1)

    Peripheral Drivers/LCD: The NT35510 LCD device driver has been moved out of ESP-IDF and is now hosted in the Component Registry. (4589f33)

    Peripheral Drivers/LCD: Unified color conversion API across RGB and DSI drivers (734e600)

    Peripheral Drivers/LCD: Replaced bits_per_pixel with FourCC-based color format configuration (734e600)

    Peripheral Drivers/LCD/DSI_LCD: Replaced the original use_dma2d flag with a new hook function esp_lcd_dpi_panel_enable_dma2d(). If 2D-DMA is not used, your application binary size can be saved by around 10KB. (88716d0)

    Peripheral Drivers/LEDC: Removed ledc_timer_set API, and LEDC_APB_CLK_HZ, LEDC_REF_CLK_HZ macros (3fdb473)

    Peripheral Drivers/LEDC: esp_driver_gpio no longer is the public required component for esp_driver_ledc (3fdb473)

    Peripheral Drivers/LEDC: Removed LEDC_USE_RTC8M_CLK macro (e94d9ce)

    Peripheral Drivers/MCPWM: Changed the default MCPWM group clock prescaler to 1 so that we can achieve a higher resolution. (#14815) (904d952)

    Peripheral Drivers/MCPWM: The io_od_mode member in the mcpwm_generator_config_t configuration structure has been removed. (1fa420e)

    Peripheral Drivers/MCPWM: The legacy MCPWM driver is removed. (0972e9d)

    Peripheral Drivers/MCPWM: Removed variadic generator APIs mcpwm_generator_set_actions_on_xxx (4e62b0e)

    Peripheral Drivers/PCNT: The legacy PCNT driver is removed. (81bb6a0)

    Peripheral Drivers/RMT: The io_od_mode member in the rmt_tx_channel_config_t configuration structure has been removed. (1fa420e)

    Peripheral Drivers/RMT: The legacy RMT driver is removed. (9dc9d7d)

    Peripheral Drivers/SDM: The legacy SDM driver is removed. (d6894a1)

    Peripheral Drivers/SDM: Function sdm_channel_set_duty has been removed. Use sdm_channel_set_pulse_density instead. (5d4d12f)

    Peripheral Drivers/SD_HOST/SDMMC: The get_dma_info member in the sdmmc_host_t structure, as well as the sdspi_host_get_dma_info and sdmmc_host_get_dma_info functions, are removed. (3e09d4f)

    Peripheral Drivers/SD_HOST/SDMMC: Removed deprecated API esp_vfs_fat_sdmmc_unmount (a4c03ce)

    Peripheral Drivers/SD_HOST/SDMMC Changed public requirement to esp_driver_gpio to private requirement (dfe8ee5)

    Peripheral Drivers/SPI: Removed deprecated HSPI and VSPI related IOMUX pin macros on ESP32 and ESP32S2 (a4c03ce)

    Peripheral Drivers/SPI: The SPI master and slave no longer accepts ESP_INTR_FLAG_SHARED as interrupt flag during initialization. (28999c8)

    Peripheral Drivers/SPI Flash: Remove SPI_FLASH_ROM_DRIVER_PATCH option as this is not needed any more (19fef9f)

    Peripheral Drivers/SPI Flash: Removed deprecated enum esp_flash_speed_t (a4c03ce)

    Peripheral Drivers/SPI Flash: Removed deprecated API spi_flash_reset_counters, spi_flash_dump_counters and spi_flash_get_counters (a4c03ce)

    Peripheral Drivers/SPI Flash: Removed deprecated header file esp_spi_flash.h (a4c03ce)

    Peripheral Drivers/SPI Flash: New argument flags is added to esp_flash_os_functions_t::start. Caller and implementer should handle this argument properly. (f409428)

    Peripheral Drivers/SPI Flash: Changed the include path of headers to reflect their visibility. The #include statements of headers for customizing flash drivers and private use need to be updated. (31056d5)

    Peripheral Drivers/SPI Flash: Structures esp_flash_t and esp_flash_os_functions_t are moved to private headers. Users should call APIs instead of using the members directly. (31056d5)

    Peripheral Drivers/TWAI: Deprecate the legacy twai driver API (7471043)

    Peripheral Drivers/Temperature Sensor: The legacy temperature sensor driver is removed. (f4a45a3)

    Peripheral Drivers/Touch Element: Touch Element Library is moved to managed component (https://components.espressif.com/components/espressif/touch_element/versions/1.0.0/readme). (be099ca)

    Peripheral Drivers/Touch Element: The component 'touch_element' in 'esp-idf' is moved to managed component (see https://components.espressif.com/components/espressif/touch_element/versions/1.0.0/readme). (be099ca)

    Peripheral Drivers/Touch Sensor: Adjust touch channel number on P4 from 0-13 to 1-14. (c1666c8)

    Peripheral Drivers/Touch Sensor: The dependencies of legacy touch sensor driver are removed from ULP touch driver, now you need to use int instead of touch_pad_t to express the touch channel ID. (30d0ede)

    Peripheral Drivers/Touch Sensor: Removed touch_sensor_sample_config_t::bypass_shield_output on ESP32-P4, it is not supported any more. (ac24f96)

    Peripheral Drivers/UART: The esp_rom_uart.h is deprecated and replaced by esp_rom_serial_output.h (ce92b0a)

    Peripheral Drivers/UART: Removed soc/uart_channel.h. All UART GPIO lookup equivalent macros can be found in soc/uart_pins.h (4fbcab8)

    Peripheral Drivers/USB: Removed deprecated pin mappings for external USB PHY (1bbf04c)

    Peripheral Drivers/USB/USB Host: Removed usb component from esp-idf (4dc77d1)

    Security: Updating to Mbed TLS 4.0 moves ESP-IDF toward PSA-first crypto. Applications relying on legacy Mbed TLS cryptography APIs (many mbedtls_* crypto primitives) may no longer compile or behave the same, because Mbed TLS 4.0 moves cryptography to TF-PSA-Crypto and mostly removes legacy crypto APIs. Migrate application crypto usage to PSA Crypto APIs where possible (and avoid relying on Mbed TLS internals/private headers). (7da79a6)

    Security: Removed the API esp_tee_att_generate_token - please use the PSA Attestation APIs psa_initial_attest_get_token and psa_initial_attest_get_token_size instead. (ee2da28)

    Security: TEE secure storage no longer supports operations involving ECDSA secp192r1 keys (ee2da28)

    Security: Moved security specific hal code to esp_hal_security (78464df)

    Security: The APIs esp_tee_sec_storage_aead_encrypt() and esp_tee_sec_storage_aead_decrypt() now require explicit parameters for specifying the IV and its length for AES-GCM operations. The IV returned during encryption must be provided during decryption. (246dc5e)

    Security/ESP-TLS: [Security/MbedTLS] After updating to the PSA APIs, there is an additional ~800 bytes of stack usage increase for HTTPS connection. Ensure that the application allocates enough stack memory. (7da79a6)

    Security/ESP-TLS Removed the wolfssl abstraction layer from ESP-TLS, The component can now be added externally (e114d45)

    Security/ESP-TLS: The Secure Element (ATECC608) integration support will not work with ESP-IDF v6.0 due to PSA migration. The relevant support shall be enabled in upcoming release.

    Security/HMAC: The newer structure esp_hmac_opaque_key_t represents an hardware-backed HMAC opaque key. Applications can populate this structure and import it via psa_import_key(), enabling all HMAC operations through standard PSA Crypto APIs instead of using the esp_hmac_calculate() API. (148e333)

    Security/MbedTLS: Starting from ESP-IDF v5.5, there is a change in how the SHA sub-function APIs, esp_sha_block() and esp_sha_dma(), are used. Previously, these APIs used to set the SHA mode internally, however, in the updated version, you must explicitly set the SHA mode before invoking them. For instance, if you intend to use the SHA-256 algorithm, you must first call esp_sha_set_mode() with the argument SHA2_256. (8d0527d)

    Security/MbedTLS: Starting with ESP-IDF v6.0, all deprecated CA certificates have been removed from the mbedTLS certificate bundle. As a result, any firmware built with ESP-IDF v6.0 may fail to connect to endpoints that rely on these removed certificates. Thus, before upgrading deployed devices to firmware built with v6.0, thoroughly test all connectivity endpoints to ensure compatibility and avoid connection failures. (e05390f)

    Security/MbedTLS: The use_tee_sec_stg_key flag has been removed. ECDSA private key operations using ESP-TEE secure storage can now be performed by just specifying tee_key_id. (ee4be1a)

    Security/MbedTLS: With PSA-first behavior, psa_crypto_init() must be called before any cryptographic operation, including indirect ones like parsing keys/certs or starting a TLS handshake. ESP-IDF initializes PSA during system startup, but code that runs earlier than normal startup (very early init, custom startup flows, etc.) must call psa_crypto_init() explicitly. (7da79a6)

    Security/MbedTLS: Code using APIs that previously accepted f_rng, p_rng will fail to compile. This includes (at least) X.509 write and cookie/ticket helper APIs. Users must update to new prototypes and rely on PSA RNG (7da79a6)

    Security/MbedTLS: TLS/DTLS interoperability with peers requiring DHE key exchange or RSA key exchange (non-forward-secret) is removed in Mbed TLS 4.0. If a server only offers removed suites, ESP-IDF TLS clients will fail to connect (and vice-versa). Ensure servers/clients support modern suites (typically (EC)DHE and TLS 1.3 where available) and update configs accordingly. (7da79a6)

    Security/MbedTLS: Certificates/peers using small curves (<250 bits; e.g., secp192r1/secp224r1) are no longer supported in certs/TLS. (7da79a6)

    Security/MbedTLS: pk contexts initialised by esp_ecdsa_set_pk_context() must be freed by using esp_ecdsa_free_pk_context() (7da79a6)

    Security/MbedTLS: esp_ecdsa_load_pubkey(), esp_ecdsa_privkey_load_mpi(), esp_ecdsa_privkey_load_pk_context(), esp_ecdsa_set_pk_context(), esp_ecdsa_tee_load_pubkey() and esp_ecdsa_tee_set_pk_context() have been deprecated and removed. The legacy esp_ecdsa_pk_conf_t configuration is replaced by esp_ecdsa_opaque_key_t, which represents an hardware-backed ECDSA opaque key. Applications can populate this structure and import it via psa_import_key(), enabling all ECDSA operations through standard PSA Crypto APIs. (062073a)

    Security/MbedTLS: The legacy Digital Signature (DS) peripheral implementation using custom mbedTLS alternative functions (esp_rsa_sign_alt, esp_rsa_dec_alt, esp_ds_common, esp_ds_init_data_ctx, esp_ds_release_ds_lock, esp_ds_set_session_timeout) has been removed and replaced with a PSA crypto driver implementation. The DS peripheral now uses the psa_crypto_driver_esp_rsa_ds driver through the PSA crypto interface. Applications using DS peripheral with ESP-TLS must enable the Kconfig option MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL to enable hardware-accelerated RSA digital signature operations. The ESP-TLS API remains unchanged - applications continue to use esp_tls_cfg_t with ds_data field, enabling all DS operations through standard PSA Crypto APIs. (aa73e94)

    Security/NVS Encryption: If Flash encryption is enabled on SoCs with the HMAC peripheral (SOC_HMAC_SUPPORTED) and NVS encryption is also enabled, the HMAC-based scheme will be selected by default instead of the Flash encryption scheme. (649741f)

    Storage/FATFS: Functions esp_vfs_fat_sdmmc_mount and esp_vfs_fat_sdspi_mount now return ESP_ERR_INVALID_ARG if any of the arguments are missing. (9408386)

    Storage/FATFS: Enable dynamically allocated buffers and long filename support by default (734c172)

    Storage/VFS: Removed deprecated UART and UART-JTAG-serial API from vfs component, these APIs can still be found in the respective driver components. (fb79d92)

    Storage/VFS: Disable TERMIOS support by default (0600407)

    Storage/VFS: Make FS registration function used by LWIP private (4b919ca)

    Storage/VFS: Deprecate old VFS API (4b919ca)

    System Hardware: For ESP32-C6, the option to use RC32K clock as the RTC slow clock source has been completely removed (RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED, RTC_CLK_SRC_INT_RC32K) (e94d9ce)

    System Hardware: Removed deprecated headers: {IDF_TARGET}/rtc.h and soc_memory_types.h. from esp_hw_support component. These headers are replaced by esp_rtc_time.h and esp_memory_utils.h respectively. (39d2225)

    System Hardware: Changed ESP32P4 REV3 as default option (45fa560)

    System Hardware: Suppress possible data corruption or system panic on ESP32-C5 when flash encryption is enabled. Now the CPU frequency is limited to 160 MHz temporarily. (cd2a4df)

    System Hardware: Default revision of ESP32-P4 is changed to v3.0. Applications for < 3.0 chips whose sdkconfig has no CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y will build a incompatible binary. Append CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y to your sdkconfig file before running reconfigure or build. (d3e1887)

    System Hardware/Memory Layout: Removed RTC_ related memory attributes on chips which do not support RTC memory (ba7d244)

    System Hardware/PSRAM: Removed deprecated header file esp_spiram.h (a4c03ce)

    Toolchain: Updated MacOS-x86_64 toolchain minimum OS version from 10.8 to 10.12 (released on September 20, 2016) (0223bfe)

    Tools: The minimal supported CMake version was upgraded from 3.16 to 3.22 (c43d311)

    Tools: ESP-IDF no longer automates installation of gdbgui. idf.py gdbgui command can still be used, provided that the gdbgui tool is installed manually. (5799f55)

    Tools: Autodetection was removed from idf.py efuse* commands in order to prevent accidental use of the wrong port (adbec6e)

    Tools: Removed old copy of Catch2 (catch). Catch2 is still available as a ESP-IDF component at ESP component registry. (392226b)

    Tools: Updated the minimal supported Python version to 3.10 (138336b)

    Tools: Removed the legacy unit-test-app. It can still be found at the Component Registry (ab2829d)

    WI-FI: Added second channel field in wifi_action_tx_req_t structure. (44a66c7)

    WI-FI: The DPP event callback esp_supp_dpp_event_cb_t and event enum esp_supp_dpp_event_t have been removed. Please use Wi-Fi events directly (e.g., WIFI_EVENT_DPP_URI_READY, WIFI_EVENT_DPP_CFG_RECVD, WIFI_EVENT_DPP_FAILED). The function esp_supp_dpp_init no longer accepts a callback and should be called as esp_supp_dpp_init(void). (bdd8d25)

    WI-FI: The function esp_rrm_send_neighbor_rep_request has been removed. Use esp_rrm_send_neighbor_report_request instead. (bdd8d25)

    WI-FI: The functions esp_wifi_set_ant_gpio, esp_wifi_get_ant_gpio, esp_wifi_set_ant, and esp_wifi_get_ant have been removed. Please use the equivalent functions from the esp_phy component: esp_phy_set_ant_gpio, esp_phy_get_ant_gpio, esp_phy_set_ant, and esp_phy_get_ant. (bdd8d25)

    WI-FI: The authentication modes WIFI_AUTH_WPA3_EXT_PSK and WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE have been removed. Use WIFI_AUTH_WPA3_PSK instead. (bdd8d25)

    WI-FI In the wifi_event_neighbor_report_t structure, the report field has been removed. Please use the n_report field instead, which is a flexible array member. (bdd8d25)

    WI-FI: The function esp_wifi_config_espnow_rate has been removed. Use esp_now_set_peer_rate_config instead. (bdd8d25)

    WI-FI: The header file components/esp_wifi/include/esp_interface.h has been removed. The wifi_interface_t enum is now defined in components/esp_wifi/include/esp_wifi_types_generic.h. The enum values (e.g., WIFI_IF_STA, WIFI_IF_AP) are no longer defined based on ESP_IF_WIFI_STA, ESP_IF_WIFI_AP, etc. (bdd8d25)

    WI-FI Field svc_info from structures wifi_nan_publish_cfg_t, wifi_nan_subscribe_cfg_t, wifi_nan_followup_params_t, wifi_event_ndp_indication_t, wifi_event_ndp_confirm_t has been removed. Please use the equivalent fields ssi and ssi_len instead. (bdd8d25)

    WI-FI: Field peer_svc_info from structure wifi_event_nan_receive_t has been removed. Please use the equivalent fields ssi and ssi_len instead. (bdd8d25)

    WI-FI: The function argument ndp_resp_needed of esp_wifi_nan_publish_service has been moved to structure wifi_nan_publish_cfg_t. (bdd8d25)

    WI-FI: Field use_get_report_api from structure wifi_ftm_initiator_cfg_t and field ftm_report_data from structure wifi_event_ftm_report_t has been removed. Please use esp_wifi_ftm_get_report to fetch raw FTM report data instead. (bdd8d25)

    WI-FI: The function esp_wifi_wps_start no longer accepts a timeout_ms argument. It should now be called as esp_wifi_wps_start(void). (bdd8d25)

    WI-FI: esp_wifi_init returns ERROR if wifi already initialized(#13643) (34b0344)

    WI-FI: Removed enum values WIFI_BW20 and WIFI_BW_HT40 (3f57799)

    Known Issues

    System Hardware/MSPI: Flash access might be unstable when using 80/40 or 40/80 Flash/PSRAM frequency combinations on ESP32-C61

    Changelog

    For full list of changes, please refer to ESP-IDF v6.0 Release Notes in Espressif 's release notes database.

    Original source
  • Mar 13, 2026
    • Date parsed from source:
      Mar 13, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Pre-release v6.0-rc1

    Espressif IoT Development Framework ships ESP-IDF v6.0-rc1, a major update with PSA-first MbedTLS 4.x, new C and C++ defaults, support for ESP32-P4 Version 3 silicon, and broad driver, build, and Wi-Fi changes alongside many removals and migration breaking changes.

    Documentation for IDF v6.0-rc1 is available at https://docs.espressif.com/projects/esp-idf/en/v6.0-rc1/
    ESP-IDF v6.0-rc1 is a major update for ESP-IDF v5.x. Release v6.0 is mostly compatible with apps written for ESP-IDF v5.x, but there are some breaking changes (please consult the list below) and removal of deprecated functionality which will require code changes when updating projects. Release v5.5.3 is the latest stable release at the time of writing.
    We highly recommend referring to our migration guide while moving your apps from ESP-IDF v5.x to v6.0 release. Note that from v6.0 (final release) onward, and for all future IDF releases, the full changelog of release notes will be published on the ESP Release Notes site.
    Obtaining v6.0-rc1
    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 v6.0-rc1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v6.0-rc1
    cd esp-idf-v6.0-rc1/
    This is the recommended way of obtaining v6.0-rc1 of ESP-IDF.
    Download an archive with submodules included
    Attached to this release is an esp-idf-v6.0-rc1.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/v6.0-rc1/esp-idf-v6.0-rc1.zip
    Major changes
    Major New Features
    ESP-IDF v6.0 upgrades to MbedTLS v4.x and adopts the new PSA Crypto API, marking a major shift toward a PSA-first cryptography policy
    Upgraded default C standard to gnu23 (03855b9)
    Upgraded default C++ standard to gnu++26 (03855b9)
    Supported loading idf.py extensions from the project's component directories and from installed Python packages (https://developer.espressif.com/blog/2025/10/idf_py_extension/) (34f658a)
    Supported ESP32-P4 Version3 silicon
    Breaking Changes
    Legacy drivers of ADC, DAC, I2S, Timer Group, PCNT, MCPWM, RMT, Temperature Sensor peripherals were removed
    Application Utilities: The wifi_provisioning component is moved out of ESP-IDF and renamed to network_provisioning into external component https://github.com/espressif/idf-extra-components/tree/master/network_provisioning. The provisioning example and python provisioning tool are also moved to the new component directory. (105a64a)
    Application Utilities/CJSON: Moved cJSON from ESP-IDF to managed components (https://github.com/espressif/idf-extra-components/tree/master/cjson) (269acda)
    Application Utilities/ESP HTTP Client: Updating to mbedTLS 4.x with PSA migration increases the flash footprint. For esp_http_client, the flash impact increases about 37KB (5.76%). (7da79a6)
    Application Utilities/ESP HTTP Server: Updating to mbedTLS 4.x with PSA migration increases the flash footprint. For http_server/simple, the flash impact increases about 41KB (4.97%). (7da79a6)
    Application Utilities/ESP HTTPS OTA: Moved partial-download feature under a newly added config to reduce default flash footprint (b72e532)
    Application Utilities/ESP HTTPS Server: Updating to mbedTLS 4.x with PSA migration increases the flash footprint. For https_server, the flash impact increases about 27KB (~3.08%). (7da79a6)
    Application Utilities/Provisioning: Fixed wifi_prov_mgr_deinit api return type and handled error case in wifi_prov_mgr example (b9c2242)
    Application Utilities/Provisioning: Disabled protocomm security version 0 and 1 by default. If required then security 0/1 configs should be explicitly enabled. (f0cc452)
    BLE/BluFi: BLUFI protocol version has been updated (BTC_BLUFI_SUB_VER 0x03 → 0x04) and BLUFI security negotiation/crypto is updated. Existing BLUFI client/mobile apps may not interoperate with ESP-IDF v6.0 devices. (7da79a6)
    BLE/BluFi: BluFi Security is updated to use SHA256 from MD5 (dc38765)
    BLE/BluFi: BluFi Security is updated to migrate to 3072 based FFDHE keys (dc38765)
    BLE/BluFi: BluFi Security is updated to use AES-256 from AES-128 (dc38765)
    Bootloader: Removed option for compiling bootloader with no optimization level (-O0, CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE). For debugging purposes, it is recommended to use the -Og (CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG) optimization level instead. (dea8433)
    Bootloader: Renamed linker file 'bootloader.ld' to 'bootloader.ld.in'. Custom bootloader build scripts update might be required. (0367cfe)
    Build & Config: The build process may fail during linking if orphan sections are present. This can be resolved by removing custom section declarations or by explicitly placing orphan sections using linker fragment file. (a319aa9)
    Build & Config: The binary generation target gen_signed_project_binary is no longer available as the build system drops the need for this target. (c8f68c7)
    Build & Config: The binary generation gen_project_binary is now created during the idf_build_binary() function invocation by the build system. Components, declaring dependency on this target could have build errors. For post-elf processing, the new idf_build_add_post_elf_dependenciy() must be used. (c8f68c7)
    Build & Config: Global Cmake variables presented by the esptool_py viz., ESPTOOLPY, ESPSECUREPY, ESPEFUSEPY and ESPMONITOR are no longer available. These must be accessed via the idf_component_get_property() function. (c8f68c7)
    Build & Config: The internal target variable, ${elf} is removed. Custom targets that need to add dependencies on the project elf must fetch the executable by querying the EXECUTABLE build property like idf_build_get_property(elf EXECUTABLE). (c8f68c7)
    Build & Config: Components adding target dependencies on the encrypted-flash target unconditionally is not allowed any more. Such dependencies can only be done if CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT is enabled. (c8f68c7)
    Build & Config: Changed the execution order of non-priority C++ constructors and functions marked with attribute((constructor)) from descending to ascending (44aeff1)
    Build & Config: Removed inclusion of <dirent.h> when <sys/dirent.h> is included. Include <dirent.h> for function declarations (0a7ace3)
    Build & Config: Upgraded default C standard to gnu23. Code changes may be required to fix new warnings. (03855b9)
    Build & Config: Upgraded default C++ standard to gnu++26. Code changes may be required to fix new warnings. (03855b9)
    Build & Config: Default warnings are now considered as errors by default. This can be disabled by setting CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS = y (6efd36f)
    Build & Config: Changed default libc from Newlib to Picolibc. This may introduce breaking changes in rare cases. Refer to the v6.0 Migration Guide ("System" chapter) for details. (effa1e4)
    Classic Bluetooth/Bluedroid: esp_spp_init has been deprecated and now it is replaced with esp_spp_enhanced_init (7cac735)
    Classic Bluetooth/Bluedroid: esp_hf_ag_devices_status_indchange has been deprecated and now it is replaced with esp_hf_ag_ciev_report (7cac735)
    Classic Bluetooth/Bluedroid: esp_bt_dev_set_device_name has been deprecated and now it is replaced with esp_bt_gap_set_device_name (7cac735)
    Classic Bluetooth/Bluedroid: esp_bt_dev_get_device_name has been deprecated and now it is replaced with esp_bt_gap_get_device_name (7cac735)
    Classic Bluetooth/Bluedroid: Deprecate RSSI threshold related macros (7a2e19c)
    Core System: Ring buffer functions are now placed in flash memory by default to save IRAM space. CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH Kconfig option has been removed. (11b80a7)
    Core System: Removed deprecated STATUS enum from ets_sys.h, use ETS_STATUS instead. (166269f)
    Core System: The header esp_vfs_cdcacm.h has been moved to the new component esp_usb_cdc_rom_console, you will now have to add an explicit REQUIRES for esp_usb_cdc_rom_console if using any functions from this header. (1f0152d)
    Core System/ESP Event: Removed unnecessary freertos header includes, if your code relied on this implicit include from esp_event.h then please add the correct explicit includes, freertos/queue.h" and freertos/semphr.h to your files. (cb36cd3)
    Core System/Heap: MALLOC_CAP_EXEC capability only defined when no memory protection is enabled (see #14837) (75305c2)
    Core System/Interrupts: Removed deprecated intr_types.h header, update to use esp_intr_types.h instead (365c8a3)
    Core System/Log: The following deprecated APIs have been removed: esp_log_buffer_hex(), esp_log_buffer_char(). (659ae57)
    Core System/Log The following deprecated headers have been removed: esp_log_internal.h. (659ae57)
    Core System/Newlib: COMPILER_ASSERT_NDEBUG_EVALUATE default value changed to 'n'. Default behavior is now to not evaluate expressions inside assert(X) when NDEBUG is set, which confirms to the C standard. (#2758) (33f92c8)
    Debugging/Apptrace: Deprecated ESP_APPTRACE_DEST_TRAX. Now it is replaced with ESP_APPTRACE_DEST_JTAG (fb3e616)
    Debugging/Apptrace: Changed esp_apptrace_down_buffer_config(). Now it requires esp_apptrace_dest_t dest as first parameter for API consistency. (fb3e616)
    Debugging/Apptrace: Removed CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX configuration option. (a083766)
    Debugging/Apptrace: Removed destination parameter from all apptrace APIs. (8ee473d)
    Debugging/Apptrace: Changed SystemView trace data destination configuration. Now it is controlled by the same configuration as the apptrace destination. It will not have its own destination configuration. (8ee473d)
    Debugging/Apptrace: Changed the way apptrace is configured. Applications must implement esp_apptrace_get_init_params to provide app_trace parameters to the components (8ee473d)
    Debugging/Apptrace: Refactored apptrace UART related menuconfig options. CONFIG_APPTRACE_DEST_UARTx options are removed and CONFIG_APPTRACE_DEST_UART is added to keep the port number. (9f38fa1)
    Debugging/Apptrace: Moved gcov component out of the IDF and is now available in the ESP Component Registry as esp-gcov (5ac81c1)
    Debugging/Core Dump: Dropped binary format support. Only ELF format is now supported. (521f3e3)
    Debugging/Core Dump: Dropped CRC32 checksum support. Only SHA256 checksum is now used. (521f3e3)
    Debugging/Core Dump: Changed function esp_core_dump_partition_and_size_get(). Now it returns ESP_ERR_NOT_FOUND for blank partitions instead of ESP_ERR_INVALID_SIZE (#15153) (521f3e3)
    Ethernet: The esp_eth_phy_802_3_reset_hw API accepts only one parameter and resets the Ethernet PHY with internal timing configuration defined during initialization. (7a35466)
    Ethernet: Removed RMII CLK Kconfig option for esp_eth component, use config structure to set this parameter. (bc421db)
    Ethernet: Removed and migrated 3rd party Ethernet drivers outside of ESP-IDF. Add the related driver from component manager to use it. (61aaaf3)
    Ethernet: Removed all Ethernet PTP ioctl commands and replaced them by a new API (b28d671)
    FreeRTOS: FreeRTOS functions are now placed in flash memory by default to save IRAM space. CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH Kconfig option has been removed. (11b80a7)
    FreeRTOS: The following deprecated APIs have been removed: xTaskGetAffinity(), xTaskGetIdleTaskHandleForCPU(), xTaskGetCurrentTaskHandleForCPU(). (46160b0)
    FreeRTOS: The compatibility function xQueueGenericReceive() has been removed. Use xQueueReceive(), xQueuePeek(), or xQueueSemaphoreTake() as per your usecase. (3ef4136)
    FreeRTOS: The compatibility function vTaskDelayUntil() has been removed. Use the function xTaskDelayUntil() instead. (3ef4136)
    FreeRTOS: The compatibility function ulTaskNotifyTake() has been removed. Use the macro ulTaskNotifyTake() instead. (3ef4136)
    FreeRTOS: The compatibility function xTaskNotifyWait() has been removed. Use the macro xTaskNotifyWait() instead. (3ef4136)
    FreeRTOS: Removed support for the user defined vPortCleanUpTCB() and the associated Kconfig option CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP. (75619d8)
    LWIP: Deprecated header sntp.h for lwip/app port layer has been removed. Users should include esp_sntp.h. (406c7f3)
    LWIP: Deprecated header ping.h and esp_ping.h for lwip/app port layer has been removed. Users should include ping_sock.h. (406c7f3)
    LWIP/DHCP Server: The LWIP_DHCPS_ADD_DNS macro was removed. Applications must now enable DNS option in DHCP offers with esp_netif_dhcps_option() and configure DNS servers explicitly using esp_netif_set_dns_info(). (57013ba)
    LWIP/ESP Netif: Removes option to disable error return in esp netif receive function (3d5c2ef)
    LWIP/ESP Netif: Deprecated API esp_netif_next() was removed. Users are suggested to iterate over interfaces using esp_netif_tcpip_exec(), or use esp_netif_find_if(). (ba0b61d)
    Low Power Features: Rename esp_deepsleep_gpio_wake_up_mode_t to esp_sleep_gpio_wake_up_mode_t (d0f992c)
    Low Power Features: Rename esp_deep_sleep_enable_gpio_wakeup to esp_sleep_enable_gpio_wakeup_on_hp_periph_powerdown (d0f992c)
    MQTT: The esp-mqtt component was moved to component manager. Add espressif/mqtt to dependencies to use it. (98a9e14)
    Peripheral Drivers: The io_loop_back config option is removed for all drivers, different peripheral drivers can still share the same GPIO number without having it. (1fa420e)
    Peripheral Drivers: The periph_module_t enum type is refactored into shared_periph_module_t and only the modules that have multiple independent functions are kept. (f348a10)
    Peripheral Drivers: The driver/periph_ctrl.h and driver/rtc_cntl.h header files are removed. Please use esp_private/periph_ctrl.h and esp_private/rtc_ctrl.h instead. (e3190c6)
    Peripheral Drivers: Removed unnecessary dependencies for the driver component (22a0f9a)
    Peripheral Drivers: Remove FreeRTOS header dependency in peripheral public headers. (5c5d78b)
    Peripheral Drivers/ADC: Legacy ADC driver and legacy ADC calibration driver have been removed (807cbbf)
    Peripheral Drivers/Camera/DVP: Used fourcc for dvp cam color format (7c1e88e)
    Peripheral Drivers/DAC: The legacy DAC driver is removed. (d445536)
    Peripheral Drivers/DMA: The esp_dma_capable_malloc and esp_dma_capable_calloc functions are removed. The GDMA_ISR_IRAM_SAFE Kconfig option is removed. (3e09d4f)
    Peripheral Drivers/DMA: The DMA core driver is now graduated into a separate component "esp_driver_dma". (799e366)
    Peripheral Drivers/GPIO: Removed gpio_iomux_in, gpio_iomux_out public APIs. Please use gpio_iomux_input, gpio_iomux_output in esp_private/gpio.h if neccessary. (2fb938c)
    Peripheral Drivers/GPIO: Add "rom
    " prefix to all GPIO ROM functions in components/esp_rom/esp32xx/include/esp32xx/rom/gpio.h (7f0f043)
    Peripheral Drivers/GPIO: Added the esp_err_t return type to gpio_uninstall_isr_service (#14114) (7f0f043)
    Peripheral Drivers/GPIO: MAX_PAD_GPIO_NUM, MAX_GPIO_NUM, and DIG_IO_HOLD_BIT_SHIFT macros have been removed. (7f0f043)
    Peripheral Drivers/GPIO: Rename gpio_deep_sleep_wakeup_enable/disable to gpio_wakeup_enable/disable_on_hp_periph_powerdown_sleep (d0f992c)
    Peripheral Drivers/GPTimer: The legacy timer group driver is removed. (3b50481)
    Peripheral Drivers/I2C: I2C slave version one driver is removed (456ae96)
    Peripheral Drivers/I2C: Legacy I2C driver (driver/i2c.h) is end-of-life and compile warning is added. (bb80291)
    Peripheral Drivers/I2C/I2C Master: I2C master transaction now will report ESP_ERR_INVALID_RESPONSE when NACK is detected. (6af87b6)
    Peripheral Drivers/I2S: The legacy I2S driver is removed. (e71e755)
    Peripheral Drivers/I2S: Removed 'i2s_port_t' type and use 'int' type instead. (726a430)
    Peripheral Drivers/LCD: Dropped the support of the legacy I2C master driver in the esp_lcd component (9cee386)
    Peripheral Drivers/LCD: The GPIO number type in the LCD driver has been changed from int to the more type-safe gpio_num_t. (6ea0fa1)
    Peripheral Drivers/LCD: The color_space and rgb_endian configuration options in the esp_lcd_panel_dev_config_t structure is replaced by the rgb_ele_order member, which sets the RGB element order. (6ea0fa1)
    Peripheral Drivers/LCD: The NT35510 LCD device driver has been moved out of ESP-IDF and is now hosted in the Component Registry. (4589f33)
    Peripheral Drivers/LCD: Unified color conversion API across RGB and DSI drivers (734e600)
    Peripheral Drivers/LCD: Replaced bits_per_pixel with FourCC-based color format configuration (734e600)
    Peripheral Drivers/LCD/DSI_LCD: Replaced the original use_dma2d flag with a new hook function esp_lcd_dpi_panel_enable_dma2d(). If 2D-DMA is not used, your application binary size can be saved by around 10KB. (88716d0)
    Peripheral Drivers/LEDC: Removed ledc_timer_set API, and LEDC_APB_CLK_HZ, LEDC_REF_CLK_HZ macros (3fdb473)
    Peripheral Drivers/LEDC: esp_driver_gpio no longer is the public required component for esp_driver_ledc (3fdb473)
    Peripheral Drivers/LEDC: Removed LEDC_USE_RTC8M_CLK macro (e94d9ce)
    Peripheral Drivers/MCPWM: Changed the default MCPWM group clock prescaler to 1 so that we can achieve a higher resolution. (#14815) (904d952)
    Peripheral Drivers/MCPWM: The io_od_mode member in the mcpwm_generator_config_t configuration structure has been removed. (1fa420e)
    Peripheral Drivers/MCPWM: The legacy MCPWM driver is removed. (0972e9d)
    Peripheral Drivers/MCPWM: Removed variadic generator APIs mcpwm_generator_set_actions_on_xxx (4e62b0e)
    Peripheral Drivers/PCNT: The legacy PCNT driver is removed. (81bb6a0)
    Peripheral Drivers/RMT: The io_od_mode member in the rmt_tx_channel_config_t configuration structure has been removed. (1fa420e)
    Peripheral Drivers/RMT: The legacy RMT driver is removed. (9dc9d7d)
    Peripheral Drivers/SDM: The legacy SDM driver is removed. (d6894a1)
    Peripheral Drivers/SDM: Function sdm_channel_set_duty has been removed. Use sdm_channel_set_pulse_density instead. (5d4d12f)
    Peripheral Drivers/SD_HOST/SDMMC: The get_dma_info member in the sdmmc_host_t structure, as well as the sdspi_host_get_dma_info and sdmmc_host_get_dma_info functions, are removed. (3e09d4f)
    Peripheral Drivers/SD_HOST/SDMMC: Removed deprecated API esp_vfs_fat_sdmmc_unmount (a4c03ce)
    Peripheral Drivers/SD_HOST/SDMMC Changed public requirement to esp_driver_gpio to private requirement (dfe8ee5)
    Peripheral Drivers/SPI: Removed deprecated HSPI and VSPI related IOMUX pin macros on ESP32 and ESP32S2 (a4c03ce)
    Peripheral Drivers/SPI: The SPI master and slave no longer accepts ESP_INTR_FLAG_SHARED as interrupt flag during initialization. (28999c8)
    Peripheral Drivers/SPI Flash: Remove SPI_FLASH_ROM_DRIVER_PATCH option as this is not needed any more (19fef9f)
    Peripheral Drivers/SPI Flash: Removed deprecated enum esp_flash_speed_t (a4c03ce)
    Peripheral Drivers/SPI Flash: Removed deprecated API spi_flash_reset_counters, spi_flash_dump_counters and spi_flash_get_counters (a4c03ce)
    Peripheral Drivers/SPI Flash: Removed deprecated header file esp_spi_flash.h (a4c03ce)
    Peripheral Drivers/SPI Flash: New argument flags is added to esp_flash_os_functions_t::start. Caller and implementer should handle this argument properly. (f409428)
    Peripheral Drivers/SPI Flash: Changed the include path of headers to reflect their visibility. The #include statements of headers for customizing flash drivers and private use need to be updated. (31056d5)
    Peripheral Drivers/SPI Flash: Structures esp_flash_t and esp_flash_os_functions_t are moved to private headers. Users should call APIs instead of using the members directly. (31056d5)
    Peripheral Drivers/TWAI: Deprecate the legacy twai driver API (7471043)
    Peripheral Drivers/Temperature Sensor: The legacy temperature sensor driver is removed. (f4a45a3)
    Peripheral Drivers/Touch Element: Touch Element Library is moved to managed component (https://components.espressif.com/components/espressif/touch_element/versions/1.0.0/readme). (be099ca)
    Peripheral Drivers/Touch Element: The component 'touch_element' in 'esp-idf' is moved to managed component (see https://components.espressif.com/components/espressif/touch_element/versions/1.0.0/readme). (be099ca)
    Peripheral Drivers/Touch Sensor: Adjust touch channel number on P4 from 0-13 to 1-14. (c1666c8)
    Peripheral Drivers/Touch Sensor: The dependencies of legacy touch sensor driver are removed from ULP touch driver, now you need to use int instead of touch_pad_t to express the touch channel ID. (30d0ede)
    Peripheral Drivers/Touch Sensor: Removed touch_sensor_sample_config_t::bypass_shield_output on ESP32-P4, it is not supported any more. (ac24f96)
    Peripheral Drivers/UART: The esp_rom_uart.h is deprecated and replaced by esp_rom_serial_output.h (ce92b0a)
    Peripheral Drivers/UART: Removed soc/uart_channel.h. All UART GPIO lookup equivalent macros can be found in soc/uart_pins.h (4fbcab8)
    Peripheral Drivers/USB: Removed deprecated pin mappings for external USB PHY (1bbf04c)
    Peripheral Drivers/USB/USB Host: Removed usb component from esp-idf (4dc77d1)
    Security: Updating to Mbed TLS 4.0 moves ESP-IDF toward PSA-first crypto. Applications relying on legacy Mbed TLS cryptography APIs (many mbedtls
    * crypto primitives) may no longer compile or behave the same, because Mbed TLS 4.0 moves cryptography to TF-PSA-Crypto and mostly removes legacy crypto APIs. Migrate application crypto usage to PSA Crypto APIs where possible (and avoid relying on Mbed TLS internals/private headers). (7da79a6)
    Security: Removed the API esp_tee_att_generate_token - please use the PSA Attestation APIs psa_initial_attest_get_token and psa_initial_attest_get_token_size instead. (ee2da28)
    Security: TEE secure storage no longer supports operations involving ECDSA secp192r1 keys (ee2da28)
    Security: Moved security specific hal code to esp_hal_security (78464df)
    Security: The APIs esp_tee_sec_storage_aead_encrypt() and esp_tee_sec_storage_aead_decrypt() now require explicit parameters for specifying the IV and its length for AES-GCM operations. The IV returned during encryption must be provided during decryption. (246dc5e)
    Security/ESP-TLS: [Security/MbedTLS] After updating to the PSA APIs, there is an additional ~800 bytes of stack usage increase for HTTPS connection. Ensure that the application allocates enough stack memory. (7da79a6)
    Security/ESP-TLS Removed the wolfssl abstraction layer from ESP-TLS, The component can now be added externally (e114d45)
    Security/HMAC: The newer structure esp_hmac_opaque_key_t represents an hardware-backed HMAC opaque key. Applications can populate this structure and import it via psa_import_key(), enabling all HMAC operations through standard PSA Crypto APIs instead of using the esp_hmac_calculate() API. (148e333)
    Security/MbedTLS: Starting from ESP-IDF v5.5, there is a change in how the SHA sub-function APIs, esp_sha_block() and esp_sha_dma(), are used. Previously, these APIs used to set the SHA mode internally, however, in the updated version, you must explicitly set the SHA mode before invoking them. For instance, if you intend to use the SHA-256 algorithm, you must first call esp_sha_set_mode() with the argument SHA2_256. (8d0527d)
    Security/MbedTLS: Starting with ESP-IDF v6.0, all deprecated CA certificates have been removed from the mbedTLS certificate bundle. As a result, any firmware built with ESP-IDF v6.0 may fail to connect to endpoints that rely on these removed certificates. Thus, before upgrading deployed devices to firmware built with v6.0, thoroughly test all connectivity endpoints to ensure compatibility and avoid connection failures. (e05390f)
    Security/MbedTLS: The use_tee_sec_stg_key flag has been removed. ECDSA private key operations using ESP-TEE secure storage can now be performed by just specifying tee_key_id. (ee4be1a)
    Security/MbedTLS: With PSA-first behavior, psa_crypto_init() must be called before any cryptographic operation, including indirect ones like parsing keys/certs or starting a TLS handshake. ESP-IDF initializes PSA during system startup, but code that runs earlier than normal startup (very early init, custom startup flows, etc.) must call psa_crypto_init() explicitly. (7da79a6)
    Security/MbedTLS: Code using APIs that previously accepted f_rng, p_rng will fail to compile. This includes (at least) X.509 write and cookie/ticket helper APIs. Users must update to new prototypes and rely on PSA RNG (7da79a6)
    Security/MbedTLS: TLS/DTLS interoperability with peers requiring DHE key exchange or RSA key exchange (non-forward-secret) is removed in Mbed TLS 4.0. If a server only offers removed suites, ESP-IDF TLS clients will fail to connect (and vice-versa). Ensure servers/clients support modern suites (typically (EC)DHE and TLS 1.3 where available) and update configs accordingly. (7da79a6)
    Security/MbedTLS: Certificates/peers using small curves (<250 bits; e.g., secp192r1/secp224r1) are no longer supported in certs/TLS. (7da79a6)
    Security/MbedTLS: pk contexts initialised by esp_ecdsa_set_pk_context() must be freed by using esp_ecdsa_free_pk_context() (7da79a6)
    Security/MbedTLS: esp_ecdsa_load_pubkey(), esp_ecdsa_privkey_load_mpi(), esp_ecdsa_privkey_load_pk_context(), esp_ecdsa_set_pk_context(), esp_ecdsa_tee_load_pubkey() and esp_ecdsa_tee_set_pk_context() have been deprecated and removed. The legacy esp_ecdsa_pk_conf_t configuration is replaced by esp_ecdsa_opaque_key_t, which represents an hardware-backed ECDSA opaque key. Applications can populate this structure and import it via psa_import_key(), enabling all ECDSA operations through standard PSA Crypto APIs. (062073a)
    Security/MbedTLS: The legacy Digital Signature (DS) peripheral implementation using custom mbedTLS alternative functions (esp_rsa_sign_alt, esp_rsa_dec_alt, esp_ds_common, esp_ds_init_data_ctx, esp_ds_release_ds_lock, esp_ds_set_session_timeout) has been removed and replaced with a PSA crypto driver implementation. The DS peripheral now uses the psa_crypto_driver_esp_rsa_ds driver through the PSA crypto interface. Applications using DS peripheral with ESP-TLS must enable the Kconfig option MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL to enable hardware-accelerated RSA digital signature operations. The ESP-TLS API remains unchanged - applications continue to use esp_tls_cfg_t with ds_data field, enabling all DS operations through standard PSA Crypto APIs. (aa73e94)
    Security/NVS Encryption: If Flash encryption is enabled on SoCs with the HMAC peripheral (SOC_HMAC_SUPPORTED) and NVS encryption is also enabled, the HMAC-based scheme will be selected by default instead of the Flash encryption scheme. (649741f)
    Storage/FATFS: Functions esp_vfs_fat_sdmmc_mount and esp_vfs_fat_sdspi_mount now return ESP_ERR_INVALID_ARG if any of the arguments are missing. (9408386)
    Storage/FATFS: Enable dynamically allocated buffers and long filename support by default (734c172)
    Storage/VFS: Removed deprecated UART and UART-JTAG-serial API from vfs component, these APIs can still be found in the respective driver components. (fb79d92)
    Storage/VFS: Disable TERMIOS support by default (0600407)
    Storage/VFS: Make FS registration function used by LWIP private (4b919ca)
    Storage/VFS: Deprecate old VFS API (4b919ca)
    System Hardware: For ESP32-C6, the option to use RC32K clock as the RTC slow clock source has been completely removed (RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED, RTC_CLK_SRC_INT_RC32K) (e94d9ce)
    System Hardware: Removed deprecated headers: {IDF_TARGET}/rtc.h and soc_memory_types.h. from esp_hw_support component. These headers are replaced by esp_rtc_time.h and esp_memory_utils.h respectively. (39d2225)
    System Hardware: Changed ESP32P4 REV3 as default option (45fa560)
    System Hardware: Suppress possible data corruption or system panic on ESP32-C5 when flash encryption is enabled. Now the CPU frequency is limited to 160 MHz temporarily. (cd2a4df)
    System Hardware: Default revision of ESP32-P4 is changed to v3.0. Applications for < 3.0 chips whose sdkconfig has no CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y will build a incompatible binary. Append CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y to your sdkconfig file before running reconfigure or build. (d3e1887)
    System Hardware/Memory Layout: Removed RTC_ related memory attributes on chips which do not support RTC memory (ba7d244)
    System Hardware/PSRAM: Removed deprecated header file esp_spiram.h (a4c03ce)
    Toolchain: Updated MacOS-x86_64 toolchain minimum OS version from 10.8 to 10.12 (released on September 20, 2016) (0223bfe)
    Tools: The minimal supported CMake version was upgraded from 3.16 to 3.22 (c43d311)
    Tools: ESP-IDF no longer automates installation of gdbgui. idf.py gdbgui command can still be used, provided that the gdbgui tool is installed manually. (5799f55)
    Tools: Autodetection was removed from idf.py efuse* commands in order to prevent accidental use of the wrong port (adbec6e)
    Tools: Removed old copy of Catch2 (catch). Catch2 is still available as a ESP-IDF component at ESP component registry. (392226b)
    Tools: Updated the minimal supported Python version to 3.10 (138336b)
    Tools: Removed the legacy unit-test-app. It can still be found at the Component Registry (ab2829d)
    WI-FI: Added second channel field in wifi_action_tx_req_t structure. (44a66c7)
    WI-FI: The DPP event callback esp_supp_dpp_event_cb_t and event enum esp_supp_dpp_event_t have been removed. Please use Wi-Fi events directly (e.g., WIFI_EVENT_DPP_URI_READY, WIFI_EVENT_DPP_CFG_RECVD, WIFI_EVENT_DPP_FAILED). The function esp_supp_dpp_init no longer accepts a callback and should be called as esp_supp_dpp_init(void). (bdd8d25)
    WI-FI: The function esp_rrm_send_neighbor_rep_request has been removed. Use esp_rrm_send_neighbor_report_request instead. (bdd8d25)
    WI-FI: The functions esp_wifi_set_ant_gpio, esp_wifi_get_ant_gpio, esp_wifi_set_ant, and esp_wifi_get_ant have been removed. Please use the equivalent functions from the esp_phy component: esp_phy_set_ant_gpio, esp_phy_get_ant_gpio, esp_phy_set_ant, and esp_phy_get_ant. (bdd8d25)
    WI-FI: The authentication modes WIFI_AUTH_WPA3_EXT_PSK and WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE have been removed. Use WIFI_AUTH_WPA3_PSK instead. (bdd8d25)
    WI-FI In the wifi_event_neighbor_report_t structure, the report field has been removed. Please use the n_report field instead, which is a flexible array member. (bdd8d25)
    WI-FI: The function esp_wifi_config_espnow_rate has been removed. Use esp_now_set_peer_rate_config instead. (bdd8d25)
    WI-FI: The header file components/esp_wifi/include/esp_interface.h has been removed. The wifi_interface_t enum is now defined in components/esp_wifi/include/esp_wifi_types_generic.h. The enum values (e.g., WIFI_IF_STA, WIFI_IF_AP) are no longer defined based on ESP_IF_WIFI_STA, ESP_IF_WIFI_AP, etc. (bdd8d25)
    WI-FI Field svc_info from structures wifi_nan_publish_cfg_t, wifi_nan_subscribe_cfg_t, wifi_nan_followup_params_t, wifi_event_ndp_indication_t, wifi_event_ndp_confirm_t has been removed. Please use the equivalent fields ssi and ssi_len instead. (bdd8d25)
    WI-FI: Field peer_svc_info from structure wifi_event_nan_receive_t has been removed. Please use the equivalent fields ssi and ssi_len instead. (bdd8d25)
    WI-FI: The function argument ndp_resp_needed of esp_wifi_nan_publish_service has been moved to structure wifi_nan_publish_cfg_t. (bdd8d25)
    WI-FI: Field use_get_report_api from structure wifi_ftm_initiator_cfg_t and field ftm_report_data from structure wifi_event_ftm_report_t has been removed. Please use esp_wifi_ftm_get_report to fetch raw FTM report data instead. (bdd8d25)
    WI-FI: The function esp_wifi_wps_start no longer accepts a timeout_ms argument. It should now be called as esp_wifi_wps_start(void). (bdd8d25)
    WI-FI: esp_wifi_init returns ERROR if wifi already initialized(#13643) (34b0344)
    WI-FI: Removed enum values WIFI_BW20 and WIFI_BW_HT40 (3f57799)
    Known Issues
    System Hardware/MSPI: Flash access might be unstable when using 80/40 or 40/80 Flash/PSRAM frequency combinations on ESP32-C61
    Changelog
    For full list of changes, please refer to ESP-IDF v6.0-rc1 Release Notes in Espressif 's release notes database.

    Original source
  • Feb 18, 2026
    • Date parsed from source:
      Feb 18, 2026
    • First seen by Releasebot:
      Jul 3, 2026
    Espressif logo

    Espressif IoT Development Framework by Espressif

    ESP-IDF Release v5.5.3

    Espressif IoT Development Framework releases ESP-IDF v5.5.3, a bugfix update that hardens security, improves Bluetooth and Wi-Fi stability, and fixes issues across HTTP, storage, power management, peripherals, and toolchain support.

    Obtaining v5.5.3

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

    ESP-IDF v5.5.3 is a bugfix release for ESP-IDF v5.5.

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

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

    Download an archive with submodules included

    Attached to this release is an esp-idf-v5.5.3.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.5.3/esp-idf-v5.5.3.zip

    Major changes

    Breaking Changes

    Peripheral Drivers/SPI The SPI master and slave no longer accepts ESP_INTR_FLAG_SHARED as interrupt flag during initialization. (2fad74c)

    Changelog

    15.4

    MAC

    Updated the 'ieee802154_get_recent_rssi' API to obtain real-time RSSI from baseband (cbed615)

    Replaced the TX pending feature with backoff-based retransmission mechanism (2544a15)

    Added pending tables and APIs for multipan interfaces (7cef83e)

    Fixed ACK pending bit handling when pending-enhance is enabled (7cef83e)

    Thread

    Supported OTA examples over Thread interface (61ca635)

    Supported RCP debugging via Spinel (405f144)

    Updated openthread submodule (a12ff0d0f) (021f8da)

    Replaced iperf command from ot-cli-extension with iperf-cmd (ee58372)

    Application Utilities ESP HTTP Client

    Added fix to prevent out-of-bounds read in Digest auth causing a potential security vulnerability (6d0a7a0)

    ESP HTTP Server

    Fixed a potential deadlock that can happen with Websocket server while using HTTPD_QUEUE_WORK_BLOCKING (#17591) (8b6e9b0)

    Fixed the WebSocket implementation to stop reading data when the peer closes the connection. (#17822) (ffc215c)

    ESP HTTPS OTA

    Added fix to Align the OTA written length to 16 bytes during OTA resumption when flash encryption is enabled. (961abe6)

    Protocomm

    Added validation for Security1 client verifier data (4cd5e63)

    Added security checks for buffer overflow / incorrect length handling (ee7543c)

    BLE BluFi

    Supported setting BLE encryption for blufi example (1d78301)

    Bluedroid

    Fixed GATT response timeout setting (b4a987a)

    Improved debugging by adding more logs and thread diagnostic tools (b4a987a)

    Supported bluedroid host PAwR feature (482f7d4)

    Supported bluedroid host Advertising Coding Selection feature (482f7d4)

    Supported bluedroid host channel sounding feature (482f7d4)

    Supported LE Security Levels Characteristic (482f7d4)

    Supported bluedroid host encryption with mbedTLS (2a8fd3c)

    Supported bluedroid host encryption with TinyCrypt (2a8fd3c)

    Supported bluedroid encrypted advertising data (2a8fd3c)

    Added bluedroid encrypted advertising data examples (2a8fd3c)

    Optimized bluedroid some code (5ca6847)

    Increased maximum notify/indication registration limit in Bluedroid (IDFGH-16690) (e78cf39)

    Added retry mechanism for Periodic Advertising Create Sync to improve synchronization reliability (e78cf39)

    Fixed multiple potential issues and strengthened security in Bluedroid, including memory safety vulnerabilities and improper packet validation (e78cf39)

    Added flow diagrams to Bluedroid BLE examples to improve documentation clarity and onboarding experience (e78cf39)

    Introduced BLE ACL latency measurement example for evaluating round-trip latency between central and peripheral device (e78cf39)

    Replaced hardcoded advertising-type values with descriptive macros across Bluedroid examples (IDFGH-16960) (e78cf39)

    Added BLE time-interval conversion macros (ESP_BLE_GAP_SCAN_ITVL_MS, ESP_BLE_GAP_ADV_ITVL_MS, etc.) to improve readability and prevent unit-conversion errors (e78cf39)

    Reduced bluedroid host bin size (43cc92f)

    Fixed bluedroid host get white list size error (43cc92f)

    Fixed a potential UAF issue in BLE ATT when a disconnection process is ongoing (35b1b78)

    Controller

    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/C61, ESP32-H2, and ESP32-C5. (2cbffea)

    Fixed an occasional interrupt watchdog timeout issue when stopping scanning for ESP32-C2. (2cbffea)

    Fixed crash in btdm_controller_task on ESP32 (17cd450)

    Fixed scan HCI command timeout issue on ESP32 (17cd450)

    Changed the maximum number of concurrent connections to 70 on ESP32-H2 (0a10858)

    Fixed an occasional Interrupt Watchdog Timeout issue in an edge case of Multi-ADV scenario for ESP32-C2. (daf364e)

    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. (e4d066c)

    Fixed an occasional disconnect issue caused by MIC errors on ESP32-C6, ESP32-H2 and ESP32-C5. (e4d066c)

    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-C5, ESP32-C6, ESP32-C61 and ESP32-H2.. (e4d066c)

    Fixed an occasional assertion issue that occurred during connections with certain mobile phones under severe air interference conditions on ESP32-C6, ESP32-C61, ESP32-H2 and ESP32-C5. (c601ffd)

    Documentation

    Added BLE Multi-Connection Guide in API Guides (8c7d825)

    Mesh

    Support Device Firmware Update. (41bcb17)

    Supported using unified crypto implementation in Bluetooth Mesh (b92c91c)

    NimBLE

    Added API to read the currently used local IRK (516e2ef)

    Fix tinycrypt related compilation issue (728d58a)

    Add support for static passkey (728d58a)

    Update report_map_len to uint16_t (espressif/esp-nimble#74) (728d58a)

    Modified NVS namespace for storing peer device GATT data (728d58a)

    Memory optimization with dynamic memory allocations support. (728d58a)

    Added Helper function to find identity address from RPA address (516e2ef)

    Add AD type macros in example (64150ac)

    Fix NULL psync access in periodic advertising sync lost. (d4a83ca)

    Reset HID services during deinit (1f51d48)

    Modified API's which parse advertising data (1f51d48)

    Build & Config

    ldgen: Fixed non-default symbol placement for symbols created by the compiler during inter-procedural optimization (IPA) (f0538f3)

    Fixed inconsistent MINIMAL_BUILD status in menuconfig when a custom COMPONENTS list is defined (ca22d0e)

    Fixed the IMPORTED_LOCATION error that occurred when using the file-based API with CMake version 4.2 and newer (#18103) (9c0f87f)

    Classic Bluetooth Bluedroid

    Added an API to create SPP server with a parameter that selects whether to create a corresponding SDP service record (ec191d2)

    Fixed crash caused by performing A2DP deinitialization when initating an A2DP connection (e0c12ad)

    Allows downgrading AVRCP version to 1.5 by disabling the Cover Art feature (8c47552)

    Fixed missing NULL pointer check in l2c_fcr_clone_buf in Bluedroid (1e9f631)

    Deprecate RSSI threshold related macros (7a628dc)

    Split A2DP sink example to several simpler examples to demonstrate A2DP/AVRCP functions of different aspects (7c18387)

    Fix the status judgment in registration of A2DP source stream end point (0e194e6)

    Backported several security-related fixes to from Google Fluoride to esp-idf Bluedroid (dae755c)

    Fix index boundary check and function return values during A2DP SEP registration (f56bea3)

    Fixed failure of buffer allocation in L2CAP throughput test by optimizing L2CAP memory footprint (9c49790)

    Fix bluetooth L2CAP data transmission stops after a failed write (9c49790)

    Check whether to overwrite number of BR/EDR controller max synchronous connections if Bluedroid HFP is enabled on ESP32 (88ee44c)

    Fixed the issue where ESP_A2D_AUDIO_CFG_EVT can be lost when the A2DP SOURCE acts as acceptor (c0dc0b14)

    Added check against packet length before using the data in HCI, SDP, AVRCP, etc (c0dc0b14)

    Controller

    Fixed not reject connection request when auto accept is off and connect request event is masked on ESP32 (17cd450)

    Fixed wrong key type was notified during changing connection link key on ESP32 (bd79273)

    Core System

    Removed the exe flag from PSRAM memory for ESP32. ESP32 is not capable of running code from PSRAM. This is a link-time check, and actual CPU RWX permissions are controlled seperately so this has no practical implications, but it could mistakenly be remarked upon during security scansor checks by customers. (2ddcb62)

    Heap

    Fixed a heap tracer bug that caused a startup crash when static memory usage was too high (#17232) (e2cc50c)

    Fixed the advanced heap tracing example name in its README file (#17233) (e2cc50c)

    Ethernet

    Fixed ESP32P4 higher than expected EMAC MDC range frequency issue (c1a09f9)

    Low Power Features

    Fixed an issue on ESP32P4 where GPIO wakeup from Light Sleep failed for pins powered by VDD_IO_4. (75b5fc9)

    Fixed LP UART bad clock source selection on esp32p4. (67025a2)

    Supports ESP32P4 rev3.1 enabling peripheral power-down lightsleep when PSRAM is enabled. (187b080)

    PHY

    Fix Wi-Fi Rx performance issue due to imcomplete phy initialization at coexistence scenarios. (c1e3d07)

    Peripheral Drivers ADC

    Fixed ESP32-P4 ADC2 oneshot do not claim apb periph clock (7837f4b)

    Fixed ADC hw calibration do not free apb periph clock (#16130) (7837f4b)

    Fixed ADC continuous mode ISR not in IRAM issue leading to panic on ESP32 and ESP32-S2 (#17526) (1c37e72)

    Camera

    Fixed CSI and ISP_DVP driver RX buffer data corrupted issue due to cache coherence issue caused by cache autowriteback (79cd306)

    DMA

    Added alignment checks for DMA when flash encryption is enabled.(#17708) (03b5c7e)

    I2C

    ####### I2C Master

    Added timeout range check (#17930) (d4b93a4)

    Fixed LOG_LOCAL_LEVEL redefinition error when CONFIG_I2C_ENABLE_DEBUG_LOG is enabled (#17877) (1f590bc)

    I2S

    Report the full buffer length to the UAC stack by setting bytes_read in usb_uac_device_input_cb(), so the host correctly detects received audio data instead of seeing zero bytes. (#17926) (c4df42a)

    Support to get channel configuration, MCLK & BCLK clock frequency and channel state information by i2s_channel_get_info (e516267)

    ####### STD

    Fixed STD mode initialization failure on ESP32 when using I2S_NUM_AUTO. (e5b4993)

    ISP

    Support video frame crop in ISP module on esp32p4-rev3. (2a481f5)

    Added subwindow field to esp_isp_awb_config_t for AWB subwindow statistics (c4ac92b)

    Fixed AWB subwindow always need to be set issue (5aede3a)

    Allowed to configure ISP submodule configurations immediately (bypassing shadow registers) (5aede3a)

    JPEG

    Add feature that engine can decode to yuv420 from a yuv444/yuv422 jpeg picture on esp32p4 revision 3 (a873c3c)

    LCD

    Fixed the issue that SPI MISO can't be used with LCD D/C together (#17858) (fa71573)

    DSI_LCD

    Allow set the pixel clock frequency with float value (499441c)

    PARL_IO

    Parlio RX driver can accept unaligned user buffer (#17581) (e5b4993)

    Added more strict buffer size check for parlio_tx (#17970) (5cdf6f4)

    fixed Parlio RX opposite sample edge issue (#18012) (694116f)

    PPA

    Added notes about SRM bilinear interpolation algorithm in programming guide (#17531) (36972d5)

    Removed PPA_SRM_COLOR_MODE_YUV444 as a valid SRM output color mode (36972d5)

    Fixed a potential issue on SRM operations may get stuck on DMA (36972d5)

    Fixed PPA SRM YUV422/420 incorrect DMA descriptor port mode block size (36972d5)

    SD_HOST SDMMC

    Fixed repeated resetting of GPIO 0 when calling sdmmc_host_deinit function with an uninitialized slot (3ca3759)

    SDSPI

    Added an option to modify the waiting time for MISO before sending next command - can help speed up transaction speed for e.g. SD cards on boards with no or incorrect pull-up resistors (#16909, #10493) (0fd9f0a)

    Fixed missing error handling in sdspi_host_start_command function when calling spi_device_acquire_bus function (0fd9f0a)

    SPI

    The SPI master and slave no longer accepts ESP_INTR_FLAG_SHARED as interrupt flag during initialization. (2fad74c)

    SPI Master

    SPI Master can transfer PSRAM buffers with DMA directly without extra copy (003eaf0)

    TWAI

    Supports get free queue size and improve logs and API docs (#17888) (4bccb20)

    Touch Sensor

    Fixed touch channel 8/9 enable mask bit swap issue (b36dfcf)

    Fixed non-symmetric gpio reserve/revoke in Touch Sensor driver (#17806) (e5b4993)

    UART

    Fixed UHCI RX buffer data potential corrupted issue due to cache coherence issue caused by cache autowriteback (8992416)

    USB Serial JTAG

    Check the pointer validation of tx ringbuffer (de3dad2)

    Power Management

    Reduce current of ESP32-H2 in light sleep with TOP PD and flash PU (9b69adf)

    Support sleep with top pd for esp32c5 eco3 (8a2f308)

    Auto adjust LDO volt for esp32c6 using PVT function (a3ce1fc)

    Fixed ESP32P4 rev3 core1 initialization after single-core active power consumption optimization (bc7a18f)

    Removed the configurable constraint for sleep memory usage optimization option (8c96f15)

    optimize system auto light sleep minimum sleep time configuration constraints (e0409f0)

    Auto adjust core voltage for different chip and different environment on ESP32-P4 v3.0 and above (f4ad576)

    Auto adjust core voltage for different chip and different environment on C61 (20107fe)

    Auto adjust core voltage for different chip and different environment (18ce7a6)

    fix too many print when cpu switch from XTAL to PLL source on C6 (ab213a9)

    Fix RTC WDT stage-0 timeout configuration issue (double setting) on ESP32-P4 (version ≤ 3.0) (d565664)

    Security AES

    Fixed a DMA + write-back cache coherency bug during AES-DMA operations that caused intermittent PSRAM output corruption by enforcing proper cache clean on DMA destination buffers. (3f10cda)

    Secure Boot

    Fixed the issue where bootloader fails to properly skip image verification and triggers reset when both CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP and secure boot are enabled. (0f47475)

    Fixed the application's Secure Boot verify API to support ECDSA-P384 (f8fe1ce)

    Fixed ROM Secure Boot fast wakeup feature for ESP32-C5, ESP32-C6, ESP32-H2, ESP32-H21. (9d80cb0)

    Storage

    Fixed readdir setting errno on directory end issue in SPIFFS (f19b20b)

    NVS

    Added 2 new NVS examples: nvs_statistics and nvs_iteration (bc31174)

    Fixed the order of NVS page state changes in space reclaim function to allow recover from sudden power-OFF event. (10b5088)

    System Hardware

    Fixed incorrect breakpoint and watchpoint numbers for ESP32-C5 (ded4814)

    Fixed inaccurate warning that encryption not enabled on PSRAM on ESP32-C5 v1.2 and C61 v1.1 (9e1c0fc)

    Fix vdd_dig big glitch when boot & deepsleep wakeup on ESP32-P4 v3.0 and above (0ea4e69)

    BOD

    Update vbat threshold for ESP32-P4 revision 3 (e382f96)

    Cache

    Fixed cache sync operation concurrency issue that leads to system crash (#18023) (9615bfa)

    MSPI

    Fixed potential system crash due to MSPI reconfig at startup on ESP32. (c680ab6)

    PSRAM

    Fixed MSPI wrong reading from PSRAM addr, when the same addr is written by DMA before, on ESP32C5/C61 rev1.0 (8992416)

    Toolchain

    Upgraded openocd version to v0.12.0-esp32-20251215 (fbfa940)

    Tools

    Updated ccache version to 4.12.1 (#17756) (b214c68)

    Updated example commands defining @argument_file with quotations (#18077) (4fec7af)

    WI-FI

    Optimized Flash and Internal RAM size used when REV_MIN_FULL is ESP32C5 v1.2 or ESP32C61 v1.1 (1ebc545)

    Fixed assert for probe resp allocation due to incorrect length calculation. (a392764)

    Fixed the issue that ESP32C6 RX packet failed when Station in modem state (ebf4daf)

    Add lltf bit mode for selection of 8-bit lltf or 12-bit lltf (b3a14b5)

    Fix crash issue caused by accessing flash in sleep wake process (b3a14b5)

    MAC

    Fix scan done or disconnected event miss issue (fd892af)

    Ensured Sta parses FTM Responder beacon correctly (7f2f009)

    Set NVS SAE pwe default value to SAE_PWE_BOTH for SoftAP and station (a392764)

    Fixed the issue that sta rx packet failed under modem state for ESP32C5 and ESP32C61. (81240a4)

    Fixed incorrect deauth reason parsing for station (a392764)

    Fixed memory corruption issue by ensuring management frames are only encrypted when they are robust management frames (a392764)

    Fix GCMP fragment tx issue (fd892af)

    Support WAPI fragment tx and rx (fd892af)

    Fix the issue where the WAPI unicast key index was incorrect after reconnection (fd892af)

    Fix lmacTxDone assert issue (fd892af)

    Fixed the issue that ESP32C2 will not report err when setting >=40Mhz bandwidth or 5g protocols. (161927f)

    B-TWT setup now respect user's dwell timeout configuration. (161927f)

    Supplicant

    Fixed some invalid memory access in wpa_supplicant (d9a77c8)

    Validated dpp auth instance before using it (5ecea92)

    Fixed a crash where STA is freed before WPA3 SAE finishes (1ebc545)

    Ensured EAPOL state machine is correctly terminated when WPS is reinitialized during an ongoing WPS session (WPS Registrar). (24a3a65)

    Fixed WPS stack issue by skip calling same function multiple times. (62014eb)

    Vendor

    Fixed the memory leak when call esp_now_set peer_rate_config() (b5cd44e)

    Original source

This is the end. You've seen all the release notes in this feed!

Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.