Espressif's ESP-IDF 5.0 Is a "Major Update," Brings Breaking Changes for Those Migrating
New release brings a range of bug-fixes and new chip support, but deprecations and deletions mean caution is required before upgrading.
Espressif has announced the release of ESP-IDF 5.0, a "major update" that includes breaking changes for those migrating applications from older releases of the ESP8266 and ESP32 development framework.
"ESP-IDF v5.0 is a major update [from] ESP-IDF v4.x," the company explains in the release notes f Release v5.0 is mostly compatible with apps written for ESP-IDF v4.x, but there are some breaking changes and removal of deprecated functionality which will require code changes when updating projects."
Among the new features brought to the table by the latest ESP-IDF release are support for the ESP32-C2 and ESP32-H2 systems-on-chips, extended support for other ESP32 models including the ESP32-S3, ESP32-C3, and ESP32-S2, and security functionality including pre-encrypted firmware distribution during over-the-air (OTA) updates, a more secure Wi-Fi provisioning scheme, and additional Wi-Fi features including 802.11r support for fast station transition, WPS registrar support in softAP mode, and WPA3 SAE H2E support in station mode.
Other changes in the new release include a range of bug-fixes, from issues with the electronic fuses on ESP32-C3 and ESP32-S3 parts to problems with power-on reset when using a real-time clock, a reduction in power consumption in certain use-cases, and a fix for "dangerous power parameters" in sleep mode on an ESP32-S3.
Not all changes may be welcomed by developers, however, as the new release also brings with it a hefty list of breaking changes, which will require careful consideration when attempting to migrate projects from older releases to ESP-IDF 5.0. These include changes to the application programming interface (API) for Bluetooth operation, changes in the build system, networking changes including a move away from OpenSSL to mbedTLS or esp-tls for encryption, the deprecation of the old analog-to-digital (ADC) driver, and the removal of Python 3.6 support.
The latest release is available on the Espressif GitHub repository now under the permissive Apache 2.0 license, though users are strongly advised to read through the entire changelog before upgrading from earlier version. Additional information is available on the Espressif documentation site.