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

latest releases: v5.4-dev, v5.2.1, v4.4.7...
2 years ago

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

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

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

This is the recommended way of obtaining v4.2.2.

Download an archive with submodules included

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

Changelog

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

Major Bug Fixes

  • Fixed arithmetic overflow issue in FreeRTOS queue API (CVE-2021-31571)

Known Issues

  • When GPIO wakeup is enabled, light sleep current of ESP32-S2 is 2mA higher than expected value in datasheet. This issue is under active debugging.

Bluetooth Controller

Bluetooth Low Energy

  • Fixed controller do not report disconnect event to host
  • Deleted the Kconfig option: BLE ADV priority high

Classic Bluetooth

  • Fixed handling of invalid feature page response

Bluedroid

Classic Bluetooth

  • Added change to consider Audio Major Class while showing discovery results (#6548)
  • HFP-AG: fixed error when enabling dyanmic memory allocation

Bluetooth Low Energy

  • Fixed Spelling mistakes
  • Modify parameter description for esp_ble_gattc_open()
  • Fixed multi-connection pair failed
  • Updated connection state when getting cancel connection complete event
  • Fixed crash caused by enable GATTC NVS

NimBLE

  • Fixed host flow control in NimBLE host
  • Fixed WDT crash observed during security exchanges
  • Fixed ‘Impersonation in the Passkey Entry Protocol’ Vulnerability (CVE-2020-26558)

ESP-BLE-Mesh

  • Fixed number endianess error for Provisioner when using input/output authentication (#6862)
  • Fixed provisioning input/output count number should be at least 1 (#6863)

Wi-Fi

  • Fixed channel setting error after Wi-Fi stop
  • wpa_supplicant: Prevent reinstallation of an already in-use group key
  • Support phy calibration data storage to nvs for ESP32-S2
  • Fixed ESP-NOW channel config range
  • Added RF calibration docs for ESP32-S2
  • Fixed dirty buffer issue
  • Fixed Block Ack issue when PMF is enabled
  • Fixed softAP crash by handling public action frames (#7109)

Ethernet

  • Speed up Ethernet start up process

ESP-WIFI-MESH

  • Added esp_mesh_send_block_time to set blocking time of esp_mesh_send

Security

  • Digital Signature: Fixed invalidating Digital Signature key in HMAC peripheral if assertions are disabled
  • Flash Encryption: Fixed potential physical access TOCTOU attack to remove encrypted partition flag in partition table (CVE-2021-27926)
  • Partition Table: The partition table MD5 checksum is now checked when the partition table is loaded by the app, in addition to the existing check in the bootloader

Peripheral Drivers

  • SPI: Fixed duplex mode switch issue when switching multiple devices (#4641, #1080)
  • SPI: Fixed CS polarity configuration issue (#4726, #5490)
  • Timer: Place timer_spinlock_give/timer_spinlock_take in IRAM (#6824)
  • Touch_sensor: Fixed touch sensor default power source on ESP32-S2
  • UART: Apply FORCE_INLINE_ATTR to all UART LL functions to inline them correctly with "-O2" option (#5694)

Core System

  • Fixed arithmetic overflow issue in FreeRTOS queue API (CVE-2021-31571)
  • Improved chip boot time for ESP32-S2
  • Any alignment is now permitted for .flash.rodata section as (custom) application version information is now in a separate section ( #6976)
  • Fixed .flash.text alignment causing cache issue ( #6976)
  • ULP: Fixed build system bug where linker script wasn't updated if memory reserved for ULP changed

Power Management

  • Optimized deep sleep current in Wi-Fi softap mode
  • Provided an interface to get pm_configuration

LWIP

  • Fixed assert when tcp send data
  • Optimized dhcp key state transition message

OTA

  • Fixed incorrect usage of otadata.seq & crc in switch_ota_partition cmd

HTTP Client

  • Fixed esp_http_client_read with OpenSSL server for file size aligned to 289 bytes

mbedTLS

  • Fixed mbedtls dynamic resource memory leaks
  • Fixed mbedtls_ssl_send_alert_message crash due to ssl->out_iv is NULL
  • Added support for external memory policy for ESP32-S2 (#6998)
  • Fixed ESP32-S2 AES DMA could return before all bytes completed writing back to RAM

Bootloader

  • Fixed bootloader "skip validate on exiting deep sleep" option if "use RTC memory as heap" is enabled

Tools

  • "idf.py gdbgui" - Add workaround for typing errors from greenlet and use compatible Socket.IO library (#5968)
  • idf.py: Fixed unpredictable order of global_action_callbacks with python < 3.7
  • Can now set a mirror for all GitHub asset URLs downloaded as part of IDF Tools install process
  • Split up large binaries into smaller chunks in the DFU binary (#6999)
  • idf_tool.py: Improved error message about tool being installed but failed to run
  • export.bat/install.bat: Human-readable error message if Git or Python is not in PATH.

Documentation

  • Updated ESP32-S2-Kaluga-Kit User Guide in Chinese for v1.3 of the kit
  • Updated Chinese translation for build-system, ulp, unit-tests, and idf-monitor, fixed typos and line wrap for the corresponding documentation in English

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.