github espressif/esp-idf v4.2.5
ESP-IDF Release v4.2.5

latest releases: v5.3.1, v5.0.7, v5.3...
14 months ago

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

ESP-IDF v4.2.5 is a bugfix update for ESP-IDF v4.2 and also the last bug fix release of ESP-IDF v4.2. According to ESP-IDF Support Period Policy, ESP-IDF v4.2 release branch reached end-of-life in June 2023. 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.2 release branch are encouraged to upgrade their projects to more recent ESP-IDF releases, such as ESP-IDF v5.x.

Obtaining v4.2.5

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

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

Using git

To get this release, use the following commands:

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

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

Download an archive with submodules included

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

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

Major changes

This is the list of changes since release v4.2.5:

Major Bug Fixes

  • Fixed POWER ON reset when using RTC IO as input in deepsleep on ESP32-S2 (058fd73)
  • Fixed RTC memory lost in high temperature in deepsleep on ESP32-S2. Due to the fix, current consumption in deep sleep mode has increased by 2 ~ 3uA (058fd73)

Changelog

Bluetooth

Controller

Fixed

  • Fixed the issue that Wi-Fi task can be blocked by Bluetooth Controller because of the use of blocking coexistence callback function on ESP32 (7db88d5)

Bluetooth Low Energy

Added

  • Added config to set duplicate scan list refresh period on ESP32 (c135695)

Changed

  • Changed default TX power to 9 dBm on ESP32 (c135695)

Fixed

  • Fixed BLE disconnection failure on ESP32 (c28f5a5)
  • Fixed disconnection due to consecutive CRC errors in first 6 intervals on ESP32 (c28f5a5)
  • Overwrite the oldest device infor if the list is full on ESP32 (c135695)
  • Fixed duplicate scan period is not accurate on ESP32 (c135695)
  • Fixed some memory was not released after Bluetooth controller initialization failed on ESP32 (c135695)
  • Fixed disconnect reason 0x1f (unspecified error) on ESP32 (c135695)
  • Fixed connection timeout due to LL_TERMINATE_IND has not been acknowledged on ESP32 (c135695)
  • Fixed BLE ASSERT_PARAM(32 0) in rwble.c at line 384 on ESP32 (d33ce3c)
  • Fixed the exhaustion of ACL buffer. (d33ce3c)
  • Fixed the duplication of connection request from the same device. (d33ce3c)

Classic Bluetooth

Fixed

  • Fixed that link key is not sent to host after re-pairing in legacy pairing mode on ESP32 (04bf991)

Bluedroid

Classic Bluetooth

