github espressif/esp-idf v6.0-beta1
ESP-IDF Pre-release v6.0-beta1

pre-release7 hours ago

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

ESP-IDF v6.0-beta1 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.1 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.

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

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

Download an archive with submodules included

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

Major changes

Major New Features

  • 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)
  • ESP-IDF v6.0 is upgrading to MbedTLS v4.x and the new PSA Crypto API. This work is still in progress, so upcoming beta(s) or RC releases may include further updates or breaking changes to crypto APIs.
  • 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: Move cJSON from ESP-IDF to managed components (https://github.com/espressif/idf-extra-components/tree/master/cjson) (269acda)
  • Application Utilities/Provisioning: disable protocomm security version 0 and 1 by default. If required then security 0/1 configs should be explicitly enabled. (f0cc452)
  • Application Utilities/Provisioning: Fixed wifi_prov_mgr_deinit api return type and handled error case in wifi_prov_mgr example (b9c2242)
  • Bootloader: Renamed linker file 'bootloader.ld' to 'bootloader.ld.in'. Custom bootloader build scripts update might be required. (0367cfe)
  • 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)
  • 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: 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: Changed the execution order of non-priority C++ constructors and functions marked with attribute((constructor)) from descending to ascending (44aeff1)
  • 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: 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)
  • 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: 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_hf_ag_devices_status_indchange has been deprecated and now it is replaced with esp_hf_ag_ciev_report (7cac735)
  • Classic Bluetooth/Bluedroid: esp_spp_init has been deprecated and now it is replaced with esp_spp_enhanced_init (7cac735)
  • 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: 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/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: Removed destination parameter from all apptrace APIs. (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: 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: 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/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/Core Dump: Dropped CRC32 checksum support. Only SHA256 checksum is now used. (521f3e3)
  • Debugging/Core Dump: Dropped binary format support. Only ELF format is now supported. (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: Removed and migrated 3rd party Ethernet drivers outside of ESP-IDF. Add the related driver from component manager to use it. (61aaaf3)
  • Ethernet: Removed RMII CLK Kconfig option for esp_eth component, use config structure to set this parameter. (bc421db)
  • 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)
  • FreeRTOS: Removed support for the user defined vPortCleanUpTCB() and the associated Kconfig option CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP. (75619d8)
  • 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 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: The following deprecated APIs have been removed: xTaskGetAffinity(), xTaskGetIdleTaskHandleForCPU(), xTaskGetCurrentTaskHandleForCPU(). (46160b0)
  • 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)
  • 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: Removed unnecessary dependencies for the driver component (22a0f9a)
  • 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: 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/ADC: Legacy ADC driver and legacy ADC calibration driver have been removed (807cbbf)
  • 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/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/GPTimer: The legacy timer group driver is removed. (3b50481)
  • Peripheral Drivers/I2C: Legacy I2C driver (driver/i2c.h) is end-of-life and compile warning is added. (bb80291)
  • Peripheral Drivers/I2C: I2C slave version one driver is removed (456ae96)
  • Peripheral Drivers/I2C/I2C Master: I2C master transaction now will report ESP_ERR_INVALID_RESPONSE when NACK is detected. (6af87b6)
  • Peripheral Drivers/I2S: Removed 'i2s_port_t' type and use 'int' type instead. (726a430)
  • Peripheral Drivers/I2S: The legacy I2S driver is removed. (e71e755)
  • 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: 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/LEDC: Removed LEDC_USE_RTC8M_CLK macro (e94d9ce)
  • 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/MCPWM: Removed variadic generator APIs mcpwm_generator_set_actions_on_xxx (4e62b0e)
  • Peripheral Drivers/MCPWM: The legacy MCPWM driver is removed. (0972e9d)
  • 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/PCNT: The legacy PCNT driver is removed. (81bb6a0)
  • Peripheral Drivers/RMT: The legacy RMT driver is removed. (9dc9d7d)
  • Peripheral Drivers/RMT: The io_od_mode member in the rmt_tx_channel_config_t configuration structure has been removed. (1fa420e)
  • Peripheral Drivers/SDM: The legacy SDM driver is removed. (d6894a1)
  • Peripheral Drivers/SD_HOST/SDMMC: Changed public requirement to esp_driver_gpio to private requirement (dfe8ee5)
  • Peripheral Drivers/SD_HOST/SDMMC: Removed deprecated API esp_vfs_fat_sdmmc_unmount (a4c03ce)
  • 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/SPI: Removed deprecated HSPI and VSPI related IOMUX pin macros on ESP32 and ESP32S2 (a4c03ce)
  • 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/Temperature Sensor: The legacy temperature sensor driver is removed. (f4a45a3)
  • 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 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 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/Touch Sensor: Adjust touch channel number on P4 from 0-13 to 1-14. (c1666c8)
  • Peripheral Drivers/UART: The esp_rom_uart.h is deprecated and replaced by esp_rom_serial_output.h (ce92b0a)
  • Peripheral Drivers/USB: Removed deprecated pin mappings for external USB PHY (1bbf04c)
  • Peripheral Drivers/USB/USB Host: Remove usb component from esp-idf (4dc77d1)
  • 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/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/VFS: Removed deprecated UART and UART-JTAG-serial API from vfs component, these APIs can still be found in the respective driver components. (fb79d92)
  • 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/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: Removed old copy of Catch2 (catch). Catch2 is still available as a ESP-IDF component at ESP component registry. (392226b)
  • Tools: Removed the legacy unit-test-app. It can still be found at the Component Registry (ab2829d)
  • Tools: The minimal supported CMake version was upgraded from 3.16 to 3.22 (c43d311)
  • Tools: Updated the minimal supported Python version to 3.10 (138336b)
  • Tools: Autodetection was removed from idf.py efuse* commands in order to prevent accidental use of the wrong port (adbec6e)
  • 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)
  • 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: 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: Added second channel field in wifi_action_tx_req_t structure. (44a66c7)

Known Issues

  • For ESP32-C5, under coexistence mode with modem state enabled, calling get_regdma_intr_raw_signal occasionally (with a low probability) causes a task watchdog timeout.
  • For ESP32-C61, an occasional MIC error may occur during the Bluetooth LE encryption procedure.

Changelog

This is the list of changes since release v5.5.

15.4

Thread

  • Added APIs to start or stop the OpenThread stack (29d8fbe)
  • Updated the OpenThread examples to use the new APIs (29d8fbe)
  • Updated OpenThread examples to use esp_console. The ot prefix is required when running OpenThread CLI commands. (29d8fbe)
  • Updated openthread submodule (3b3dd203) (2f4c63b)
  • Fixed an issue with source address selection during network switching (aca957c)
  • Use the ML-EID address for self-hosted services if OMR address is not preferred (e5d11d1)
  • Supported RCP over USB Serial JTAG interface (611176d)
  • Handled MeshCoP mDNS service in state change callback (c976203)
  • Updated openthread submodule (b945928) (c976203)
  • Improved TREL message reception (ba2b0fd)
  • Introduced a new API to register the console based openthread CLI command (5590a74)
  • Added a function to exit openthread main loop safely (1bb75b2)
  • Added Thread network setup instruction for sntp example (016e836)

Application Utilities

