Releases: espressif/esp-idf
ESP-IDF Release v5.1.1
Documentation for IDF v5.1.1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.1.1/
ESP-IDF v5.1.1 is a bugfix update for ESP-IDF v5.1.
Obtaining v5.1.1
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 v5.1.1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1.1
cd esp-idf-v5.1.1/
This is the recommended way of obtaining v5.1.1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.1.1.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/v5.1.1/esp-idf-v5.1.1.zip
Major changes
This is the list of changes since release v5.1:
- Power management support for ESP32H2: Light sleep, DFS, BLE Modem Sleep/Light sleep, Openthread Modem sleep/Light sleep
- Power management support for ESP32C6: BLE Modem sleep/Light sleep, Openthread Modem Sleep/Light sleep
- Added external coexistence support for ESP32C6
Known Issues
- Supplicant: During WiFi Enterprise connection benign error prints like these may appear - "wpa: EAPOL TxDone with invalid payload len!"
Changelog
802.15.4
802.15.4 MAC
Added
- 802.15.4 MAC: Added debug feature for driver. (fabe338)
- 802.15.4 MAC: Match ESP32-C6/ESP32-H2 max txpower value with datasheet (966312e)
Changed
- 802.15.4 MAC: Updated coex_arb_delay reg (aa43494)
Fixed
- 802.15.4 MAC: Fixed a bug when stop tx/rx ack, no event will be posted to upper stack. (9658469)
- 802.15.4 MAC: Fixed multipan api error (aa43494)
Thread
Added
- Thread: Support DUA and linkmetrics feature optional. (1296991)
- Thread: Support light sleep for openthread (a300e79)
- Thread: Support settings API for openthread port. (65bf500)
- Thread: Introduce the Thread auto start API (65bf500)
- Thread: Added event post for OpenThread role changed (65bf500)
Changed
- Thread: Enable HW AES for mbedtls. (65bf500)
Fixed
- Thread: Forbid otPlatUdp to connect to address 0.0.0.0 with port 0. (1296991)
- Thread: Fixed dead lock issue related to ot and lwip (65bf500)
- Thread: Fixed an out-of-range memory issue when calling NVS API. (65bf500)
- Thread: Fixed assert when parsing security key failed. (9658469)
- Thread: Enable openthread border agent id support. (4cb9554)
- Thread: Fixed memory leak for handling ICMP6 MLQ packets (4cb9554)
- Thread: Fixed set mcast forwarding enable (4cb9554)
Zigbee
Changed
- Zigbee: Updated Zigbee examples based on latest library (7ae116e)
Bluetooth Low Energy
Bluetooth Low Energy Controller
Fixed
- Controller: Fixed BLE disconnection delay on peripheral when slave latency is not zero on ESP32. (56bb50b)
- Controller: Fixed BLE LLCP initialization for central and peripheral on ESP32. (56bb50b)
- Controller: Fixed sent command status event twice for disconnect command on ESP32. (56bb50b)
- Controller: Fixed crash when controller initialization fails due to insufficient memory on ESP32-C3 and ESP32-S3. (56bb50b)
- Controller: Fixed memory leak when setting adv data on ESP32. (5e34883)
- Controller: Fixed the problem of disconnection in high and low-temperature environments on ESP32-C2.(43a67a5)
- Controller: Fixed scan failure issue on ESP32-C6. (aa6a8b7)
- Controller: Fixed crash issue in light sleep on ESP32-C6. (aa6a8b7)
- Controller: Changed the power level for ESP32-C6. (aa6a8b7)
- Controller: Fixed the crash issue when BLE MESH pairing on ESP32-C6. (aa6a8b7)
Added
- Controller: Supported extra link retention used for sleep on ESP32-C6, ESP32-H2. (a8c9665)
- Controller: Added VS commands to support mesh duplicate list for ESP32-C6, ESP32-H2. (e68d4a7)
ESP Bluedroid Host
Added
- Bluedroid: Added a log statement to print the Bluetooth MAC address (82fde1e)
Fixed
- Bluedroid: Fixed GATT control block free when disconnecting. (aa5b7e0)
- Bluedroid: Fixed GATTC database cache free when disconnecting. (aa5b7e0)
- Bluedroid: Fixed BLE default extended connection parameters. (56bb50b)
- Bluedroid: Fixed BLE HID battery level setting. (56bb50b)
- Bluedroid: Fixed the issue of setting BLE advertising data incorrectly when the data length is 0. (82fde1e)
- Bluedroid: Added support of NULL check while allocating the memory in the transport layer of the Bluedroid host. (25876e8)
ESP NimBLE Host
Added
- NimBLE: Added proximity sensor as a service (a125e8f)
- NimBLE: Added API to send VSC and handle VSE (68654bf)
- NimBLE: Added tutorial for Multi adv example (4b761af)
- NimBLE: Added tutorial for HTP example (c6bc222)
- NimBLE: Added support to send Power control related events in the registered callback. (40bf1ed)
- NimBLE: Added health thermometer profile (4cf31c3)
- NimBLE: Added BLE multi-connection example for ESP32-C6, ESP32-H2
Changed
- NimBLE: Updated central examples to consider failure when attempting connection (c558904)
- NimBLE: Increase the number of semaphore count to allow more semaphore allocation (e2e5894)
- NimBLE: Sync missing changes between porting folder and nimble submodule files. (f1b9af7)
- NimBLE: Updated macro names in menuconfig as per nimble1.5 (9d47a58)
Fixed
- NimBLE: Fixed mismatch of number of completed packtes in host flow control. (d25df89)
- NimBLE: Fixed data type of power level and delta to handle negative values (e27b44e)
- NimBLE: Fixed assert due to controller event while stack deinit. (a7b62bb)
- NimBLE: Memory leak fixes (60163c3)
- NimBLE: Fixed setting macro values based on selected configuration (bd0343c)
- NimBLE: Fixed watchdog timer issue in throughput app (0e1bcdd)
- NimBLE: Expose API to clear all addresses in whitelist out of stack (633d072)
- NimBLE: Updated connection type in reattempt connection code (dab45c2)
- NimBLE: Removed the extra status field in the enh read transmit power level (051965a)
Removed
- NimBLE: Removed example files referring to older TTFW framework. (b875331)
ESP-BLE-MESH
Changed
- ESP-BLE-Mesh: Updated ble mesh to support duplicate scan on ESP32-C6 and ESP32-H2. (196fc55)
Classic Bluetooth
Classic Bluetooth Bluedroid Host
Added
- Bluedroid: Added instructions and diagrams on the execution workflow for examples
bt_l2cap_server
andbt_l2cap_client
. (bd985de)
Changed
- Bluedroid: Updated AVRCP version to v1.5 (425b660)
- Bluedroid: Improved documents for Bluetooth HID Host API reference. (09f2ab8)
Fixed
- Bluedroid: Fixed null pointer access after disconnection. (5e34883)
- Bluedroid: Fixed the unexpected use of 3-EV3 packet type in HFP when Wide-Band Speech is disabled, by revising the (e)SCO configuration parameter sets according to HFP_v1.8. (71a5663)
- Bluedroid: Fixed the alarm leak which is caused by not releasing the timer during A2DP and HF-AG deinitialization. (d682fbe)
- Bluedroid: Fixed SDP not being able to configure 32-bit and 128-bit UUID (#11572) (11d34b1)
Classic Bluetooth Controller
Fixed
- Controller: Fixed memory exhaustion resulted from repetitive unhanded event LC_AFH_UPDATE_IND on ESP32 (5e34883)
- Controller: Fixed link disconnection during sniff negotiation due to invalid D_sniff value on ESP32 (5e34883)
- Controller: Fixed failure of re-connection after ACL link is disconnected but host continues to send ACL data to controller on ESP32 (5e34883)
Wi-Fi
Added
- Added new API to get RSSI info after station connected to AP. (d7604b5)
Changed
- the callback of
esp_wifi_set_vendor_ie_cb()
can be set to NULL now. (d7604b5) - Enable FTM on ESP32-C2, fixed first FTM distance estimation. (d7604b5)
- Implemented changes to prioritize sending EAP-Failure before de-authentication in WPS registrar. (37ff7a9)
- Updated the code of how to configure multiple antennas of wifi (cc74be8)
Fixed
- Fixed the ESP-NOW send error when the channel info is not matched with bandwidth. (d7604b5)
- Fixed bugs in FTM initiator and responder mode. (d7604b5)
- Fixed association refused temporarily comeback time set to zero issue. (d7604b5)
- Fixed crash in use of
esp_wifi_action_tx_req()
(d7604b5) - Ignored Immediate Associate req till the previous one is processed. (b98bcd7)
- Fixed the issue that STA will reconnect when receive two AP's commit with different sequence number (b98bcd7)
Wi-Fi MAC
Fixed
- MAC: Fixed the RX error when softAP/station and ESP-NOW both encrypted, and the ESP-NOW peer address is equal to the connection peer address. (6ec5267)
- MAC: Fixed issue with action frame TX API causing TX buffer overflow. (6ec5267)
- MAC: Fixed an issue where PMF was getting disabled during the connection. (6ec5267)
- MAC: Allow OWE traffic to flow after 4 way handshake is completed (6ec5267)
- MAC: Fixed beacon timeout issue in OWE transition mode (6ec5267)
- MAC: Fixed Wi-Fi scan failure with BLE init and light sleep on ESP32-C6. (6ec5267)
- MAC: Fixed error propagation in FTM initiate API (6ec5267)
- MAC: Fixed beacon timeout and disconnect with error code 201, m f probe req l=0 issue. (7148d82)
Supplicant
Fixed
- Supplicant: Fixed crash when EAPOL is r...
ESP-IDF Release v5.0.3
Documentation for IDF v5.0.3 is available at https://docs.espressif.com/projects/esp-idf/en/v5.0.3/
ESP-IDF v5.0.3 is a bugfix update for ESP-IDF v5.0.
Obtaining v5.0.3
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 v5.0.3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.0.3
cd esp-idf-v5.0.3/
This is the recommended way of obtaining v5.0.3 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.0.3.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/v5.0.3/esp-idf-v5.0.3.zip
Major changes
This is the list of changes since release v5.0.2:
Major Features
- Added support to enable Brown-Out-Detector in 2nd stage bootloader for ESP32-C2. This provides protection against power glitch kind of attacks. (c82d9ca)
Major Bug Fixes
- PHY: Fixed the iPhone disconnects immediately after connecting when BLE and wifi coexist on ESP32-C3 (5a68c49)
- Support 8MD256 as RTC slow clock work properly ESP32-S2/ESP32-C3/ESP32-C2/ESP32 (1b04acf)
- Fixed POWER ON reset when using RTC IO as input in deepsleep on ESP32-S2/ESP32-C3/ESP32-C2 (1b04acf)
- Fixed RTC memory lost in high temperature in deepsleep on ESP32-S2/ESP32-C3 (1b04acf)
- Fixed potential dangerous power parameters in sleep modes on ESP32-S2 (1b04acf)
Major Changes
- Due to changes to sleep parameters, current has increased 2 ~ 3uA when in deepsleep by default config (1b04acf)
- Due to changes to sleep parameters, current will increase when 8MD256 used as rtc slow clock in sleep (1b04acf)
Known Issues
- For chips running on Bluedroid host, there is a small chance of crashing when the BLE connection is terminated.
Changelog
Bluetooth
Controller
Bluetooth Low Energy
Added
- Added an example of Bluetooth LE using auto light sleep (dd7e8b7)
- Support ESP32-C3 and ESP32-S3 new BLE lib (c323399)
Fixed
- Fixed BLE disconnection failure on ESP32 (c21a4c9)
- Fixed disconnection due to consecutive CRC errors in first 6 intervals on ESP32 (c21a4c9)
- Fixed BLE connection terminated due to MIC failure during encryption procedure on ESP32-C3 and ESP32-S3 (c323399)
- Fixed BLE connection failed to be established when disabled 5.0 feature on ESP32-C3 and ESP32-S3 (c323399)
- Set default instance value to 6 on ESP32-C3 and ESP32-S3 (c323399)
- Merge ESP32-C3 and ESP32-S3 BLE bt.c, esp_bt.h and kconfig files to one (c323399)
- Disable controller 5.0 feature bits if host 5.0 feature is not enabled on ESP32C3 and ESP32S3 (c323399)
- Fixed extend ADV parameters check for ADV_DIRECT_HI on ESP32C3 and ESP32S3 (c323399)
- Fixed BLE HW RAL_UNDERRUN assert on ESP32C3 and ESP32S3 (c323399)
- Fixed non-connectable and non-scannable directed adv can't be scanned on ESP32-C3 and ESP32-S3 (c323399)
- improve scan performance when scan and sync coexist on ESP32-C3 and ESP32-S3 (c323399)
Bluedroid
Classic Bluetooth
Changed
- Updated the API documentation of
esp_bt_gap_set_cod
. (aa92f10)
Fixed
- Fixed inconsistency between the indicator event received by the HF application layer and the actually received indicator. (#6486) (0117a6e)
- Fixed the issue in A2DP source example that the a2dp source would not send the media start command due to the connection initiated by the peer device.(#11170) (de6d31a)
- Fixed the crash of A2DP source when it connects to Bose speaker. This is caused by the crossed incoming- and outgoing-AVDT procedures and solved by separating the processing of the different directions. (a40fc40)
- Fixed the memory access out-of-bound issue in HFP caused by the variable-length array introduced in 3268075. (#11264) (f9ad773)
- Fixed the crash of LoadProhibited caused by invalid operation on list node in handling hci_hardware_error event. (6012986)
Bluetooth Low Energy
Added
- Added API to get the name of Bluetooth device. (e7d4c90)
Fixed
- Fixed Bluedroid host ATT Ignore wrong response error sometimes (c323399)
- Always enable
BT_BLE_RPA_SUPPORTED
If target is not ESP32 (c323399) - Report status when clearing the BLE whitelist is complete. (e7d4c90)
- Fixed saving GATTC cache with the same device address. (e7d4c90)
- Fixed state conflict between advertising and scanning. (e7d4c90)
- Fixed no error report when own address type is rpa_random and no random address setting (c21a4c9)
- Fixed battery profile wrong condition in Bluedroid host (c21a4c9)
- Fixed BLE extended advertising random address setting for NRPA (de419db)
- Fixed BLE advertising data construct for device name (de419db)
- Fixed BLE SMP key distribution setting (de419db)
- Fixed GATT control block free when disconnecting. (4c775e3)
NimBLE
Added
- Added configurable option for resolving peer address in bleprph example (054f17c)
- Added multi advertising example (d3a57ff)
- Added support for writing data more than BLE_ATT_ATTR_MAX_LEN (d84fc1e)
- Added support to send Power control related events in the registered callback. (1c07880)
Changed
- Updated README file for nimble examples (86ed0c5)
Fixed
Removed
- Removed indicate flag from gatt db and added subscription case in spp_server example (3cad80e)
Blufi
Fixed
ESP-BLE-Mesh
Changed
- Fixed filtering error when Provisioner receives heartbeat messages (d2e094d)
Wi-Fi
Added
- Added APIs to get Station Associate ID and negotiated PHY mode (2798527)
- PHY: Added an API to improve Wi-Fi RX performance for 11b packets for AC-DC power supply modules with high interference. (c0f55d9)
Changed
- Improved ESP32 connection success rate at some coexistence scene (2798527)
- Updated softAP pairwise cipher (2798527)
- AP-STA concurrent mode improvements for Management Frame Protection (PMF) (2798527)
- Updated tx rate when phymode change from LR to 11N (2798527)
Fixed
- PHY: Fixed WiFi not working with Tsens on ESP32S2. (24b9d38)
- PHY: Fixed Wi-Fi disconnect in low temperature. (c0f55d9)
- PHY: Fixed RTC_SW_CPU_RST occur in Wi-Fi start and stop process. (c0f55d9)
- Fixed sometimes failed to enter modem sleep after scan (2798527)
- Fixed SoftAP QoS null issue (2798527)
- Fixed SoftAP maximum SoftAP connection number issue (2798527)
- Fixed rejection of TKIP cipher incase of OWE connection (2798527)
- Fixed SoftAP mode NVS not match issue (2798527)
- ESP Station install traffic keys only after successful transmission of EAPOL 4/4 message.(2798527)
- Fixed beacon TX process when softAP interface is stopped (2798527)
- Fixed FTM procedure with peer failed status 4 issue (2798527)
- Fixed the issue that set inactive time crash issue (2798527)
- PMF should be disabled in WPA mode(2798527)
- Fixed STA RX CSA issue caused by receiving SCA packets that do not belong to STA. (2798527)
- Fixed a bug that when STA connected with 11g AP and TXOP enabled, Tx buffer leak happens. (f0b1869)
- Fixed STA auth failed but SoftAP shows it connected issue. (ca8bf60)
- Fixed ESP-NOW example fails to add peer with other channel (#9592, fc4d4f0)
- Fixed potential issue when TX fragment packets. (6b2d631)
- Fixed ESP32-C2/ESP32-C3/ESP32-S3 rate control issue to improve tx robust (7c0d6d4)
- Fixed crash caused by calling tx_pwctrl_background in ESP32-S3. (2558d4c)
- Decouple SoftAP code for ESP32-C2. (ad5a8be)
- Fixed timer callback crash after WiFi deinit on ESP32-C2. (ad5a8be)
ESP-WIFI-MESH
Fixed
- Fixed the layer2 node scan issue in fixed root (2798527)
- Fixed the heap corrupt issue (2798527)
- Examples: Fixed the bug that stop DHCP server before set DNS(#10762, 2798527)
Coexistence
Fixed
- PHY: Fixed the iPhone disconnects immediately after connecting when BLE and wifi coexist on ESP32-C3 (5a68c49)
Ethernet
Changed
- Updated DM9051 configuration to receive multicast packets (ab3499a)
Fixed
- Fixed issue when ESP32 EMAC could hang when stopped/started multiple times at 10Mbps speed mode (0872feb)
- Fixed "insufficient TX buffer size" error when Link is Down (#10851)
Security
Fixed
- Hardware AES: Fixed DMA descriptor calculation for the specific aligned data length case causing memory corruption (#11310) (faf54ca)
Peripheral Drivers
Added
- MSPI: Added timing tuning start, success log (9f99495)
- RMT: Define
RMT_ENCODING_RESET
in thermt_encode_state_t
(#11200) (24a2a98)
Changed
ESP-IDF Release v4.2.5
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
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 disca...
ESP-IDF Release v5.1
Documentation for IDF v5.1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.1/
ESP-IDF v5.1 is a minor update for ESP-IDF v5.0. Release v5.1 is mostly compatible with apps written for ESP-IDF v5.0.
Obtaining v5.1
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 v5.1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1
cd esp-idf-v5.1/
This is the recommended way of obtaining v5.1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.1.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/v5.1/esp-idf-v5.1.zip
Major changes
This is the list of changes since release v5.0:
Major Features
- ESP32-C6 support status
- ESP32-H2 support status
- Bluetooth: Bluetooth support use main XTAL in light sleep mode on ESP32-C3/ESP32-S3 (33f1747)
- Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32-C3 and ESP32-S3 (d530630)
- Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32-C2 (8ea3865)
- NimBLE: Added stack support for LE Power Control (8facf6f)
- NimBLE: Migrated to nimble-1.5 (07d8862)
- Wi-Fi: Added WPS registrar support in SoftAP mode. (f27a95c)
- Wi-Fi: Added support for SAE-PK (Public Key) authentication for station. (e44c7fb)
- Wi-Fi: Added support of WPA3 Personal (SAE) in SoftAP. (146a5c4)
- Wi-Fi: Added Wi-Fi Aware (NAN) support(currently only ESP32/ESP32S2 support)(d5f53fb)
- Wi-Fi: Added support for WPA2/WPA3, mixed mode for SoftAP. (146a5c4)
- OpenThread: Added support of Ethernet interface for Openthread br (6ca5db1)
- OpenThraed: Supported CSL feature (bb9200a)
- OpenThread: Supported Link Metrics feature (bb9200a)
- OpenThread: Added SPI support in Radio Co-Processor (c0097c1)
- Coexistence: Added external coexistence(leader mode) support on ESP32-S3 and ESP32-C2 (895d97d)
- Coexistence: Added external coexistence(follower mode) support on ESP32-C2 (895d97d)
- Coexistence: Added force RX mode in external coexistence on ESP32-C2 (895d97d)
- ULP: Added support for RTC I2C to ULP RISC-V on ESP32-S2 and ESP32-S3 (867745a)
- WDT: Support Interrupt WDT and Task WDT on ESP32-C2 (4f1a9e4)
- GDB Stub: Added support for GDB Stub on ESP32-C2 (6020bb0)
- pthreads: Added POSIX semaphore implementation (6382fc3)
- espcoredump: Added ESP32-C2 target support (47fa643)
- espcoredump: Added support for stacks in external RAM for all targets (5eb8def)
- Analog Comparator: Introduced the driver of the analog comparator on ESP32-H2 (2d14ba2)
- DAC: Introduced new DAC driver, oneshot mode, continuous mode and cosine wave mode are supported on ESP32 and ESP32-S2. Legacy DAC driver in dac.h has been deprecated but still available. The legacy channel enums DAC_CHANNEL_1 and DAC_CHANNEL_2 are deprecated, please use DAC_CHAN_0 and DAC_CHAN_1 instead (9bc2d15)
- esp_etm: Support allocating ETM channels dynamically and extensions for GPIO, GPTimer (fefe6f3)
- GPTimer: New example to capture HC-SR04 sensor by GPTimer and ETM channel (fefe6f3)
- I2S: Supported 4-line PDM RX on ESP32-S3 (48b23b7)
- LEDC: Supported LEDC gamma curve fade new feature on ESP32-C6 and ESP32-H2, and added a new relevant ledc_gamma_curve_fade example (3ec287e)
- MMU: Added new component esp_mm for memory management, added memory mapping APIs in esp_mmu_map.h (1c69929)
- Cache: Added an API to synchronize data between Cache and external memory, on Cache writable chips (ESP32S2, ESP32S3) (a9ce760)
- Parlio: Added parallel IO TX driver for ESP32-C6 and ESP32-H2 (14555a1)
- Parlio: Added a simple RGB LED Matrix example based on the Parallel IO TX driver (14555a1)
- RGB_LCD: Support RGB-YUV data format conversion (e2634b5)
- spi_flash: Octal flash and Quad flash mode can be detected automatically in run time. Enabling this feature reduces available internal RAM size by about 900 bytes (cb28fcf)
- USB Host: Added support for UVC Host Class (see the UVC Host Class Driver component for more details) and accompanying example (#6493, f161184)
- USB: Added Mass Storage Device example (a9e40f6)
- Added a new chip version logic (major * 100 + minor) (c546de8)
- Semihosting: VFS semihost additional syscalls implemented (38acc3f)
- VFS: VFS semihost additional syscalls implemented. (38acc3f)
- ESP Partition/Linux: Added support for non default file emulating flash memory (6987526)
- sysview: Added FreeRTOS SMP port (1a006cb)
- Tools: Added QEMU with xtensa chip support to the Docker image (ccc7846)
Major Bug Fixes
- Flash MMAP: Fixed issue that only only limited vaddr ranges can be mapped to instructions/rodata on Flash on ESP32-S2, C3, S3, C2 (#10373, 1c69929)
- MSPI: Fixed timing tuning issue for 80MHz Octal PSRAM on ESP32S3, which would lead to system stall at early stage (34e5a80)
- MSPI: Fixed timing turning issue on high frequency lead to crash when entering sleep on ESP32-S3 (3b62bf5)
- Fixed POWER ON reset when using RTC IO as input in deepsleep on ESP32-S2/ESP32-C3/ESP32-C2 (cfcb573)
- Fixed RTC memory lost in high temperature in deepsleep on ESP32-S2/ESP32-C3 (cfcb573)
- Support 8MD256 as RTC slow clock work properly ESP32-S2/ESP32-C3/ESP32-C2/ESP32 (cfcb573)
- Fixed dangerous power parameters in sleep modes on ESP32-S2 (cfcb573)
- PHY: Fix the iPhone disconnects immediately after connecting when BLE and wifi coexist on ESP32-C3 and ESP32-S3 (e8dba71)
Breaking Changes
- bootloader_support: The API bootloader_common_get_partition_description has now been made private, the alternative function esp_ota_get_partition_description should be used (a2f028a)
- SDMMC/SDSPI: SD cards accept custom frequencies, not only fixed values 20 MHz or 40 MHz. See Storage migration guide for details (7d28aba)
- ESSL: The esp_serial_slave_link is removed from the esp-idf components. Now user should use the component manager to pull it in. See example examples/peripherals/sdio/host/main/idf_component.yml for more details (03d8059)
- Sleep: esp_light_sleep_start now returns two error num when sleep fails: ESP_ERR_SLEEP_REJECT and ESP_ERR_SLEEP_TOO_SHORT_SLEEP_DURATION (f191b2f)
- Storage: All the partition handling APIs and data-type definitions have been moved from the 'spi_flash' to the new component 'esp_partition'. See Storage 5.x migration guide for more details (b14116f)
- esp_chip_info() returns the chip version in the format = 100 * major eFuse version + minor eFuse version. (c546de8)
- Wi-Fi: Modified maximum SoftAP connection number and ESPNOW encrypted connection number. (d89a512)
- Wi-Fi: Changed ESP-NOW receive callback function type (esp_now_recv_cb_t). This change is made to fix potential security issues mentioned in #8574. (8223a59)
- ADC: No longer support ADC2 continuous (DMA) mode on ESP32-S3 and ESP32-C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 (6569be4)
- ADC: No longer support ADC2 oneshot mode on ESP32-C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 (6569be4)
- I2S STD: Enabled left_align in the default slot configuration. For the default and most used case, data_bit_width equals to slot_bit_width, which means left_align does not matter in this case
For the case that data_bit_width is shorter than slot_bit_width, enabling left_align is a quite typical usage for almost all the codecs. (190e9e7) - NimBLE: Updated return type for nimble_port_init / nimble_port_deinit functions. (9916eb6)
- IDF: All dynamic memory allocated by FreeRTOS now defaults to internal memory. To allocate FreeRTOS objects in special memory (e.g., external memory), please use one of the CreateWithCaps() functions in #include "freertos/idf_additions.h" (daf4150)
Known Issues
- In ESP32-C6, there is a small chance of core dump when it sends advertisement and scanning
- In ESP32-C6, DUT might crash or disconnect with AP when light sleep is enabled
- On ESP32-C6, sometimes chip can't wakeup under low temperature, RTC memory lost under high temperature, unexpected power on reset when GPIO wakeup enabled in Deep-sleep. Can't wakeup properly under high temperature from Light-sleep
- When using the FPU from multiple tasks on the same core there is a change that the FPU state will be corrupted, causing invalid results. Issue affects ESP32 and ESP32-S3 (#11690)
Changelog
802.15.4
Added
- Added support for ESP32-H2 MP chip (63d0494)
- esp_phy: Added API esp_btbb_disable to be used by 802.15.4 and Bluetooth (e797a06)
- Open source driver code (0be6802)
OpenThread
Added
ESP-IDF Pre-release v5.1-rc2
Documentation for IDF v5.1-rc2 is available at https://docs.espressif.com/projects/esp-idf/en/v5.1-rc2/
ESP-IDF v5.1-rc2 is a minor update for ESP-IDF v5.0. Release v5.1 is mostly compatible with apps written for ESP-IDF v5.0.
Obtaining v5.1-rc2
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 v5.1-rc2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1-rc2
cd esp-idf-v5.1-rc2/
This is the recommended way of obtaining v5.1-rc2 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.1-rc2.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/v5.1-rc2/esp-idf-v5.1-rc2.zip
Major changes
This is the list of changes since release v5.0:
Major Features
- ESP32-C6 support status
- ESP32-H2 support status
- Bluetooth: Bluetooth support use main XTAL in light sleep mode on ESP32-C3/ESP32-S3 (33f1747)
- Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32-C3 and ESP32-S3 (d530630)
- Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32-C2 (8ea3865)
- NimBLE: Added stack support for LE Power Control (8facf6f)
- NimBLE: Migrated to nimble-1.5 (07d8862)
- Wi-Fi: Added WPS registrar support in SoftAP mode. (f27a95c)
- Wi-Fi: Added support for SAE-PK (Public Key) authentication for station. (e44c7fb)
- Wi-Fi: Added support of WPA3 Personal (SAE) in SoftAP. (146a5c4)
- Wi-Fi: Added Wi-Fi Aware (NAN) support(currently only ESP32/ESP32S2 support)(d5f53fb)
- Wi-Fi: Added support for WPA2/WPA3, mixed mode for SoftAP. (146a5c4)
- OpenThread: Added support of Ethernet interface for Openthread br (6ca5db1)
- OpenThraed: Supported CSL feature (bb9200a)
- OpenThread: Supported Link Metrics feature (bb9200a)
- OpenThread: Added SPI support in Radio Co-Processor (c0097c1)
- Coexistence: Added external coexistence(leader mode) support on ESP32-S3 and ESP32-C2 (895d97d)
- Coexistence: Added external coexistence(follower mode) support on ESP32-C2 (895d97d)
- Coexistence: Added force RX mode in external coexistence on ESP32-C2 (895d97d)
- ULP: Added support for RTC I2C to ULP RISC-V on ESP32-S2 and ESP32-S3. (867745a)
- WDT: Support Interrupt WDT and Task WDT on ESP32-C2 (4f1a9e4)
- GDB Stub: Added support for GDB Stub on ESP32-C2 (6020bb0)
- pthreads: Added POSIX semaphore implementation (6382fc3)
- espcoredump: Added ESP32-C2 target support (47fa643)
- espcoredump: Added support for stacks in external RAM for all targets. (5eb8def)
- Analog Comparator: Introduced the driver of the analog comparator on ESP32-H2 (2d14ba2)
- DAC: Introduced new DAC driver, oneshot mode, continuous mode and cosine wave mode are supported on ESP32 and ESP32-S2. Legacy DAC driver in dac.h has been deprecated but still available. The legacy channel enums DAC_CHANNEL_1 and DAC_CHANNEL_2 are deprecated, please use DAC_CHAN_0 and DAC_CHAN_1 instead. (9bc2d15)
- esp_etm: Support allocating ETM channels dynamically and extensions for GPIO, GPTimer (fefe6f3)
- GPTimer: New example to capture HC-SR04 sensor by GPTimer and ETM channel (fefe6f3)
- I2S: Supported 4-line PDM RX on ESP32-S3. (48b23b7)
- LEDC: Supported LEDC gamma curve fade new feature on ESP32-C6 and ESP32-H2, and added a new relevant ledc_gamma_curve_fade example (3ec287e)
- MMU: Added new component esp_mm for memory management, added memory mapping APIs in esp_mmu_map.h (1c69929)
- Cache: Added an API to synchronize data between Cache and external memory, on Cache writable chips (ESP32S2, ESP32S3) (a9ce760)
- Parlio: Added parallel IO TX driver for ESP32-C6 and ESP32-H2 (14555a1)
- Parlio: Added a simple RGB LED Matrix example based on the Parallel IO TX driver (14555a1)
- RGB_LCD: Support RGB-YUV data format conversion (e2634b5)
- spi_flash: Octal flash and Quad flash mode can be detected automatically in run time. Enabling this feature reduces available internal RAM size by about 900 bytes. (cb28fcf)
- USB Host: Added support for UVC Host Class (see the UVC Host Class Driver component for more details) and accompanying example (#6493, f161184)
- USB: Added Mass Storage Device example (a9e40f6)
- Added a new chip version logic (major * 100 + minor) (c546de8)
- Semihosting: VFS semihost additional syscalls implemented. (38acc3f)
- VFS: VFS semihost additional syscalls implemented. (38acc3f)
- ESP Partition/Linux: Added support for non default file emulating flash memory (6987526)
- sysview: Added FreeRTOS SMP port (1a006cb)
- Tools: Added QEMU with xtensa chip support to the Docker image (ccc7846)
Major Bug Fixes
- Flash MMAP: Fixed issue that only only limited vaddr ranges can be mapped to instructions/rodata on Flash on ESP32-S2, C3, S3, C2 (#10373, 1c69929)
- MSPI: Fixed timing tuning issue for 80MHz Octal PSRAM on ESP32S3, which would lead to system stall at early stage. (34e5a80)
- MSPI: Fixed timing turning issue on high frequency lead to crash when entering sleep on ESP32-S3 (3b62bf5)
- Fixed POWER ON reset when using RTC IO as input in deepsleep on ESP32-S2/ESP32-C3/ESP32-C2 (cfcb573)
- Fixed RTC memory lost in high temperature in deepsleep on ESP32-S2/ESP32-C3 (cfcb573)
- Support 8MD256 as RTC slow clock work properly ESP32-S2/ESP32-C3/ESP32-C2/ESP32 (cfcb573)
- Fixed dangerous power parameters in sleep modes on ESP32-S2 (cfcb573)
- PHY: Fix the iPhone disconnects immediately after connecting when BLE and wifi coexist on ESP32-C3 and ESP32-S3 (e8dba71)
Breaking Changes
- bootloader_support: The API bootloader_common_get_partition_description has now been made private, the alternative function esp_ota_get_partition_description should be used. (a2f028a)
- SDMMC/SDSPI: SD cards accept custom frequencies, not only fixed values 20 MHz or 40 MHz. See Storage migration guide for details (7d28aba)
- ESSL: The esp_serial_slave_link is removed from the esp-idf components. Now user should use the component manager to pull it in. See example examples/peripherals/sdio/host/main/idf_component.yml for more details (03d8059)
- Sleep: esp_light_sleep_start now returns two error num when sleep fails: ESP_ERR_SLEEP_REJECT and ESP_ERR_SLEEP_TOO_SHORT_SLEEP_DURATION (f191b2f)
- Storage: All the partition handling APIs and data-type definitions have been moved from the 'spi_flash' to the new component 'esp_partition'. See Storage 5.x migration guide for more details (b14116f)
- esp_chip_info() returns the chip version in the format = 100 * major eFuse version + minor eFuse version. (c546de8)
- Wi-Fi: Modified maximum SoftAP connection number and ESPNOW encrypted connection number. (d89a512)
- Wi-Fi: Changed ESP-NOW receive callback function type (esp_now_recv_cb_t). This change is made to fix potential security issues mentioned in #8574. (8223a59)
- ADC: No longer support ADC2 continuous (DMA) mode on ESP32-S3 and ESP32-C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 (6569be4)
- ADC: No longer support ADC2 oneshot mode on ESP32-C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 (6569be4)
- I2S STD: Enabled left_align in the default slot configuration. For the default and most used case, data_bit_width equals to slot_bit_width, which means left_align does not matter in this case.
For the case that data_bit_width is shorter than slot_bit_width, enabling left_align is a quite typical usage for almost all the codecs. (190e9e7) - NimBLE: Updated return type for nimble_port_init / nimble_port_deinit functions. (9916eb6)
- IDF: All dynamic memory allocated by FreeRTOS now defaults to internal memory. To allocate FreeRTOS objects in special memory (e.g., external memory), please use one of the CreateWithCaps() functions in #include "freertos/idf_additions.h. (daf4150)
Known Issues
- In ESP32-C6, there is a small chance of core dump when it sends advertisement and scanning.
- In ESP32-C6, DUT might crash or disconnect with AP when light sleep is enabled.
- On ESP32-C6, sometimes chip can't wakeup under low temperature, RTC memory lost under high temperature, unexpected power on reset when GPIO wakeup enabled in Deep-sleep. Can't wakeup properly under high temperature from Light-sleep.
Changelog
802.15.4
Added
- Added support for ESP32-H2 MP chip (63d0494)
- esp_phy: Added API esp_btbb_disable to be used by 802.15.4 and Bluetooth (e797a06)
- Open source driver code. (0be6802)
OpenThread
Added
- Support NAT64 ICMP (5573d13)
- Added some flash optimization options (45fb699)
- Added support of Ethernet interface for Openthread br. (6ca5db1)
- Added 802.15.4 and Thread support for ESP32-C6 (2ce330b)
- Added support for ESP32-C2 BR and ESP32-C6 BR (radio spinel uart). (46a1165)
- Supported CSL feature (bb9200a)
- Supported Link Metrics feature (bb9200a)
- Add...
ESP-IDF Release v4.4.5
Documentation for IDF v4.4.5 is available at https://docs.espressif.com/projects/esp-idf/en/v4.4.5/
ESP-IDF v4.4.5 is a bugfix update for ESP-IDF v4.4.
Obtaining v4.4.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.4.5 --recursive https://github.com/espressif/esp-idf.git esp-idf-v4.4.5
cd esp-idf-v4.4.5/
This is the recommended way of obtaining v4.4.5 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v4.4.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.4.5/esp-idf-v4.4.5.zip
Major changes
This is the list of changes since release v4.4.4:
Major Changes
- Bootloader: Added chip revision check based on the configured REV_MIN_FULL and the REV_MAX_FULL associated with IDF version (8232f23)
Major Bugfix
- efuse: Prevent burning XTS_AES and ECDSA keys into BLOCK9 (BLOCK_KEY5) because HW bug, (related to ESP32-C3, ESP32-S3 chips)(62a9966)
- PHY: Fixed iPhone disconnects immediately after connecting when BLE and wifi coexist on ESP32-C3 and ESP32-S3 (1071b13)
Breaking Changes
- esp_chip_info() returns the chip version in the format = 100 * major eFuse version + minor eFuse version. (8232f23)
- ADC: ADC2 continuous (DMA) mode on ESP32-S3 and ESP32-C3 is not supported by default, Search for errata on espressif website to know more details. Users can force use it by enabling ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 (028f483)
- ADC: ADC2 oneshot mode on ESP32-C3 is not supported by default. Search for errata on espressif website to know more details. Users can force use it by enabling ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 (028f483)
Changelog
Bluetooth
Controller
Bluetooth Low Energy
Added
- Added config to set duplicate scan list refresh period on ESP32, ESP32-C3 and ESP32-S3 (3208949)
- Support ESP32C3 and ESP32-S3 new BLE lib (c0efc25)
Changed
- Changed default TX power to 9 dBm on ESP32 (3208949)
- Optimized the coexist under BLE initiation on ESP32 (7eba5f8)
- Improved scan performance when scan and sync coexist on ESP32-C3 and ESP32-S3 (fd5e03b)
Fixed
- Fixed duplicate scan refresh cycle is not accurate after restarting scan on ESP32 (7eba5f8)
- Set default instance value to 6 on ESP32-C3 and ESP32-S3 (c0efc25)
- Merge ESP32C3 and ESP32S3 BLE bt.c, esp_bt.h and kconfig files to one (c0efc25)
- Disable controller 5.0 feature bits if host 5.0 feature is not enabled ESP32-C3 and ESP32-S3 (c0efc25)
- Fixed extend ADV parameters check for ADV_DIRECT_HI ESP32-C3 and ESP32-S3 (c0efc25)
- Fixed BLE disconnect due to channel map update instant passed on ESP32 (17a0cda)
- Overwrite the oldest device infor if the list is full on ESP32, ESP32-C3 and ESP32-S3 (3208949)
- Fixed duplicate scan period is not accurate on ESP32, ESP32-C3 and ESP32-S3 (3208949)
- Fixed some memory was not released after Bluetooth controller initialization failed on ESP32, ESP32-C3 and ESP32-S3 (3208949)
- Fixed privacy error for directed advertising on ESP32-C3 and ESP32-S3 (3208949)
- Fixed multiple periodic advertising sync failed in air on ESP32-C3 and ESP32-S3 (3208949)
- Fixed disconnect reason 0x1f (unspecified error) on ESP32 (3208949)
- Fixed connection timeout due to LL_TERMINATE_IND has not been acknowledged on ESP32 (3208949)
- Fixed BLE connection terminated due to MIC failure during encryption procedure on ESP32-C3 and ESP32-S3 (fd5e03b)
- Fixed BLE connection failed to be established when disabled 5.0 feature on ESP32-C3 and ESP32-S3 (fd5e03b)
- Fixed non-connectable and non-scannable directed adv can't be scanned on ESP32-C3 and ESP32-S3 (fd5e03b)
- Disabled controller 5.0 feature bits if host 5.0 feature is not enabled (fd5e03b)
Classic Bluetooth
Added
- Optimized the wireless coexistence in the conditions of Bluetooth sniff, inquiry scan or page scan on ESP32 (7eba5f8)
Fixed
- Fixed that functions "coex_enable" and "coex_disable" are not used in pairs on ESP32-C3 and ESP32-S3 (a60b89b)
- Fixed BR/EDR connection failure in case of wireless coexistence on ESP32 (7eba5f8)
- Fixed disconnection due to unhandled LMP_UNSNIFF_REQ during the specific state LC_WAIT_SNIFF_SUB_RSP on ESP32 (7eba5f8)
- Fixed the crash on ESP32 when link supervision timeout is less than sniff subrating interval (7eba5f8)
- Fixed the crash caused by processing the HCI_Read_Remote_Extented_Features command in the non-connected state on ESP32 (7eba5f8)
- Fixed the crash after controller disable and re-enable resulted from incorrect hardware settings on esp32 (7eba5f8)
Bluedroid
Fixed
- Fixed Bluedroid compile errors after setting CONFIG_ESP_SYSTEM_USE_EH_FRAME=y on RISC-V SoCs (778b806)
Classic Bluetooth
Added
- Added report of response code for AVRCP passthrough command (11e20bb)
- Added report of ACL link connected and disconnected event to upper layer for GAP (202e1c1)
Changed
- Updated the API documentation of esp_bt_gap_set_cod (df8c0f2)
Fixed
- Fixed the issue for HID Host in handling the two consecutive connection request (9f8f60d)
- Fixed build errors when sniff subrating is enabled. (23ec5e1)
- Fixed the issue for A2DP in the use of invalid configuration when the peer device configures the stream, resulting in an incorrect error code (f46b03f)
- Fixed out-of-bound array access in HFP-AG (7894f03)
- Fixed missing documents for Bluetooth HID Device API reference and fixed the typos for HID device exmaple (7cfc1a7)
- Fixed LoadProhibited issue caused by invalid operation on list node in handling hci_hardware_error event (8e55945)
Bluetooth Low Energy
Added
- Support BLE privacy by controller (17a0cda)
- Added parameters for GATT connect event (17a0cda)
- Added API to get the name of Bluetooth device. (f31b5c3)
Fixed
- Examples: support BLE notify and write throughput test at the same time (!23234)
- Examples: Fixed BLE address type of advertising and scan parameters (17a0cda)
- Examples: Fixed BLE HID LED output report (b818abb)
- Fixed bluedroid host ATT Ignore wrong response error sometimes (c0efc25)
- Enable BT_BLE_RPA_SUPPORTED If target is not ESP32 (c0efc25)
- Correct the length of ATT_READ_BY_TYPE_REQ PDU (b818abb)
- Fixed encrypt keysize of GATT characteristic permission (b818abb)
- Fixed BLE connection update with the same parameters (b818abb)
- Fixed saving GATTC cache with the same device address. (f31b5c3)
- Fixed state conflict between advertising and scanning. (f31b5c3)
- Report status when clearing the BLE whitelist is complete. (f31b5c3)
- Fixed battery profile wrong condition in bluedroid host (fd5e03b)
- Fixed no error report when own address type is rpa_random and no random address setting (fd5e03b)
- PHY: Fixed the iPhone disconnects immediately after connecting when BLE and wifi coexist on ESP32-C3 and ESP32-S3 (1071b13)
NimBLE
Added
- Added debug related code under debug flag to improve throughput (188bb8d)
- Added configurable option for resolving peer address in bleprph example (f67cb1d)
- Added Encryption support (4ceb928)
- Added GATT notify and subscribe support (4ceb928)
Changed
- Update Mesh example documentation (bd54673)
- Updated functions related to adding and clearing peer_dec_rec table (5360833)
Fixed
- Fixed README of SPP server (712f6cb)
Blufi
Fixed
- Fixed hdr getting freed twice while using blufi (f89eedd)
- Fixed vulnerability attacks that could cause heap overflow in fragmented Blufi packet processing (c0efc25)
- Fixed Blufi document description errors (fd5e03b)
ESP-BLE-Mesh
Fixed
- Fixed filtering error when Provisioner receives heartbeat messages (424ddb3)
- Fixed not transmit Transaction ACK before closing provisioning link by Provisioner (3c25ecb)
- Fixed not send Link Close message before resetting provisioning link by Provisioner (3c25ecb)
Wi-Fi
Added
- Stored some missed station config parameters into NVS (b7ddd82)
- Added APIs to get Associate ID and negotiated phymode. (8df9bbd)
- Added validations during Suite B Enterprise connections. (f3fc6f7)
Changed
- Added changes to use SHA256 size ciphers for WPA2 enterprise for cert size > 2048 (cdb87a5)
- Changed abnormal beacon log level to debug (4a4227a)
- Improved ESP32 connection success rate at some coexistence scene (0e9c393)
- Updated TX rate when phymode change from LR to 11N (7534dac)
- Updated Wi-Fi AMSDU docs (bf4a710)
- Updated
esp_wifi_wps_start()
API documentation (#10407, fa3c3a8). - SA Query and assoc comeback related improvements in STA (#9428, 0c8ec2a)
Fixed
- Added key reinstallation related security fixes from upstream wpa_supplicant (CVE-2017-13077, CVE-2017-13078, CVE-2017-13079, CVE-2017-13080, CVE-2017-13081, CVE-2017-13082, 0c8dd57)
- Fixed beacon TX process when softAP interface is stopped (5999775)
- Fixed the incorrect RTOS tick when XTAL PU during sleep on ESP32-C3 (0e9c393)
- Fixed the issue that sometimes fail to enter modem sleep after scan (0e9c393)
- Fixed typo in wifi_enterprise example README (htt...
ESP-IDF Pre-release v5.1-rc1
Documentation for IDF v5.1-rc1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.1-rc1/
ESP-IDF v5.1-rc1 is a minor update for ESP-IDF v5.0. Release v5.1 is mostly compatible with apps written for ESP-IDF v5.0.
Obtaining v5.1-rc1
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 v5.1-rc1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1-rc1
cd esp-idf-v5.1-rc1/
This is the recommended way of obtaining v5.1-rc1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.1-rc1.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/v5.1-rc1/esp-idf-v5.1-rc1.zip
Major changes
This is the list of changes since release v5.0:
Major Features
- ESP32-C6 support status
- ESP32-H2 support status
- Bluetooth: Bluetooth support use main XTAL in light sleep mode on ESP32-C3/ESP32-S3 (33f1747)
- Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32-C3 and ESP32-S3 (d530630)
- Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32-C2 (8ea3865)
- NimBLE: Added stack support for LE Power Control (8facf6f)
- NimBLE: Migrated to nimble-1.5 (07d8862)
- Wi-Fi: Added WPS registrar support in SoftAP mode. (f27a95c)
- Wi-Fi: Added support for SAE-PK (Public Key) authentication for station. (e44c7fb)
- Wi-Fi: Added support of WPA3 Personal (SAE) in SoftAP. (146a5c4)
- Wi-Fi: Added Wi-Fi Aware (NAN) support(currently only ESP32/ESP32S2 support)(d5f53fb)
- Wi-Fi: Added support for WPA2/WPA3, mixed mode for SoftAP. (146a5c4)
- OpenThread: Added support of Ethernet interface for Openthread br (6ca5db1)
- OpenThraed: Supported CSL feature (bb9200a)
- OpenThread: Supported Link Metrics feature (bb9200a)
- OpenThread: Added SPI support in Radio Co-Processor (c0097c1)
- Coexistence: Added external coexistence(leader mode) support on ESP32-S3 and ESP32-C2 (895d97d)
- Coexistence: Added external coexistence(follower mode) support on ESP32-C2 (895d97d)
- Coexistence: Added force RX mode in external coexistence on ESP32-C2 (895d97d)
- ULP: Added support for RTC I2C to ULP RISC-V on ESP32-S2 and ESP32-S3. (867745a)
- WDT: Support Interrupt WDT and Task WDT on ESP32-C2 (4f1a9e4)
- GDB Stub: Added support for GDB Stub on ESP32-C2 (6020bb0)
- pthreads: Added POSIX semaphore implementation (6382fc3)
- espcoredump: Added ESP32-C2 target support (47fa643)
- espcoredump: Added support for stacks in external RAM for all targets. (5eb8def)
- Analog Comparator: Introduced the driver of the analog comparator on ESP32-H2 (2d14ba2)
- DAC: Introduced new DAC driver, oneshot mode, continuous mode and cosine wave mode are supported on ESP32 and ESP32-S2. Legacy DAC driver in dac.h has been deprecated but still available. The legacy channel enums DAC_CHANNEL_1 and DAC_CHANNEL_2 are deprecated, please use DAC_CHAN_0 and DAC_CHAN_1 instead. (9bc2d15)
- esp_etm: Support allocating ETM channels dynamically and extensions for GPIO, GPTimer (fefe6f3)
- GPTimer: New example to capture HC-SR04 sensor by GPTimer and ETM channel (fefe6f3)
- I2S: Supported 4-line PDM RX on ESP32-S3. (48b23b7)
- LEDC: Supported LEDC gamma curve fade new feature on ESP32-C6 and ESP32-H2, and added a new relevant ledc_gamma_curve_fade example (3ec287e)
- MMU: Added new component esp_mm for memory management, added memory mapping APIs in esp_mmu_map.h (1c69929)
- Cache: Added an API to synchronize data between Cache and external memory, on Cache writable chips (ESP32S2, ESP32S3) (a9ce760)
- Parlio: Added parallel IO TX driver for ESP32-C6 and ESP32-H2 (14555a1)
- Parlio: Added a simple RGB LED Matrix example based on the Parallel IO TX driver (14555a1)
- RGB_LCD: Support RGB-YUV data format conversion (e2634b5)
- spi_flash: Octal flash and Quad flash mode can be detected automatically in run time. Enabling this feature reduces available internal RAM size by about 900 bytes. (cb28fcf)
- USB Host: Added support for UVC Host Class (see the UVC Host Class Driver component for more details) and accompanying example (#6493, f161184)
- USB: Added Mass Storage Device example (a9e40f6)
- Added a new chip version logic (major * 100 + minor) (c546de8)
- Semihosting: VFS semihost additional syscalls implemented. (38acc3f)
- VFS: VFS semihost additional syscalls implemented. (38acc3f)
- ESP Partition/Linux: Added support for non default file emulating flash memory (6987526)
- sysview: Added FreeRTOS SMP port (1a006cb)
- Tools: Added QEMU with xtensa chip support to the Docker image (ccc7846)
Major Bug Fixes
- Flash MMAP: Fixed issue that only only limited vaddr ranges can be mapped to instructions/rodata on Flash on ESP32-S2, C3, S3, C2 (#10373, 1c69929)
- MSPI: Fixed timing tuning issue for 80MHz Octal PSRAM on ESP32S3, which would lead to system stall at early stage. (34e5a80)
- MSPI: Fixed timing turning issue on high frequency lead to crash when entering sleep on ESP32-S3 (3b62bf5)
- Fixed POWER ON reset when using RTC IO as input in deepsleep on ESP32-S2/ESP32-C3/ESP32-C2 (cfcb573)
- Fixed RTC memory lost in high temperature in deepsleep on ESP32-S2/ESP32-C3 (cfcb573)
- Support 8MD256 as RTC slow clock work properly ESP32-S2/ESP32-C3/ESP32-C2/ESP32 (cfcb573)
- Fixed dangerous power parameters in sleep modes on ESP32-S2 (cfcb573)
- PHY: Fix the iPhone disconnects immediately after connecting when BLE and wifi coexist on ESP32-C3 and ESP32-S3 (e8dba71)
Breaking Changes
- bootloader_support: The API bootloader_common_get_partition_description has now been made private, the alternative function esp_ota_get_partition_description should be used. (a2f028a)
- SDMMC/SDSPI: SD cards accept custom frequencies, not only fixed values 20 MHz or 40 MHz. See Storage migration guide for details (7d28aba)
- ESSL: The esp_serial_slave_link is removed from the esp-idf components. Now user should use the component manager to pull it in. See example examples/peripherals/sdio/host/main/idf_component.yml for more details (03d8059)
- Sleep: esp_light_sleep_start now returns two error num when sleep fails: ESP_ERR_SLEEP_REJECT and ESP_ERR_SLEEP_TOO_SHORT_SLEEP_DURATION (f191b2f)
- Storage: All the partition handling APIs and data-type definitions have been moved from the 'spi_flash' to the new component 'esp_partition'. See Storage 5.x migration guide for more details (b14116f)
- esp_chip_info() returns the chip version in the format = 100 * major eFuse version + minor eFuse version. (c546de8)
- Wi-Fi: Modified maximum SoftAP connection number and ESPNOW encrypted connection number. (d89a512)
- Wi-Fi: Changed ESP-NOW receive callback function type (esp_now_recv_cb_t). This change is made to fix potential security issues mentioned in #8574. (8223a59)
- ADC: No longer support ADC2 continuous (DMA) mode on ESP32-S3 and ESP32-C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 (6569be4)
- ADC: No longer support ADC2 oneshot mode on ESP32-C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 (6569be4)
- I2S STD: Enabled left_align in the default slot configuration. For the default and most used case, data_bit_width equals to slot_bit_width, which means left_align does not matter in this case.
For the case that data_bit_width is shorter than slot_bit_width, enabling left_align is a quite typical usage for almost all the codecs. (190e9e7) - NimBLE: Updated return type for nimble_port_init / nimble_port_deinit functions. (9916eb6)
- IDF: All dynamic memory allocated by FreeRTOS now defaults to internal memory. To allocate FreeRTOS objects in special memory (e.g., external memory), please use one of the CreateWithCaps() functions in #include "freertos/idf_additions.h. (daf4150)
Known Issues
- In ESP32-H2, the low performance of Thread and BlueTooth are observed on some chips, and the fix is included in a later commit(b0e2f33).
- In ESP32-C6, frequent start-stop wifi will make wifi unable to use.
- In ESP32-C6, there is a small chance of core dump when it acts as SoftAP and transmits packets.
- In ESP32-C6, there is a small chance of core dump when it sends advertisement and scanning.
- In ESP32-C6, DUT might crash or disconnect with AP when light sleep enabled.
- On all chips that support Bluetooth, there is a tiny chance of core dump when the BLE client accidentally disconnected from its server as the server is sending notifications.
Changelog
802.15.4
Added
- Added support for ESP32-H2 MP chip (63d0494)
- esp_phy: Added API esp_btbb_disable to be used by 802.15.4 and Bluetooth (e797a06)
- Open source driver code. (0be6802)
OpenThread
Added
ESP-IDF Release v5.0.2
Documentation for IDF v5.0.2 is available at https://docs.espressif.com/projects/esp-idf/en/v5.0.2/
ESP-IDF v5.0.2 is a bugfix update for ESP-IDF v5.0.
Obtaining v5.0.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 v5.0.2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.0.2
cd esp-idf-v5.0.2/
This is the recommended way of obtaining v5.0.2 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.0.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/github_assets/espressif/esp-idf/releases/download/v5.0.2/esp-idf-v5.0.2.zip
Major changes
Breaking Changes
- NimBLE: Updated return type for nimble_port_init / nimble_port_deinit functions. (358ed1a)
- cxx: experimental components moved to a separate repository (834ca54)
Changelog
This is the list of changes since release v5.0.1:
Bluetooth
Controller
Fixed
- Fixed that functions "coex_enable" and "coex_disable" are not used in pairs on ESP32-C3, ESP32-S3 and ESP32-C2 (f39c3b2)
Bluetooth Low Energy
Changed
- Modified the default ACL buffer count to decrease the usage of mbuf used by the bluedroid on ESP32-C2. (7c20c37)
- Used esp timer to implement npl callout by default on ESP32-C2. (7c20c37)
Fixed
- Fixed BLE disconnect due to channel map update instant passed on ESP32 (4cc0364)
- Fixed the issue that adv stops abnormally when the same device initiates two connections on ESP32-C2. (564b94f)
- Fixed the issue of abnormal reporting of connection update complete event on ESP32-C2. (564b94f)
- Fixed the occasional assertion when the controller is disabled on ESP32-C2. (564b94f)
- Fixed flow control count error on ESP32-C2. (564b94f)
- Fixed hci uart flow ctrl error on ESP32-C2, ESP32-H4 (2ab97d5)
- Fixed task watchdog timeout issue when the hci uart is closed on ESP32-C2, ESP32-H4 (2ab97d5)
Bluedroid
Fixed
- Fixed Bluedroid compile errors after setting CONFIG_ESP_SYSTEM_USE_EH_FRAME=y on RISC-V SoCs (9718c91)
Removed
- Removed -Wno-format compile option for bluedroid classic bluetooth examples (15b160a)
Classic Bluetooth
Added
- Added status parameter for AVRCP passthrough command response event to make user notified of the response code from AVRCP target. (fe743a0)
Fixed
- Fixed memory leak in AVDT delay report. (f944418)
- Fixed the error the module HFP-AG used an out-of-bounds array index. (cf7a01c)
- Fixed HID Host bug when handling the two consecutive connection request (41e52fc)
- Fixed status parameter for SDP_CREATE_RECORD_USER_EVT get overridden due to use of union.(#10607) (3d80d4b)
- Fixed build errors when sniff subrating is enabled. (8439e61)
- Fixed crash caused by accessing nullptr in btm_acl_disconnected (11c6594)
Bluetooth Low Energy
Added
- Examples: Support BLE notify and write throughput test at the same time (e9092c2)
- Support BLE privacy by controller (4cc0364)
- Added parameters for GATT connect event (4cc0364)
Fixed
- Examples: Fixed BLE address type of advertising and scan parameters (4cc0364)
NimBLE
Added
- Added custom GATT server functionality and encryption(c35de0c)
- Added ble_gap_ext_adv_active() to check if extended advertising instance is active or not. (273b1b3)
- Added debug related code under debug flag to improve throughput (b837e91)
- Added code to retry for memory allocation if previous allocation attempt fails for a Rx packet handling. (#10849, 10010b1)
- Added pcl demo in blecent app (0c1e80f)
- Added return value (success / failure ) to nimble_port_init (358ed1a)
Changed
- Updated functions related to adding and clearing peer_dec_rec table. (008a4dc)
- Updated example configuration setting for BLE ext advertising. (df0ec3f)
- Changed the component path to relative in IDF examples ( #10797, 8ebb509)
- Updated bleprph example to re-enable ext adv after adv is completed (8644754)
- Update ble_l2cap_coc example to handle memory double free issue(d4eebd5)
Fixed
- Fixed clearing of connection_handle array in spp_server example (8a83241)
- Fixed advertising instance check api in bleprph example (63983fb)
- Fixed README of SPP server (1ea59bd)
- Fixed compilation issues for ESP32-C6 / ESP32-H4 chips ( a9af208 )
- Fixed runtime assertion in bleprph due to two disconnect events ( b29c869)
Removed
- Removed global min/max definition (5ca38da)
Blufi
Fixed
- Fixed vulnerability attacks that could cause heap overflow in fragmented Blufi packet processing (e9092c2)
- Fixed hdr getting freed twice while using blufi (b94db7a)
ESP-BLE-Mesh
Fixed
- Transmit Transaction ACK before closing provisioning link by Provisioner (c86f48a)
- Send Link Close message before resetting provisioning link by Provisioner (c86f48a)
Wi-Fi
Changed
- Changed the log level of abnormal beacons to debug (6dc6b57)
- Improved the handling of station SA query procedures (63994a2)
Fixed
- Added fixes for potential null pointer dereference in wpa_supplicant (89bb920)(122dd1e)
- Added validations for Suite B Enterprise connections (e3778fa)
- Fixed the initialization of EAP methods during reassociation (e3778fa)
- Stored some station config parameters in NVS (7cf3f99)
- Fixed the default WPA2 cacheing PMK recalculation (faad05c)
- Improved connection management in STA and SoftAP (89bb920)
- Buffered deauth, disassoc, and action frames for stations in sleep mode (89bb920)
- Fixed an issue with espnow unexpectedly entering modem sleep on ESP32-C2 (7d5c6b9)
- Fixed a typo in the wifi_enterprise example README (#10042 3d3df29)
- Fixed a bug where sending two M1 WPS EAP messages with different enrollee nonces in response to an expanded WPS request (1f73b5e)
- Fixed processing of association response in OWE mode (04f04d6)
Removed
ESP-WIFI-MESH
Changed
- Updated the discard context condition and the process disconnect condition (2048d1e)
- Updated the mesh documentation (2048d1e)
Fixed
- Fixed the bug where esp_mesh_is_root() returned an error when setting the root type (2048d1e)
- Fixed the bug where users couldn't set inactive time on mesh root (2048d1e)
- Fixed the bug in setting idle type (2048d1e)
Security
Added
- Added new APIs to confirm that all eFuse security features are enabled correctly in bootloader. (8a6fb6d)
Changed
- Updated documentation regarding input endianness required by esp_ds API (#10391)
- examples: Enabled security/flash_encryption example for ESP32-C2 (30058e3)
Peripheral Drivers
Added
- ADC: Supported calibration on ESP32-C2 (f58f811)
- esp_hw_support: Reduced power consumption of some ESP32-S3 chips (763e369)
- MCPWM: Support keeping the GPIO configuration when deleting the MCPWM capture channel ( #10327)
- MCPWM: Support configure MCPWM generator actions one by one, without using variable length argument lists (#10449) (3f68b61)
- USB Host: Added SetAddress() recovery time. Added possibility to configure Root Hub Configuration (delay values) via menuconfig. (5919c3f)
Changed
- GDMA: Changed the UHCI GDMA trigger ID from SOC_GDMA_TRIG_PERIPH_UART0 to SOC_GDMA_TRIG_PERIPH_UHCI0 (27ca654)
- LEDC: Moved the callback in ledc_fade example to IRAM (#10402 2b14b7d)
- LCD: Changed RGB endian in LCD SPI example, when used with ILI9341 controller (#10242, d3b1ae1)
- TinyUSB: Use latest compatible version of TinyUSB from IDF component manager (8ae1ed5)
Fixed
- ADC: Fixed continuous mode PM lock release fail issue (#10853) (21b42ce)
- ADC: Fixed ADCx_GPIOxx_CHANNEL macros not aligned with new ADC driver issue (#10508) (1990335)
- GDMA: Fixed SPI2 DMA can't work with async memory copy (#10575) (27ca654)
- GPIO: Fixed the issue that IOs, which are used for deep sleep wakeup, keep staying in holding state after waking up. These IOs can now be re-configured. (#10921) (55e040b)
- GPTimer: Fixed potential race condition between timer start and stop (b7ca432)
- GPTimer: Acquire ESP_PM_NO_LIGHT_SLEEP pm lock for XTAL clock source. (92b1f4f)
- I2S: Fixed wrong interrupt allocation flag (#10997) (ef4b1b7)
- I2S: Fixed PDM TX frequency 48kHz limitation (#10420) (3050ea6)
- I2S: Fixed i2s tx/rx update failed issue (f603aa7)
- I80_LCD: Fixed the issue that PLL240M clock source is not allowed to use by ESP32-S3 i80 LCD (4ec2823)
- SPI: Fixed micro SPI_HOST_MAX error on target ...
ESP-IDF Pre-release v5.1-beta1
Documentation for IDF v5.1-beta1 is available at https://docs.espressif.com/projects/esp-idf/en/v5.1-beta1/
ESP-IDF v5.1-beta1 pre-release version is a minor update for ESP-IDF v5.0. Release v5.1 is expected to be mostly compatible with apps written for ESP-IDF v5.0.
Obtaining v5.1-beta1
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 v5.1-beta1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.1-beta1
cd esp-idf-v5.1-beta1/
This is the recommended way of obtaining v5.1-beta1 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v5.1-beta1.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/v5.1-beta1/esp-idf-v5.1-beta1.zip
Major changes
This is the list of changes since release v5.0:
Major Features
- ESP32-C6 support status
- ESP32-H2 support status
- Bluetooth: Bluetooth support use main XTAL in light sleep mode on ESP32-C3/ESP32-S3 (33f1747)
- Bluetooth: Support Bluetooth to release .bss and .data segment memory on ESP32-C3 and ESP32-S3 (d530630)
- Bluetooth: Support Bluetooth to release .bss and .data segment memory on ESP32-C2 (8ea3865)
- NimBLE: Added stack support for LE Power Control (8facf6f)
- NimBLE: Migrated to nimble-1.5 (07d8862)
- Wi-Fi: Added WPS registrar support in SoftAP mode. (f27a95c)
- Wi-Fi: Added support for SAE-PK (Public Key) authentication for station. (e44c7fb)
- Wi-Fi: Added support of WPA3 Personal (SAE) in SoftAP. (146a5c4)
- Wi-Fi: Added Wi-Fi Aware (NAN) support(currently only ESP32/ESP32S2 support)(d5f53fb)
- Wi-Fi: Added support for WPA2/WPA3, mixed mode for SoftAP. (146a5c4)
- OpenThread: Added support of Ethernet interface for Openthread br (6ca5db1)
- OpenThread: Supported CSL feature (bb9200a)
- OpenThread: Supported Link Metrics feature (bb9200a)
- OpenThread: Added SPI support in Radio Co-Processor (c0097c1)
- Coexistence: Added external coexistence(leader mode) support on ESP32-S3 and ESP32-C2 (895d97d)
- Coexistence: Added external coexistence(follower mode) support on ESP32-C2 (895d97d)
- Coexistence: Added force RX mode in external coexistence on ESP32-C2 (895d97d)
- ULP: Added support for RTC I2C to ULP RISC-V on ESP32-S2 and ESP32-S3. (867745a)
- WDT: Support Interrupt WDT and Task WDT on ESP32-C2 (4f1a9e4)
- GDB Stub: Added support for GDB Stub on ESP32-C2 (6020bb0)
- pthreads: Added POSIX semaphore implementation (6382fc3)
- espcoredump: Added ESP32-C2 target support (47fa643)
- espcoredump: Added support for stacks in external RAM for all targets. (5eb8def)
- USB Host: Added support for UVC Host Class (see the UVC Host Class Driver component for more details) and accompanying example (#6493, f161184)
- I2S: Supported 4-line PDM RX on ESP32-S3. (48b23b7)
- esp_etm: Support allocating ETM channels dynamically (fefe6f3)
- GPTimer: GPTimer supports ETM events and tasks (fefe6f3)
- GPIO: Support GPIO ETM extension (fefe6f3)
- USB: Added Mass Storage Device example (a9e40f6)
- all: Added a new chip version logic (major * 100 + minor) (c546de8)
Breaking Changes
- bootloader_support: The API bootloader_common_get_partition_description has now been made private, the alternative function esp_ota_get_partition_description should be used. (a2f028a)
- SDMMC/SDSPI: SD cards accept custom frequencies, not only fixed values 20 MHz or 40 MHz. See Storage migration guide for details (7d28aba)
- ESSL: The esp_serial_slave_link is removed from the esp-idf components. Now user should use the component manager to pull it in. See example examples/peripherals/sdio/host/main/idf_component.yml for more details (03d8059)
- Sleep: esp_light_sleep_start now returns two error num when sleep fails: ESP_ERR_SLEEP_REJECT and ESP_ERR_SLEEP_TOO_SHORT_SLEEP_DURATION (f191b2f)
- Storage: All the partition handling APIs and data-type definitions have been moved from the 'spi_flash' to the new component 'esp_partition'. See Storage 5.x migration guide for more details (b14116f)
- esp_chip_info() returns the chip version in the format = 100 * major eFuse version + minor eFuse version. (c546de8)
- Wi-Fi: Modified maximum SoftAP connection number and ESPNOW encrypted connection number. (d89a512)
- Wi-Fi: Changed ESP-NOW receive callback function type (esp_now_recv_cb_t). This change is made to fix potential security issues mentioned in #8574. (8223a59)
- ADC: No longer support ADC2 continuous (DMA) mode on ESP32-S3 and ESP32-C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 (6569be4)
- ADC: No longer support ADC2 oneshot mode on ESP32-C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 (6569be4)
- NimBLE: Updated return type for nimble_port_init / nimble_port_deinit functions. (9916eb6)
- IDF: All dynamic memory allocated by FreeRTOS now defaults to internal memory. To allocate FreeRTOS objects in special memory (e.g., external memory), please use one of the CreateWithCaps() functions in #include "freertos/idf_additions.h. (daf4150)
Known Issues
- In ESP32-H2, the active voltage of some chips is lower than the chip needed, these chips may misbehave when using BLE.
- In ESP32-C6, Low Power BROWNOUT restart will be triggered when using Wi-Fi and Bluetooth.
- In ESP32-C6, frequent start-stop wifi will make wifi unable to use.
Changelog
802.15.4
Added
- Added support for ESP32-H2 MP chip (63d0494)
- esp_phy: Added API esp_btbb_disable to be used by 802.15.4 and Bluetooth (e797a06)
OpenThread
Added
- Support NAT64 ICMP (5573d13)
- Added some flash optimization options (45fb699)
- Added support of Ethernet interface for Openthread br. (6ca5db1)
- Added 802.15.4 and Thread support for ESP32-C6 (2ce330b)
- Added support for ESP32-C2 BR and ESP32-C6 BR (radio spinel uart). (46a1165)
- Supported CSL feature (bb9200a)
- Supported Link Metrics feature (bb9200a)
- Added SPI support in Radio Co-Processor (c0097c1)
Zigbee
Added
- Added Zigbee support for ESP32-C6 (83d1bed)
- Supported esp32c6 single chip zigbee solution (d6767c2)
- Added wifi example_connect for zigbee gateway (d6767c2)
- Supported ESP32-H2 MP chip (cc3e709)
Changed
- Updated Zigbee example based on new zboss library and esp-zigbee-sdk library (dc09f30)
- Updated the example use ZDO API function. (a63a73a)
Bluetooth
Controller
Added
- ESP32-C3/ESP32-S3: bluetooth support use main XTAL in light sleep mode (33f1747)
Changed
- Updated phy lib for ESP32C2, ESP32C3 and ESP32S3 (cea6614)
- Changed default TX power to 9 dBm on ESP32 (cd5ce86)
- Set default instance value to 6 on ESP32-C3 and ESP32-S3 (b6fda97)
- Optimized the coexist under sniff and iscan/pscan on ESP32 (51c682c)
- Optimized the coexist under BLE initiation on ESP32 (51c682c)
Fixed
- Fixed the issue of Bluetooth disconnection due to not backing up Bluetooth AGC related registers when light sleep is enabled and baseband power down on ESP32-C3 and ESP32-S3 (6f677de)
- Fixed BR/EDR connection fail in coexistence on ESP32 (51c682c)
Bluetooth Low Energy
Added
- Added Periodic Advertising ADI Feature on ESP32-C2 (74abb42)
- Added APIs to set and get the ble tx power on ESP32-C2 (8d9c51f)
- Support Bluetooth to release .bss and .data segment memory on ESP32-C3 and ESP32-S3 (d530630)
- Support Bluetooth to release .bss and .data segment memory on ESP32-C2 (8ea3865)
- Added config to disable scan backoff on ESP32-C3 and ESP32-S3 (4a3319d)
- Enabled BLE PLL track to fix bluetooth disconnection caused by temperature rise or fall on ESP32C3 and ESP32-S3 (cea6614)
- Support bluedroid host maximum number of connections to 9 on ESP32-C3 and ESP32-S3 (18e0cd6)
- Added config to set duplicate scan list refresh period on ESP32 (af9dcc4)
- Supported BLE for ESP32-C6 (bdf3001)
- Supported BLE for ESP32-H2 (3ab20c1)
- Support ESP32-C3 and ESP32-S3 new BLE lib (ad1999f)
Changed
- Updated BLE TX power level mapping on ESP32-C3 and ESP32-S3 (4f4edef)
- Updated coexist module for ESP32-C2 (8d9c51f)
- Reduced the RAM size of npl_os_freertos.c file on ESP32-C2 (afeb7db)
- Modified ESP32-C2's default BLE TX power (afeb7db)
- Changed BLE default TX power from 3dBm to 9dBm on ESP32-C3 and ESP32-S3 (4a3319d)
- Unified the controller internal error code on ESP32-C2 (f0fd0b7)
- Merge ESP32-C3 and ESP32-S3 BLE bt.c, esp_bt.h and kconfig files to one (fe979e6)
- Disabled controller 5.0 feature bits if host 5.0 feature is not enabled on ESP32-C3 and ESP32-S3 (ad1999f)
Fixed
ESP-IDF Release v4.3.5
Documentation for IDF v4.3.5 is available at https://docs.espressif.com/projects/esp-idf/en/v4.3.5/
ESP-IDF v4.3.5 is a bugfix update for ESP-IDF v4.3. ESP-IDF v5.0.1 is the latest stable release at the time of writing.
Obtaining v4.3.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.3.5 --recursive https://github.com/espressif/esp-idf.git esp-idf-v4.3.5
cd esp-idf-v4.3.5/
This is the recommended way of obtaining v4.3.5 of ESP-IDF.
Download an archive with submodules included
Attached to this release is an esp-idf-v4.3.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.3.5/esp-idf-v4.3.5.zip
Major changes
This is the list of changes since release v4.3.4:
Breaking Changes
- sleep:
esp_light_sleep_start
function can now return two error codes when sleep fails:ESP_ERR_SLEEP_REJECT
(if a wakeup trigger would cause the sleep to be exited instantly) andESP_ERR_SLEEP_TOO_SHORT_SLEEP_DURATION
(if the sleep duration is less than what the hardware can support). Previously the function would not return any error codes in such cases, and sleep would take longer than expected. (6225c71) - ADC: No longer support ADC2 continuous (DMA) mode on ESP32C3, search for errata on espressif website to know more details. Users can force use it by enabling
CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3
(#10135, 00746db) - ADC: No longer support ADC2 oneshot mode on ESP32C3, search for errata on espressif website to know more details. Users can force use it by enabling
CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3
(#10135, 00746db) esp_chip_info()
now returns the chip version in the format = 100 * major eFuse version + minor eFuse version. (6b32335)
Changelog
This is the list of changes since release v4.3.4.
Bluetooth
Bluetooth Low Energy
Added
- Added config to disable scan backoff (2e0da27)
- Support Bluetooth to release .bss and .data segment memory on ESP32-C3(2e0da27)
- Added config to set duplicate scan list refresh period on ESP32 and ESP32-C3 (8cd8ec0)
Changed
- Changed BLE default TX power from 3dBm to 9dBm (2e0da27)
- Changed default TX power to 9 dBm on ESP32 (8cd8ec0)
Fixed
- Added ADV mode error check in ADV RX isr handler function on ESP32-C3 (9e863ec)
- Fixed the performance issue of BLE sync scan in coexistence scenario when PLL track is enabled on ESP32-C3 (9e863ec)
- Fixed connect failed due to error sync found signal on ESP32-C3 (9e863ec)
- Fixed BLE disconnect failed due to LL_TERMINATE_IND have sent but no ACK is received on ESP32-C3 (9e863ec)
- Fixed BLE RAL_UNDERRUN and TX_CRYPT_ERR assert on ESP32-C3 (9e863ec)
- Fixed scan forever if scan continue is disable on ESP32-C3 (9e863ec)
- Fixed BLE disconnection issue when channel map update failed due to bad channels on ESP32-C3(9e863ec)
- Fixed BLE lld_per_adv.c line 401 assert on ESP32-C3 (a2086ca)
- Fixed BLE ASSERT_PARAM(32 0) in rwble.c at line 384 on ESP32 (a2086ca)
- Fixed llm_scan.c assert at line 1485 during controller deinit if extend duplicate scan is not stopped on ESP32C3(2e0da27)
- Fixed BLE array access out of bounds on ESP32C3(2e0da27)
- Overwrite the oldest device infor if the list is full on ESP32 and ESP32-C3 (8cd8ec0)
- Fixed duplicate scan period is not accurate on ESP32 and ESP32-C3 (8cd8ec0)
- Fixed some memory was not released after Bluetooth controller initialization failed on ESP32 and ESP32-C3 (8cd8ec0)
- Fixed privacy error for directed advertising on ESP32-C3 (8cd8ec0)
- Fixed multiple periodic advertising sync failed in air on ESP32-C3 (8cd8ec0)
- Fixed disconnect reason 0x1f (unspecified error) on ESP32 (8cd8ec0)
- Fixed connection timeout due to LL_TERMINATE_IND has not been acknowledged on ESP32 (8cd8ec0)
- Fixed lld_con.c line 3048 assert on ESP32-C3 (8cd8ec0)
- Fixed crash sometimes when connected as a slave by 8th device on ESP32-C3 (8cd8ec0)
- Enabled BLE PLL track to fix bluetooth disconnection caused by temperature rise or fall on ESP32-C3 (c3d4741)
- Fixed BLE disconnect due to channel map update instant passed on ESP32 (dfc8c67)
Classic Bluetooth
Fixed
- Fixed the exhaustion of ACL buffer in case of connection-disconnection stress test(a5e5ab7)
- Fixed the duplicated reports of HCI_Connection_Request event from the same Bluetooth device. (a5e5ab7)
- Fixed the issue that Wi-Fi task can be blocked by Bluetooth Controller because of the use of blocking coexistence callback function on ESP32 (9e6d5dc)
- Fixed that functions "coex_enable" and "coex_disable" are not used in pairs on ESP32-C3 (419d620)
Bluedroid
Classic Bluetooth
Added
- Added report for ACL link related events to upper layer (4268238)
Changed
- Changed the default SR mode to R2 for the paging device when it knows nothing about the paged device's SR mode.(a0967db)
- Changed A2DP audio buffer management behaviour, removed audio cache in BTC layer and added flow control for audio data in application layer in A2DP sink example.(19310ee)
Fixed
- Fixed authentication failure during legacy pairing by using variable PIN type instead of fixed PIN. (08ee8d7, #10005)
- Fixed the issue Bluetooth Classic connection can not be created while there is a Bluetooth Low Energy connection is in active. (b52b357)
- HID: Fixed compatibility issues with HID devices that do not support Secure Simple Paring in HID examples. (a69c540, #10069)
- A2DP: fixed sink device not being able to accept and decode mono channel audio stream (07bffab)
- SPP: Fixed esp_spp_write() crash when len is 0 (d96bb08)
- HFP: Fixed HFP client parce CLCC command response bug (81d598b)
- A2DP: Fixed failure of A2DP reconnection A2DP after disconnected (6298b8c)
- Fixed memory leak due to not freeing memory if posting a message to a thread fails (df901e0)
- SPP: Fixed repeated register of vfs_id causing memory leaks (7d61396)
- SPP: Fixed memory leak when SPP initialization failed (7d61396)
- Fixed the unexpected memory free when malloc failed. (067d5fb)
- Fixed build errors when sniff subrating is enabled. (3a4755e)
Bluetooth Low Energy
Added
- Added parameters for GATT connect event (dfc8c67)
- Support bluedroid host maximum number of connections to 9 on ESP32-C3 (8cd8ec0)
- Support BLE privacy by controller (dfc8c67)
Changed
- Updated BLE tx power level mapping (a2086ca)
- Reduced the stack consumption of BTU_TASK, saving 609 bytes (05c497e)
Fixed
- Fixed extend advertising set remove failed (9e863ec)
- Fixed extend ADV TX power range error (9e863ec)
- Fixed repeatedly data length set error (9e863ec)
- Fixed second bonding fail issue (9e863ec)
- Fixed calling esp_ble_get_cur_sendable_packets_num() sometimes crashes when bluetooth is disconnecting (9e863ec)
- Configurable max GATTC cache characteristic count on bluedroid (c482cf1)
- Fixed BLE advertising TX power map on bluedroid (c482cf1)
- Fixed BLE resolvable private address generate and update on bluedroid. (c482cf1)
- Fixed ble generate RPA for ESP32 on bluedroid. (c482cf1)
- Configurable option to modify max GATT service attributes count on bluedroid. (c482cf1)
- HID: Fixed esp hid crash when authentication failed on bluedroid. (9040964)
- Allow bluedroid host to report ADV_IND separately (a2086ca)
- Fixed ble_compatibility_test example NVS init error (2e0da27)
- Fixed sometimes BTU task overflow when doing read and write performance test (2e0da27)
- Examples: Fixed BLE HID LED output report (0cf1971)
- Fixed encrypt keysize of GATT characteristic permission (0cf1971)
- Fixed BLE connection update with the same parameters (0cf1971)
- Corrected the length of ATT_READ_BY_TYPE_REQ PDU (0cf1971)
- Fixed BLE address type of advertising and scan parameters (dfc8c67)
NimBLE
Added
- Support Nimble host maximum number of connections to 9 on ESP32-C3 and ESP32-S3 (0ee6433)
- Added checks to disable stack cb registered with controller during stack deinit (ed8a4b14)
Changed
- Changed debug level of print to avoid extra unwanted console print (93149d96)
- Updated check for reattempt connection code (722291e)
- Updated ESP-BLE-MESH example documentation (9248dcf)
- Updated functions related to adding and clearing peer_dec_rec table. (c9068dc)
Fixed
- Fixed memory corruption introduced in reconnection attempt code (f1bd2be)
- Added check to deregister stack callback with controller during stack deinit (dd62e3b)
Blufi
Added
- Added data subtype for more WiFi information (ec25f91)
Changed
- BluFi example: Supported to query disconnected information, connecting information (ec25f91)
- BluFi example: Returned error code if fail to wifi scan (ec25f91)
Fixed
- Fixed a bug that memory freed twice(1f739d7)
ESP-BLE-Mesh
Added
- Added an option for LPN to subscribe all-nodes-address automatically (894b1ad)
- Added an option for initiating IV Index Recovery if missing one (1ec7a0c)
Fixed
- Fixed regression introduced...