ESP-IDF Versions
The ESP-IDF code is hosted on GitHub as an open-source project. Currently, there are three major versions available: v3, v4, and v5. Each major version usually contains various sub-versions, such as v4.2, v4.3, and so on. Espressif Systems ensures a 30-month support for bug fixes and security patches for each released sub-version. Therefore, revisions of sub-versions are also released regularly, such as v4.3.1, v4.2.2, etc. Table 4.1 shows the support status of different ESP-IDF versions for Espressif chips, indicating whether they are in a preview stage (offering support for preview versions, which may lack certain features or documentation) or are officially supported.
Table 4.1. Support status of different ESP-IDF versions for Espressif chips
Series | v4.1 | v4.2 | v4.3 | v4.4 | v5.0 |
---|---|---|---|---|---|
ESP32 | supported | supported | supported | supported | supported |
ESP32-S2 | supported | supported | supported | supported | |
ESP32-C3 | supported | supported | supported | ||
ESP32-S3 | supported | supported | |||
ESP32-C2 | supported | ||||
ESP32-H2 | preview | preview |
The iteration of major versions often involves adjustments to the framework structure and updates to the compilation system. For example, the major change from v3.* to v4.* was the gradual migration of the build system from Make to CMake. On the other hand, iteration of minor versions typically entails the addition of new features or support for new chips.
It is important to distinguish and understand the relationship between
stable versions and GitHub branches. Versions labeled as v*.* or
v*.*.* represent stable versions that have passed complete internal
testing by Espressif. Once fixed, the code, tool chain, and release
documents for the same version remain unchanged. However, GitHub
branches (e.g., the release/v4.3
branch) undergo frequent code
commits, often on a daily basis. Therefore, two code snippets under the
same branch may differ, necessitating developers to promptly update
their code accordingly.