App Update

  • Fixed OTA failure when using partial download with AWS signed URL restricted to GET requests. Additionally, added a new API to get content-range from the HTTP response. (5aff8a9)
  • Revised logic to always update non-running otadata at the time of setting ota boot partition (#14688) (be89fa3)

CJSON

ESP HTTP Client

  • Updated condition to dispatch FINISH event during HTTP response read (#17437) (e6f9459)
  • Clarified esp_http_client_set_post_field() usage: post data must be set to NULL to avoid reuse (#17053) (6f5ec4b)
  • Fixed handling of errors while reading data from server using API esp_http_client_perform(). (71d3492)
  • Added new HTTP state HTTP_STATE_CONNECTING and made states public (#16019) (056e4a4)
  • Updated condition to close and cleanup the HTTP client (#16070) (056e4a4)
  • Fixed issue during enabling digest auth in esp client (#17238) (4a69fcb)
  • Updated postman root certificate dependency to esp_crt_bundle for https_aysnc request from esp_http_client_example (5c15e41)
  • Fixed often triggering of HTTP_EVENT_ERROR when asynchronous client is set (#16075, #16075) (4e12ed0)
  • Fixed memory leak in HTTP client when header parsing fails during fetch operation. (c6cc403)
  • Added with new HTTP client event HTTP_EVENT_ON_STATUS_CODE. (bfc5e1b)
  • Fixed description for API esp_http_client_fetch_headers (#16204) (a1b9581)

ESP HTTP Server

  • fixes http(s) server request close order with LRU purge enabled. (#17470) (030ba7d)
  • Fixed memory leak issue for esp_http_server scratch buffer. (#17501) (b789445)
  • Added support for pre-handshake callback, which is executed before upgrading to WebSocket protocol. (a783974)
  • Upgraded the restful_server example to use Vue3 and Vuetify3. (1f82b34)
  • Fixes multiple WebSocket frame parsing errors. The issue arises due to httpd_recv_with_opt returning partial data. (#15767, #15235) (464d03f)
  • Fix the regression cause in httpd_cookie_key_value due to commit 4a47cf8 (#16202) (0920278)
  • Fixed httpd_register_uri_handler api for memory leak (#15878) (54e071a)

ESP HTTPS OTA

  • Fixed partial download OTA to work on a single persistent connection rather than sending every range request on individual subsequent connections (92d4e3a)
  • Fix that ensures the data written during OTA updates is properly aligned to 16 bytes when flash encryption is enabled (20098cb)

ESP HTTPS Server

  • Fixed the issue where a second request on the same socket was blocked after the first async request succeeded.(#16998) (fd5b86d)
  • Added the API in esp_http_sever to return unparsed headers data buffer (#15857) (dee2895)

Provisioning

  • disable protocomm security version 0 and 1 by default (f0cc452)
  • disable protocomm security version 0 and 1 by default. If required then security 0/1 configs should be explicitly enabled. (f0cc452)
  • Fixed wifi_prov_mgr_deinit api return type and handled error case in wifi_prov_mgr example (b9c2242)

BLE

  • Fixed uninitialized return code in BLE Get Started - NimBLE examples (07d9bb9)
  • Added support for ESP32C61 revision v1.0 (22ae972)
  • Removed support for ESP32C61 revision v0.2 (22ae972)
  • Add Bluetooth LE CTE connless AoA/AoD example. (23d71fe)

BluFi

  • Added an API to start advertising with specified name. (5152593)

Bluedroid

  • Fixed a memory leak during deinitialization when the service table was created but not started (7a20f71)
  • Fixed crash when deinitializing or disabling host during scanning (d822e9b)
  • Added an API to set channel map for scanning or initiating. (76b28d8)
  • Fixed the status setting in the HCI event. (3216dfa)
  • Fixed potential out-of-bounds memory access when resolving advertising data (c6923d2)
  • Added BLE multiple connections examples. (fbea0c6)
  • Fixed the connection count limit in multi-connection. (fbea0c6)
  • Adjusted L2CAP round robin msg send strategy. (fbea0c6)
  • Supported multi-connection optimization vendor HCI command. (fbea0c6)
  • Set sec_conn only on successful pairing in ble_hid_device_demo to avoid unexpected behavior (a3146c7)
  • Fixed issue that caused failure in "BTM_GetSecurityFlags" (a8d3b48)
  • Fixed incorrect update of resolving_list_avail_size (a8d3b48)
  • Fixed issue where resolving list was not updated after the oldest device was removed (a8d3b48)
  • Fixed failure to disconnect when device record is cleared (a8d3b48)
  • Fixed build failure when some BLE features are disabled (0904627)
  • Support BLE vendor hci event reporting with corresponding parameters. (85d74cd)
  • Support anonymous address type for white list. (a4fcd06)
  • Fixed extended advertising restart failure during reconnection. (a172dac)
  • Fixed BLE SMP state machine inconsistency on disconnection (7d25722)
  • Fixed null pointer assert in l2c_link_check_send_pkts (f51c769)
  • Fixed issue with deleting link key when classic Bluetooth is not used. (c91a897)
  • Fixed validation logic for BLE GAP appearance configuration. (617d215)
  • Increased maximum attribute value length to 517 to prevent data loss. (617d215)

Controller

  • Fixed occasional memory leaks in multi-connection scenarios on ESP32-H2 and ESP32-C6. (9fe5195)
  • Fixed an occasional MIC failure issue in Start Encryption procedure for ESP32-C2. (9fe5195)
  • Fixed occasional disconnection issue when sending Data Length Update too quickly on ESP32-C2. (a3b8073)
  • Fixed occasional assertion in scan/connection coexistence scenario on ESP32-C6. (a3b8073)
  • Fixed occasional assertion in adv/scan/connection coexistence scenario on ESP32-H2. (a3b8073)
  • Supported the PAwR feature on ESP32-C6, ESP32-H2, ESP32-C61 and ESP32-C5. (e31611d)
  • Improved security when receiving a connection request PDU with an invalid Access Address on ESP32n request PDU with an invalid Access Address on ESP32 (5540a8c)
  • Fixed the issue where RSSI of connection is incorrect when latency is no zero on ESP32. (d26f280)
  • Fixed priority setting for BLE events on ESP32. (d26f280)
  • Fixed disconnection issue when coexisting with other BLE events on ESP32. (d26f280)
  • Fixed crash due to bandwidth full when updating connection params on ESP32. (d26f280)
  • Supported multiple connection optimization vendor HCI command on ESP32. (d26f280)
  • Fixed BLE assert llc_llcp.c 487 on ESP32-C3 and ESP32-S3. (652fe76)
  • Fixed BLE assert sch_prog.c 304 on ESP32-C3 and ESP32-S3. (652fe76)
  • Fixed BLE anonymous extended advertising filtering on ESP32-C3 and ESP32-S3. (652fe76)
  • Fixed BLE TX issue when the event is aborted on ESP32-C3 and ESP32-S3. (652fe76)
  • Optimized check Access Address when receive connection request PDU on ESP32 (63f7d7e)
  • Fixed an occasional sync lost issue on ESP32-C6, ESP32-H2 and ESP32-C5. (5b11d5b)
  • Fixed an occasional assert issue in case of controller disable on ESP32-C2. (5b11d5b)
  • Fixed an occasional assertion issue during sync on ESP32-C6, ESP32-H2 and ESP32-C5. (dad2c53)
  • Fixed occasional disconnection issue when sending Data Length Update too quickly on ESP32-C6, ESP32-H2 and ESP32-C5. (dad2c53)
  • Fixed double free exception during BLE init under low memory on ESP32-C3/S3 (f1dd6da)
  • Fixed an APM panic issue when enabling TEE in the BLE scenario on ESP32-C6, ESP32-H2 and ESP32-C5. (71da548)
  • Fixed an occasional abnormal scanning stop issue on ESP32-C6, ESP32-H2 and ESP32-C5. (71da548)
  • Fixed an issue where the central role would disconnect abnormally when the peripheral did not support the Connection Parameters Request Procedure on ESP32-C6, ESP32-H2 and ESP32-C5. (71da548)
  • Fixed an occasional assertion issue during scanning on ESP32-C6. (71da548)
  • Reduced bin size and IRAM for BLE rom code on ESP32-C3 and ESP32-S3 (6897f90)
  • Fixed missing ADV reports after bonding and connection on ESP32-C3 and ESP32-S3 (#15789) (e178a09)
  • Fixed an occasional assertion issue in scan and connection scenarios on ESP32-C6. (b452748)
  • Supported creating connections during scanning process on ESP32-C6 and ESP32-H2. (b452748)
  • Fixed occasional packet loss issue in multi-connection scenarios on ESP32-C6. (b452748)
  • Fixed crash issue caused by using os_mbuf_dup on ESP32-C6 and ESP32-H2. (b452748)

Documentation

  • Updated ESP-Nimble SIG qualification version to core specification 6.1. (51d5e8f)
  • Added Bluetooth LE 6.0 features support status. (6588b00)

Mesh

  • Support Device Firmware Update. (d5086b3)
  • Support for BLE 5.0 Extended Advertising in ESP-BLE Mesh communication (53249ad)

NimBLE

  • Fix array overflow caused by invalid connection handle indexing (7ae7dcd)
  • Added support for Channel Sounding host functionality. (03dd5e3)
  • Use nimble platform mem malloc / free APIs (7c1700b)
  • Added support to consider mbuf of different size during copying (448b5c0)
  • Update HCI log functions to use uint16_t for data length (f8935f8)
  • Rearrange NimBLE menuconfig options (7a87603)
  • Handled adv ext data setting in reattempt adv (9ba0b37)
  • Add indicate / notification code under correct flags [ Closes https://github.com//issues/16769 ] (b722615)
  • Fixed incorrect HCI status in connect event (d84d8ab)
  • Updated reattempt count handling for periodic adv (d1b3fd1)
  • Restructured table of README.md file of bleprph and blecent (7ef3215)
  • Add connection failure event when connection fails (4dd2694)
  • Added helper api's in nimble. (a3808c9)
  • ISO minor support for NimBLE Host (74bb9f6)
  • Update ble_gatts_show_local to show CPFDs and CAFDs. (92c125d)
  • Fix include service definition handle being the same for all definitions. (92c125d)
  • Added VSC for Set Scan Channel Bitmap (4f84ba0)
  • Fix for attribute count mismatch between cached gatt db and actual db (6fbc17c)
  • Update count parameter correctly by considering offset. (6fbc17c)
  • Fixed compilation issue due to BLE_GATTS flag (aa1c21f)
  • Clear GATT service entries counter upon GATT deinit (d1ea452)
  • Add timestamp information to HCI logging. (635169f)
  • Provide a way to make blufi advertising customizable. [ https://github.com//issues/16234 ] (2a1a76d)
  • Add ble_ancs example to build-test-rules configuration file. (f03521b)
  • Fix compilation issues when gatt caching is enabled in peripheral only mode (dffb03f)
  • Add a missing instance of ble_hs_unlock() in a corner case. (90b88af)
  • Added parameter in peer_init() to allocate memory for included services (304b561)
  • Automatically initiate security and retry service request if service request fails due to insufficient security. (0699507)
  • Added option to require Encryption, Authentication, or Authorization to subscribe for Notifications or Indications. (0699507)
  • Wrap BLE service API with extern "C" (5beacd1)
  • Fix compilation issue when CSFCS is set to 0. (5beacd1)
  • fix(nimble): Fixed issue of Adv report not observed in PAwR example. (beb6d79)
  • Added sdkconfig with options to showcase DRAM reduction for NimBLE examples. (52a6290)
  • Handle memory leak due to missing mempool_deinit call (adcbdd7)
  • Add Support for Apple Notification Center Service (ANCS) in NimBLE (2209a6c)
  • Add chip dependancy flag for Flow control feature (ebd4caf)
  • Added new Gattc + Gatts BLE coex example for nimble ( #12755) (925b563)
  • Fixed incorrect comparison with gattc proc that can cause request-response mismatches (644e38f)
  • Provide support for anonymous address type for whitelist (01520e8)
  • Added a configurable option to select ext adv v2 command (01520e8)
  • Added fix for an async race condition with HCI outstanding packets counter (01520e8)
  • Fixed UUID type error in GATT caching API to search for included services. (c9bab9e)
  • Added api's to fetch gatt cache info (764d722)

Bluetooth Common

Controller

  • Fixed the issue that Bluetooth baseband might not reinitialize after stopping and starting Bluetooth when coexisting with WiFi on ESP32 (#15841) (b922352)
  • Fixed the issue that unfixed core tasks may register or trigger software interrupts of the wrong core when calling the Bluetooth interface on ESP32 (a23fad1)

Bootloader

  • Renamed linker file 'bootloader.ld' to 'bootloader.ld.in' (0367cfe)
  • Renamed linker file 'bootloader.ld' to 'bootloader.ld.in'. Custom bootloader build scripts update might be required. (0367cfe)
  • 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)
  • Added support for secondary bootloader on C5 and C6. Allowing for safe OTA updates of the bootloader. (e603f4e)

Build & Config

  • Fixed syntax errors in generated Graphviz dependency graphs by wrapping Node ID strings in double quotes (#17594) (d816c3f)
  • Deprecated options are now correctly evaluated in linker fragment files (7832985)
  • Added zc* extensions build options for ESP32P4 (rev >= 3.0) (e0b6934)
  • Fixed build error for esp_ds peripheral with clang O2 optimisation (#17582) (5cf6b6d)
  • Default warnings are now considered as errors by default. This can be disabled by setting CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS = y (6efd36f)
  • Added zc* extensions build options for ESP32C5, ESP32C61 and ESP32H4 (22cae61)
  • Added COMPILER_CXX_GLIBCXX_CONSTEXPR choice option to reduce C++ applications binary size (espressif/crosstool-NG#67) (f3dba4f)
  • Produced Cmake warnings if a component includes or builds from another component (746acf4)
  • Changed name of component newlib to esp_libc (0d10158)
  • Removed inclusion of <dirent.h> when <sys/dirent.h> is included (0a7ace3)
  • Removed inclusion of <dirent.h> when <sys/dirent.h> is included. Include <dirent.h> for function declarations (0a7ace3)
  • Added -mtune=esp-base option for RISC-V targets to improve size and performance for memcpy inlining (620d1cb)
  • Created build system hooks for post-ELF file processing (#17251) (5eb8e74)
  • Fixed evaluation of dependencies based on Kconfig options in idf_component.yml files (b111672)
  • Fixed an issue where optional Kconfig dependencies were not evaluated correctly unless idf.py reconfigure was run twice (de098b9)
  • Reduced binary size for size-optimized xtensa builds by adding -mno-target-align compile option (#15677) (c433a76)
  • Enabled LIBC_OPTIMIZED_MISALIGNED_ACCESS by default (177dee6)
  • Upgraded default C standard to gnu23 (03855b9)
  • Upgraded default C++ standard to gnu++26 (03855b9)
  • Upgraded default C standard to gnu23. Code changes may be required to fix new warnings. (03855b9)
  • Upgraded default C++ standard to gnu++26. Code changes may be required to fix new warnings. (03855b9)
  • Changed add_prebuilt_library function to create GLOBAL targets (a939f41)
  • Fixed the issue that linker fragments couldn't specify placements of symbols from prebuilt libraries (a939f41)
  • Switched to using __libc_init_array() instead of non-standard init_array() (44aeff1)
  • Changed the execution order of non-priority C++ constructors and functions marked with attribute((constructor)) from descending to ascending (44aeff1)
  • Added .preinit_array section to ELF to support C++ and sanitizer features (44aeff1)
  • The binary generation target gen_signed_project_binary is no longer available as the build system drops the need for this target. (c8f68c7)
  • 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)
  • 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)
  • Updated esptool_py component to be an idempotent component in the build (c8f68c7)
  • 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)
  • 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)
  • Changed default linker orphan section handling from warning to error (a319aa9)
  • 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)
  • Added support for conditional dependencies in idf_component.yml which depend on Kconfig option values (efcb8a5)
  • Misspelled Kconfig[.projbuild] files are now detected by the build system (espressif/esp-idf-kconfig#14) (47d20da)

Classic Bluetooth

Bluedroid

  • Fixed the issue that HFP AG not report audio data to application when using external codec (b922352)
  • fix(bt/bluedroid): Fix the boundary conditions when checking EIR data (3e0545f)
  • Removed the code relying on compiler-specific extension for FAM in union (bdda830)
  • Fixed potential buffer overflow vulnerability in Bluedroid (bf695d0)
  • esp_bt_dev_get_device_name has been deprecated and now it is replaced with esp_bt_gap_get_device_name (7cac735)
  • esp_bt_dev_set_device_name has been deprecated and now it is replaced with esp_bt_gap_set_device_name (7cac735)
  • esp_hf_ag_devices_status_indchange has been deprecated and now it is replaced with esp_hf_ag_ciev_report (7cac735)
  • esp_spp_init has been deprecated and now it is replaced with esp_spp_enhanced_init (7cac735)
  • fix(bt/bluedroid): Prevent out-of-bounds access and add type check when resolving EIR data (892ec6a)
  • Fixed a description error in the classic Bluetooth GAP header file (1979646)
  • Added record_handle parameter in ESP_SDP_REMOVE_RECORD_COMP_EVT (706b7c8)
  • Fixed AVRCP build issue when Cover Art feature is disabled (#16155) (4e8ad76)
  • Fixed HFP AG data callback gets mistakenly cleared after profile re-initialization, if Bluedroid dynamic memory allocation is enabled (cca744c)
  • Added AVRCP callback event for notification of profile ON/OFF state (6177115)
  • Fixed the issue where an incorrect mask was used to exclude SCO packets during the establishment of eSCO link (fb6693c)

Controller

  • Removed the assertion when new acl data packet is sent to controller while previous data transmission is not finished on ESP32 (1904fd4)
  • Fixed that peripheral does not authenticate agaist peer device when the first request was rejected on ESP32 (549a727)
  • Fixed the errors that SCO frame scheduling is not stopped fter the base ACL link has been released on ESP32 (549a727)
  • Fixed the out of sync of data buffers between software and hardware on ESP32 (549a727)
  • Fixed the issue where modifying the btdm_pwr_state value would cause phy_disable to be called twice on ESP32 (549a727)
  • Fixed the issue that sniff anchor point are mismatched between Central and Peripheral on ESP32 which prevented them from receiving peer packets. (c4a2511)
  • Fixed missing of HCI event upon canceling truncated page procedure on ESP32 (f82e101)
  • Always send LMP_ENC_KEY_SIZE_MASK_REQ before changing to temp key on ESP32 (f82e101)
  • Ignored the reception of LMP_DETACH PDU during detach process on ESP32 (f82e101)
  • Fixed possible access to NULL pointers on ESP32 (f82e101)
  • Fixed zero size of encryption key used in Active Peripheral Broadcast on ESP32 (1979646)
  • Fixed wrong state caused by transaction collision in Enryption Pause and Resume procedure on ESP32 (1979646)
  • Fixed for no HCI_LINK_KEY_NOTIFICATION_EVENT on repairing of the acceptor size on ESP32 (1979646)
  • Fixed that Tx descriptor for FHS packet in page procedure may becomes empty after handshake failure on ESP32 (1979646)
  • Fixed the incorrect unit of clock in CPB Rx event on ESP32 (8bca0ba)
  • Fixed LMP legacy and secure authentication collision bugs on ESP32 (c4bfb8a)

Coexistence

  • Added 802.15.4 status for internal coexistence (37322d4)
  • Fixed the issue that BLE connection may disconnect when WIFI is reconnecting on ESP32C2 (473f316)

Core System

  • The component esp_vfs_console has been renamed esp_stdio and will henceforth be responsible for all stdio related functionality. (19e0997)
  • Fixed "defalut" typos in esp_rom function names (#17668) (86b39c6)
  • Added functionality to reset a ringbuffer (#17524) (4c589d6)
  • Fixed an issue where the ESP32-P4 chip could encounter exceptions or hang when exiting the WFI (Wait For Interrupt) state. (3124e04)
  • Removed deprecated STATUS enum from ets_sys.h, use ETS_STATUS instead. (166269f)
  • 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)
  • Added a Kconfig option CONFIG_RINGBUF_IN_IRAM to allow placement of esp_ringbuf functions in IRAM. Ring buffer functions are now placed in flash memory by default. (11b80a7)
  • 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)
  • Added Kconfig options for placing system-related APIs into flash when using CONFIG_SPI_FLASH_AUTO_SUSPEND (ff53d5d)
  • Added xt_specreg.h with Xtensa special register definitions with the XT_REG_ prefix and deprecated specreg.h (#16040, #12723) (7023f5b)
  • Fixed esp_ptr_executable and esp_ptr_byte_accessible to consider TCM memory (#15998, #15996) (fd9b2fa)
  • fix an issue that prevented RTC reserved area to have a size multiple of 4 (#13082) (1e516f0)

Console

  • Updated parsing of escape sequences in linenoise to read every character of the sequence seprately (#16762) (361c1b1)

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)

ESP Timer

  • Changed esp_timer_init_os to return ESP_OK if esp_timer already initialized. Now ESP-IDF will not abort the start-up process if esp_timer was initilized from a user constructor before the system tries to init it (#9679) (88c9af7)
  • Fixed potential buffer overflow with esp_timer_dump() (#17008) (32d8565)

Heap

  • MALLOC_CAP_EXEC capability only defined when no memory protection is enabled (see #14837) (75305c2)
  • Changed patched TLSF ROM functions to be placed in flash (6aeba18)

IPC

  • Allowed IPC recursion calls in esp_ipc_call (fdc3206)

Interrupts

  • Removed deprecated intr_types.h header, update to use esp_intr_types.h instead (365c8a3)

Log

  • Optimized esp-idf components for binary logging usage (reducing image size) (b7da740)
  • Fixed wrong year timestamp with LOG_TIMESTAMP_SOURCE_SYSTEM_FULL (#17451) (097f8a9)
  • Removed deprecated functions and header file (659ae57)
  • The following deprecated APIs have been removed: esp_log_buffer_hex(), esp_log_buffer_char(). (659ae57)
  • The following deprecated headers have been removed: esp_log_internal.h. (659ae57)
  • Fixed bin log config. It is available only for log version 2. (eb81a85)

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)
  • Added kconfig option for configurable buffer length for assert msgs (#17454) (f25ae48)

Panic handling

  • Fixed infinite loop in .eh_frame-based backtracing when DWARF unwind information was missing. (686165a)
  • Fixed an issue where the panic handler may reboot even though it is configured to dump the CPU registers and halt (#17260) (7a6559f)

Partition Table

  • Fixed partition table names must be only ASCII characters (9f6136d)

Pthread

Watchdogs

  • Fixed Task watchdog not checking the return value from the interrupt allocator (f496b43)

Debugging

Apptrace

  • Removed destination parameter from all apptrace APIs. (8ee473d)
  • Changed the way apptrace is configured. Applications must implement esp_apptrace_get_init_params to provide app_trace parameters to the components (8ee473d)
  • 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)
  • 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)
  • Moved gcov component out of the IDF and is now available in the ESP Component Registry as esp-gcov (5ac81c1)
  • Deprecated ESP_APPTRACE_DEST_TRAX. Now it is replaced with ESP_APPTRACE_DEST_JTAG (fb3e616)
  • Changed esp_apptrace_down_buffer_config(). Now it requires esp_apptrace_dest_t dest as first parameter for API consistency. (fb3e616)
  • Removed CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX configuration option. (a083766)
  • Updated SystemView trace processing to support SEGGER standard multicore format available in v3.60 or later. (52e8876)
  • Added CRC16 checksum of trace blocks to enable host-side data integrity verification. Strored in Xtensa perfmon register. (89adafa)
  • Fixed deadlock on sysview start (b5303b5)

Core Dump

  • Fixed CONFIG_ESP_COREDUMP_MAX_TASKS_NUM option that was previously ignored, allowing users to limit the number of tasks included in core dumps. (#14407) (b98d27c)
  • Dropped CRC32 checksum support. Only SHA256 checksum is now used. (521f3e3)
  • Dropped binary format support. Only ELF format is now supported. (521f3e3)
  • 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)

GDB Stub

  • Added support for RISCV FPU and PIE registers (c7db234)
  • Fixed segfault if registers changed not for running task (c7db234)

Documentation

  • Updates documentation for QEMU based build and test (#17464, #17458) (4371348)
  • Fixed wrong link to Putty in getting started (#17444) (8b96e82)
  • Updated missing Chinese translation in Build System documentation (#16236) (4bdd6b6)
  • Updated CLion documentation (#15944) (a9cdd33)
  • Updated the links in the COMPATIBILITY.md (#16025) (94143f2)
  • Restructured the Error Handling doc in terms of macros (#15930) (9d0d1d2)
  • Updated ulp-riscv doc regarding the ULP I2C hardware limitation. (#15917) (e9aa543)

Ethernet

  • Removed and migrated 3rd party Ethernet drivers outside of ESP-IDF. Add the related driver from component manager to use it. (61aaaf3)
  • Removed RMII CLK Kconfig option for esp_eth component, use config structure to set this parameter. (bc421db)
  • 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)
  • Added light sleep Ethernet retention for ESP32P4 (3fb1f9a)
  • Added ioctl option to enable time stamping for all frame types (#16016) (48b37dd)

Examples

  • Removed references to components/ethernet_init to use managed ethernet_init component. (64df286)

FreeRTOS

  • The FreeRTOS port layer function xPortGetTickRateHz() has been deprecated and will be removed in the future. (25ffd0f)
  • Removed support for the user defined vPortCleanUpTCB() and the associated Kconfig option CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP. (75619d8)
  • Made task snapshot API public via freertos_debug.h. (df1e1c2)
  • Fixed mistakenly stating that stack watermarks are reported in words, IDF reports these in bytes (2ca2209)
  • Fixed rv_xesppie registers save/restore on context switch (c7db234)
  • 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)
  • Added a Kconfig option CONFIG_FREERTOS_IN_IRAM to allow placement of FreeRTOS functions in IRAM. FreeRTOS functions are now placed in flash memory by default. (11b80a7)
  • The compatibility function xQueueGenericReceive() has been removed. Use xQueueReceive(), xQueuePeek(), or xQueueSemaphoreTake() as per your usecase. (3ef4136)
  • The compatibility function vTaskDelayUntil() has been removed. Use the function xTaskDelayUntil() instead. (3ef4136)
  • The compatibility function ulTaskNotifyTake() has been removed. Use the macro ulTaskNotifyTake() instead. (3ef4136)
  • The compatibility function xTaskNotifyWait() has been removed. Use the macro xTaskNotifyWait() instead. (3ef4136)
  • The function pxTaskGetStackStart() is deprecated and a type safe version xTaskGetStackStart() has been added to idf_additions.h. (46160b0)
  • The following deprecated APIs have been removed: xTaskGetAffinity(), xTaskGetIdleTaskHandleForCPU(), xTaskGetCurrentTaskHandleForCPU(). (46160b0)
  • Changed vApplicationStackOverflowHook to be placed in flash when CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is enabled (6aeba18)

IDF Additions

  • Fixed full no-split buffer frees item incorrectly (#17466) (eeb4ec5)

LWIP

  • Added support for NETIF link callback (#17463) (9063a6c)
  • Updated TCP/IP task name to "tcpip" to be more descriptive (#13523) (31602cb)
  • Fixed wrong deallocation in lwip port layer (#11534) (5c7a237)
  • Removed: CONFIG_LWIP_DHCPS_ADD_DNS. DNS option in DHCP responses now depends only on runtime config. (57013ba)
  • Fixed DHCP ARP check issue (67e149c)

DHCP

  • Fixed incorrect DHCP length calculation causes potential memory corruption for some longer options (ESP_NETIF_HOSTNAME_MAX_SIZE) (d9457b8)

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)

ESP Netif

  • Removes option to disable error return in esp netif receive function (3d5c2ef)
  • Added support for network interface UP and DOWN events (82d8f9f)
  • Fixed minor memory leak if PPP netif creation fails (#17472) (7ab29a8)
  • Added support for IP_EVENT_ASSIGNED_IP_TO_CLIENT to include DHCP client hostname (opt 12) when CONFIG_LWIP_DHCPS_REPORT_CLIENT_HOSTNAME is enabled (#10706) (747c172)
  • 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)
  • Fixed esp_netif_ip6_get_addr_type() to be const correct (#15882) (fe059bc)
  • Fixed documentation rendering of doxygen groups in esp_netif.h (#16993) (c33b88d)
  • Fixed reassigning the last static IP address after disconnection and reconnection (bc34abb)
  • Changed IP event name from IP_EVENT_AP_STAIPASSIGNED to IP_EVENT_ASSIGNED_IP_TO_CLIENT to reflect that any network interface could act as a DHCP client or server (#15663) (ce6e136)
  • Fixed potential crash caused by DHCP restore callback for PPP interface types (espressif/esp-protocols#800) (469a39b)

IPv6

Low Power Features

  • Fixed an issue where the xtal32k was powered down during sleep when used as the slow clock source on ESP32C5 with Wi-Fi disabled. (e1b6006)
  • Supported lightsleep to power down the CPU power domain separately on ESP32P4 rev2.0. (dfeae96)
  • Fixed the issue where RTC_BOD may reset or get stuck when waking up from Deepsleep on ESP32P4. (7bd0eef)
  • Removed the support for switching power from DCDC to LDO during ESP32P4 lightsleep. (7bd0eef)
  • Fixed the approach for writing to reject enable registers to achieve the reject light or deep sleep feartures. (https://github.com/espressif/esp-idf/issues/16738](https://github.com/espressif/esp-idf/issues/16738) (28c4172)
  • Revised the description of ESP32 reject sources: only GPIO and SDIO are valid as reject sources. (28c4172)
  • Added USB-Serial-JTAG console usage warnings to sleep examples (#16129) (d85ad74)
  • Fixed the issue where the sleep wakeup failed after reset when RTC_CLK_SRC_INT_8MD256 is enabled on esp32/esp32c2/esp32c3/esp32s3. (#16243) (feb1dc9)
  • Fixed the issue where entering mac_pd lightsleep may get stuck when Wi-Fi/BT coexist on ESP32C5. (e71760b)
  • Added explicit handling for ESP_PD_OPTION_AUTO, allowing direct mode switching and reference count reset. (e6dfb60)
  • Warning instead of assert when disable a disabled power domain using esp_sleep_pd_config (#16872) (e6dfb60)
  • Fixed the problem that the modem would work abnormally after waking up from light sleep if ADC is initialized on esp32c6/esp32h2. (f1df2f3)
  • Fixed a possible wakeup failure on esp32 if lightsleep/deepsleep was requested by Core1. (#16243) (dd980b7)
  • Added esp_sleep_get_wakeup_causes() to support multiple wakeup sources and deprecate esp_sleep_get_wakeup_cause() (60d9ca9)
  • Support user configurable low power analog mode by esp_sleep_enable_lowpower_analog_mode if analog-related peripherals(ADC,TSENS,TOUCH) is not used in monitor mode (#7882) (bac996a)
  • Fixed esp_sleep_get_ext1_wakeup_status always return 0 on esp32p4. (a225749)
  • Improved esp_timer timing accuracy for esp32 and esp32s2 when esp_pm DFS is enabled. (a42929a)
  • Fixed the issue that esp32p4 may get stuck when entering deepsleep. (8931a8a)
  • Fixed deepsleep leakage after USB HS phy is initialized on esp32p4 (d5441e6)

ULP

LP Core

  • Added an API definition and implementation for the hardware mailbox (056c404)
  • Added trap (exception) wake-up source for HP-CPU. If LP-Core trigger an exception it will now also wake-up the HP-Core from sleep with a trap wakeup cause. (0ac9dfb)
  • Updated LP core I2C library to provide macros for SDA and SCL GPIO pin instead of hardcoding the same at each stage, so the library as well as test apps don't need manual update when switching from ESP32C6 to C5 or P4. (b59b366)
  • Fixed array-bound compile error for P4 when compiling with -Os (#17054) (5d98c90)
  • Updated the LP UART and LP I2C drivers to not enable interrupts but rather use raw interrupt registers to prevent the LP core from jumping to the default interrupt handler and aborting the LP core code. (a7e6122)

ULP-RISC-V

  • Added a pulse counter example code for ulp riscv core to find out the highest possible frequency of pulses that can be counted by ULP core (0f776d3)
  • Added support for ADC Unit 2 on RISCV co processors (#17515) (cdef6dc)
  • Fixed an issue where I2C error prints in ulp_riscv_i2c component were not getting disabled by using esp_log_level_set API (#17425) (031a2f2)
  • Returned error code back to application for ULP RISC-V I2C read/write errors (Closes #15904) (031a2f2)
  • Fixed the ulp_riscv_delay_cycles() to handle small delays correctly (#16891) (d9241bf)

Networking

Examples

  • Added option to use polling mode for SPI Ethernet modules in protocols examples (#16869) (5aab43e)
  • Removed modbus examples, examples available at esp-modbus repository. (be5e48b)

PHY

  • Added protection against double phy-disable operations by one modem source, which can result in hardware clock being switched off in coexistence scenario (4b559f6)
  • Updated librtc.a to fix coexist problems on ESP32 (bba5292)
  • Fixed phy cert_test example crash on ESP32-C3 and ESP32-S3 (#16888) (33493d4)

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)
  • Removed unnecessary dependencies for the driver component (22a0f9a)
  • 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)
  • The default console UART TX IO can now also be re-used as a signal input without interference from the drive of the console UART TX signal (#16764) (248c87a)
  • 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)
  • Call esp_pm APIs when only when CONFIG_PM_ENABLE is enabled, to save binary size (#15923) (8afb0fb)
  • Deprecated periph_interrput_t and replaced it with periph_interrupt_t to fix the typo. (9c8ead5)

ADC

  • Fix temp_sensor error after adc continuous start (#15524) (3ec9502)
  • Added ADC continuous parse data API (8222f88)
  • Fixed ESP32-P4 ADC2 wrong channel-to-gpio mapping (8222f88)
  • Fixed inaccurate ADC readings at high input voltages on ESP32-C5 (7aca624)
  • Fixed P4 ADC2 oneshot do not claim apb periph clock (f638d5e)
  • Fixed ADC hw calibration do not free apb periph clock (#16130) (f638d5e)
  • Legacy ADC driver and legacy ADC calibration driver have been removed (807cbbf)
  • Legacy ADC driver and legacy ADC calibration driver have been removed (807cbbf)

Camera

  • Fixed DVP loss half frames error (37ba98d)
  • Added a help function to allocate camera buffer (4e7bfc3)
  • Add power manage lock for esp_camera (a6c26c3)

DVP

  • Add format conversion for LCD_CAM DVP (abaa608)
  • Switched to use proper DMA descriptor type for better memory usage on ESP32S3 (b57f726)

DAC

  • The legacy DAC driver is removed. (d445536)

DMA

  • Disallow burst sizes larger than 32 bytes when using DMA to access PSRAM on ESP32-C5 and ESP32-C61. (6e0dd05)
  • The esp_dma_capable_malloc and esp_dma_capable_calloc functions are removed. The GDMA_ISR_IRAM_SAFE Kconfig option is removed. (3e09d4f)

GPIO

  • Fixed the issue where the hold state of the GPIO corresponding to XTAL_32K_P was destroyed during reset or deepsleep. (#17419) (3a0eba4)
  • Fix USB DP pin unusable after CPU reset for ESP32-S3 and ESP32-C3 if USJ_ENABLE_USB_SERIAL_JTAG is deselected in menuconfig (#17488) (f1e6e66)
  • Updated the generic gpio example to avoid conflicts between the default GPIO numbers and USB peripherals (#16244) (5df7a0a)
  • Use enum values when assigning "pull_[up|down]_en" fields of "gpio_config" (#17241) (451cfc9)
  • Fixed the issue that on ESP32, the IOs with RTC functionality are not able to reflect GPIO sleep PU/PD configuration during light sleep (2319386)
  • Calling gpio_reset_pin on an input only pin should not produce an error message (#17047) (df5bff7)
  • Support clock output feature for esp32c5 & esp32c61. (e8ef305)
  • Improved some RTC_IO LL functions performance by avoiding "read-modify-write" operation (2fbd877)
  • 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)
  • Removed unsupported GPIO_OUTPUT_SET macro for ESP32-P4 (#16050) (2fb938c)

GPTimer

  • The legacy timer group driver is removed. (3b50481)

H264

  • Added esp_h264 encoder and decoder example (3785a24)

I2C

  • Change type of write.data member in i2c_operation_job_t from uint8_t * to const uint8_t * (#17585) (23b76aa)
  • Legacy I2C driver (driver/i2c.h) is end-of-life and compile warning is added. (bb80291)
  • Disable the open drain mode on deinit (#17737) (2fb0c3c)
  • Add i2c_slave_reset_tx_fifo function to allow reset the tx fifo state of i2c slave device (#16241) (a8ace9d)
  • Fix the potential wdt might happen after nack. (12c633f)
  • Remove I2C PULL UP notice log (#13963) (5aceead)
  • Add u8g2 example based on i2c master driver (02b2f69)
  • Fix a typo in the documentation of i2c_master_probe function (#17475) (00e5eff)
  • Fixed wrong clock name when the used clock is REF_TICK. (#17422) (5efe1db)
  • Updated the i2c basic example to correct the timeout parameter in I2C API calls (#17246) (185a1c5)
  • Fixed i2c read value via several read jobs might lose data (#16231) (92df25e)
  • Make I2C nack error log as debug level, not force print anymore. (5aa9d6a)
  • I2C slave version one driver is removed (456ae96)
  • Added gpio reserve check on i2c driver (b1b99b3)

I2C Master

  • I2C master transaction now will report ESP_ERR_INVALID_RESPONSE when NACK is detected. (6af87b6)
  • Now write buffer in i2c_master_transmit_multi_buffer_info_t is a const (#16890) (5053084)

I2S

  • Fixed the rw_pos and curr_ptr invalid issue while big gap between the two 'write' or 'read'. (3111588)
  • Removed 'i2s_port_t' type and use 'int' type instead. (726a430)
  • Fixed incorrect ffmpeg command in documentation (#17653) (b8a0d88)
  • Support to constitute full-duplex mode for STD and TDM automatically when the channel configuration are same. (a5bd9d2)
  • Fixed the sample rate slow down issue when using more than 4 slots in PDM RX mode. (a19ad8d)
  • Added PLL240M clock source on ESP32-S3/C6 (#17056) (a19ad8d)
  • The legacy I2S driver is removed. (e71e755)

ISP

  • Supported AWB module white balace gain configuration API and subwindow statitics API (53f96d8)
  • Supported Black Level Correction (BLC) driver on ESP32P4 REV3 (e13699a)
  • Increased the valid hue depth from 256 levels to 360 levels in esp32p4 rev3 (2d9b6c1)

JPEG

  • Changing color type definition from color structure to fourcc (06e5eeb)
  • Added additional checks for JPEG markers to prevent potential exploitation of this vulnerability to attack ESP chips (5a14ccf)
  • Support yuv444 yuv420 jpeg encoder format on esp32p4 revision 3 (e49093a)
  • Fixed random black line appearance while jpeg decode (446e2fc)
  • Fixed wrong parameter in jpeg encoder memory sync which leads to cache error. (9b77416)

LCD

  • The underrun interrupt is supported on ESP32-P4 version 3.0 (a480689)
  • The NT35510 LCD device driver has been moved out of ESP-IDF and is now hosted in the Component Registry. (4589f33)
  • The MIPI DSI driver can draw bitmap of gray8 format on ESP32-P4 version 3.0 (f4c40f7)
  • Dropped the support of the legacy I2C master driver in the esp_lcd component (9cee386)
  • The GPIO number type in the LCD driver has been changed from int to the more type-safe gpio_num_t. (6ea0fa1)
  • 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)
  • Reserved the GPIO used by RGB LCD in driver initialization and disconnect them from the LCD signals when deinitialize the driver (f071b54)
  • Corrected the hyperlink in README.md (#16389) (c7561dc)

LEDC

  • Update anonymous nested struct for correct documentation building (#8813) (13f4225)
  • Removed LEDC_USE_RTC8M_CLK macro (e94d9ce)
  • Removed ledc_timer_set API, and LEDC_APB_CLK_HZ, LEDC_REF_CLK_HZ macros (3fdb473)
  • esp_driver_gpio no longer is the public required component for esp_driver_ledc (3fdb473)
  • Forced the new duty update to wait until its last duty update finishes for ESP32 (3fdb473)

MCPWM

  • Removed variadic generator APIs mcpwm_generator_set_actions_on_xxx (4e62b0e)
  • Fixed the division by zero error when input expect resolution was too low.(#17665) (3108707)
  • Fixed FOC example frequency calculation (#17015) (9f43c02)
  • The legacy MCPWM driver is removed. (0972e9d)
  • Supported to get last latched capture value directly. (0972e9d)
  • Changed the default MCPWM group clock prescaler to 1 so that we can achieve a higher resolution. (#14815) (904d952)
  • The io_od_mode member in the mcpwm_generator_config_t configuration structure has been removed. (1fa420e)
  • Fixed the issue that MCPWM output wrong frequency during DFS on ESP32 and ESP32-S3 (5945ad1)

PARL_IO

  • Supported to set start/stop delay for valid signal on ESP32P4 V3.0 (a1f765b)
  • Supported to append receive queue in the ISR context. (3750278)
  • Supported to register buffer switched callback in loop transmission (ffebb32)
  • Supported PARLIO_TX with BitScrambler for mismatched input/output sizes on ESP32-C5 (#16122) (d6a4c37)
  • Expanded the upper limit of the buffer size that the Parallel IO can transmit in a single send on ESP32-C5 (f05d47c)

PCNT

  • Fixed race condition causing accum_value loss on counter overflow (22cfc7e)
  • The legacy PCNT driver is removed. (81bb6a0)

RMT

  • Fixed RMT TX disable timeout on ESP32 when mem_block_symbols is large. (#17692) (3b0d850)
  • The rmt_receive function can accept a buffer from PSRAM (01a27c8)
  • The legacy RMT driver is removed. (9dc9d7d)
  • Enhanced the inspection of the size of encoded symbols in loop transmission. (f160701)
  • Fixed the spurious RX done interrupts when the RX engine has been disabled on ESP32 (#15948) (7324fc6)
  • Supported unaligned receive buffer with DMA, the driver will help to do the alignment internally (7324fc6)
  • Supported to set initial level before any TX transmission (#16068) (7324fc6)
  • Fixed the state of a simple encoder when mem_full and done occur together.(#17244) (844dc17)
  • Enable the internal pull-up resistor in the onewire bus example (5f1ad2c)
  • The io_od_mode member in the rmt_tx_channel_config_t configuration structure has been removed. (1fa420e)
  • Added flags names and enhance the readability of the document (#15929, #15933) (3baaa8c)

SDM

  • Added sleep retention driver support, SDM module can be powered off during sleep and restored automatically after wakeup (ae221cb)
  • The legacy SDM driver is removed. (d6894a1)

SD_HOST

  • Supported UHS-I SDR104 (200MHz, 100MB/s) on ESP32P4 REV3 (4a38301)

SDMMC

  • Changed public requirement to esp_driver_gpio to private requirement (dfe8ee5)
  • Added Kconfig option SDMMC_ENABLE_SDIO_SUPPORT to enable/disable SDIO specific steps in sdmmc_card_init (e2954eb)
  • Removed deprecated API esp_vfs_fat_sdmmc_unmount (a4c03ce)
  • Fixed sdmmc initialization issue caused by CMD52 CRC error (37733a8)
  • 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)
  • Fixed multiple definitions of SD Card example pins issue in project Kconfig file (30f9814)
  • Fixed all pins need to be set issue when using slot0 on ESP32P4 (30f9814)
  • Introduced SD Host (SDMMC) new driver in driver/sd_host.h and driver/sd_host_sdmmc.h (b1999b5)

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) (5616067)
  • Fixed missing error handling in sdspi_host_start_command function when calling spi_device_acquire_bus function (5616067)

SPI

  • Added note and workaround for esp32 spi slave hold MISO pin issue (#8638) (f4e999f)
  • Added note for esp32 spi slave with DMA but real trans_len unaligned to 4 bytes (#2085) (f4e999f)
  • Fixed spi device turn to maximum speed when override_freq uninitialized (#17460) (f4e999f)
  • Removed deprecated HSPI and VSPI related IOMUX pin macros on ESP32 and ESP32S2 (a4c03ce)
  • Fixed slave mode with dma RX data error on ESP32C5 (c8fcebd)
  • Fixed spi master full duplex with dma enabled but single RX data error on ESP32C5, C61 (323e942)
  • Change ESP32P4 spi master default clock source to PLL to support up to 80M by default (d8fa822)

SPI Slave

  • Added a note about drive capability for GPIO pins in SPI slave example (#17268) (4bd3661)

SPI Flash

  • Fixed the cache map 32M flash failed on esp32c5 (79cc42a)
  • Fixed cpu start failed when log functions are put in flash on esp32c5 (92b90af)
  • Removed deprecated enum esp_flash_speed_t (a4c03ce)
  • Removed deprecated API spi_flash_reset_counters, spi_flash_dump_counters and spi_flash_get_counters (a4c03ce)
  • Removed deprecated header file esp_spi_flash.h (a4c03ce)
  • Fixed flash read failed in qio mode on external flash (65a6e9c)
  • Fixed bootloader flash size is not accurate when flash size is larger than 32MB (142a830)
  • Added GD55D256 flash chip support (de58c6d)
  • Updated 32-bit address (16MB or more) documentation to clarify experimental support for code execution and data access with CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH (bfe5caf)
  • Fixed issue of escaping boundary check (d5b4654)
  • Make GD flash driver linked by default (561c7c4)
  • Added XM25QH256D flash support for new 32MB flash module (8ab564a)

TWAI

  • Fixed ESP32C5 can't receive frame in listen_only mode when multiple node on bus (#17461) (e8ec954)
  • Fixed [tx|rx]_error_count empty from twai_node_get_info (#17434) (e8ec954)
  • Fixed using twai_make_dual_filter() to config dual filter for 29-bits ext_id (#17504) (e8ec954)
  • More accurate the sample_point calculation when using twai_timing_basic_config_t::sp_permill (#17522) (e8ec954)
  • Fixed the issue that legacy twai driver can't send frame with dlc equals to zero (#17467) (fecbfdc)
  • Added a new TWAI example to drive XiaoMi "CyberGear" servo with a console CLI. (c6d7d5d)
  • Removed unsupported busoff and clkout signals on ESP32-C5 (6fdaf37)
  • Added support for calling twai_node_transmit() from ISR contexts, enabling real-time CAN frame transmission from interrupt handlers with automatic context detection and ISR-safe queue operations. (5c97f96)
  • Fixed DLC larger than 255 in received frame from twai_node_receive_from_isr (4e5401e)
  • Added API twai_node_transmit_wait_all_done() (54a9c2e)
  • Improve the quanta_resolution_hz formula of twai_timing_config_t (#17002, #16996) (f5e9a24)
  • Update twai examples with new driver API and simplified them (#8461) (675fe2d)
  • Fixed build warnings in the cxx environment (#16999) (7d1e974)

Temperature Sensor

  • Fixed cpp compiling warning for temperature sensor (#17656) (068c8ab)
  • remove spurious printf (#16211) (94765b5)
  • The legacy temperature sensor driver is removed. (f4a45a3)

Touch Element

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)
  • Support P4 Ver3 features: 1. force update benchmark; 2. touch_sensor_config_t::trigger_rise_cnt (ac24f96)
  • Removed touch_sensor_sample_config_t::bypass_shield_output on ESP32-P4, it is not supported any more. (ac24f96)
  • Fixed the issue in the legacy touch sensor driver that the read API can't be used from ISR context. (#17045) (d622116)
  • Adjust touch channel number on P4 from 0-13 to 1-14. (c1666c8)
  • Fixed calculation of sleep intervals. (c1666c8)

UART

  • Added support for UART DTR and DSR signals (#15987, #6211) (8651d6c)
  • The esp_rom_uart.h is deprecated and replaced by esp_rom_serial_output.h (ce92b0a)
  • Fixed uart_release_pin logic if switching only specific pins with uart_set_pin (dc527fb)

USB

  • Added USB support for ESP32-H4 (4f578d8)
  • Added CherryUSB host and device examples (3622995)
  • Updated cdcacm_rx_cb and cdcacm_tx_cb placement when CONFIG_ESP_CONSOLE_USB_CDC_SUPPORT_ETS_PRINTF (#17000) (4c9c308)
  • Removed deprecated pin mappings for external USB PHY (1bbf04c)
  • Changed USB CDC VFS read() to treat end-of-line characters as regular bytes, with no early return (2f4c5d2)
  • Changed USB CDC VFS read() to return with available data when in blocking mode (2f4c5d2)
  • Updated ESP32-P4 USB pins for mass production version (#16136) (32bee68)
  • Fixed switching between TinyUSB and USB-Serial-JTAG modes on ESP32-S3 (#15932, #15912) (27099e1)

USB Device

  • Update USB Device examples to esp_tinyusb v2.0.0 (5efa5ab)

USB Host

  • Remove usb component from esp-idf (4dc77d1)
  • Relocated PHY code to esp_hw_support and removed deprecated APIs. (f4a8619)
  • Improved stability of the USB Host Library with external hubs (602941e)
  • Add USB Host support for Full Speed peripheral on ESP32-P4 (94d71a8)
  • Added support for custom FIFO sizing via HAL API (c06fa31)
  • Added option to allocate USB buffers in external RAM on ESP32-P4 (6d2f4b3)

USB Serial JTAG

  • Added clarifying note about disabling USB-Serial-JTAG in bootloader stage (#14638) (961c10b)
  • Changed USB Serial JTAG VFS read() to treat end-of-line characters as regular bytes, with no early return (2f4c5d2)

Power Management

  • The current leakage for ESP32 in light sleep has been decreased by 80uA (2319386)
  • Fixed the issue that ESP32C5 TX packet failed when DFS enabled (bacb0ce)
  • Fixed examples/system/light_sleep compilation fail on CONFIG_ESP_CONSOLE_NONE selected (dc527fb)
  • Optimized the power consumption of esp32c5 in active state (2a861ea)
  • deepsleep current decrease about 7uA for C61 (17uA -> 10uA) (22f6319)

Security

  • Fix app image encryption length for secure update without secure boot case (b05300b)
  • Added support for ESP-TEE (Trusted Execution Environment) on ESP32-C5 (74da6d7)
  • Fix secure OTA without secure boot issue for MMU page size configurable SoCs (#15936) (ef08cca)

AES

  • Dynamically switch between AES block and DMA mode to significantly improve the performance of operation with shorter input data lengths (#15914) (c6e6558)

ESP-TLS

  • Support runtime TLS version and ciphersuite list configuration for https server (#17660) (02af1db)
  • Updates esp-tls docs for non TLS connections (#17652, #17598) (59f5bb4)
  • Added missing event tracker during mbedtls read operation (#16239) (5721196)

Flash Encryption

  • Fix esp_flash_encryption_set_release_mode() API to program the efuse bit to level low only if the efuse is not already programmed. (343fd79)

Key Manager

  • Fix broken encrypted write operation to use efuses key instead of the Key Manger key when Flash Encryption is disabled. (fd7d9c9)
  • Fix incorrect internal state management when starting a Key Manager operation (de36c80)

MbedTLS

  • Dependent peripheral clock usage optimization for the ESP32-H2's revision v1.2 whose ECDSA peripheral does not use the MPI peripheral. (286f7fe)
  • This release restructures the mbedTLS configuration system and adds support for configuration presets. (4e03698)
  • Fix build failure when using non-AES ciphers GCM operation fallback with CONFIG_MBEDTLS_GCM_C being disabled. (d8a3ef5)
  • Update mbedTLS version to 3.6.4. (5301d39)
  • Adds in support for verifying cross signed certificates if the cross signed certificate is available in the trusted CA bundle. (1f4612e)
  • Updated the common cert authorities csv (cmn_crt_authorities.csv - 01 Jun 2025) (c85075d)
  • When using the esp_sha_block() and esp_sha_dma() APIs, the SHA mode needs to be explicitly set using the esp_sha_set_mode() API. (8d0527d)
  • 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)
  • Updated the default root certificate bundle (cacrt_all.pem - 21 May 2025) (e05390f)
  • 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)
  • Updated the deprecated root certificate bundle (cacrt_deprecated.pem - 21 May 2025) (e05390f)
  • Fixes failing TLS handshake when running HTTPS Server with TLS1.3 (#15984) (619996f)
  • Updated the common cert authorities csv (cmn_crt_authorities.csv - 18 May 2025) (4d59537)

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)

RNG

Secure Boot

  • Fixed enabling ROM secure download mode when DIS_DOWNLOAD_MODE is already disabled (a249714)
  • When Secure Boot is enabled, write disable SECURE_BOOT_SHA384_EN / ECDSA_CURVE_MODE in the security init function instead of the bootloader to allow configuring other efuses sharing the same write-protection. (4e082ef)

Storage

  • Added Block Device Layer support for esp_partition component (1e1b95c)
  • Added new Block device layer interface component (d4e58bf)
  • Added a mention of read-only NVS partitions in File System Considerations document (8925459)

FATFS

  • Refactored FATFS VFS functions - body of convenience mounting functions split to smaller steps. (9408386)
  • Added esp_vfs_fat_format_drive and esp_vfs_fat_partition_drive functions. (9408386)
  • 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)

LittleFS

  • Default LittleFS version in examples bumped to 1.20.0 (2aeec90)

NVS

  • Copyright sections were unified (207199a)
  • Header files were unified to use #pragma once (207199a)
  • NVS constants were refactored to avoid dependency on spi_flash (207199a)
  • fixed nvs_tool to parse non-ASCII keys (69d2079)
  • Fix NVS encryption initialization when using MINIMAL_BUILD (Closes #17256) (649741f)
  • Fixed updates of BLOBs present in old format when legacy compatibility menuconfig option is set (553d103)
  • Improved performance of BLOB get and set operations (efb4d57)

Partitions

  • Added error-returning variants for partition find APIs (#9281) (053fb47)
  • Added support for partitions larger than 4MB on Linux target (94b8128)

VFS

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

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)
  • Fixed assert when changing 8MD256 RTC slow clock source during OTA on esp32/esp32s2/esp32s3. (6f8dbe8)
  • 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)
  • Fixed the issue that LP_WDT is triggered in ROM after esp_restart reset if UART0 is disabled in App. (Affected targets: esp32c5/esp32c6/esp32h2) (2bd3931)
  • Auto adjust core voltage for different chip and different environment on ESP32-P4 (fa41e76)
  • only detect VDD digital for ESP32-C5 / C61 (22f6319)
  • Removed support of C5_ECO0 & C61_ECO0 / C61_ECO1 (22f6319)
  • Fixed compile error on esp_cpu_int_has_handler on ESP32-P4 (GitHub PR) (#15942 #15941) (184b993)

Efuse

  • Allowed custom key purposes (b0f34bd)

MMU

  • No longer disable Cache when doing external memory mapping on ESP32S3, C3, C2, C5, C6, C61, H2 (ae3f20f)

Memory Layout

  • Removed RTC_ related memory attributes on chips which do not support RTC memory (ba7d244)

PSRAM

  • Removed deprecated header file esp_spiram.h (a4c03ce)
  • Fixed the issue that the PSRAM on ESP32C5/C61 doesn't support cross-page transaction. (206be17)
  • Supported using fallback driver pattern when PSRAM ID is not matched on ESP32-S3, P4, C5, C61 (1571758)
  • Fixed PSRAM pointer check error issue when XIP_PSRAM is enabled on ESP32P4 (#15997, #15999) (d0aabd3)

TCP Transport

  • Enforce that a WebSocket server sends exactly one Sec-WebSocket-Accept header (#16199) (54b5210)
  • Added response header callback hook (#16119) (eaa552f)
  • Fixed off-by-one buffer corruption uppon connection (#16120) (8884211)
  • Add the ability to expose the HTTP upgrade response headers (espressif/esp-protocols#715) (1d12eb4)
  • Reduced severity of timeout and want read log from ERROR to DEBUG (#15967) (061c05c)
  • Added HTTP redirect (301 - Moved Permanently) to transport websocket. (a5313b9)

Toolchain

Tools

  • Added a fix to prevent Windows from unsuccessfully building the ESP-IDF root directory (c4cabac)
  • Fixed the idf.py confserver command failing because of small buffer size by increasing the default buffer size and adding the --buffer-size argument to further adjust the value if needed (eff16d4)
  • Updated to use esptool version v5+ and deprecated .py suffix from the esptool scripts (800f141)
  • Removed the esp-idf-size --legacy option. Using --format json is no longer possible and setting the ESP_IDF_SIZE_LEGACY environment variable has no effect. (af1ceb3)
  • Removed old copy of Catch2 (catch). Catch2 is still available as a ESP-IDF component at ESP component registry. (392226b)
  • Supported loading idf.py extensions from the project's component directories and from installed Python packages (34f658a)
  • idf_tools.py: Fixed warning message to show correct allowed install options (#17586) (4e4378a)
  • Removed the legacy unit-test-app. It can still be found at the Component Registry (ab2829d)
  • Fixed click's deprecation warnings (__version__, click.MultiCommand) (117919d)
  • Removed the legacy export scripts and setting the ESP_IDF_LEGACY_EXPORT environment variable no longer has any affect (86fc2e1)
  • Upgraded CMake to versions 4.0.3 and 3.22.1 (for the option of installing it with idf_tools.py instead of using the system-level version) (c43d311)
  • The minimal supported CMake version was upgraded from 3.16 to 3.22 (c43d311)
  • Python 3.9 has been deprecated and is not supported anymore (138336b)
  • Updated the minimal supported Python version to 3.10 (138336b)
  • The test_utils component has been moved from tools/unit-test-app/components/ to tools/test_apps/components (4065fb2)
  • Added requirements file for the new IDE feature of installing Python packages for IDE support (dba8cb3)
  • idf_tools.py: Removed legacy virtualenv code because supported Python versions come with the venv module by default (ba08899)
  • Normalized detected shell name to lowercase on Windows (#16868) (b1d1908)
  • Fixed serial port mapping in idf.py qemu if additional serial ports are added using --qemu-extra-args (#15974) (9051811)
  • Added Base64 encoding for temporary directory names when usernames contain special characters (#16229) (a71bd0d)
  • Explicitly disabled pip "user" option when installing the ESP-IDF Python virtual environment (#16189) (fee7256)
  • Made the port argument mandatory for idf.py eFuse commands (adbec6e)
  • Autodetection was removed from idf.py efuse* commands in order to prevent accidental use of the wrong port (adbec6e)
  • Added information how to update Python packages in the ESP-IDF environment (#16077) (214f868)
  • Passed the serial port from idf.py diag to the the underlying esp-idf-diag package (16e8efa)
  • Fixed idf_tools.py install tools@version command to be able to install specific tool versions (8f57051)
  • Fixed the idf.py create-project command for working with a read-only ESP-IDF directory (#16021, #15964) (1b7cb43)
  • The official support for gdbgui was dropped but the tool can be invoked via manual installation (5799f55)
  • 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)
  • Add support for KornShell compatible shells (#16043) (a2b7ce6)
  • Updated ccache version to 4.11.2 (espressif/idf-installer#305) (f9765d0)
  • IDF Monitor: Added note about limitation of auto coloring feature with multiline messages (#15793) (4acf13d)

WI-FI

  • Added support for NAN-USD (Unsynchronized Service Discovery), which depends on CONFIG_ESP_WIFI_NAN_USD_ENABLE (8e1ebca)
  • Supported ESP32-C5 cert test example. (5f5f963)
  • Fixed country code PK miss 2.4G permission (b235941)
  • Added support for FT with SAE for station (b7deee9)
  • Added blacklisting logic in ROAM App. (e8f75f9)
  • Set NVS default value for SAE identifier to NULL (44736c8)
  • The function esp_rrm_send_neighbor_rep_request has been removed. Use esp_rrm_send_neighbor_report_request instead. (bdd8d25)
  • 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)
  • 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)
  • 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)
  • The function esp_wifi_config_espnow_rate has been removed. Use esp_now_set_peer_rate_config instead. (bdd8d25)
  • 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)
  • 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)
  • 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)
  • The function argument ndp_resp_needed of esp_wifi_nan_publish_service has been moved to structure wifi_nan_publish_cfg_t. (bdd8d25)
  • 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)
  • 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)
  • 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)
  • Added second channel field in wifi_action_tx_req_t structure. (44a66c7)
  • Added switch channel API and remain on channel API for ESPNOW (44a66c7)
  • Fixed perform active scan on DFS channel (9b0733b)
  • Fixed beacon timeout when TWT setup (9b0733b)
  • Fixed bandwidth check not correct (51ed23b)
  • improved iperf performance of esp32c61 (51ed23b)
  • Fixed ESP-Touch v2 fail on 5G router, update version to v3.0.3 (ee06430)
  • Removed support for the ESP32C61 revision v0.2. (54fe337)
  • Added support for the ESP32C61 revision v1.0. (54fe337)
  • Fixed assert when htinfo not included in beacon/assoc response (ac5fe12)
  • Fixed assert when country code of ap we do not support (ac5fe12)
  • Added supported channels element and enable spectrum management (ac5fe12)
  • Added limition when set bandwidths and protocols (ac5fe12)
  • Enabled IPv6 support via LWIP_IPV6 when WiFi Aware(NAN) is enabled (5036509)
  • Fixed scan trigger failure after roam event (f931739)

Examples

  • Supported 11ax rate for cert test. (dd73346)

MAC

  • Fixed PTK key memory leak on deinit. (6566973)
  • Fixed esp32 MAC deinit stuck issue (1d2147c)
  • Fixed NAN API return status and NDP Peer inactivity detection (a44c3d4)
  • Fixed scan done event miss issue (2812a4e)
  • Set dialog token of last FTM Response to Zero (#17235) (9fee9cc)
  • Performed FTM in 40Mhz in disconnected State (9fee9cc)
  • Corrected the 'wifi_auth_mode_t' type sent during 'WIFI_EVENT_STA_CONNECTED' event (e6a11ba)
  • Fixed scan done event miss issue. (07db7c3)
  • Added GCMP-128 cipher support for SoftAP mode. GCMP-256 SoftAP support was previously added as part of SAE Extended Key handling. (73e638e)
  • Fixed TX error 0xa1 (4235058)
  • Fixed cache access error after TWT setup (4235058)
  • Add FTM Support for ESP32C61. (f50f691)
  • Fixed inactive time reset when wifi disconnect (40eefe1)
  • Fixed open mode receive fragment packet fail issue. (8448452)
  • Fixed TWT cannot sleep on esp32c5 and esp32c61 (48b84ce)
  • Fixed CPU cannot enter light sleep when TWT resume (48b84ce)
  • Fixed rate index incorrect in 11a mode (48b84ce)
  • Fixed the issue that wifi disconnect when sta scan in connected state (9ddef27)
  • returned error if call esp_wifi_set_config() when STA is connecting (39a44b4)
  • Fixed esp32 mac deinit stuck issue (39a44b4)
  • Fixed the issue where the device fails to sleep if it gets disconnected during the transmission of probe requests after beacon timeout. (a3cf646)
  • Prevented NON-PMF STA from retrying connection attempts if esp_wifi_disconnect() called before handshake, even if 'failure_retry_cnt' allows retries. (11ad7e0)
  • Fixed STA cannot send keep alive when receive UDP packets (03e6dda)
  • Fixed sleep without sending sleep null when enable BSS max idle (03e6dda)
  • Fixed STA BSS max idle period always use default value (03e6dda)
  • Fixed channel TX power limitation does not take effect when connected AP switch channel (03e6dda)
  • Fixed the issue that STA fail to RX beacon when off channel under modem state. (abd5be5)
  • Added FTM support for ESP32-C5 v1.0 (#15909) (fbfa32c)
  • Fixed the issue when the PS state machine becomes invalid after enabling BSS max idle (f1da7a5)
  • Fixed TX power not update if country changes when enable multiple PHY init data bin (f1da7a5)
  • Fixed locking in incorrect state when stop_scan is called after wifi_connect (c4aaceb)

Mesh

  • Fixed the mesh station sends data error on ESP32c61 (3c3ee15)
  • Fixed the esp_mesh_scan_get_ap_record() error in chain topology (#16041) (dce4ca7)
  • Fixed the mesh crash issue when changing mesh AP's authmode (dce4ca7)
  • Fixed the mesh station sends data error on c5 (916f701)

Supplicant

  • Added support for WPA3 compatible mode (44736c8)
  • Fixed crash to uninitialized roaming neighbor list lock (#16976) (0f215a4)
  • Replaced use of mbedtls_ctr_drbg with esp_mbedtls_random() (#15679) (b789198)
  • Disabled suite-b configuration if Wi-Fi enterprise is not enabled (#17567) (2d1b94c)
  • Fixed DPP remain on channel executing in loop (f82bcd2)
  • Resolved WPS crash triggered by repeated EAPOL-Start during handshake. (84b4605)
  • Ensured disconnection with previously connected AP when actually starting the WPS instead of initiating WPS. (7add0c1)
  • Fixed pmksa expiration caused by sntp time synchronization issue. (9425367)
  • Added support to limit EAP method supported by device based on user configuration (76d24d2)
  • Disabled IP renew skip by default since most AP don't support it. (b356086)
  • Fixed issues reported by static analyzer. (b356086)
  • Added example to write Wi-Fi config in NVS (#14554) (0dbce72)
  • Cleared SAE-PK capability in Assoc Request when not enabled at STA. (c707faa)
  • Added support for WPA-Enterprise in Station mode (4983ba1)
  • Ensured disconnection with previously connected AP when initiating WPS. (9c84243)
  • Improved WPS PBC overlap detection to ensure it works correctly, even if the UUID is missing. (9c84243)

Vendor

  • Added more check when receiving ESP-NOW data (fed2fb0)

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.