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

latest releases: v5.2.3, v5.3.1, v5.0.7...
2 years ago

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

ESP-IDF v4.2.4 is a bugfix update for ESP-IDF v4.2.

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

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

Download an archive with submodules included

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

Major changes

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

Major Bug Fixes

  • efuse: Validate written data after burning and re-burns it if necessary. This avoids potential and rare issue with incorrect efuse programming on some modules (it was observed with failure rate 0.59% on one of the production site)

Breaking Changes

  • WI-FI: Disabling PMF in Station configuration no longer possible, Station will always connect in PMF Mode if AP advertises support

Changelog

Bluetooth

Controller

Fixed

  • Fixed missing in processing VHCI interrupt caused by lack of protection against race conditions in accessing VHCI environment variables
  • Make sure semphr/queue used in interrupt is in DRAM

Bluetooth Low Energy

Fixed

  • Fixed BLE ke_mem.c assert on ESP32

Classic Bluetooth

Fixed

  • Fixed the crash issue in handling HCI_Exit_Sniff_Request command from Host when controller just switches to active mode
  • Fixed the EDR mode wrongly cleared by a successful role switch which caused that the 2M/3M package type can not be selected for use
  • Fixed LMP extended features exchange handling, allow max supported feature page number that is lower than current feature page number, to support wrong LMP response from specific devices

Bluedroid

Fixed

  • Fixed the linker error of functions not defined when memory debug is enabled

Classic Bluetooth

Changed

  • HF: Updated HFP_AG version to 1.7.2
  • HF: Updated HFP_HF version to 1.7.2

Fixed

  • A2DP: Fixed AVDTP general reject format error
  • A2DP: Fixed in A2DP sink example that audio playback is clogged due to higher priority of application task in case of heavy workload from the task
  • A2DP: Fixed the A2DP source example application state machine in the processing of inquiry response, which can result in the failure of stopping device discovery
  • HID: Resolved type redefinitions in btc_spp.h and btc_hd.h/btc_hh.h
  • SPP: Fixed SPP initiator can not free resources when the connection fails
  • SPP: Fixed SPP crash after calling esp_spp_deinit
  • SPP: Fixed SPP initialization failure without free mutex
  • GAP: Added Bluetooth address field in the parameter structure of ESP_BT_GAP_READ_REMOTE_NAME_EVT callback event

Bluetooth Low Energy

Fixed

  • Fixed bluedroid host memory overflow

ESP-BLE-Mesh

  • Fixed not checking the oversized SegN during provisioning

Wi-Fi

Added

  • Always connect Station in PMF mode if possible, added a separate PMF disable API

Changed

  • Updated wpa2_enterprise certificates
  • Updated wifi CSI docs
  • Updated wifi multiple antennas docs
  • Updated wifi header file