Added

  • Added compatibilities with devices that do not support Secure Simple Paring. (#10069, 78cebd6)

Changed

  • Changed the default SR mode to R2 for the paging device when it knows nothing about the paged device's SR mode. (24de514)

Fixed

  • Fixed SPP connection failure by reverting commit da44fc9. (eb83163)
  • Fixed authentication failure by changing pin_type of legacy paring from FIXED to VARIABLE. (#10005, 78cebd6)
  • Fixed the issue Bluetooth Classic connection can not be created while there is an active Bluetooth Low Energy connection. (8fcfcdd)
  • Fixed memory leak when SPP initialization failed (7c9bdca)
  • Fixed repeated register of vfs_id causing memory leaks in SPP (7c9bdca)
  • Fixed A2DP sink device not being able to accept and decode mono channel audio stream (9c5127d)
  • Fixed the failure of 'connect audio' operation in HFP examples with default SDK configuration. (91874c8)
  • Fixed a2dp failing to connect again after disconnected (9ff6e44)
  • Fixed the issue that HFP client makes error in parsing CLCC command response (49e15e9)
  • Fixed esp_spp_write() crash when data length is 0 (76bb983)
  • Fixed the off-by-one error of indicator value in HFP in handling "+CIEV" AT command. (#6486, 3d0cfc8)
  • Fixed build errors when sniff subrating is enabled. (ab0ae87)
  • Fixed memory leak in case that message posting to a thread fails (698aae9)
  • Fixed the unexpected memory free when malloc failed. (fe16a6f)

Bluetooth Low Energy

Added

  • Added API to get the name of Bluetooth device. (f97a8a2)

Fixed

  • Fixed BLE advertising data construct for device name (65331f6)
  • Fixed BLE SMP key distribution setting (65331f6)
  • Report disconnect event after BLE link closed (65331f6)
  • Fixed battery profile wrong condition in bluedroid host (c28f5a5)
  • Report status when clearing the BLE whitelist is complete. (f97a8a2)
  • Fixed saving GATTC cache with the same device address. (f97a8a2)
  • Fixed state conflict between advertising and scanning. (f97a8a2)
  • Fixed BLE advertising TX power map. (9dfbf27)
  • Fixed BLE resolvable private address generate and update. (9dfbf27)
  • Fixed esp hid crash when authentication failed. (9dfbf27)
  • Fixed BLE HID LED output report (6617cee)
  • Fixed encrypt keysize of GATT characteristic permission (6617cee)
  • Fixed BLE connection update with the same parameters (6617cee)
  • Correct the length of ATT_READ_BY_TYPE_REQ PDU (6617cee)
  • Allow bluedroid host to report ADV_IND separately (d33ce3c)
  • Fixed calling esp_ble_get_cur_sendable_packets_num() sometimes crashes when bluetooth is disconnecting (bd4b681)
  • Fixed repeatedly data length set error (bd4b681)
  • Fixed second bonding fail issue (bd4b681)

Blufi

Fixed

  • Fixed Blufi document description errors (c28f5a5)
  • Fixed vulnerability attacks that could cause heap overflow in fragmented Blufi packet processing (25e130a)

ESP-BLE-Mesh

Added

  • Added an option for initiating IV Index Recovery if missing one (f17dce2)
  • Added an option for LPN to subscribe all-nodes-address automatically (d1f4406)

Fixed

  • Fixed not able to get optional fields from messages with a group address as DST (8c6e708)
  • Fixed not using fast adv interval when PB-GATT and PB-ADV are both enabled (25e8045)
  • Fixed Friend not relay LPN message when relay feature is disabled (138bbec)
  • Fixed the regression introduced in the btc_transfer_context changes (13b05ca)
  • Fixed handling continuously received secure update in friend queue (98d90cd)
  • Fixed using wrong range for Heartbeat Publication Period Log value (0b03533)
  • Fixed using wrong count_log for Heartbeat Subscription Status (0b03533)
  • Fixed not ignoring connectable PB-ADV PDU containing a Link Open message (0b03533)
  • Fixed ignoring KR flag within Secure Network Beacon from non-primary subnet (0b03533)
  • Fixed the sequence of checking invalid Provisioning PDU type (0b03533)
  • Fixed not checking invalid link flag during PB-GATT provisioning (0b03533)
  • Fixed wrongly overwritten the expect_ack_for flag after send_pub_key (0b03533)
  • Fixed not checking if AppKey is bound to model during model publication set (0b03533)

Wi-Fi

Changed

  • Updated inactive timer when recv ps-poll or success send data. (8da3f6e)
  • Compiled WiFi library with -Os instead of -Og to reduce code size (45a2695)
  • Refactored WiFi ioctl function to reduce code size (5158f34)

Fixed

  • Fixed connect slowly on some AP issue. (129286d)
  • Fixed STA authentication failed but softAP shows it connected issue. (129286d)
  • Fixed SoftAP mode NVS <ssid,password,pmk> not matching issue. (92a03d6)
  • Fixed ESP-NOW example add peer with other channel fail(#9592) (f06c39e)
  • Fixed SoftAP beacon memory leak issue. (8da3f6e)
  • Fixed STA get AP information does not return connected SSID issue. (8da3f6e)
  • Fixed unprotected SA Query issue (8c6057d)
  • Fixed security parameters overwritten in full scan (e6c736b)
  • Fixed some issues on Soft-AP power save. (f730580)
  • Fixed a few memory leaks in the operation of a station in WPS pin mode, which led to crashes and connection issues. (2455a07)
  • Fixed STA reset beacon timeout timer issue. (509e708)
  • Fixed pairwise cipher TKIP compatibility issue with PMF. (509e708)
  • Fixed country policy issue. (509e708)
  • Fixed wifi deinit return wrong status issue. (509e708)
  • Fixed get wrong channel value use esp_wifi_get_config(). (509e708)
  • Fixed bug of missing unlock in corner case when stop wifi. (509e708)
  • Fixed fail to scan after recv disassoc/deauth for esp32s2. (509e708)
  • Fixed connect fail when enable SPIRAM and ESP-NOW send (5158f34)
  • Install GTK before send group key handshake message 2. (5976dcc)
  • Fixed not update PHY according to country code. (c2bb3af)
  • Sync peripheral device reg base to avoid potential bugs. (c2bb3af)
  • Fixed for default AP SSID not set. (c2bb3af)
  • Do not recv unencrypted unicast ESPNOW packets when local encrypted. (c2bb3af)
  • Verified if country start channel is valid (b2c9d3d)
  • Fixed missing disconnected callback and update some log prints (b2c9d3d)
  • Fixed WPS connection issue with WPA3+WPA2 AP (985cca4)

ESP-WIFI-MESH

Changed

  • Updated mesh doc (148f4c6)
  • Updated discard context condition and process disconnect condition (148f4c6)

Fixed

  • Layer2 node will scan all channels when root leave in fixed root network. (129286d)
  • Fixed the heap corrupt issue (148f4c6)
  • Fixed the bug that esp_mesh_is_root() return error when set root type (148f4c6)
  • Fixed the bug that user can't set inactive time on mesh root (148f4c6)
  • Fixed the bug in set idle type (148f4c6)

Peripheral Drivers

Fixed

  • I2C: Fixed a bug in the ISR handler. The delay between transactions has now been greatly decreased. (eb12822)
  • I2C: Fixed watchdog timeout issue when using I2C master (2900d0d)
  • SDIO Slave: Fixed crash caused by incorrect return value check in host example. (e5f6cd9)
  • Spi Bus Lock: Fixed a concurrency issue leading to spi_device_polling_end assertion failure (#8179, 04f2766)
  • Spi Master: Fixed an issue on ESP32S2 that more than 3 devices can't be added to the SPI2 Host (#8876, fe1677e)
  • Spi Slave: Fixed an issue with placing the interrupt handler into IRAM (#3870, ed22f22)
  • SPI Slave: Fixed CS signal mapping issue when other bus signals are routed via IOMUX but CS is routed via GPOIO Matrix (0ffc813)
  • TWAI: Fixed an HW errata where the TWAI controller could still send dominant bits when placed into listen-only mode. The errata workaround can be enabled via the CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM option. (45a488f)
  • UART: Fixed unreliable uart_wait_tx_done caused by the wrong handling of the legacy UART_INTR_TX_DONE event (introduced in 239e565) (934f997)
  • PSRAM: Fixed 40MHz PSRAM CS signal glitch issue on ESP32 (91ac2dc)

Removed

  • PSRAM: Removed unused CS and CLK IO Kconfig options on ESP32S2 (30eff41)

Core System

Fixed

  • Fixed a race condition in esp_timer which resulted in linked list corruption (#11215) (da80b63)
  • Fixed garbled UART output on startup on esp32s2 (#9168) (fe907a6)
  • Allow up to 8 kB of ULP program size (#6515) (03ad2ab)
  • Fixed calibration failure on rtc8m clock after cpu/core reset as 8md256 clock is not enabled during calibration (6e42e60)
  • rom: Fixed newlib time ROM functions being regardless of CONFIG_SPIRAM_CACHE_WORKAROUND (6a3bd9e)
  • Fixed POWER ON reset when using RTC IO as input in deepsleep on ESP32-S2 (058fd73)
  • Fixed RTC memory lost in high temperature in deepsleep on ESP32-S2 (058fd73)

Power Management

Fixed

  • Fixed RTC memory lost in high temperature in deepsleep on ESP32-S2. Due to the fix, current consumption in deep sleep mode has increased by 2 ~ 3uA (058fd73)

LWIP

Added

  • Added security fixes from upstream (CVE-2020-22283, CVE-2020-22284) (a9cac76)
  • Added DHCP vendor specific options 43, 60 (#6786) (a9cac76)
  • Added a new config option to adjust TCP FIN2 timeout (a9cac76)
  • Added on demand timers for several modules to improve power efficiency (updated DNS timer, IPv4/IPv6 reassembly timer and DHCP fine timer) (a9cac76)
  • Added customization for DHCP coarse timer for reconfiguration and reducing DHCP request timeout (a9cac76)

Fixed

  • Fixed potential null-dereference when processing valid PPPoS packet containing zero characters (#8300) (a9cac76)
  • Fixed NAPT forwarding of reference type pbufs, used by the default Ethernet interface (a9cac76)
  • Fixed bug of losing DHCP callback if lease renewal fails (espressif/esp-lwip#32) (a9cac76)
  • Fixed TCP (Out of order segments) to incorrectly trim a segment when FIN flag was moved (a9cac76)
  • Fixed potential thread safety issue when calling tcp_abort() without locking (a9cac76)

Tools

Fixed

  • gdbgui is not supported on Python 3.11 and had to be disabled (#10116, 129c4f5)
  • Fixed installation on Ubuntu 22.04 (and probably later versions) (#9931) (b89f55d)
  • Fixed KeyError: 'idfSelectedId' when running install scripts (#9837, 05830cb)
  • Use a bitstring package version compatible with supported Python versions (423dec2)

Build System

Fixed

  • Fixed an issue where disassembly of ELF files built with ESP-IDF would sometimes be incorrect because of .xt.prop sections missing from the final ELF file. (b32ae67)

Documentation

Changed

  • Updated the ESP-NOW frame length in docs (148f4c6)

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.