Skip to content

Releases: espressif/esp-idf

ESP-IDF Release v5.0.7

14 Aug 18:56
v5.0.7
Compare
Choose a tag to compare

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

ESP-IDF v5.0.7 is a bugfix update for ESP-IDF v5.0.

Obtaining v5.0.7

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

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

Using git

To get this release, use the following commands:

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

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

Download an archive with submodules included

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

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

Major changes

Major Bug Fixes

  • SPI Flash: Fixed stuck during spi_flash operation when a task was not pinned to a certain CPU. (f0c2da6)

Changelog

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

App Update

Added

  • Updated esp_ota_revoke_secure_boot_public_key to validate the new app and the bootloader before key revocation. (68c450d)

App Utils

Changed

  • Updated cJSON version to v1.7.18 (d962b76)

Fixed

  • Added check for LWIP_NETIF_LOOPBACK in the HTTP server control socket API (#13659) (3043a83)
  • Fixed allocating if_name in client context multiple times (#13945) (6a28414)
  • Fixed esp_http_client to reset redirect_counter after completion of a request (#13633) (3043a83)
  • Fixed incorrect processing of HTTP header (#13497) (9d1abd7)
  • Fixed esp_http_client digest auth without qop (5af8e88)
  • Esp Prov: Fixed incorrect input decoding when using console transport (bf87512)

Bluetooth Low Energy (BLE)

Fixed

  • Example: Use correct struct type in discover service complete event in examples/bluetooth/bluedroid/ble/gatt_client. (d388c85)
  • Example: Fixed UART HCI when flow control is off in examples/bluetooth/hci/controller_hci_uart_esp32c3_and_esp32s3. (7a649e8)

Bluetooth Low Energy Controller

Added

  • Supported ESP32-C2 light sleep using an external 32.768 kHz oscillator at pin0 as a slow clock source. (2796f01)
  • Added CCA-related config option on ESP32-C2 (2796f01)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (3b6ee15)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Added BLE scan backoff config in menuconfig on ESP32 (dd61b7e)
  • Removed error print when disconnection again if the disconnection procedure is ongoing on ESP32 (dd61b7e)
  • Added support for configurable default TX power on ESP32-C2. (4a46dce)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C2. (2796f01)
  • Optimized BLE notify and write throughput performance on ESP32. (d156502)
  • Optimized BLE event reporting time for connection failures (9a0c562)
  • Changed the level of BLE interrupt to avoid allocation failure on ESP32S3. (13033ac)

Fixed

  • Fixed HCI command status event sent when LLCP is busy on ESP32 (d388c85)
  • Fixed HCI command status event sending for disconnection command on ESP32 (d388c85)
  • Fixed LE transmitter test command parameters check on ESP32 (d388c85)
  • Fixed an occasional assertion issue when enabling multiple periodic adv on ESP32-C2. (b1992f1)
  • Fixed adv interval range limit error issue on ESP32-C2. (b1992f1)
  • Fixed an occasional assertion issue when disabling the Controller on ESP32-C2. (b1992f1)
  • Fixed scheduling when modem sleep wakeup is delayed on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed BLE IRQ FIFO overflow when entering critical on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed clock sync timeout when exiting modem sleep on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed directed adv with RPA when privacy was disabled on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed instant passed when connection updating or PHY updating on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed BLE TX count in direct test mode on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed BLE modem sleep enter failed sometimes on ESP32-C3 and ESP32-S3. (0c555c9)
  • Fixed an occasional assertion issue during slave connection in WiFi coexistence scenarios on ESP32-C2. (38aef77)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. (2796f01)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Fixed BLE scan assert on ESP32 (#8532) (dd61b7e)
  • Fixed BLE assert when receiving packets on ESP32 (dd61b7e)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3 (dd61b7e)
  • Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) (d156502)
  • Fixed BLE connection timeout issue after using DTM on ESP32. (d156502)
  • Fixed assert issue caused by DPORT access on ESP32. (d156502)
  • Fixed event_type parameter error in LE Extended Advertising Report event when using Extended scan to receive SCAN_RSP PDU on ESP32-C2. (b6f8340)
  • Fixed the issue where the HCI_LE_Set_Extended_Scan_Parameters command returned an invalid parameter error status when setting the scan interval and scan window parameters to values that are greater than 0x4000 or less than 0xFFFF on ESP32C2. (b6f8340)
  • Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. (bb71e79)
  • Fixed the issue where RPA did not re-generage after each reboot on ESP32-C3 and ESP32-S3. (bb71e79)
  • Fixed BLE scan backoff on ESP32 (d4f35fc)
  • Fixed BLE coexistence assert on ESP32 (961ca4f)
  • Fixed BLE DTM status and TX count error on ESP32 (961ca4f)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. (fb12a68)
  • Use embedded assembly to get access to DPORT registers on ESP32 (dd61b7e)
  • Fixed a memory leak in advertising data after restarting advertising on ESP32-C3 and ESP32-S3. (ef922dd)
  • Fixed BLE interrupt allocation using system API on ESP32-C3 and ESP32-S3. (ef922dd)
  • Fixed BT BB interrupt allocation on ESP32-C3 and ESP32-S3. (ef922dd)
  • Fixed controller task blocking issue when using UART HCI on ESP32-C2. (8d86ea0)
  • Prevent BLE interrupt from being preempted on ESP32-C3 and ESP32-S3. (7109734)
  • Fixed the issue where RSSI is incorrect when the peripheral latency for the connection is not zero (7109734)
  • Fixed HCI not returning 0x45 when adv interval and data length mismatch on ESP32-C2. (8599e25)
  • Fixed occasional cache error crash in the DTM process on ESP32-C2. (8599e25)

ESP Bluedroid Host

Added

  • Added bluerooth HCI layer data stream record (6d63daa)
  • Added APIs for BLE direct test mode (6d63daa)
  • Added API to send vendor HCI command (6d63daa)
  • Added API to add BLE devices to the resolving list (2233d54)
  • Support creating BLE static random address and NRPA (2233d54)
  • Support API to set resolvable private address timeout (2233d54)
  • Added support for setting BLE privacy mode for peer devices. (6d288ef)
  • Added definitions for BLE authentication failure reasons. (ef922dd)
  • Added support for BLE 5.0 instances in related events (a8f8936)
  • Added the check for setting BLE advertising parameters when deleting GATTS services (a8f8936)

Changed

  • Updated maximum BLE reconnection attempts configuration (597a7d1)
  • Optimized BLE SPP example for improved compatibility (2233d54)

Fixed

  • Fixed the issue where advertising does not restart due to disconnection reason 0x3e (6d63daa)
  • Fixed crash when calculating GATTS database hash (d388c85)
  • Fixed BLE crash when repeatedly initializing and deinitializing host (ffdd5dc)
  • Fixed BLE periodic advertising to create sync parameter check error (ffdd5dc)
  • Fixed xQueueSemaphoreTask assert when deinitializing host during scan (d253654)
  • Fixed BLE appearance category ranges (#13626) (4ae73b7)
  • Fixed BLE GATT max length of an attribute value (2233d54)
  • Fixed the issue where the BLE data length change event was not triggered when the packet length was modified on the other connected device. (9e49bf8)
  • Fixed BLE security vulnerability when using fixed local IRK. (ef922dd)

Removed

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

ESP BLE Mesh

Changed

  • Improved BLE mesh deinitialization procedure when using NimBLE Host (48570f5)

Fixed

  • Fixed an issue that could cause incorrect transmission resources to be released (6ed2802)
  • Fixed potential deadlock may happened during initialization when using Bluedroid Host (432f1ff)
  • Fixed issue where the mesh deinit complete event may not be reported when using NimBLE Host (1505232)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh stack (55adcbf)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh examples (55adcbf)
  • Fixed using wrong type value for ADV_NONCONN_IND in NimBLE Host adapter (1cc35f0)

ESP NimBLE Host

Added

  • Added support for periodic ADV feature updates in BLE 5.3 (4...
Read more

ESP-IDF Release v5.3

25 Jul 08:06
v5.3
Compare
Choose a tag to compare

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

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

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

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

Download an archive with submodules included

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

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

Major changes

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

Major New Features

Support for New SoCs

ESP32-P4
  • Low Power System
    • Low Power Core (RISC-V)
    • Low-power GPIO
    • Low-power I2C Master
    • Low-power SPI
    • Low-power Timer
    • Low-power UART
    • Low-power Watchdog Timer
  • Peripherals
    • ADC
      • ADC continuous mode driver
      • ADC oneshot mode driver
    • DMA (Direct Memory Access)
      • 2DDMA
      • DMA channel allocator
      • GDMA
        • CRC Calculator
      • GDMA2
    • Ethernet driver
      • SPI Ethernet driver
      • internal MAC driver
    • Event Task Matrix
    • GPIO driver
      • Analog Comparator
      • GPIO ETM
      • Glitch Filter
      • RTC IO (LP IO) driver
    • GPIO sigma delta driver
    • GPSPI
      • SPI Master driver
      • SPI Slave HD driver
      • SPI Slave driver
    • GPTimer driver
    • H264 Encoder
    • I2C
      • I2C master driver
      • I2C slave driver
    • I2S
      • I2S driver
        • I2S PDM rx mode
        • I2S PDM tx mode
        • I2S STD mode
        • I2S TDM mode
      • I2S legacy driver
    • JPEG
      • JPEG Decoder Driver
      • JPEG Encoder Driver
    • LCD driver
      • MIPI DSI
    • LEDC driver
      • Gamma Curve Generation
    • MCPWM driver
    • MIPI CSI
    • PCNT driver
    • PSRAM
      • PSRAM Device Driver
      • XIP PSRAM
    • Parallel IO
      • Parallel IO RX Driver
      • Parallel IO TX Driver
    • Pixel Processing Accelorator Driver
    • RMT driver
    • SD/SDIO/MMC driver
      • SDMMC Host driver
      • SDSPI Host driver
    • SPI Flash driver
    • Systimer driver
      • Esptimer implementation over systimer
      • OS tick port over systimer
    • Temperature Sensor driver
    • Touch Sensor driver
    • UART
      • Support Low Power UART instance
      • UART FIFO mode driver
    • USB OTG
      • USB Device (TinyUSB) driver
        • USB 2.0 Device Support
      • USB Host driver
        • USB 2.0 Host Support
    • memory copy by DMA
  • Power management
    • Auto Light Sleep
    • Deep Sleep
    • Dynamic Frequency Switch
    • Light Sleep
  • Security Features
    • AES accelerator
    • Digital Signature driver
    • ECC accelerator
    • Flash encryption
    • HMAC driver
    • RNG
    • RSA hardware accelerator driver
    • SHA accelerator
    • Secure boot
  • System Features
    • Bootloader Support
    • Cache
      • Cache Driver
    • Console
    • Cxx Component
    • ESP Event
    • ESP ROM
    • ESP Ringbuffer
    • ESP Timer
    • Efuse controller driver
    • Floating Point Unit
    • FreeRTOS
    • MMU
    • MSPI
      • MSPI tuning (Flash & PSRAM DDR and/or over 80 MHz)
      • SPI Flash auto suspend
    • POSIX Threads
    • Panic Handling Features
      • Core Dump
      • Debug Watchpoint
      • GDB Stub
      • Panic Handler
      • Stack Guard
    • Ram App
    • TCM
    • Watch Dog Timers
    • newlib
  • Wireless Expansion
    • Bluedroid Host
    • NimBLE Host
    • ESP8689 SDIO/SPI driver
    • Coexistence

Other Features

  • Supported external Wi-Fi connections for ESP32-P4 and other espressif chips. (3f486c4)
  • Added support for merging hosted Wi-Fi solution in esp_wifi component. (2a6b3df)

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Known Issues

  • Linker issue [VFS/FatFS]: multiple definitions on directory manipulation routines when using std::filesystem namespace. The issue shall be fixed soon. For the meantime, please avoid using std::filesystem or use the patch mentioned here #13736 (comment). See also #14174
  • For ESP32-P4, the data in PSRAM will be destroyed during lightsleep.
  • For ESP32-P4, CPU frequency switching has become slightly slower when the DFS is used.

Changelog

802.15.4

802.15.4 MAC

Added

  • Added the pending tx while rx feature (d499ba4)
  • Added the feature of received done handler (f3039dd)
  • Added ieee802154 examples (bae3c28)
  • Added packets statistic of IEEE802.15.4 (b516012)
  • Added 802.15.4 coex break notification (fdf5783)
  • Supported IEEE802.15.4 MAC deinit (45f95e3)

Fixed

  • Fixed pending tx will be delayed issue (ac76d44)
  • Fixed the issue of not receiving packets when RSSI is positive in ESP32-H2 (0a1f378)
  • Fixed ieee802154 include header file issue and unused value issue (d022682)
  • Ignored bit8 for the frame length (6e2950d)
  • Updated to log the "buffer full" message in debug mode only (6e2950d)

Removed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Thread

Added

  • Added deep sleep support for SED (a66055f)
  • Added netif check when calling udp api (ff89cf5)
  • Added max csmabackoffs numbers for transmission via spinel (8edaa94)
  • Added cli support in openthread sleep example (c97077c)
  • Added state indicator in Thread examples (1e01517)
  • Added configure option for openthread address query (f9f32d4)
  • Added ESP Radio spinel for external protocol stack (3b44a59)
  • Added ESP OpenThread vendor commands support ( b44a596)
  • Supported rcp re-initialization (58992e2)
  • Supported the common console command in OT CLI (65c838b)
  • Supported openthread radio caps rx on when idle (e358506)
  • Supported setting netif_idx of udp pcb to no_index when binding UDP PCB to netif (d7b9a3b)
  • Enabled uart ISR in IRAM for UART RCP process (ac76d44)
  • Actively set raw pcb ttl value to 255 for icmpv6 message of border router (93d68c2)
  • Supported openthread ephemeral key feature (6e2950d)
  • Added a method to set instance name of meshcop(e) mdns service (6e2950d)

Changed

  • Updated OpenThread upstream to 41ef807 (58992e2)
  • Updated SRP server update response error code (58992e2)
  • Enabled RCP uart configuration for BR by default (d183000)
  • Disabled the rx on when idle in coex scenario (ac76d44)
  • Released openthread task switching lock before calling lwip API in openthread udp (6e2950d)
  • Optimized the PIO logic in multiple BRs scenario (6e2950d)

Fixed

  • Fixed checking the lifetime value before calling sys_timeout (58992e2)
  • Fixed filter the zero-length prefix when adding router table (58992e2)
  • Moved router entry pointer in timeout handler (58992e2)
  • Added parsing when txt entry key pointer is NULL (58992e2)
  • Fixed eventfd missing issue when SPI interface is enabled (feb62db)
  • Fixed the race condition in rx buffer count operation (54e7b73)
  • Fixed openthread alarm timer calculation remaining_us overflow issue (cda92ca)
  • Fixed RCP handle timeout crashing issue (ac76d44)
  • Fixed frequent tx timeout && RCP recover issue when using SPI radio (f0d10c8)
  • Fixed ot netif destroy netif order issue (eaf4fb9)
  • Fixed a deadlock risk by releasing ot task lock before tcpip_callback (6e2950d)

Removed

  • Removed the range for some configurations (6e2950d)
  • Removed the empty task for openthread tasklets (6e2950d)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 (e81932d)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE scan backoff config option in menuconfig on ESP32 (e3839a3)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (6b453b8)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (f36a16b)
  • Added CCA related config option on ESP32-C6, ESP32-H2 and ESP32-C2 (28f68a0)
  • Added support for selecting whether to use CSA#2 through the configured option on ESP32-C2, ESP32-C6 and ESP32-H2 (083fe84)
  • Supported enabling AUX packet when extended advertising data length is zero on ESP32-C3 and ESP32-S3 (ed025da)
  • Supported ESP32-C2 light sleep using the external 32.768 kHz oscillator at pin0 as a slow clock source. (28f68a0)
  • Supported initiating a disconnection again if the disconnection procedure is already ongoing on ESP32 (e3839a3)
  • Supported clearing BLE legacy advertising on ESP32-C3 and ESP32-S3 (ca33198)
  • Supported clearing BLE legacy advertising on ESP32 (dc66da9)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2 (28f68a0)
  • Use embedded assembly to get access to DPORT registers on ESP32 (7fcac31)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32 (dc66da9)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled...
Read more

ESP-IDF Pre-release v5.3-rc1

10 Jul 10:37
v5.3-rc1
Compare
Choose a tag to compare
Pre-release

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

ESP-IDF v5.3-rc1 is a preview release for ESP-IDF v5.3.

Obtaining v5.3-rc1

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

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

Using git

To get this release, use the following commands:

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

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

Download an archive with submodules included

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

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

Major changes

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

Major New Features

Support for New SoCs

ESP32-P4
  • Low Power System
    • Low Power Core (RISC-V)
    • Low-power GPIO
    • Low-power I2C Master
    • Low-power SPI
    • Low-power Timer
    • Low-power UART
    • Low-power Watchdog Timer
  • Peripherals
    • ADC
      • ADC continuous mode driver
      • ADC oneshot mode driver
    • DMA (Direct Memory Access)
      • 2DDMA
      • DMA channel allocator
      • GDMA
        • CRC Calculator
      • GDMA2
    • Ethernet driver
      • SPI Ethernet driver
      • internal MAC driver
    • Event Task Matrix
    • GPIO driver
      • Analog Comparator
      • GPIO ETM
      • Glitch Filter
      • RTC IO (LP IO) driver
    • GPIO sigma delta driver
    • GPSPI
      • SPI Master driver
      • SPI Slave HD driver
      • SPI Slave driver
    • GPTimer driver
    • H264 Encoder
    • I2C
      • I2C master driver
      • I2C slave driver
    • I2S
      • I2S driver
        • I2S PDM rx mode
        • I2S PDM tx mode
        • I2S STD mode
        • I2S TDM mode
      • I2S legacy driver
    • JPEG
      • JPEG Decoder Driver
      • JPEG Encoder Driver
    • LCD driver
      • MIPI DSI
    • LEDC driver
      • Gamma Curve Generation
    • MCPWM driver
    • MIPI CSI
    • PCNT driver
    • PSRAM
      • PSRAM Device Driver
      • XIP PSRAM
    • Parallel IO
      • Parallel IO RX Driver
      • Parallel IO TX Driver
    • Pixel Processing Accelorator Driver
    • RMT driver
    • SD/SDIO/MMC driver
      • SDMMC Host driver
      • SDSPI Host driver
    • SPI Flash driver
    • Systimer driver
      • Esptimer implementation over systimer
      • OS tick port over systimer
    • Temperature Sensor driver
    • Touch Sensor driver
    • UART
      • Support Low Power UART instance
      • UART FIFO mode driver
    • USB OTG
      • USB Device (TinyUSB) driver
        • USB 2.0 Device Support
      • USB Host driver
        • USB 2.0 Host Support
    • memory copy by DMA
  • Power management
    • Auto Light Sleep
    • Deep Sleep
    • Dynamic Frequency Switch
    • Light Sleep
  • Security Features
    • AES accelerator
    • Digital Signature driver
    • ECC accelerator
    • Flash encryption
    • HMAC driver
    • RNG
    • RSA hardware accelerator driver
    • SHA accelerator
    • Secure boot
  • System Features
    • Bootloader Support
    • Cache
      • Cache Driver
    • Console
    • Cxx Component
    • ESP Event
    • ESP ROM
    • ESP Ringbuffer
    • ESP Timer
    • Efuse controller driver
    • Floating Point Unit
    • FreeRTOS
    • MMU
    • MSPI
      • MSPI tuning (Flash & PSRAM DDR and/or over 80 MHz)
      • SPI Flash auto suspend
    • POSIX Threads
    • Panic Handling Features
      • Core Dump
      • Debug Watchpoint
      • GDB Stub
      • Panic Handler
      • Stack Guard
    • Ram App
    • TCM
    • Watch Dog Timers
    • newlib
  • Wireless Expansion
    • Bluedroid Host
    • NimBLE Host
    • ESP8689 SDIO/SPI driver
    • Coexistence

Other Features

  • Supported external Wi-Fi connections for ESP32-P4 and other espressif chips. (3f486c4)
  • Added support for merging hosted Wi-Fi solution in esp_wifi component. (2a6b3df)

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Known Issues

  • For ESP32-P4, under the dual-core PD_TOP sleep scenario, if the sleep request is rejected, it may lead to a system deadlock triggering the watchdog.
  • For ESP32-P4, RTC peripheral power domain cannot be powered down, resulting in ~20uA more power consumption.
  • For ESP32-P4, there is a probability that the watchdog will be triggered due to the mpll being disabled and the L2 Cache not being able to write back when the PSRAM is enabled to sleep.
  • For ESP32-P4, GPIO wake-up function and EXT1 wake-up function of GPIO8~15 are not available during deepsleep.

Changelog

802.15.4

802.15.4 MAC

Added

  • Added the pending tx while rx feature (d499ba4)
  • Added the feature of received done handler (f3039dd)
  • Added ieee802154 examples (bae3c28)
  • Added packets statistic of IEEE802.15.4 (b516012)
  • Added 802.15.4 coex break notification (fdf5783)
  • Supported IEEE802.15.4 MAC deinit (45f95e3)

Fixed

  • Fixed pending tx will be delayed issue (ac76d44)
  • Fixed the issue of not receiving packets when RSSI is positive in ESP32-H2 (0a1f378)
  • Fixed ieee802154 include header file issue and unused value issue (d022682)
  • Ignored bit8 for the frame length (6e2950d)
  • Updated to log the "buffer full" message in debug mode only (6e2950d)

Removed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Thread

Added

  • Added deep sleep support for SED (a66055f)
  • Added netif check when calling udp api (ff89cf5)
  • Added max csmabackoffs numbers for transmission via spinel (8edaa94)
  • Added cli support in openthread sleep example (c97077c)
  • Added state indicator in Thread examples (1e01517)
  • Added configure option for openthread address query (f9f32d4)
  • Added ESP Radio spinel for external protocol stack (3b44a59)
  • Added ESP OpenThread vendor commands support ( b44a596)
  • Supported rcp re-initialization (58992e2)
  • Supported the common console command in OT CLI (65c838b)
  • Supported openthread radio caps rx on when idle (e358506)
  • Supported setting netif_idx of udp pcb to no_index when binding UDP PCB to netif (d7b9a3b)
  • Enabled uart ISR in IRAM for UART RCP process (ac76d44)
  • Actively set raw pcb ttl value to 255 for icmpv6 message of border router (93d68c2)
  • Supported openthread ephemeral key feature (6e2950d)
  • Added a method to set instance name of meshcop(e) mdns service (6e2950d)

Changed

  • Updated OpenThread upstream to 41ef807 (58992e2)
  • Updated SRP server update response error code (58992e2)
  • Enabled RCP uart configuration for BR by default (d183000)
  • Disabled the rx on when idle in coex scenario (ac76d44)
  • Released openthread task switching lock before calling lwip API in openthread udp (6e2950d)
  • Optimized the PIO logic in multiple BRs scenario (6e2950d)

Fixed

  • Fixed checking the lifetime value before calling sys_timeout (58992e2)
  • Fixed filter the zero-length prefix when adding router table (58992e2)
  • Moved router entry pointer in timeout handler (58992e2)
  • Added parsing when txt entry key pointer is NULL (58992e2)
  • Fixed eventfd missing issue when SPI interface is enabled (feb62db)
  • Fixed the race condition in rx buffer count operation (54e7b73)
  • Fixed openthread alarm timer calculation remaining_us overflow issue (cda92ca)
  • Fixed RCP handle timeout crashing issue (ac76d44)
  • Fixed frequent tx timeout && RCP recover issue when using SPI radio (f0d10c8)
  • Fixed ot netif destroy netif order issue (eaf4fb9)
  • Fixed a deadlock risk by releasing ot task lock before tcpip_callback (6e2950d)

Removed

  • Removed the range for some configurations (6e2950d)
  • Removed the empty task for openthread tasklets (6e2950d)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 (e81932d)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE scan backoff config option in menuconfig on ESP32 (e3839a3)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (6b453b8)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 (f36a16b)
  • Added CCA related config option on ESP32-C6, ESP32-H2 and ESP32-C2 (28f68a0)
  • Added support for selecting whether to use CSA#2 through the configured option on ESP32-C2, ESP32-C6 and ESP32-H2 (083fe84)
  • Supported enabling AUX packet when extended advertising data length is zero on ESP32-C3 and ESP32-S3 (ed025da)
  • Supported ESP32-C2 light sleep using the external 32.768 kHz oscillator at pin0 as a slow clock source. (28f68a0)
  • Supported initiating a disconnection again if the disconnection procedure is already ongoing on ESP32 (e3839a3)
  • Supported clearing BLE legacy advertising on ESP32-C3 and ESP32-S3 (ca33198)
  • Supported clearing BLE legacy advertising on ESP32 (dc66da9)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2 (28f68a0)
  • Use embedded assembly to get access to DPORT registers on ESP32 (7fcac31)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32 (dc66da9)
  • Reduced the usage of flash and RAM when only legacy adv and periph...
Read more

ESP-IDF Release v4.4.8

28 Jun 08:28
v4.4.8
Compare
Choose a tag to compare

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

ESP-IDF v4.4.8 is a bugfix update for ESP-IDF v4.4 and also the last bug fix release of ESP-IDF v4.4. According to ESP-IDF Support Period Policy, ESP-IDF v4.4 release branch reached end-of-life in July 2024. With EOL, new features, bug fixes, and security fixes will no longer be supported on this branch. Customers who are currently using ESP-IDF v4.4 release branch are encouraged to upgrade their projects to more recent ESP-IDF releases, such as ESP-IDF v5.x.

Obtaining v4.4.8

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

This is the recommended way of obtaining v4.4.8 of ESP-IDF.

Download an archive with submodules included

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

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

Changelog

This is the list of changes since release v4.4.7.

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 ( a4eb486)
  • Added API to get low power clock source on ESP32C3 and ESP32S3 ( 7731658)
  • Added BLE scan backoff config in menuconfig on ESP32 ( a4eb486)
  • Support sending disconnection command again if the disconnection procedure is on-going on ESP32 ( a4eb486)

Changed

  • Controller: Optimized BLE notify and write throughput performance on ESP32. ( 7c2922a)

Fixed

  • Fixed assert when starting advertising due to preemption on ESP32-C3 and ESP32-S3. ( 79e71e0)
  • Fixed RPA generation after each reboot on ESP32-C3 and ESP32-S3. ( 79e71e0)
  • Fixed RPA renew timer start and stop on ESP32-C3 and ESP32-S3. ( 79e71e0)
  • Fixed BLE scan backoff on ESP32 ( 4a69a88)
  • Fixed BLE coex assert on ESP32 ( c1f02f6)
  • Fixed BLE DTM status and TX count error on ESP32 ( c1f02f6)
  • Use embedded assembly to get access to DPORT registers on ESP32 ( a4eb486)
  • Fixed BLE scan assert on ESP32 (#8532) ( a4eb486)
  • Fixed BLE assert when receiving packet on ESP32 ( a4eb486)
  • Fixed extend uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3 ( a4eb486)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3 ( a4eb486)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3 ( a4eb486)
  • Fixed HCI command status event send when LLCP busy on ESP32 ( 5bd00ec)
  • Fixed HCI command status event sending for disconnection command on ESP32 ( 5bd00ec)
  • Fixed LE transmitter test command parameters check error on ESP32 ( 5bd00ec)
  • Fixed memory leak issue when BLE SCAN and other BLE events coexist on ESP32. (#13747) ( 7c2922a)
  • Fixed BLE connection timeout issue after using DTM on ESP32. ( 7c2922a)
  • Fixed assert issue caused by DPORT access on ESP32. ( 7c2922a)

ESP Bluedroid Host

Added

  • Added support for setting BLE privacy mode for peer devices. ( d84b40d)
  • Supported adding BLE device to resolving list ( 29221d1)
  • Supported creating BLE static random address and NRPA ( 29221d1)
  • Supported setting resolvable provate address timeout by api ( 29221d1)
  • Added bluerooth hci layer data stream record ( 5c8b63c)
  • Added APIs for BLE direct test mode ( 5c8b63c)
  • Added api to send vendor hci command ( 5c8b63c)

Changed

  • Optimized BLE SPP example for improved compatibility ( 29221d1)
  • Optimized BLE documentation comments to comply with Doxygen syntax ( 29221d1)
  • Optimized the BLE documentation ( 29221d1)
  • Updated maximum BLE reconnection attempts configuration ( 8247e0b)

Fixed

  • Example: Use correct struct type in discover service complete event ( 5bd00ec)
  • Fixed BLE GATT max length of an attribute value ( 29221d1)
  • Fixed BLE appearance category ranges (#13626) ( d1f549f)
  • Fixed ADV do not restart due to disconnection reason 0x3e ( 5c8b63c)
  • Fixed crash when calculating GATTS database hash ( 5bd00ec)
  • Fixed "report" typo in esp_ble_gap_ext_adv_reprot_t ( 5bd00ec)
  • Fixed BLE crash when repeatedly iniitialize and deinitialize host ( c4ce15b)
  • Fixed BLE periodic advertising create sync parameter check ( c4ce15b)
  • Bluedroid: Fixed the issue where the BLE data length change event was not triggered when the packet length was modified on the other connected device. ( d1c8a1d)

ESP NimBLE Host

Added

  • Added ble_host_rpa_enabled flag for address resoultion for esp32 ( cfb86ec)
  • Added API to get resolve ADV data ( 799e503)
  • Added change to start readvertising for disconnect with 0x3E code in slave mode ( 1424b2b)
  • Added support for data length change event ( 74767e9)
  • Created separate API to only extract cb info ( 3168c79)
  • Added APIs to handle vs HCI commands and events ( ff9db0d)
  • Added support for deleting the oldest bonded device across reboot ( 718cdd6)
  • Added the check to prevent address resolution in case of identity addr for esp32 ( 407795d)
  • Expose API to set RPA timeout in stack. ( 370636b)

Changed

  • Changed 'move_count' to uint8_t type to fix compilation issue in nimble for -O2 flag. ( 7a00499)
  • Increased range of reattempt connection count ( 29f9259)
  • Improved find conn by ble_addr_t function ( fdfe99c)
  • Updated help sections for BLE_RPA_TIMEOUT config. ( c93a15c)

Fixed

  • Fixed compilation issues when CCCD is set to 0 ( 96db015)
  • Fixed for CVE-2024-24746 vulnerability ( caa1e63)
  • Set correct peer_addr during reattempt connection ( fadb408)
  • Simplify reconnection code ( b65ac34)
  • Handled missing free in ble spp example ( 3193203)
  • Fixed dangling pointer error during compilation (#12491) ( 6f4ff9b)
  • Fixed type in blehr/README (#13034) ( f2d72fe)
  • Authorize or deauthorize a BLE device for a connection ( 0eb7ad2)
  • Fixed memory leak during reattempt adv data usage ( fd916b3)
  • Copy data correctly into reattempt buffer ( fd916b3)
  • Explicitly NULL assign adv data pointer after free. ( fd916b3)
  • Reserve space for one extra ext adv packet ( fd916b3)

BluFi

Fixed

  • Fixed BluFi module link error(C++ hybrid compilation) ( 5bd00ec)

ESP-BLE-MESH

Fixed

  • Fixed potential deadlock during mesh GATT initialization when using Bluedroid Host ( a94dcb9)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh stack ( 29efc96)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh examples ( 29efc96)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Added description of use limitations of security masks in SPP API document ( 6cb955e)

Changed

  • Unify the conversion of error code between HCI status and esp_bt_status_t constants( e1f8314)

Fixed

  • Fixed the HID Host inner error state caused by repeat connection of the same device ( 22dd4ba)
  • Fixed inconsistency of connection initiator state for HID Host open event ( 22dd4ba)
  • Fixed the HID Device inner error state caused by the failed connection ( 22dd4ba)
  • Allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is enabled ( be2fba6)
  • Fixed SPP crash due to the connection not being disconnected before esp_spp_deinit was called ( e83ed8b)

Classic Bluetooth Controller

Fixed

  • Register coexist functions into Bluetooth controller on ESP32-C3/ESP32-S3 ( a4eb486)
  • Fixed assert 1024 issue when Classic Blueooth TX and Wifi coexist on ESP32 ( 4a69a88)
  • Fixed the error in parsing packet_type argument for HCI_Enhanced_Setup_Synchronous_Connection, which causes acception of eSCO EDR packet types when they are configured not to be used ( 4a69a88)
  • Fixed the incorrect timing in reporting HCI_Link_Key_Type_Changed event on ESP32 ( efcbfbe)
  • Fixed the incorrect initialization vector during resuming encryption on ESP32 ( efcbfbe)
  • Fixed incorrect link key returned from HCI command HCI_READ_STORED_LINK_KEY on ESP32 ( efcbfbe)
  • Fixed crash issue when doing Bluetooth deinit in coexistence scenario on ESP32. ( dc35452)
  • Fixed invalid transmission of LMP_MAX_POWER PDU in case that peer device is expected peer to increase TX power to maximum on ESP32. ( dc35452)
  • Fixed incorrect link key returned from HCI_rd_stored_link_key command on ESP32 ( 2146569)
  • Fixed the assert triggered during APB TX on ESP32 ( 2146569)
  • Fixed role switch LMP collision bug on ESP32 ( 2146569)

Bluetooth Common

Added

  • Added an option to make alarm number configurable ( 5510aab)
  • Fixed missing linker generated symbols in using esp_bt_mem_release when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY is enabled (#10427, #11377) ( 9160abc)

Bluedroid

Fixed

  • Fixed controller using null pointer after bluedroid deinit ( 0f65165)

Controller

Added

...

Read more

ESP-IDF Pre-release v5.3-beta2

07 Jun 09:28
Compare
Choose a tag to compare
Pre-release

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

ESP-IDF v5.3-beta2 is a preview release for ESP-IDF v5.3.

Obtaining v5.3-beta2

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

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

Download an archive with submodules included

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

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

Major changes

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

Major New Features

Support for New SoCs

ESP32-P4
  • Low Power System
    • Low Power Core (RISC-V)
    • Low-power GPIO
    • Low-power I2C Master
    • Low-power Timer
    • Low-power UART
    • Low-power Watchdog Timer
  • Peripherals
    • DMA (Direct Memory Access)
      • 2DDMA
      • DMA channel allocator
      • GDMA
        • CRC Calculator
      • GDMA2
    • Ethernet driver
      • SPI Ethernet driver
      • internal MAC driver
    • Event Task Matrix
    • GPIO driver
      • Analog Comparator
      • GPIO ETM
      • Glitch Filter
      • RTC IO (LP IO) driver
    • GPIO sigma delta driver
    • GPSPI
      • SPI Master driver
      • SPI Slave HD driver
      • SPI Slave driver
    • GPTimer driver
    • I2C
      • I2C master driver
      • I2C slave driver
    • I2S
      • I2S driver
        • I2S PDM rx mode
        • I2S PDM tx mode
        • I2S STD mode
        • I2S TDM mode
      • I2S legacy driver
    • JPEG
      • JPEG Decoder Driver
      • JPEG Encoder Driver
    • LCD driver
      • MIPI DSI
    • LEDC driver
      • Gamma Curve Generation
    • MCPWM driver
    • MIPI CSI
    • PCNT driver
    • PSRAM
      • PSRAM Device Driver
    • Parallel IO
      • Parallel IO TX Driver
    • RMT driver
    • SD/SDIO/MMC driver
      • SDMMC Host driver
      • SDSPI Host driver
    • SPI Flash driver
    • Systimer driver
      • Esptimer implementation over systimer
      • OS tick port over systimer
    • Temperature Sensor driver
    • UART
      • Support Low Power UART instance
      • UART FIFO mode driver
    • USB OTG
      • USB Device (TinyUSB) driver
        • USB 2.0 Device Support
      • USB Host driver
        • USB 2.0 Host Support
    • memory copy by DMA
  • Power management
    • Auto Light Sleep
    • Deep Sleep
    • Dynamic Frequency Switch
    • Light Sleep
  • Security Features
    • AES accelerator
    • Digital Signature driver
    • ECC accelerator
    • ECDSA driver
    • Flash encryption
    • HMAC driver
    • HUK Generator
    • Key Manager
    • RNG
    • RSA hardware accelerator driver
    • SHA accelerator
    • Secure boot
  • System Features
    • Bootloader Support
    • Cache
      • Cache Driver
    • Console
    • Cxx Component
    • ESP Event
    • ESP ROM
    • ESP Ringbuffer
    • ESP Timer
    • Efuse controller driver
    • Floating Point Unit
    • FreeRTOS
    • MMU
    • MSPI
      • MSPI tuning (Flash & PSRAM DDR and/or over 80 MHz)
    • POSIX Threads
    • Panic Handling Features
      • Core Dump
      • Debug Watchpoint
      • Panic Handler
      • Stack Guard
    • Ram App
    • TCM
    • Watch Dog Timers
    • newlib
  • Wireless Expansion
    • Bluedroid Host

Other Features

  • Supported external Wi-Fi connections for ESP32-P4 and other espressif chips. ( 3f486c4)
  • Added support for merging hosted Wi-Fi solution in esp_wifi component. ( 2a6b3df)

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame ( b056ac7)

Changelog

802.15.4

802.15.4 MAC

Added

  • Added the pending tx while rx feature ( d499ba4)
  • Added the feature of received done handler ( f3039dd)
  • Added ieee802154 examples ( bae3c28)
  • Added packets statistic of IEEE802.15.4 ( b516012)
  • Added 802.15.4 coex break notification ( fdf5783)
  • Supported IEEE802.15.4 MAC deinit ( 45f95e3)

Fixed

  • Fixed pending tx will be delayed issue ( ac76d44)
  • Fixed the issue of not receiving packets when RSSI is positive in ESP32-H2 ( 0a1f378)
  • Fixed ieee802154 include header file issue and unused value issue ( d022682)

Removed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame ( b056ac7)

Thread

Added

  • Added deep sleep support for SED ( a66055f)
  • Added netif check when calling udp api ( ff89cf5)
  • Added max csmabackoffs numbers for transmission via spinel ( 8edaa94)
  • Added cli support in openthread sleep example ( c97077c)
  • Added state indicator in Thread examples ( 1e01517)
  • Added configure option for openthread address query ( f9f32d4)
  • Added ESP Radio spinel for external protocol stack ( 3b44a59)
  • Added ESP OpenThread vendor commands support ( 3b44a59)
  • Supported rcp re-initialization ( 58992e2)
  • Supported the common console command in OT CLI ( 65c838b)
  • Supported openthread radio caps rx on when idle ( e358506)
  • Supported setting netif_idx of udp pcb to no_index when binding UDP PCB to netif ( d7b9a3b)
  • Enabled uart ISR in IRAM for UART RCP process ( ac76d44)
  • Actively set raw pcb ttl value to 255 for icmpv6 message of border router ( 93d68c2)

Changed

  • Updated OpenThread upstream to 41ef807 ( 58992e2)
  • Updated SRP server update response error code ( 58992e2)
  • Enabled RCP uart configuration for BR by default ( d183000)
  • Disabled the rx on when idle in coex scenario ( ac76d44)

Fixed

  • Fixed checking the lifetime value before calling sys_timeout ( 58992e2)
  • Fixed filter the zero-length prefix when adding router table ( 58992e2)
  • Moved router entry pointer in timeout handler ( 58992e2)
  • Added parsing when txt entry key pointer is NULL ( 58992e2)
  • Fixed eventfd missing issue when SPI interface is enabled ( feb62db)
  • Fixed the race condition in rx buffer count operation ( 54e7b73)
  • Fixed openthread alarm timer calculation remaining_us overflow issue ( cda92ca)
  • Fixed RCP handle timeout crashing issue ( ac76d44)
  • Fixed frequent tx timeout && RCP recover issue when using SPI radio ( f0d10c8)
  • Fixed ot netif destroy netif order issue ( eaf4fb9)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 ( e81932d)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE scan backoff config option in menuconfig on ESP32 ( e3839a3)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 ( 6b453b8)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3 ( f36a16b)
  • Added CCA related config option on ESP32C6, ESP32H2 and ESP32C2 ( 28f68a0)
  • Added support for selecting whether to use CSA#2 through the configured option on ESP32-C2, ESP32-C6 and ESP32-H2. ( 083fe84)
  • Supported enable aux packet when extend advertising data length is zero on ESP32-C3 and ESP32-S3 ( ed025da)
  • Supported ESP32-C2 light sleep using external 32.768 kHz oscillator at pin0 as slow clock source. ( 28f68a0)
  • Supported disconnection again if the disconnection procedure is on-going on ESP32 ( e3839a3)
  • Supported clear BLE legacy advertising on ESP32-C3 and ESP32-S3 ( ca33198)
  • Supported clear BLE legacy advertising on ESP32. ( dc66da9)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2. ( 28f68a0)
  • Use embedded assembly to get access to DPORT registers on ESP32 ( 7fcac31)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32 ( dc66da9)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. ( 148aa32)

Fixed

  • Example: Fixed UART HCI when flow control is off on ESP32C3 and ESP32S3. ( 4c190c5)
  • Fixed BLE coex assert on ESP32 ( 30fce03)
  • Fixed BLE DTM status error and TX count error on ESP32 ( 30fce03)
  • Fixed an occasional assertion issue during slave connection in coexistence scenarios on ESP32C2. ( 2cdd56e)
  • Fixed the compilation issue when use nimble host only on ESP32-H2,ESP32-C6 and ESP32-C2. ( 8ea943e)
  • Fixed BLE scan assert on ESP32(#8532) ( e3839a3)
  • Fixed BLE assert when receiving packet on ESP32 ( e3839a3)
  • Fixed the issue that BLE light sleep may randomly cause task watchdog upon power up on ESP32-H2. ( ca71f77)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3. ( f36a16b)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3. ( f36a16b)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3. ( f36a16b)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. ( 28f68a0)
  • Fixed occasional assert issue in modem sleep mode on ESP32-C6 and ESP32-H2. ( 3dc9d66)
  • Fixed issue of slave latency applied when not receiving valid PDU on ESP32-C6 and ESP32-H2 ( 3dc9d66)
  • Fixed HCI command status event sending for disconnect command on ESP32. ( 9c075b9)
  • Fixed BLE transmitter test command parameters...
Read more

ESP-IDF Release v5.2.2

04 Jun 07:04
v5.2.2
Compare
Choose a tag to compare

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

ESP-IDF v5.2.2 is a bugfix update for ESP-IDF v5.2.1.

Obtaining v5.2.2

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

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

Using git

To get this release, use the following commands:

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

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

Download an archive with submodules included

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

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

Major changes

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

Changelog

802.15.4

802.15.4 MAC

Fixed

  • Fixed ieee802154 include header file issue and unused value issue (8531594)

Thread

Added

  • Added max csmabackoffs numbers for transmission via spinel (1b9597f)
  • Added cli support in openthread sleep example (9607a11)
  • Added state indicator in Thread examples (fd4b09f)
  • Added events for meshcop-e service publish and remove (66c164b)
  • Supported openthread ephemeral key feature (66c164b)

Changed

  • Moved some lwip api to lwip task (66c164b)
  • Enabled RCP uart configuration for BR by default (fd4b09f)

Fixed

  • Fixed dead lock issue related to mdns (66c164b)
  • Fixed the race condition in rx buffer count operation (fd4b09f)
  • Fixed openthread alarm timer calculation remaining_us overflow issue (6c1542e)

Removed

  • Removed the range for some configurations (70fc0e3)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Supported sending disconnection command if the disconnection procedure is on-going on ESP32 (8c52152)
  • Supported ESP32-C2 light sleep using external 32.768 kHz oscillator at pin0 as slow clock source. (4c96e52)
  • Added CCA related config option on ESP32-C6, ESP32-H2 and ESP32-C2 (4c96e52)
  • Added API to get low power clock source on ESP32C3 and ESP32S3 (228f922)
  • Added BLE scan backoff config option in menuconfig on ESP32 (8c52152)
  • Added config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3. (8c52152)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2. (4c96e52)

Fixed

  • Fixed BLE ASSERT_PARAM(0,0) in rwble.c in coexistence scenarios on ESP32 (408294a)
  • Register coexist functions into Bluetooth controller on ESP32-C3/ESP32-S3 (8c52152)
  • Fixed BLE DTM status and TX count error on ESP32 (408294a)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. (5fa3428)
  • Fixed BLE light sleep issue which will randomly cause task watchdog upon power up on ESP32-H2. (5aad850)
  • Fixed an occasional assertion issue during slave connection in coexistence scenarios on ESP32-C2. (b19e27d)
  • Use embedded assembly to get access to DPORT registers on ESP32 (8c52152)
  • Fixed BLE scan assert(10,0) on ESP32(#8532) (8c52152)
  • Fixed BLE assert when receiving packet on ESP32 (8c52152)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3. (8c52152)
  • Cleared random address for extended advertising on ESP32-C3 and ESP32-S3. (8c52152)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3. (8c52152)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. (4c96e52)
  • Fixed occasional assert issue in modem sleep mode on ESP32-C6 and ESP32-H2. (1097ed0)
  • Fixed issue of slave latency applied when not receiving valid PDU on ESP32-C6 and ESP32-H2. (1097ed0)
  • Fixed HCI command status event send when LLCP is busy on ESP32 (daa6a0d)
  • Fixed HCI command status event sending for disconnection command on ESP32 (daa6a0d)
  • Fixed LE transmitter test command parameters check error on ESP32 (daa6a0d)
  • Fixed an occasional assertion issue when enabling multiple periodic adv on ESP32-C2. (c630c04)
  • Fixed adv interval range limit error issue on ESP32-C2,ESP32-C6 and ESP32-H2. (c630c04)
  • Fixed an occasional assertion issue when disable controller on ESP32-C2. (c630c04)

ESP Bluedroid Host

Added

  • Added bluerooth hci layer data stream record (40d3981)
  • Added API to send vendor hci command (40d3981)

Changed

  • Updated maximum BLE reconnection attempts configuration (35630f5)

Fixed

  • Fixed BLE appearance category ranges (#13626) (e362358)
  • Fixed ADV do not restart due to disconnection reason 0x3e (40d3981)
  • Fixed crash when calculating GATTS database hash (daa6a0d)
  • Fixed "report" typo in esp_ble_gap_ext_adv_reprot_t (daa6a0d)
  • Fixed BLE crash when repeatedly iniitialize and deinitialize host (8def30a)
  • Fixed BLE periodic advertising create sync parameters check error (8def30a)
  • Example: Use correct struct type in discover service complete event (daa6a0d)

Removed

  • Removed BLE functions discard declaration (2a9108f)

ESP NimBLE Host

Added

  • Added usage of esp_timer_get_expiry_time to get current remaining ticks (d9be451)
  • Added the check to prevent address resolution in case of identity addr for esp32 (391c3a1)
  • Added support for data length change event in host (abd2184)
  • Added support for deleting the oldest bonded device across reboot (a6895ce)
  • Added documentation for ESP32-P4 gpio pins configuration (a253028)
  • Added ble_host_rpa_enabled flag for address resoultion for esp32 (69dc6f3)
  • Added support to send and receive read multiple variable length characteristic request and response. (61f8f19)

Changed

  • Increased range of reattempt connection count in menuconfig (94bec84)
  • Simplify reconnection code (8599ec3)
  • Improved documentation for bleprph_host_only example. (909e7fc)
  • Updated help sections for BLE_RPA_TIMEOUT config. (1f8e365)

Fixed

  • Expose API to set RPA timeout in stack. (2ba5320)
  • Fixed aggressive termination in signed write procedure (0190214)
  • Fixed unpair API ignoring devices bonded with CSRK (0190214)
  • Fixed compilation issues when CCCD is set to 0 (f9163c6)
  • Fixed for CVE-2024-24746 vulnerability (709b74c)
  • Fixed the size of number packets in dtm event (33c6315)
  • Set correct peer_addr during reattempt connection (3d0682d)
  • Handled missing free in ble spp example (6020d08)
  • Handled auto connection flag in extended connect (064df2a)
  • Fixed call to ble_hid_task_startup and compilation issues due to incorrect prototypes (962d9de)
  • Fixed compilation issue occurring after disabling security. (ec7e307)
  • Fixed type in blehr/README (#13034) (374a03f)
  • Fixed compilation error for strict-prototype enabled (464a62b)
  • Exposed baud rate in the menuconfig. (259e2ba)
  • Handled memory leak in callout deinit (deacd79)
  • Changed 'move_count' to uint8_t type to fix compilation issue in nimble for -O2 flag. (c0faa8f)

BluFi

Fixed

  • Fixed BluFi module link error(C++ hybrid compilation) (daa6a0d)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Fixed

  • Fixed the HID Host inner error state caused by repeat connection of the same device (d4e3253)
  • Fixed inconsistency of connection initiator state for HID Host open event (d4e3253)
  • Allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is enabled (1c09bc1)
  • Fixed SPP crash due to the connection not being disconnected before esp_spp_deinit was called (8096a16)
  • Fixed the crash caused by using illegal pointers during SDP deinit (a70bb45)
  • Fixed missing of callback event when removing an invalid SDP record (a70bb45)

Classic Bluetooth Controller

Fixed

  • Fixed the incorrect timing in reporting HCI_Link_Key_Type_Changed event on ESP32 (d34b024)
  • Fixed the incorrect initialization vector during resuming encryption on ESP32 (d34b024)
  • Fixed incorrect link key returned from HCI command HCI_READ_STORED_LINK_KEY (d34b024)
  • Fixed crash during Bluetooth deinitialization in coexistence scenario on ESP32 (f2e1c06)
  • Fixed invalid transmission of LMP_MAX_POWER PDU in case that peer device is expected peer to increase TX power to maximum on ESP32 (f2e1c06)
  • Fixed the loss of coexistence request event during sniff transition process due to insufficient of message queue length, which causes Bluetooth link disconnection in case of wireless coexistence on ESP32 (daa6a0d)
  • Clear sniff state in coexistence scheme when no connections exist (daa6a0d)

Bluetooth Common

Added

  • Added an option to make alarm number configurable (cc5101f)

Fixed

  • Fixed error in CMakeLists on ESP32-C2 (#13451) (7646dd5)
  • Fixed missing linker generated symbols in using esp_bt_mem_release when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY is enabled (#10427, #11377) (dc3e953)

Bluedroid

Fixed

  • Fixed controller using null pointer after bluedroid deinitialization (b0eef7f)

Controller

Changed

  • Use compile options -ffunction-sections and `-fdata-section...
Read more

ESP-IDF Pre-release v5.3-beta1

21 May 06:58
v5.3-beta1
Compare
Choose a tag to compare
Pre-release

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

ESP-IDF v5.3-beta1 is a preview release for ESP-IDF v5.3.

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

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

Download an archive with submodules included

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

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

Major changes

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

Major New Features

Support for New SoCs

ESP32-P4
  • Low Power System
    • Low Power Core (RISC-V)
    • Low-power GPIO
    • Low-power I2C Master
    • Low-power Timer
    • Low-power UART
    • Low-power Watchdog Timer
  • Peripherals
    • DMA (Direct Memory Access)
      • 2DDMA
      • DMA channel allocator
      • GDMA
        • CRC Calculator
      • GDMA2
    • Ethernet driver
      • SPI Ethernet driver
      • internal MAC driver
    • Event Task Matrix
    • GPIO driver
      • Analog Comparator
      • GPIO ETM
      • Glitch Filter
      • RTC IO (LP IO) driver
    • GPIO sigma delta driver
    • GPSPI
      • SPI Master driver
      • SPI Slave HD driver
      • SPI Slave driver
    • GPTimer driver
    • I2C
      • I2C master driver
      • I2C slave driver
    • I2S
      • I2S driver
        • I2S PDM rx mode
        • I2S PDM tx mode
        • I2S STD mode
        • I2S TDM mode
      • I2S legacy driver
    • JPEG
      • JPEG Decoder Driver
      • JPEG Encoder Driver
    • LCD driver
      • MIPI DSI
    • LEDC driver
      • Gamma Curve Generation
    • MCPWM driver
    • MIPI CSI
    • PCNT driver
    • PSRAM
      • PSRAM Device Driver
    • Parallel IO
      • Parallel IO TX Driver
    • RMT driver
    • SD/SDIO/MMC driver
      • SDMMC Host driver
      • SDSPI Host driver
    • SPI Flash driver
    • Systimer driver
      • Esptimer implementation over systimer
      • OS tick port over systimer
    • Temperature Sensor driver
    • UART
      • Support Low Power UART instance
      • UART FIFO mode driver
    • USB OTG
      • USB Device (TinyUSB) driver
        • USB 2.0 Device Support
      • USB Host driver
        • USB 2.0 Host Support
    • memory copy by DMA
  • Power management
    • Auto Light Sleep
    • Deep Sleep
    • Dynamic Frequency Switch
    • Light Sleep
  • Security Features
    • AES accelerator
    • Digital Signature driver
    • ECC accelerator
    • ECDSA driver
    • Flash encryption
    • HMAC driver
    • HUK Generator
    • Key Manager
    • RNG
    • RSA hardware accelerator driver
    • SHA accelerator
    • Secure boot
  • System Features
    • Bootloader Support
    • Cache
      • Cache Driver
    • Console
    • Cxx Component
    • ESP Event
    • ESP ROM
    • ESP Ringbuffer
    • ESP Timer
    • Efuse controller driver
    • Floating Point Unit
    • FreeRTOS
    • MMU
    • MSPI
      • MSPI tuning (Flash & PSRAM DDR and/or over 80 MHz)
    • POSIX Threads
    • Panic Handling Features
      • Core Dump
      • Debug Watchpoint
      • Panic Handler
      • Stack Guard
    • Ram App
    • TCM
    • Watch Dog Timers
    • newlib
  • Wireless Expansion
    • Bluedroid Host

Other Features

  • Supported external Wi-Fi connections for ESP32-P4 and other espressif chips. (3f486c4)
  • Added support for merging hosted Wi-Fi solution in esp_wifi component. (2a6b3df)

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Known Issues

  • No known issues

Known issues are planned to be fixed before the final v5.3 release.

Changelog

802.15.4

802.15.4 MAC

Added

  • Added the pending tx while rx feature (d499ba4)
  • Added the feature of received done handler (f3039dd)
  • Added ieee802154 examples (bae3c28)
  • Added packets statistic of IEEE802.15.4 (b516012)
  • Added 802.15.4 coex break notification (fdf5783)
  • Supported IEEE802.15.4 MAC deinit (45f95e3)

Fixed

  • Fixed pending tx will be delayed issue (ac76d44)
  • Fixed the issue of not receiving packets when RSSI is positive in ESP32-H2 (0a1f378)
  • Fixed ieee802154 include header file issue and unused value issue (d022682)

Removed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame (b056ac7)

Thread

Added

  • Added deep sleep support for SED (a66055f)
  • Added netif check when calling udp api (ff89cf5)
  • Added max csmabackoffs numbers for transmission via spinel (8edaa94)
  • Added cli support in openthread sleep example (c97077c)
  • Added state indicator in Thread examples (1e01517)
  • Added configure option for openthread address query (f9f32d4)
  • Added ESP Radio spinel for external protocol stack (3b44a59)
  • Added ESP OpenThread vendor commands support (3b44a59)
  • Supported rcp re-initialization (58992e2)
  • Supported the common console command in OT CLI (65c838b)
  • Supported openthread radio caps rx on when idle (e358506)
  • Supported setting netif_idx of udp pcb to no_index when binding UDP PCB to netif (d7b9a3b)
  • Enabled uart ISR in IRAM for UART RCP process (ac76d44)
  • Actively set raw pcb ttl value to 255 for icmpv6 message of border router (93d68c2)

Changed

  • Updated OpenThread upstream to 41ef807 (58992e2)
  • Updated SRP server update response error code (58992e2)
  • Enabled RCP uart configuration for BR by default (d183000)
  • Disabled the rx on when idle in coex scenario (ac76d44)

Fixed

  • Fixed checking the lifetime value before calling sys_timeout (58992e2)
  • Fixed filter the zero-length prefix when adding router table (58992e2)
  • Moved router entry pointer in timeout handler (58992e2)
  • Added parsing when txt entry key pointer is NULL (58992e2)
  • Fixed eventfd missing issue when SPI interface is enabled (feb62db)
  • Fixed the race condition in rx buffer count operation (54e7b73)
  • Fixed openthread alarm timer calculation remaining_us overflow issue (cda92ca)
  • Fixed RCP handle timeout crashing issue (ac76d44)
  • Fixed frequent tx timeout && RCP recover issue when using SPI radio (f0d10c8)
  • Fixed ot netif destroy netif order issue (eaf4fb9)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 (e81932d)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE scan backoff config in menuconfig on ESP32 (e3839a3)
  • Added API to get low power clock source on ESP32-C3 and ESP32-S3 (6b453b8)
  • Add config for channel assessment and ping procedure on ESP32-C3 and ESP32-S3. (f36a16b)
  • Added CCA related config option on ESP32C6, ESP32H2 and ESP32C2 (28f68a0)
  • Added support for selecting whether to use CSA#2 through the configured option on ESP32-C2, ESP32-C6 and ESP32-H2. (083fe84)
  • Support enable aux packet when extend advertising data length is zero on ESP32-C3 and ESP32-S3 (ed025da)
  • Supported ESP32-C2 light sleep using external 32.768 kHz oscillator at pin0 as slow clock source. (28f68a0)
  • Supported disconnect again if the procedure is on-going on ESP32 (e3839a3)
  • Supported clear BLE legacy advertising on ESP32-C3 and ESP32-S3. (ca33198)
  • Supported clear BLE legacy advertising on ESP32. (dc66da9)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32-C6, ESP32-H2, and ESP32-C2. (28f68a0)
  • Use embedded assembly to get access to DPORT registers (7fcac31)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32. (dc66da9)
  • Reduced the usage of flash and RAM when only legacy adv and peripheral are enabled on ESP32-C2. (148aa32)

Fixed

  • Example: Fixed UART HCI when flow control is off on ESP32C3 and ESP32S3. (4c190c5)
  • Fixed BLE coex assert on ESP32 (30fce03)
  • Fixed BLE DTM status and TX count on ESP32 (30fce03)
  • Fixed an occasional assertion issue during slave connection in coexistence scenarios on ESP32C2. (2cdd56e)
  • Fixed the compilation issue when use nimble host only on ESP32-H2,ESP32-C6 and ESP32-C2. (8ea943e)
  • Fixed BLE scan assert on ESP32(#8532) (e3839a3)
  • Fixed BLE assert when receiving packet on ESP32 (e3839a3)
  • Fixed BLE light sleep randomly caused task watchdog upon power up on ESP32-H2. (ca71f77)
  • Fixed extended uncoded and coded scan scheduling on ESP32-C3 and ESP32-S3. (f36a16b)
  • Clear random address for extended advertising on ESP32-C3 and ESP32-S3. (f36a16b)
  • Fixed periodic advertising data setting with zero length on ESP32-C3 and ESP32-S3. (f36a16b)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. (28f68a0)
  • Fixed occasional assert issue in modem sleep mode on ESP32-C6 and ESP32-H2. (3dc9d66)
  • Fixed issue of slave latency applied when not receiving valid PDU. (3dc9d66)
  • Fixed HCI command status event sending for disconnect command on ESP32. (9c075b9)
  • Fixed LE transmitter test command param check on ESP32. (9c075b9)
  • Fixed HCI comm...
Read more

ESP-IDF Release v5.1.4

10 May 03:56
v5.1.4
d7b0a45
Compare
Choose a tag to compare

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

ESP-IDF v5.1.4 is a bugfix update for ESP-IDF v5.1.3.

Obtaining v5.1.4

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

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

Using git

To get this release, use the following commands:

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

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

Download an archive with submodules included

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

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

Major changes

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

Changelog

802.15.4

Fixed

  • Fixed ieee802154 include header file issue and unused value issue (2fd087b)

Thread

Added

  • Added state indicator in Thread examples (19dd338)
  • Added cli support in openthread sleep example (54ad993)

Changed

  • Enabled RCP uart configuration for BR by default (19dd338)

Fixed

  • Fixed the race condition in rx buffer count operation (19dd338)
  • Fixed openthread alarm timer calculation remaining_us overflow issue (1f1d252)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added CCA related config option on ESP32-C6, ESP32-H2 and ESP32-C2 (07c17c6)

Changed

  • Expanded the scan period to the maximum of 0xffff on ESP32C6, ESP32H2, and ESP32-C2. (07c17c6)
  • Supported ESP32C2 light sleep using external 32.768 kHz oscillator at pin0 as slow clock source. (07c17c6)

Fixed

  • Fixed occasional assert issue in modem sleep mode on ESP32C6 and ESP32H2. (9fe40d4)
  • Fixed issue of slave latency applied when not receiving valid PDU on ESP32C6 and ESP32H2. (9fe40d4)
  • Fixed HCI command status event send when LLCP busy on ESP32 (8519d3c)
  • Fixed HCI command status event sending for disconnect command on ESP32 (8519d3c)
  • Fixed LE transmitter test command parameters check error on ESP32 (8519d3c)
  • Fixed an occasional assertion issue when enabling multiple periodic adv on ESP32-C2. (b0107bd)
  • Fixed adv interval range limit error issue on ESP32-C2,ESP32-C6 and ESP32-H2. (b0107bd)
  • Fixed an occasional assertion issue when disable controller on ESP32-C2. (b0107bd)
  • Fixed Bluetooth not waking up due to internal 136k oscillator clock drift on ESP32C3 and ESP32S3 (c8d47c1)
  • Fixed scheduling when modem sleep wakeup delayed on ESP32-C3 and ESP32-S3. (00db642)
  • Fixed BLE IRQ FIFO overflow when enter critical on ESP32-C3 and ESP32-S3. (00db642)
  • Fixed clock sync timeout when exit modem sleep on ESP32-C3 and ESP32-S3. (00db642)
  • Fixed directed advertising with RPA when privacy is disabled on ESP32-C3 and ESP32-S3. (00db642)
  • Fixed instant passed when connection parameters updating or PHY updating on ESP32-C3 and ESP32-S3. (00db642)
  • Fixed BLE TX count in direct test mode on ESP32-C3 and ESP32-S3. (00db642)
  • Fixed BLE modem sleep enter failed sometimes on ESP32-C3 and ESP32-S3. (00db642)
  • Fixed BLE TX count in direct test mode on ESP32-C3 and ESP32-S3. (00db642)
  • Fixed BLE modem sleep enter failed sometimes on ESP32-C3 and ESP32-S3. (00db642)
  • Fixed an issue of occasional ACL data loss under multiple BLE connections on ESP32-C2. (07c17c6)
  • Fixed an occasional assertion issue during slave connection in coexistence scenarios on ESP32-C2. (2622be4)

ESP Bluedroid Host

Changed

  • Updated maximum BLE reconnection attempts configuration (7cfe227)

Fixed

  • Example: Use correct struct type in discover service complete event (8519d3c)
  • Example: Fixed UART HCI when flow control is off on ESP32-C3 and ESP32-S3. (2e9916b)
  • Fixed BLE crash when repeatedly iniitialize and deinitialize host (b0fb3bb)
  • Fixed BLE periodic advertising create sync parameters check error (b0fb3bb)
  • Fixed crash when calculating GATTS database hash (8519d3c)
  • Fixed "report" typo in esp_ble_gap_ext_adv_reprot_t (8519d3c)
  • Fixed xQueueSemaphoreTask assert when deinit host during scan (69900de)

ESP NimBLE Host

Added

  • Added documentation for p4 gpio pins configuration (0c26579)
  • Added ble_host_rpa_enabled flag for address resoultion for ESP32 (5710425)
  • Added menuconfig options for bleprph_host_only example (67c4eac)
  • Added Gatt Caching support (956797e)
  • Added usage of esp_timer_get_expiry_time to get current remaining ticks (9ddaaca)
  • Added support to send and receive read multiple variable length characteristic request and response. (cac867d)
  • Added observer role flag. (67c4eac)
  • Added support for user to authorize GATT read or write operations. (67c4eac)
  • Added support for more advertisement data AD Types. (67c4eac)
  • Added support for Characteristic Presentation Format Descriptors. (67c4eac)
  • Added support for Characteristic Aggregate Format Descriptor. (67c4eac)
  • Added support for sending and receiving signed write commands using CSRK and Sign Counter. (67c4eac)
  • Added APIs to support BLE DTM functions. (67c4eac)
  • Added nimble-host only support over UART. (67c4eac)
  • Added test API to show stack operations status (67c4eac)

Changed

  • Updated help sections for BLE_RPA_TIMEOUT config. (dc384fc)
  • Updated variable name to remove keyword. (67c4eac)
  • Improved documentation for bleprph_host_only example. (13141a0)
  • Increase range of reattempt connection count (c1f26cc)
  • Added change to return success for API execution in "ble_sm_inject_io" (67c4eac)

Fixed

  • Fixed type in blehr/README (#13034) (077a966)
  • Fixed compilation error for strict-prototype enabled (a4916eb)
  • Exposed macros used by the GAP service as menuconfig options. (f93025b)
  • Exposed baud rate in the menuconfig. (e78e9a9)
  • Handle memory leak in callout deinit (cac867d)
  • Added the check to prevent address resolution in case of identity addr for ESP32 (cac867d)
  • Fixed general and limited scanning to check relevent Flags AD Type. (67c4eac)
  • Fixed allowing selective and auto connection establishment. (67c4eac)
  • Added check to validate adv interval min /max range (67c4eac)
  • Fixed out of order message causing DOS during SMP procedure. (67c4eac)
  • Authorized or deauthorized a BLE device for a connection (67c4eac)
  • Fixed signed write procedure using correct CSRK and message. (67c4eac)
  • Changed 'move_count' to uint8_t type to fix compilation issue in nimble for -O2 flag (67c4eac)
  • Fixed wrong #if guard in porting layer and UART configuration support. (67c4eac)
  • Added change to return success for API execution in "ble_sm_inject_io" (956797e)

Removed

  • Removed double free of l2cap packet in example (4677804)
  • Removed duplicate hci_common.h file. (67c4eac)

BluFi

Fixed

  • Fixed BluFi module link error(C++ hybrid compilation) (8519d3c)
  • Corrected host deinit API (2b07dbf)

ESP-BLE-MESH

Fixed

  • Fixed the struct initialization to meet C++ requirements for BLE Mesh stack (7452f30)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh examples (7452f30)
  • Fixed using wrong type value for non-connectable adv in NimBLE Host adapter (d1ad4b5)

Bluetooth Common

Bluedroid

Changed

  • Make the maximum number of bond devices to be configurable. (2e9916b)

Controller

Changed

  • Added compile options -ffunction-sections and -fdata-sections when building libbtdm_app.a, to allow to reduce code and data from executable on ESP32 (2d2bfc1)
  • Apply only necessary patches for Bluetooth controller ROM code according to Bluetooth mode on ESP32 in order to reduce IRAM consumption and binary size (2d2bfc1)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Added description of use limitations of security masks in SPP API document (603268e)

Changed

  • Moved the memory allocation of HF AG control blocks to BTC module when option dynamic memory is enabled (e1eaa7b)

Fixed

  • Fixed the dangling pointer in processing the list of bonded bluetooth device (f9db462)
  • Fixed SPP connection failure due to out-of-sync status of application layer and BTU layer (69695c2)

Classic Bluetooth Controller

Fixed

  • Fixed crash issue when doing Bluetooth deinit in coexistence scenario on ESP32. (7d16878)
  • Fixed invalid transmission of LMP_MAX_POWER PDU in case that peer device is expected peer to increase TX power to maximum on ESP32. (7d16878)
  • Fixed the loss of coexistence request event during sniff transition process due to insufficent of message queue length, which causes Bluetooth link disconnection in case of wireless coexistence on ESP32 (8519d3c)
  • Clear sniff state in coexistence scheme when no connections exist on ESP32 (8519d3c)

Coexistence

Fixed

PHY

Changed

  • Updated ESP32C3 PHY version to 1170, f4aea9b, Apr 30 2024. (9d8842f)
  • Updated ESP32S3 PHY version to 670, b7bc9b9, Apr 30 2024. (9d8842f)
  • Updated ESP32C6 PHY version to 290, 81efd96, May 8 2024. (9d8842f)
  • Updated ESP32C2 PHY version to 320, 1f0ce9d, Mar 22 2024. (3826f2b)
  • Updated ESP32S2 PHY version ...
Read more

ESP-IDF Release v5.2.1

06 Mar 11:28
v5.2.1
Compare
Choose a tag to compare

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

ESP-IDF v5.2.1 is a bugfix update for ESP-IDF v5.2.

Obtaining v5.2.1

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

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

Using git

To get this release, use the following commands:

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

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

Download an archive with submodules included

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

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

Major changes

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

Breaking Changes

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame. ( dbbe2cf)

Changelog

802.15.4

802.15.4 MAC

Added

  • Added the pending tx while rx feature ( dbbe2cf)

Removed

  • Removed CONFIG_IEEE802154_RECEIVE_DONE_HANDLER option, now the code using the 802.15.4 driver directly must call ieee802154_receive_handle_done after receiving the frame. ( dbbe2cf)

Thread

Added

  • Added ESP Radio spinel for external protocol stack ( dbbe2cf)
  • Added ESP OpenThread vendor commands support ( dbbe2cf)
  • Added configure option for openthread address query ( dbbe2cf)
  • Supported the common console command in OT CLI ( dbbe2cf)
  • Supported openthread radio caps rx on when idle ( dbbe2cf)

Fixed

  • Fixed RCP handle timeout crashing issue ( dbbe2cf)
  • Enabled UART ISR in IRAM for UART RCP process ( dbbe2cf)
  • Disabled the rx on when idle in coex scenario ( dbbe2cf)

Zigbee

Changed

  • Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 ( dbbe2cf)

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Support enable aux packet when extend advertising data length is zero on ESP32-C3 and ESP32-S3. ( d4dd0d4)

Fixed

  • Fixed the occasional assertion of rxbuffer_free_all on ESP32-C6 and ESP32-H2. ( b0fc021)
  • Fixed the assertion in memory check when the host processing is too slow on ESP32-C6 and ESP32-H2. ( b0fc021)
  • Fixed the assertion of get_rxed_buffer() when the host task is blocked for a long time on ESP32-C6 and ESP32-H2. ( 1c2a671)
  • Resolved the problem of packet loss occurring during the 1M DTM Rx process on ESP32-H2. ( 1c2a671)
  • Fixed the occasional cache error issue when sleep is enabled on ESP32-C6 and ESP32-H2. ( 1c2a671)
  • Fixed scheduling when modem sleep wakeup delayed on ESP32-C3 and ESP32-S3. ( d4dd0d4)
  • Fixed BLE IRQ FIFO overflow when enter critical on ESP32-C3 and ESP32-S3. ( d4dd0d4)
  • Fixed clock sync timeout when exit modem sleep on ESP32-C3 and ESP32-S3. ( d4dd0d4)
  • Fixed directed advertising with RPA when privacy disabled on ESP32-C3 and ESP32-S3. ( d4dd0d4)
  • Fixed instant passed when connection updating or PHY updating on ESP32-C3 and ESP32-S3. ( d4dd0d4)
  • Fixed BLE TX count in direct test mode on ESP32-C3 and ESP32-S3. ( d4dd0d4)
  • Fixed BLE modem sleep enter failed sometimes on ESP32-C3 and ESP32-S3. ( d4dd0d4)
  • Fixed BLE TX count in direct test mode on ESP32-C3 and ESP32-S3. ( d4dd0d4)
  • Fixed BLE modem sleep enter failed sometimes on ESP32-C3 and ESP32-S3. ( d4dd0d4)
  • Fixed Bluetooth not waking up due to internal 136k oscillator clock drift on ESP32-C3 and ESP32-S3 ( 9e984cd)
  • Fixed BLE scan request IFS time error in coexistence scenarios on ESP32 ( 11eaf41)

ESP Bluedroid Host

Added

  • Added getter for BLE GATTC GATTS and GAP calllback. ( d4dd0d4)

Changed

  • Optimized BLE heap allocation to fix malloc fail in malloc_internal_wrapper (#12574). ( d4dd0d4)

Fixed

  • Fixed BLE dangling pointer issue in deletion of bonded devices. ( d4dd0d4)
  • Fixed xQueueSemaphoreTask assert when deinit host during scan ( 7e6e769)
  • Example: Fixed UART HCI when flow control is off on ESP32C3 and ESP32-S3. ( 5cb1e9f)

ESP-BLE-Mesh

Fixed

  • Fixed compiling error when PB-ADV is disabled for node ( 95b5f12)
  • Fixed using wrong adv type for ADV_NONCONN_IND in NimBLE Host adapter ( 8a0132a)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh stack ( 7a9b686)
  • Fixed the struct initialization to meet C++ requirements for BLE Mesh examples ( 7a9b686)

ESP NimBLE Host

Added

  • Added change to return success for API execution in "ble_sm_inject_io" ( e094428)
  • Added APIs to support BLE DTM functions. ( e094428)
  • Added Gatt Caching support ( 8b08d11)
  • Added connection reattempt in case of Ext connect ( 8b1c532)
  • Added check to validate adv interval min /max range ( e094428)
  • Added test API to show stack operations status ( e094428)
  • Added nimble-host only support over UART. ( e094428)
  • Added observer role flag. ( e094428)
  • Added support for user to authorize GATT read or write operations. ( e094428)
  • Added support for more advertisement data AD Types. ( e094428)
  • Added support for Characteristic Presentation Format Descriptors. ( e094428)
  • Added support for Characteristic Aggregate Format Descriptor. ( e094428)
  • Added support for sending and receiving signed write commands using CSRK and Sign Counter. ( e094428)

Changed

  • Updated variable name to remove keyword. ( e573b7c)

Fixed

  • Fixed wrong #if guard in porting layer and UART configuration support. ( a707ab9)
  • Fixed signed write procedure using correct CSRK and message. ( 9feab17)
  • Authorized or deauthorized a BLE device for a connection ( 768bd47)
  • Fixed general and limited scanning to check relevant Flags AD Type. ( e094428)
  • Fixed allowing selective and auto connection establishment. ( e094428)
  • Fix out of order message causing DOS during SMP procedure. ( e094428)
  • Fixed address resolution during inquiry for host based privacy. ( 93ea06f)
  • Fixed issue of enabling address resolution across reboot ( 2d36710)

Removed

  • Removed unwanted assert. ( 99552eb)
  • Removed double free of l2cap packet in example ( 923546b)
  • Removed duplicate hci_common.h file. ( e094428)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Added field link key type to the parameter structure of callback event ESP_BT_GAP_AUTH_CMPL_EVT ( 77f5391)
  • Added callback event ESP_BT_GAP_ENC_CHG_EVT to notify the change of encryption mode to application layer ( 77f5391)
  • Added description of use limitations of security masks in SPP API document ( 9dcc8c9)

Changed

  • Update migration docs for new version of API for Bluedroid host stack initialization ( 3de398b)

Fixed

  • Fixed SPP connection failure due to out-of-sync status of application layer and BTU layer ( ee4fdf8)
  • Fixed the dangling pointer in processing the list of bonded Bluetooth device ( 406e11b)

Classic Bluetooth Controller

Bluetooth Common

Bluedroid

Changed

  • Make the maximum number of bond devices to be configurable. ( 5cb1e9f)

Coexistence

Fixed

PHY

Fixed

  • Fixed BLE 2M PHY TX problem causing by phy_wifi_enable_set() on ESP32-C3 and ESP32-S3 ( 8ab1027)
  • Fixed BLE CCA bug on ESP32-C2 ( 8ab1027)
  • Fixed Wi-Fi boot bug at low temperature on ESP32-C6 ( 8ab1027)
  • Fixed BLE and Wi-Fi could not receive packets after entering light sleep for a long time on ESP32-C3, ESP32-S3, ESP32-C2 and ESP32-C6 ( 8ab1027)

Wi-Fi

Fixed

  • Smart Config: Removed rogue semicolon in SMARTCONFIG_START_CONFIG_DEFAULT() which was causing some build errors when used in C++ (#12867) ( f1561c6)

Wi-Fi MAC

Changed

  • Updated scan AP number when clear scan AP records ( a328e1a)

Fixed

  • Fixed beacon timeout after restart ( a328e1a)
  • Fixed Wi-Fi stop cost too much time at coexist scenario ( a328e1a)
  • Fixed the old_snd filed error in WIFI_EVENT_HOME_CHANNEL_CHANGE event (closes #13051) ( a328e1a)
  • Fixed issue that task watchdog got triggered in mplen clear on ESP32C6( a328e1a)
  • Fixed issue that esp_wifi_set_mode() not returning error for invalid argument ( a328e1a)
  • Used low rate to send DHCP offer and DHCP ack to avoid get IP fail ( a328e1a)
  • Used QoS data to send EAPOL packets ( a328e1a)
  • Fixed potential memory issue in wifi stop(may increase binary image by 2KB) ( a328e1a)
  • Fixed esp_wifi_scan_start memory leakage issue (#10693) ( 1cd164b)
  • Fixed PMK invalid causes same SSID WPA and WPA2 connect fail issue ( e8548e7)
  • Fixed ESP32-C2 disconnect reason code wrong issue ( 4f6cca6)

ESP-WIFI-MESH

Fixed

  • Waited for child disconnect event when mesh deinit ( a328e1a)

Wi-Fi Supplicant

Added

  • Added low heap Kconfig option for EAP enterprise ( 4a3f224)
  • Added support to move supplicant BSS to external memory ( 65d127d)

Fixed

  • Added change to allow calling esp_mbo_* APIs only when MBO config flag is en...
Read more

ESP-IDF Release v4.4.7

01 Mar 13:38
v4.4.7
Compare
Choose a tag to compare

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

ESP-IDF v4.4.7 is a bugfix update for ESP-IDF v4.4.

Obtaining v4.4.7

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

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

Using git

To get this release, use the following commands:

git clone -b v4.4.7 --recursive https://github.com/espressif/esp-idf.git esp-idf-v4.4.7
cd esp-idf-v4.4.7/

This is the recommended way of obtaining v4.4.7 of ESP-IDF.

Download an archive with submodules included

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

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

Changelog

Bluetooth Low Energy (BLE)

Bluetooth Low Energy Controller

Added

  • Added BLE mesh advertising types for exception list on ESP32C3 and ESP32-S3 ( b2a1097)
  • Added BLE mesh advertising types for exception list on ESP32 ( b2a1097)
  • Supported enable aux packet when extend advertising data length is zero on ESP32-C3 and ESP32-S3 ( b9124d3)
  • Supported ESP32-C3 ECO7 BLE ( 7e5f4df)
  • Supported clear BLE legacy advertising on ESP32, ESP32-C3 and ESP32-S3 ( 27cf25e)

Changed

  • Modify mesh proxy solic uuid to 0x18590303 on ESP32. ( 27cf25e)
  • Modify mesh proxy solic uuid to 0x18590303 on ESP32-C3 and ESP32-S3 ( b2a1097)

Fixed

  • Fixed scheduling when modem sleep wakeup delayed on ESP32-C3 and ESP32-S3. ( 839719a)
  • Fixed BLE IRQ FIFO overflow when enter critical on ESP32-C3 and ESP32-S3. ( 839719a)
  • Fixed clock sync timeout when exit modem sleep on ESP32-C3 and ESP32-S3. ( 839719a)
  • Fixed directed advertising with RPA when privacy disabled on ESP32-C3 and ESP32-S3. ( 839719a)
  • Fixed instant passed when connection updating or PHY updating on ESP32-C3 and ESP32-S3. ( 839719a)
  • Fixed BLE TX count in direct test mode on ESP32-C3 and ESP32-S3. ( 839719a)
  • Fixed BLE modem sleep enter failed sometimes on ESP32-C3 and ESP32-S3. ( 839719a)
  • Fixed Bluetooth not waking up due to internal 136k oscillator clock drift on ESP32C3 and ESP32S3 ( 61e7464)
  • Fixed BLE scan request IFS time error in coexistence scenarios on ESP32 ( a1c2e71)
  • Fixed interrupt timeout issue after enabling CONFIG_MAC_BB_PD on ESP32-C3 and ESP32-S3. ( 53dd2ba)
  • Fixed BLE recorrect enable bug on ESP32-C3 and ESP32-S3 ( 69bb72a)
  • Fixed BLE bb isr is enabled by default on ESP32-C3 and ESP32-S3 ( 69bb72a)
  • Fixed memory leak in BLE controller after enabling CONFIG_MAC_BB_PD on ESP32-C3 and ESP32-S3 ( 69bb72a)
  • Fixed assert when BLE disconnect due to instant passed on ESP32-C3 and ESP32-S3. ( 597a4d4)
  • Fixed add(remove) RPA to(from) white list on ESP32-C3 and ESP32-S3. ( 597a4d4)
  • Fixed AES encryption for RPA resolution on ESP32-C3 and ESP32-S3. ( 597a4d4)
  • Fixed assert when BLE disconnect due to instant passed on ESP32. ( 597a4d4)
  • Fixed scan event timeout on ESP32. ( 597a4d4)
  • Fixed random address setting when scanning on ESP32. ( 597a4d4)
  • Fixed BLE bugs in setting advertising data and scan response data on ESP32-C3 and ESP32-S3. ( 27cf25e)
  • Fixed power state setting when entering modem sleep on ESP32-C3 and ESP32-S3. ( 27cf25e)
  • Added config to enable HW recorrect eco on ESP32-C3 and ESP32-S3 ( b2a1097)
  • Fixed DTM payload length cannot be 0 on ESP32-C3 and ESP32-S3 ( b2a1097)
  • Report the number of packets sent on the TX end on ESP32-C3 and ESP32-S3 ( b2a1097)
  • Fixed resolvable private address renew after timeout on ESP32-C3 and ESP32-S3 ( b2a1097)
  • Fixed address resolution for directed advertising when scanning on ESP32-C3 and ESP32-S3 ( b2a1097)
  • Fixed extended advertising address setting after advertising restart on ESP32-C3 and ESP32-S3 ( b2a1097)

ESP Bluedroid Host

Added

  • Added API to clear BLE legacy advertising. ( 27cf25e)
  • Added getter for BLE GATTC GATTS and GAP callback ( b9124d3)
  • Supported scan response data length zero in BLE ( 2fa1213)
  • Supported BLE gattc notify registration number ( ae54709)
  • Supported control point in BLE HID example ( ae54709)

Changed

  • Optimized BLE heap allocation to fix malloc fail in malloc_internal_wrapper (#12574) ( b9124d3)
  • Optimized the BT_GATTS_ROBUST_CACHING_ENABLED configuration option by disabling the GATT robust caching feature to avoid compatibility issues with the Windows operating system ( ca7cc8e)
  • Optimized BLE remove all bonded devices function ( ca7cc8e)
  • Optimized compatibility with IOS and MACOS devices ( ae54709)

Fixed

  • Examples: Fixed UART HCI when flow control is off on ESP32C3 and ESP32S3. ( 5adad46)
  • Fixed xQueueSemaphoreTask assert when deinit host during scan ( 2b490ae)
  • Fixed BLE dangling pointer issue in deletion of bonded devices ( b9124d3)
  • Fixed background connection status log level when a bg connection is initiated or terminated ( b9124d3)
  • Fixed BLE advertising data check to avoid memory overflow (#12886) ( 9186e0e)
  • Fixed BLE memory leak when gattc config off ( 753bed3)
  • Fixed BLE gattc app unregister no event ( ece1bf2)
  • Fixed BLE Prepare Write Request timeout on Client Characteristic Configuration and Client Supported Features characteristic ( 11f9081)
  • Fixed Prepare Write out-of-bound memory write BLE for example ( 11f9081)
  • Fixed the BLE advertising and scan status after stop/start cycles of the host ( ad44330)
  • Fixed the connection cannot be established after several stop/start cycles of the host ( ad44330)
  • Fixed add RPA to white list ( 597a4d4)
  • Fixed bluedroid menuconfig dependents ( 2be3fa2)
  • Fixed BLE SMP register log level ( 2be3fa2)
  • Fixed deinit init BLE scan fail issue ( 25cd984)
  • Fixed BLE load bond information error after reboot ( 6475f7f)
  • Fixed HID example stack overflow bugs when using ESP32-S3 ( 2fa1213)
  • Fixed remove resolving list error for ESP32 ( 2fa1213)
  • Fixed bugs in handling reading requests for GATT service changes characteristic ( 2fa1213)
  • Fixed set periodic advertising data error ( 2fa1213)
  • Fixed BLE extended advertising random address setting for NRPA ( 182303a)
  • Fixed BLE advertising data construct for device name ( 182303a)
  • Fixed BLE SMP key distribution setting ( 182303a)
  • Fixed BLE advertising scan response event type ( dea8532)
  • Fixed BLE keysize check ( dea8532)
  • Deleted one HID service to optimize compatibility with Android 10 and later devices ( ae54709)
  • Fixed encryption key size check in BLE SMP ( ae54709)

ESP NimBLE Host

Added

  • Added event for reattempt connection count information ( d9a6dbe)
  • Added test API to show stack operations status ( bae4375)

Fixed

  • Fixed out of order message causing DOS during SMP procedure. ( 02312e6)
  • Added check to validate adv interval min /max range ( 0456f97)
  • Added change to return success for API execution in "ble_sm_inject_io" ( 2ded73b)
  • Fixed address resolution during inquiry for host based privacy. ( f765235)
  • Added connection reattempt in case of Ext connect ( efe283f)
  • Fixed authcomplete failure due to mismatch in the c1 value. ( 3f117c7)
  • Handled deletion of IRK/LTK based of key availability. ( 2fa6dab)
  • Memory leak fixes ( 68df912)
  • Fixed incorrect handling of bonded devices. ( 79954fe)

Removed

  • Remove unwanted assert. ( 8a97a02)

ESP-BLE-MESH

Fixed

  • Fixed compilation failure while using scene model ( 1c49830)
  • Fixed PB-GATT adv reported to app layer too frequently ( 8cb1f37)
  • Fixed using wrong adv type for ADV_NONCONN_IND in NimBLE Host adapter ( 21b041f)

Classic Bluetooth

Classic Bluetooth Bluedroid Host

Added

  • Added two new APIs for HFP performance test to collect statistics of synchronous stream transmission and reception ( c1d9e61)
  • Added dynamic memory allocation for HFP control blocks when HF_DYNAMIC_MEMORY is enabled ( 54c529a)
  • Added support for build different roles in corresponding profile HID and HFP into one single executable ( 4c0bc4b)
  • Added an API to terminate an ongoing call from HF client side ( c1d9e61)
  • Added peer Bluetooth device address into HF callback parameters ( c1d9e61)

Changed

  • Changed the description of HFP API esp_hf_client_reject_call ( c1d9e61)
  • Modified AT+CNUM response api and HFP AG example. ( 6f38dfe)
  • Limited the number of paired BT devices stored into NVS and remove the oldest exceeded device from NVS when loading bond list. ( 5690b2f)
  • Changed log level from WARNING to DEBUG in bta_ag_sco_read_cback when received packets with invalid air mode ( c1d9e61)

Fixed

  • Fixed the dangling pointer issue when logging the removed section ( b2146b8)
  • Fixed connection failure due to out-of-sync status of application layer and BTU layer ( 3f0f8f3)
  • Avoided crash of LoadProhibited during HFP AG deinitialization by releasing the control block in the event of BTA_AG_DISABLE_EVT ( 54c529a)
  • Corrected the definitions of HF Client callback events ( 54c529a)
  • Disabled Sniff Subrating temporarily as it did not work well ( 54c529a)
  • Fixed the panic when the mutex created is enclosed by macro SMP_INCLUDE, but locked by functions beyond that macro ( 40f4228)
  • Fixed compilation error in the L2CAP and HF_AG module when compiler optimization level is `optimize fo...
Read more