github espressif/esp-idf v5.3.3
ESP-IDF Release v5.3.3

15 days ago

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

ESP-IDF v5.3.3 is a bugfix update for ESP-IDF v5.3.

Obtaining v5.3.3

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v5.3.3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3.3
cd esp-idf-v5.3.3/

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

Download an archive with submodules included

Attached to this release is an esp-idf-v5.3.3.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub. To reduce the size of the archive, the .git directory doesn't include the history of commits older than one year. Users who need to use git checkout to access an older release of IDF will have to use git fetch first to download the remaining part of the history.

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

Major changes

Major Features

  • Supported ESP32-H2 revision v1.2 (d05db915)

Major Bug Fixes

  • Bluetooth Common/Controller: Disable debug vendor HCI command on ESP32. (efec039)

Breaking Changes

  • Bluetooth Common Starting from this version, Espressif's Bluetooth vendor-specific HCI commands and events for all ESP Bluetooth chips are disabled by default in HCI UART mode and non-ESP host mode. Please refer to esp_bt_vs.h (E.g., components/bt/include/esp32/include/esp_bt_vs.h) for detailed information . (07f4ff8)
  • Application Utilities / Provisioning Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (352c4de)
  • System Hardware Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. For ESP32C6, to continue to use RC32K clock as the RTC slow clock source now requires to select RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED Kconfig first; For ESP32H2/P4, this option is completely removed. (4c422b1)

Changelog

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

15.4

  • Set 802.15.4 energy scan duration before cca (84e3f04)
  • Supported IEEE802.15.4 ISR callbacks registration feature (182dcd8)
  • Introduced a series of APIs to set/get 15.4 O-QPSK 2.4G PHY txpower for each channels. (8b5008b)
  • Supported rx buffer and txrx statistics in 802.15.4 debugging mode (2c786a4)

MAC

  • Supported configuring 15.4 PTI at runtime (90de6ac)
  • Supported setting/getting ACK timeout APIs (e27cc7c)
  • Returned ESP_FAIL if enh-ack generating logic was not implemented. (2ecc042)

Thread

  • Supported hardware reset RCP while processing RCP failure for the example ot_br (b544acb)
  • Added an API to to set RCP version string (b46c030)
  • Fixed SRP server to support zero number of subtype item when updating service (9e58ddd)
  • Added Thread connect support in protocol_common component (ad6fd3f)
  • Supported otPlatRadioGetPreferredChannelMask, added a configuration to set the preferred channel mask. (8b5008b)
  • Fixed the conflict in the DNS hook when both Wi-Fi and Thread are enabled (53a38bd)
  • Added set dns server address API for Thread network interface (53a38bd)
  • Released Thread BR lib based on IDF v5.3 branch (fde54d5)
  • Supported custom header file for openthread configuration (3a4396b)

Application Utilities

  • Fixed build errors when only TLS 1.3 is enabled (48a7476)

App Update

  • Introduced esp_ota_resume API for managing OTA resumption scenarios. (eb9019a)