Fixed

  • Added changes for unicast key renew for TKIP mic failure
  • Fixed the bug that wifi not stopped correctly if sniffer mode not disabled
  • Fixed the bug that QoS Null updated BA SSN
  • Fixed the bug that the wrong default static TX buffer number if it is not configured
  • Do not use pmkid caching when SSID is changed
  • Fixed Assoc comeback causing invalid state bug
  • Fixed clearing default wifi netif procedure
  • Fixed deep sleep can't reconnect to ap when pmf enable
  • Fixed handling of key RSC
  • Fixed issue reported by static analyser
  • Fixed some ap will ignore auth when rx deauth for a while
  • Fixed static analysis issues
  • Fixed the wrong suggestion of method in NAK for all the methods (#7769)
  • Fixed write to null pointer if malloc failed
  • Ignore unauthenticated encrypted EAPOL-Key data
  • Multiple bugfixes in SoftAP and Station PMF

ESP-WIFI-MESH

Added

  • Added non mesh connections access

Peripheral Drivers

Added

  • Freemodbus: Added the FMB_PORT_TASK_AFFINITY kconfig option for modbus tasks (#6700)

Changed

  • Freemodbus: Changed the default value of FMB_TIMER_PORT_ENABLED to disabled
  • SPI Flash: Decrease the IRAM usage of SPI Flash driver

Fixed

  • ADC: Fixed ADC calibration error after waking up from light sleep
  • Freemodbus: Fixed uart_set_pin() check error in modbus master serial example
  • Freemodbus: Fixed master and slave use the same timer group index (#4699)
  • Freemodbus: Fixed slave destroy bug when master and slave init simultaneously
  • GPIO: Fixed the issue that config struct is not properly initialized
  • GPIO: Fixed some gpio pin num errors on ESP32-S2
  • I2S: Fixed the write failure issue in 32bit slave mode
  • LEDC: Fixed ledc_set_duty failed to take effect when called frequently (#7288)
  • LEDC: Fixed incorrect fading behaviour with LEDC_FADE_NO_WAIT fade mode (#6710)
  • PSRAM: Fixed heap pool reservation for DMA/internal usage fail issue.
  • SDIO Slave: Fixed the issue that interrupt may be cleared with finished trans unhandled
  • SPI: Fixed crash calling spi_bus_free when not initialized (#8642)
  • SPI: Fixed master HD DMA mode cannot correctly receive data when a TX (no RX) transaction is done
  • SPI Master: Fixed the error log when using SPI_TRANS_USE_TXDATA or SPI_TRANS_USE_RXDATA with data longer than expect
  • Timer Group: Reset timer group peripheral in timer_init() function (#6466)
  • TWAI: Added detection and handling of RX FIFO overrun condition
  • TWAI: Added workarounds for hardware errata on the ESP32 (#2519)
  • UART: Fixed the incorrect channel num on ESP32-S2
  • UART: Fixed RTS mis-reset before sending caused by context switch (#4178)
  • USB: Fixed issue that swapped pins not working through HAL
  • XTAL: Fixed xtal 32k not oscillate or oscillate too slowly issue for ESP32

Core System

Fixed

  • efuse: Validate written data after burning and re-burns it if necessary
  • efuse (ESP32): Fixed burn operation when data was written directly to regs
  • Fixed peripheral clock being undesirably disabled during cpu reset for ESP32-S2
  • Fixed pm lock bug in dual core mode

FreeRTOS

Fixed

  • Fixed bug in Xtensa FreeRTOS port where extra threadptr CPU was not being saved on solicited context switches
  • Fixed bug in event group functions where the blocked task list was being accessed without acquiring the task list spinlock

Power Management

Fixed

  • Fixed cannot lightsleep again after a wakeup from ULP (#6229)
  • Fixed driver using wrong print function in a critical section (#7942)
  • Fixed _rtc_slow_length being incorrectly optimized by compiler
  • pm_impl: Fixed neither enter light sleep nor enter "waiti" state in idle task

LWIP

Fixed

  • Fixed that IPv6 DNS can not work

Bootloader

Added

  • SPI Flash: Added unlock function patch in bootloader to make GD flash more stable
  • SPI Flash: Support unlock for ISSI chips
  • SPI Flash: Support unlock for MXIC chips

Changed

  • Enable write protection to flash at end of bootloader to increase stability
  • Improved XMC flash stabilities as main flash

Fixed

  • Avoid unnecessary WRSR operation to flash to increase stability
  • Fixed the issue custom uart gpio doesn't take effect

Removed

Storage

Fixed

  • mmap: Fixed the issue mmap cannot be called with pointers to psram
  • nvs: Fixed issues found by Coverity

Tools

Added

  • Docker: Added build arguments to reduce the image size: IDF_CLONE_SHALLOW and IDF_INSTALL_TARGETS
  • idf.py: Added IDF component manager beta version. Dependencies listed in idf_component.yml manifest are downloaded automatically.

Fixed

  • IDF Monitor should flash with the same and unmodified port it was invoked with (#8432)

Build System

Changed

  • Enable the component manager for pure CMake builds by default

Documentation

Fixed

  • FreeRTOS: Fixed broken links in queue.h

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.