ESP HTTP Client

  • Include port number to the URL returned by the API esp_http_client_get_url(). (74b2b39)
  • Fix connection close condition check for a case where no explicit errno is set (#14724) (8ce6ba1)

ESP HTTP Server

  • Added support to handle HTTP 1.0 requests for legacy compliance purpose (de65ee5)

Provisioning

  • Update security2 scheme to fix the incorrect AES-GCM IV usage (352c4de)
  • Security2 scheme has been updated for AES-GCM IV usage. Please refer to security2 scheme documentation for changes required on the provisioning entity side. (352c4de)

BLE

  • Fixed crash in BLE HID host example during logging (0b7cbb4)

BluFi

  • Enhanced security in BLUFI example. (5f78978)
  • Fixed crash issue during memcpy in example. (4b4bc91)
  • Fixed potential out-of-bounds memory access issue in Blufi example. (3b92422)
  • Fixed crash issue in Blufi example during prepare write operation. (14075e8)
  • Fixed Blufi initialization failure after deinitialization on ESP32(#14898). (0b7cbb4)

Bluedroid

  • Supported BLE vendor hci event reporting (9bc2bab)
  • Supported BLE setting vendor event mask (9bc2bab)
  • Supported SPI log output options for HCI. (5db0534)
  • reduced bluedroid host bin size (af4ad22)
  • Fixed ADV data and scan response data not reported together in BLE active scan. (4aa1a37)
  • Supported change HID task size by Kconfig in HID example(#15320). (d4bb0e2)
  • Optimized the references to BLE GATT related APIs. (d0a157e)
  • Added BLE get started examples for Bluedroid. (4dd4435)
  • Fixed the issue where the BLE channel selection algorithm event was not reported. (ede55da)
  • Fixed event reporting upon completion of preferred connection parameter settings. (ede55da)
  • Added config for saving BLE bonding keys to NVS flash. (a0fdc9f)
  • Fixed BLE create connection failed because of invalid own address type. (0a49e28)
  • Added BLE 5.0 throughput examples. (52066e6)

Controller

  • Added definitions for bluetooth hci vendor commands and events (07f4ff8)
  • reduced controller bin size for ESP32-C3 and ESP32-S3 (5a170df)
  • Added BLE debug log module on ESP32-C3 and ESP32-S3. (eddaf03)
  • Added channel assessment function on ESP32-H2 and ESP32-C6. (d76e076)
  • Added continuous connection function when instant pass issue triggers on ESP32-H2 and ESP32-C6. (d76e076)
  • Fixed the issue where disconnection events were not reported as a slave on ESP32. (6fd6c4d)
  • Enhanced Access Address validation in compatibility mode on ESP32. (6fd6c4d)
  • Fixed scan duplicate filter failure when receiving ADV_DIRECT_IND for ESP32-C2. (0c8da9f)
  • Fixed an occasional assertion issue when msys memory cannot be obtained on ESP32-C6 and ESP32-H2. (403a3e0)
  • Fixed an issue where the default tx power of connection is incorrect after setting the scan tx power on ESP32-C6 and ESP32-H2. (403a3e0)
  • Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C2. (403a3e0)
  • Updated the BLE rom.ld file for ESP32-C2 v1.0, v1.1, v1.2 and v2.0. (403a3e0)
  • Supported for putting ble code into flash on ESP32-C6 and ESP32-H2. (403a3e0)
  • Fixed an issue that failed to establish a connection using a resolvable private address on ESP32-C6 and ESP32-H2. (403a3e0)
  • Fixed an occasional ACL disconnect issue under multiple connections on ESP32-C6 and ESP32-H2. (403a3e0)
  • Added config to enable/disable BLE channel assessment and ping procedure on ESP32. (171a0b9)
  • Fixed BLE assert in lld_evt.c at line 2353 on ESP32. (171a0b9)
  • Fixed interrupt watchdog timeout when shutdown BT controller on ESP32. (171a0b9)
  • Support resolving peer RPA to identity address when creating connection on ESP32-C3 and ESP32-S3. (608ac0b)
  • Fixed peer address type error in HCI LE meta event on ESP32-C3 and ESP32-S3. (608ac0b)
  • Resolved assertion failure “assert lld_scan.c 1728, param 00000000 00000000” on ESP32-C3 and ESP32-S3. (608ac0b)
  • Fixed BLE assert rwble.c 505 param 00400010 on ESP32-C3 and ESP32-S3. (608ac0b)
  • Fixed setting random address failed when extended advertising is enabled on ESP32-C3 and ESP32-S3. (608ac0b)
  • Added parameter validation for Periodic Advertising Enable on ESP32-C3 and ESP32-S3. (608ac0b)
  • Provided DTM configuration command in HCI example. (505a359)
  • Fixed that the resolvable private address does not change when light sleep is enabled on ESP32C3 and ESP32S3 (73c6ff0)
  • Added a verification step for the Access Address within the CONNECT_IND PDU on ESP32-C3 and ESP32-S3. (73c6ff0)
  • Fixed BLE 5.0 duplicate scan issue for chained packets on ESP32-C3 and ESP32-S3. (73c6ff0)
  • Fixed an occasional ACL disconnect issue with long running time on ESP32-C2. (77d0629)
  • Fixed an occasional ACL packet loss issue when Central frequently sends data on ESP32-C2. (77d0629)
  • Fixed an occasional WDT issue with long running time on ESP32-C2. (77d0629)
  • Removed BLE creating connection assertion when the connection already exists on ESP32. (78b9bfe)
  • Fixed BLE assert ke_mem.c 267 on ESP32-C3 and ESP32-S3 (2cb1dbd)
  • Fixed an issue where the scan window occasionally became smaller than expected when light sleep was enabled on ESP32-C2. (e1c1bef)
  • Fixed an issue where extended scan failed to correctly set the coexistence scheme status on ESP32-C2. (e1c1bef)
  • Fixed an occasional issue where ADV fails to transmit on channel 38 on ESP32-C2. (e1c1bef)
  • Fixed a occasional wdt issue in multi-connection scenarios on ESP32-C6. (69e8c4a)
  • Fixed an occasional ACL disconnect issue when updating connection parameters on ESP32-H2. (69e8c4a)

Documentation

  • Added Bluetooth SIG Qualification information to API Guides. (9bf938c)

NimBLE

  • Handle application code compilation issue due to removal of link_estab structure (f6997a7)
  • Added change to update controller data length upon connection creation. (f6997a7)
  • Deprecate BLE_GAP_EVENT_LINK_ESTAB event. (e53eed0)
  • Handle not sending disconnect event if connect event was not sent (92cf656)
  • Add offset in GATT server long read context (4dd97f4)
  • Restart adv / sync when periodic sync fails due to 0x3E (a106371)
  • Enhanced error handling by adding to print core error definitions (b80c387)
  • Fixed nvs corruption due to BLE_ENV_ADV_DATA flag (75dbaca)
  • Address compilation issue observed when WARN_WRITE_STRINGS is set . [ PR: https://github.com/espressif/esp-nimble/pull/84 ] (cb0501e)
  • Updated README.md by removing unclear line (#15284) (36cf635)
  • Handle nested locks when BT_NIMBLE_DEBUG enabled (#15014, #15294, #15202) (ed91973)
  • Fix compilation warnings in nimble examples. [ Closes https://github.com//issues/15157 ] (10db90a)
  • Clear our and peer security records cleanly during unpair. (ce5ac95)
  • Additional PAwR changes support for ESP IP (ce5ac95)
  • Reset global variables during link disconnection (ce5ac95)
  • Added HCI Read Remote Version Information command. (ce5ac95)
  • Corrected storing method of csfc to nvs (ba0b5b0)
  • Fixed coverity reported issues. (326e101)
  • fix(nimble): Save the gatt context in case of preemption (69129b3)
  • Fixed compilation issue for combination of Ext Adv and Reattempt connection flag. (05b7732)
  • Add ATT Tx queue cleanup during link disconnection (c889978)
  • Fix compilation issues when BLE_MAX_STORE_BOND is set to 0. [ https://github.com//issues/14712 ] (98f9bdb)
  • Added a check for invalid offset (c21e1af)
  • Added change to assign correct peer OTA address type (13a627e)
  • Fix memory leak issue in Blufi example (2d965b6)
  • Updated print function for printing HCI error definition (a949e02)
  • Changing esp_rom_printf to ESP_LOGI when memory allocation fails (0810203)
  • Corrected link_estab event handling parameters (27fb5d4)
  • Added fixes for CVE-2024-(47248/47249/47250/51569) vulnerabilities for nimble (c46dac6)
  • Added a function for printing HCI error definition (8b9f7cb)
  • Add support for Multiple Variable Length Notifications. (89cf76a)
  • Add support for Multiple EATT bearers. (89cf76a)
  • Added support of LE GATT Security Level Characteristic (89cf76a)
  • Fixed Device Information, Battery Level service and Scan Parameters (89cf76a)
  • Fixed issue in L2CAP regarding incorrect comparison between SDU length and MTU/MPS (89cf76a)
  • Added menuconfig option to enable SC only mode. (89cf76a)
  • Added fix to clear IRK from controller when clearing keys from NVS during signed write operation (89cf76a)
  • Add support for ATT over Enhanced L2CAP Credit Based Flow Control Mode. (89cf76a)
  • Fixed memory issue in multiple L2CAP COC connections. (89cf76a)
  • Added support for AD Types Advertising Interval - Long, LE Supported Features, and Encrypted Advertising Data (89cf76a)
  • Added menuconfig option to enable L2CAP Enhanced COC (89cf76a)
  • Fixed issues in connection subrating request. (89cf76a)
  • Fixed crash issue in read multiple variable length callback (89cf76a)
  • Added support for PAwR feature (89cf76a)
  • Added host config to enable/disable SC Only mode (89cf76a)
  • Replace ESP_LOG* with esp_rom_printf in controller context callback (63ca3b2)
  • Nimble Error logs in case of memory overflow/failure (8f24c22)
  • Fix compilation issue in esp_hid_host example (40ce8d7)
  • Removed min/max macro definition from os.h (#14840) (d3be713)

Bluetooth Common

  • Starting from this version, Espressif's Bluetooth vendor-specific HCI commands and events for all ESP Bluetooth chips are disabled by default in HCI UART mode and non-ESP host mode. Please refer to esp_bt_vs.h (E.g., components/bt/include/esp32/include/esp_bt_vs.h) for detailed information . (07f4ff8)
  • Added support for converting BT HCI logs to btsnoop format. (0b7cbb4)

Bluedroid

  • Set default value of BT_BLUEDROID_ESP_COEX_VSC to n if software coexistence is not required, (489d7a2)

Controller

  • Fixed the issue that disable Bluetooth controller may cause interrupt watchdog timeout on ESP32 (142a632)
  • Disable debug vendor HCI command on ESP32. (efec039)
  • Added API to get/set low power clock source on ESP32 (0c1a7ad)

Build & Config

  • Support component property COMPONENT_SOURCE which determines the override precedence among the components with the same name (fa7bbbb)

Classic Bluetooth

Bluedroid

  • Add Kconfig option to keep device bonding information when HID virtual cable unplugging (73d6bd7)
  • Fixed incorrect record found when SDP searches using uuid16 (2abf7c6)
  • Fixed error type returned when searching for service records of SIM Access Profile(SAP) in SDP (2abf7c6)
  • Add Kconfig options for setting of SDP attribute length (#15321) (af429c8)
  • Added HFP callback event for notification of profile ON/OFF state (e3940cb)
  • Fixed the incorrect service UUID in the callback parameter of ESP_SDP_SEARCH_COMP_EVT due to byte alignment issue (6c02672)
  • Disconnect SDP connection on receiving incorrect response or the ACL connection will never be released (b9c4d3f)

Controller

  • Fixed assessing NULL pointer in case of handling earlier message when Bluetooth Classic connection gets disconnected (#15128) (efec039)
  • Avoid accessing released ACL resources in SCO logic on ESP32 (efec039)
  • Fixed missing critical protections on linked-list structure of (e)SCO buffers on ESP32 (354c0f5)
  • Fixed the issue that command HCI_Create_Connection_Cancel is rejected and returned inappropriate error code in some states on ESP32 (93178f2)
  • Fixed the issue where the pause and resume encryption requests were not initiated after the link key upgrade completion on ESP32 (93178f2)
  • Fixed zero attempt value set by role switch which cause fatal hardware error on ESP32 (93178f2)
  • Fixed missing of critical protection for the free method of (e)SCO buffers on ESP32 (93178f2)
  • Fixed duplicated encryption restart process when new link key type is semi-permanent key on ESP32 (93178f2)
  • Fixed the issue where HCI_Encryption_Change was not reported to host after changing the key type, even when the encryption mode was correctly changed via HCI_Set_Connection_Encryption command on ESP32 (93178f2)
  • Fixed the issue ACL is stopped too early before eSCO on ESP32. This issue can cause ACL Perihperal to be unable to receive acknowledgements from the ACL Central, resulting in an infinite retransmission of a certain packet on the Peripheral side. (633dbb3)

Coexistence

  • Add coexistence scheme for BT Inquiry/Page coexist with WIFI (fbddf2a)

Core System

  • Fixed linker script for ESP32-C3, ESP32-S2 and ESP32-S3, reducing Flash usage by up to 512 bytes. (7b0c6f4)
  • Fixed implementation of __atomic_test_and_set to be atomic (6fc4567)
  • Fixed esp-ringbuf logic errors when compiling with clang_analyzer (f53b071)
  • Corrected the address used to fetch the application image header during system startup (ecc5f36)

ESP Event

  • Fixed event profiling not logging execution time and invocation number (#15041) (780dc81)

Heap

  • Fixed wrong memory returned when allocating in RTC memory with MALLOC_CAP_EXEC capability (see #14835) (ca8638a)
  • Added MALLOC_CAP_SIMD flag to allocate memory that is suitable for SIMD instructions (57061d6)

Interrupts

  • Made the NMI interrupt free to use on Xtensa targets and added an example to show how to use it (#13629) (cb8d179)
  • Fixed wrongly reserved interrupt for WiFi on ESP32-H2 (4745d09)

Log

  • Moved esp_log_writev to IRAM (79bf6ac)

Watchdogs

  • Fixed an issue on ESP32-P4 causing unexpected WDT resets and preventing halting after a panic when CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT set (25347b5)

Debugging

  • Moved gdbinit files generation to CMake configuration stage (22162a4)
  • Added "--gdb-commands"/"-x"/"-ex" options for "idf.py <gdb|gdbgui|gdbtui>" to pass custom options to GDB (22162a4)

Apptrace

  • Fixed the issue where the Segger SystemView app (v3.10 or later) gets stuck during the record analyzing step. (#10483) (0a62a90)

Core Dump

  • Fixed potential checksum errors by using a buffer to write to flash. (19884eb)

Documentation

  • Changed PDF download link to a HTML zip archive download (c8f9ced)

Ethernet

Examples

  • Fix second Ethernet device not getting IP address in Ethernet basic example (f98328e)

FreeRTOS

IDF Additions

  • Fixed a bug in prvTaskDeleteWithCaps that resulted in a crash if the task used a coprocessor. (4b43d63)
  • Fixed a bug wherein a no-split ring buffer does not receive any item if space on the buffer is acquired until the buffer is full and the acquire pointer wraps around (#14948) (c042aad)

LWIP

  • Fixed ping component to retrieve network interface name in a TCP/IP thread safe manner (#14982) (33923d3)
  • Fixed a bug in dns_clear_cache() that caused deadlock by clearing active DNS entries(#14287). (12938e5)
  • Fixed IPv6 raw socket ICMPv6 checksum calculation in IPv6-only configuration (0986682)

ESP Netif

  • Fixed esp_netif bridge glue layer for targets with no WiFi support (b7d6d74)

TCP

  • Fixed unlimited PCB issue, allowing application to allocate more TCP connections than configured (#9670) (8d9d109)
  • Updated mechanism to recycle PCBs also in FIN_WAIT_1 and FIN_WAIT_2 states (8d9d109)

Low Power Features

  • Fixed the issue that esp32c2 may fail to wake up after entering deepsleep with external 32 kHz oscillator. (064f63d)
  • Fixed the issue that accessing external storage (Flash/PSRAM) after waking up from light sleep may get wrong data when ESP_SLEEP_KEEP_DCDC_ALWAYS_ON is not enabled on ESP32-P4. (fed7e38)
  • Added sleep duration validity check in esp_sleep_enable_timer_wakeup. (#15255) (1698a58)

ULP

  • Fixed the issue that riscv type ULP contains redundant GPIO definition which causes compilation failure (#15219) (e3e7243)

Networking

Examples

PHY

  • Optimization of RX calibration in high-interference environments (709c922)
  • Supported PHY changes for ESP32-H2 ECO5 (d043df3)

Peripheral Drivers

  • Supported to skip legacy driver conflict check (#13938) (bfac3bf)

ADC

  • Fixed ADC function register not reset issue on ESP32H2, C6 (85cf4c2)
  • Fixed adc_cali_check_scheme return wrong supported scheme issue on ESP32-C2/H2/C6 (9322f7b)
  • Fixed ADC monitor don't work issue. (#14769) (0a47570)

Camera

  • Added camera/dvp_isp_dsi example that uses a camera sensor with ISP_DVP interface (e4762af)

DMA

  • External memory encryption should not affect internal memory alignment (#15228) (a698b26)
  • The asynchronous memory copy driver now supports destination addresses that are not aligned to the cache line size. (33cc365)
  • Improved the CP-DMA performance from 480MB/s to 520MB/s on ESP32S2. (c7c4d33)

GPIO

  • Fixed the issue that configuring RTCIO as GPIO causes other initialized RTCIO to function abnormally on esp32s2 & esp32s3. (#10404, #12681) (c327f4c)
  • Fixed gpio_dump_io_configuration API name typo in programming guide (#15031) (a5581e8)
  • Patched the esp_rom_gpio_connect_out_signal function on ESP32 and ESP32S2 to avoid potential output glitch (#12826) (cfa4a3a)
  • Fixed GPIO reserves 8 data lines while connected to Quad Flash on ESP32-S3 (883829f)

GPTimer

  • The start and stop functions are now idempotent (#12325) (53ecffa)
  • Fixed race condition between gptimer_start and gptimer_stop (#14767) (e673b17)

I2C

  • Fixed clock speed is wrong on esp32s2 with legacy i2c driver (#15301) (4d88d8e)
  • Add 10bit address support on esp32 (9b2d46f)
  • Enhance lp i2c clock source selection (#14098) (9b2d46f)
  • Fixed I2C return without release the lock (#14906) (9b2d46f)
  • Reduced the chance of I2C data corruption due to hardware issue in FIFO handling (#12860) (9b2d46f)

I2S

  • Fixed i2s_std initializer order for cpp compiler and guarantee all initializers cpp compatible (#15405) (7354091)
  • Fixed clock not update issue when re-configure the slot (#15256) (400b1e5)
  • Fix uninitialize warning for the default macros (#15271) (400b1e5)
  • Fixed incorrect DMA buf size calculation for 8-bit & 24-bit data width. (cfea4f7)
  • Refactor I2S example common dependencies, make them an example common component (#14751) (cfea4f7)
  • Supported to choose PA_CTRL gpio for i2s_es8311 example. (cfea4f7)
  • Fixed es8311 example has no sound on P4 EV board when using the default configuration (#14297) (cfea4f7)
  • Report error when the division from clock source to MCLK is less than 2 (because mclk_div at least to be 2 in hardware). (cfea4f7)
  • Removed the least 2 slots limitation for the PCM short format in TDM mode (#14879) (cfea4f7)
  • The max TDM frame bits have limitation on the chips C3, S3 and C6, add check for the TDM frame bits number to make sure it is valid. (cfea4f7)

JPEG

  • Fixed the com marker size when encoding a picture (50f4159)
  • Fixed get wrong gray information via get_information api (50f4159)

LCD

  • Fixed the issue that when Flash encryption is enabled, PSRAM buffer fail to mount to the DMA (#15228) (a916a25)
  • Fixed the issue that RGB_LCD stops working occasionally after software restart (f0fef3a)
  • Increased the upper limit of PCLK frequency for RGB LCD (a7781f3)
  • Fixed wrong calculation for the pixel clock in the ESP32-P4 LCD_CAM (a7781f3)
  • Fine tune MIPI DPHY PLL setting to generate the closest frequency (2c9ab21)

SPI_LCD

  • Speed up the DC signal toggling in the SPI LCD IO driver (#15160) (4d5a7c9)

LDO

  • LDO can output the voltage reaching power rail 3.3V (d7d3eb3)
  • Output voltage is calibrated with eFuse data (4cd2ba4)

LEDC

  • Fixed ledc_get_freq() returned frequency error due to calculation overflow (#14882) (ce3bc62)

MCPWM

  • Added description of special deadtime configurations and added checking in the driver(#14773) (0fa1c0e)

PARL_IO

  • Fixed line address error in simple rgb matrix example. (d47aa5b)

RMT

  • Supported to set slower channel resolution. (#14760) (67c6ae9)
  • Fixed the channel resolution divider rounding issue (#15092) (47a4af8)
  • Added a function to return the real clock resolution of a channel (#15074) (73a155f)

SD_HOST

SDMMC

  • Improved initialization of SD card relative address (RCA). (9e4d184)

SPI

SPI Master

  • Fixed SPI stop after remove devices which using RC_FAST as clock source on ESP32C6 and H2 (ae09425)
  • Supported rx sample point adjust using spi_device_interface_config_t::sample_point on esp32h2 v1.2 and later. (8f20eac)

SPI Slave

  • Fixed HD example and driver error with addr&len not align to 64 on ESP32-P4 (fb25eb0)

SPI Flash

  • Fixed build fail when rom_patch config disabled (#15229) (cac01ad)
  • Add a configuration to enable auto suspend status check to improve performance. (03a2fca)
  • New feature for software resume when auto-suspend enabled, improve performance (03a2fca)
  • Fixed double exception after Flash no-OS API caused by branch predictor on ESP32-P4 (8273d98)
  • Fixed Cache states not recorded issue when using Flash no-OS APIs on ESP32-H2/P4/C6 (8273d98)

TWAI

  • Fixed other node got BUS-OFF when twai init. (#14548) (4ff6e2c)

Temperature Sensor

  • Add temprature calibration support on esp32-c2, c6, h2, p4 (195d7f4)
  • Fixed the temperature sensor return wrong values ​​when ESP_WIFI_ENHANCED_LIGHT_SLEEP is enabled on esp32c6. (04afd65)

UART

  • Fixed the issue of UART wake-up failure caused by an incorrect UART wake-up threshold on the ESP32-C61 (731c461)
  • Allowed TX and RX configure to the same pin in uart_set_pin (#14787) (a5581e8)
  • Fixed potential UART_SELECT_READ_NOTIF race condition (a5581e8)
  • Eliminated glitch on TX at setup if TX signal is configured to be inversed (#14285) (cfa4a3a)
  • Changed UART VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size (120c2b0)
  • Changed UART VFS read() to treat end-of-line characters as regular bytes, with no early return (#14155) (120c2b0)

USB

  • Changed USB CDC VFS read() function to directly return with the bytes available, instead of waiting for more bytes to reach the requested size when in non blocking mode (fa4706e)
  • Added support for OTG1.1 PHY on ESP32-P4 (adf1474)

USB Host

  • Fixed panic on Full Speed periodic endpoints on ESP32-P4 (1de6022)
  • Fix reaction on High-Speed NYET packet (79b798c)
  • Added support for 2 USB instances on ESP32-P4 (3946fbb)
  • Fixed return value in the memory allocation failure case within `usb_host_client_register() #14859) (1ddebd1)

Power Management

  • Fixed the issue of abnormal leakage current caused by floating and isolation of the Flash or PSRAM CS pin during sleep (731c461)
  • Fixed the issue of cpu execution exception caused by floating and isolation of the Flash and PSRAM CS pin during sleep (731c461)
  • Fixed the JTAG IO current leakage issue when esp32p4 turns off RTC_PERIPH power domain in deepsleep (4e0cb9a)
  • Fixed the crash of esp_pm auto-lightsleep when PM_TRACE is enabled. (92e1c50)
  • Fixed esp32p4 USB OTG phy suspend failure causing high power consumption in light sleep. (0590d1c)
  • Support to query PHY RF used time. (c1e2b60)
  • Fixed bbpll cali fail bug under low temp on ESP32-H2. (bfe4d47)

Security

  • Fixed Memory protection interrupt check for ESP32S2 (PERI1 bus) (#15359) (6226e07)

ESP Cert Bundle

  • Add entry for "Sectigo - Comodo AAA Services root" in the common CA cert authority list. This fixes problem with server verification with GitHub endpoint. Regression introduced in e174fc9. (611b0f0)

Flash Encryption

  • Support XTS-AES pseudo round function on ESP32H2 chip version v1.2 (e1a023e)

MbedTLS

  • Support AES pseudo round function on ESP32H2 chip version v1.2 (e1a023e)
  • Fix external memory corruption caused due to unaligned length cache sync of external memory buffers (7963551)

Storage

NVS

  • Fix NVS partition being incorrectly marked as encrypted by the build system (2ee9805)

VFS

  • Fixed incorrect level of log messages (#14327) (313c340)
  • Fix incorrect open and close behavior for /dev/console (96d3dfb)

System Hardware

  • Fixed esp32s3 possible cache_error triggered by another core accessing flash in esp_restart (d5b8419)
  • Supported ESP32-H2 revision v1.2 (d05db915)
  • Supported ESP32-C2 chip rev2.0 (05e3e2c)
  • Postponed the time to turn CPU's PLL off in sleep process for C6/H2/P4 (86adcd9)
  • Internal RC32K clock is unstable at extreme temperatures and is not recommended for use. For ESP32C6, to continue to use RC32K clock as the RTC slow clock source now requires to select RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED Kconfig first; For ESP32H2/P4, this option is completely removed. (4c422b1)
  • rtc_clk_cpu_freq_set_xtal should always disables CPU's PLL, fixed the behavior for C6/H2/P4 (e62af45)

Cache

  • Fixed L1-to-L2 Cache auto-writeback stuck issue when L2 Cache is suspended (e.g. when in DFS) (517e489)

Efuse

  • Added efuse ADC calibration fields for ESP32-P4 (3abe326)

MMU

  • Fixed esp_mmu_vaddr_to_paddr cannot figure out virtual addresses from PSRAM issue on ESP32P4 (c1b32c8)
  • Supported call esp_mmu_paddr_find_caps with any physical address offsets (#14988) (30d1ae3)
  • Fixed spi_flash_cache2phys return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled (0d73471)
  • Fixed spi_flash_phys2cache return addr in PSRAM issue when SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled (0d73471)

MSPI

  • Fixed CPU and MSPI frequency mismatch issue leading to watchdog reset during sleep flow on ESP32P4 (4d62ea0)

PSRAM

  • Fix incorrect calculation of used XIP PSRAM pages that lead to wastage of some physical pages of PSRAM thus leading to increase in available heap. (8685219)
  • Fixed bad timing when reading mode registers on Octal and Hex PSRAMs (09abea3)
  • Fixed ESP32 PICO-V3 psram enabled but not ignored issue (#14970) (ca6ade8)

TCP Transport

  • Fixed API to correctly handle error conditions when the server sends data and an error simultaneously. (#14673) (562ca9f)
  • Fixed partial reads of Websocket header (#14704, #14706) (e84fb07)

Tools

  • Avoided generating intermediate placements without sections in ldgen (dc36761)
  • Enforced utf-8 encoding with Python open() function. (bc92458)
  • Added DFU support for ESP32-P4 (3652281)
  • Improved suggestion for fixing missing header file (67e7a93)
  • idf_tools.py: pip and setuptools are upgraded separately so the setuptools version dependency would be handled by the upgraded pip (ce79ad5)
  • Used the --unify option with esp-idf-size to combine sizes for same output sections, such as .bss (3a3396d)
  • Displayed additional details if imports in idf.py are unsuccessful (5ce9a7f)

WI-FI

  • fix channel in rx_ctrl is zero when using sniffer (51fafde)
  • Add the missing brackets for the C++ guards for a few header files. (#14991) (b2f08a8)
  • Fixed the delete queue error in ESP-NOW example (#15383) (752c5e6)
  • Fixed the mesh connection failure in WPA3 mode after erasing flash (#14095) (adf5319)
  • prevent compilation of Wi-Fi-related components when Wi-Fi is not supported (77eaf67)
  • support 80211 tx using 11ax or 11ac rate to send (77eaf67)
  • Fix configuration related to SPIRAM_IGNORE_NOTFOUND (ca96127)
  • fix ap bandwidth is unknown in scan results (e2671cb)

MAC

  • Fixed the issue of disconnection from the AP due to ERSU compatibility. (a342783)
  • Fixed the issue of failing to scan channel 14 using bitmap. (7d8b308)
  • Add support for transition disable for softap (325b4f4)
  • Fix esp32c6 max_idle period is 1 cause watchdog issue (8c4d246)
  • Fixed disable external coexist fail issue. (e40304b)
  • Fix the issue of failing to connect to a shared WEP AP. (e40304b)
  • Add gpio output set command for cert test. (e40304b)
  • Prevented the use of incorrect channel list during simultaneous scans. (edd28f9)
  • Added new event 'WIFI_EVENT_AP_WRONG_PASSWORD' in softAP to indicate stations trying to connect with wrong password. Applicable for authentication modes WPA-PSK, WPA2-PSK and WPA3-PSK(SAE). (830b5c5)
  • Fixed issue of increased stack usage when 'failure_retry_cnt' is set in station configuration and Wi-Fi driver internally re-tries connection attempts (830b5c5)
  • Fix incorrect ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME (c7ad8d7)
  • Update coexistence power management period when Wi-Fi ps type being changed (c7ad8d7)
  • Fixed the issue of inaccurate calibration warning information.(#14963) (8e54a6c)
  • Fixed the issue of Blufi connecting to WPA or WEP routers failing. (8e54a6c)
  • Added support to recognize AP advertising WPA3-Enterprise-Only and WPA3-Enterprise-Transition Mode capabilities with 'WIFI_AUTH_WPA3_ENTERPRISE' and 'WIFI_AUTH_WPA2_WPA3_ENTERPRISE' authmode, respectively. (e7caff5)
  • Change softap default dtim_period to 1 (ca96127)
  • Fixed wrong reason code when softAP application issues a disconnect for station (e5b7c29)

Supplicant

  • Resolved WPS connectivity issue that caused failures when the station was already connected (9e2dc78)
  • Added some implementation changes in roaming. (325b4f4)
  • Fixed memory corruption in Wi-Fi enterprise, fixed #15370 (2ff653b)
  • Fixed memory leak occurring in SAE PK connection. (8835b4d)
  • Reduced WPS scan frequency to make it easier for users to enter the PIN on the AP. (a46ac40)
  • Fixed issues reported by the static analyzer on GitHub (#15097, #15098, #15099). (a7ce020)
  • Enabled EAP workarounds by default (bb8c993)
  • Fixed assoc reject after WPS session (6adf3f7)

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.