github espressif/esp-idf v5.0.3
ESP-IDF Release v5.0.3

latest releases: v5.3.1, v5.0.7, v5.3...
14 months ago

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

  • Fixed config options in esp_nimble_cfg.h (60e6818)
  • Memory leak fixes (7684bd5)

Removed

  • Removed indicate flag from gatt db and added subscription case in spp_server example (3cad80e)

Blufi

Fixed

  • Fixed Blufi document description errors (c21a4c9)
  • Fixed incorrect connection handle issue (9fb999e)

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 the rmt_encode_state_t (#11200) (24a2a98)

Changed

  • ADC: Use circular DMA descriptor link under ADC continuous mode (#11500) (fa17fc8)
  • MCPWM: Don't allow to apply the same delay module to multiple generators (#11327) (378fa3b)

Fixed

  • ADC: Fixed ADC continuous driver conv_frame not bigger than 4092 issue (#11385) (fa17fc8)
  • ADC: Fixed potential out-of-bound read in function adc_digi_get_io_num. (e37618c)
  • ADC: Fixed potential multiply overflow in the calibration code (96c4ec8)
  • RMT: Fixed RMT 1-Wire example unstable issue, and refactor to use component manager (#10790) (641221a)
  • I2C: Increase the partition table size of the i2c_tools example. (#10947, #9084) (dab382c)
  • GDMA: Fixed crash from logging when using newlib nano (#9631, #10366) (7d24b99)
  • I2C: Fixed a bug in the SDA sample timing calculation resulting in the SCL staying low after a NACK (https://github.com/espressif/esp-i
    df/issues/9777) (633b4cb)
  • I2C: Fixed I2C fifo length on esp32c2 (#11413) (f5b0dd4)
  • I2S STD: Fixed the check of mclk_multiple, mclk_multiple should be a multiple of 3 only when the slot_bit_width equals 24. (2b483c9)
  • I2S TDM: Fixed the calculation of half_sample_rate in HAL. (2b483c9)
  • I2S TDM: Added the check for slot_mask field to make sure it's non-zero. (2b483c9)
  • I2S PDM: Fix wrong interrupt flag (18d7ecc)
  • I80 LCD: Allow to skip command phase for i80 LCD driver (#10794) (6439e0b)
  • I2C LCD: Reduced recommended i2c link size for i2c LCD IO driver (#11015) (98d26d3)
  • MSPI: Fixed Octal PSRAM timing tuning failure under low temperature, on ESP32-S3 (19aa6bb)
  • MCPWM: Reset the MCPWM peripheral if restart or panic happens (#11324) (441c89d)
  • MCPWM: Fixed the BLDC example of the wrong force level setting (cea9f80)
  • PSRAM: Fixed incorrect returned out_ptr when calling esp_himem_map with non-zero range_offset (#5639) (04d2cc8)
  • PSRAM: Fixed ESP32-S3 PSRAM max virtual address size in the programming guide (3ab8ae3)
  • PSRAM: Fixed a build issue when SPIRAM_2T_MODE is enabled. (#10546) (0e3b746)
  • RMT: Fixed the issue that the filter and idle value set by the user could be out of the range (#11262) (829cf5a)
  • RMT: Fixed incorrect check on the mem_block_symbols parameter. (8d0df0a)
  • RMT: Fixed potential memory overwrite in the led strip example (#11487) (8a9596d)
  • SDMMC: Fixed incorrect clock phase settings (#8521) (4a6c527)
  • Sleep: Fixed sleep current issue caused by SAR ADC. (889787c)
  • SPI LCD: Fixed the issue that the maximum SPI transfer size is not correct (e850075)
  • SPI LCD: Check the return value of spi_device_acquire_bus and don't release the bus if it's acquired failed (#10952) (754274c)
  • SPI Master: Fixed fix the assertion on a NULL desired_dev (#11536) (ad09ee9)
  • Temperature Sensor: Fixed the conflict between wifi and the sensor. (a591730)
  • UART: Fixed uart_param_config fail if source_clk parameter is omitted (8645981)
  • USB Host: Fixed bug in enumeration where a device would always be configured to bConfigurationValue = 1 instead of the bConfigurationValue of the first configuration descriptor found (#11113). (c465097)

Core System

Added

  • Esp-Timer: Added IRAM_ATTR for esp_timer_restart and esp_timer_is_active (#10522, #10859) (afe2a2e)
  • Support 8MD256 as RTC slow clock work properly ESP32-S2/ESP32-C3/ESP32-C2/ESP32 (1b04acf)
  • ULP-RISC-V: Enabled adc support for ulp riscv on ESP32-S2 (#11052, #11040) (69b3835)
  • Xtensa: xt_utils.h now compiles with -Wsign-conversion without warning in C++ (#10895) (0b8800e)
  • esp_ringbuf: Config option CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH now depends on CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH. (525da26)

Changed

  • Console: Changed ESP_CONSOLE_DEV_UART_CONFIG_DEFAULT to be defined only when CONFIG_ESP_CONSOLE_UART_DEFAULT or CONFIG_ESP_CONSOLE_UART_CUSTOM is defined (#10707) (6ec4900)
  • Esp-Hw-Support: Updated the memory ptr location/property checks to acknowledge the unused DCACHE added to DRAM for ESP32-S3 as internal memory (3ac5d6a)

Fixed

  • Esp-Timer: Fixed a race condition in esp_timer which resulted in linked list corruption (#11215) (f859d57)
  • Esp-Hw-Support: Fixed missing header include in esp_cpu.h (#11388) (10a98e7)
  • Esp-System: Fixed int WDT reset reason being reported as task WDT on ESP32-C2 (c47e33a)
  • Examples: Made ESP32 FSM ULP GPIO example C++ compatible (#11028) (815c54c)
  • 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 dangerous power parameters in sleep modes on ESP32-S2 (1b04acf)
  • Fixed esp32 chip info not listing esp32 pico v3-02 as having embedded spiram (#11233) (b0e5fc9)
  • Fixed USE_FIXED_STATIC_RAM_SIZE option not working properly and updated values for S3 (#10271, #10270) (d20a9c1)

Power Management

Added

  • Deepsleep: Added wake stub example to show how to implement a deep-sleep wake stub(#8208). (838850a)

Changed

  • current increase 2 ~ 3uA when in deepsleep by default config (1b04acf)
  • current will increase when 8MD256 used as rtc slow clock in sleep (1b04acf)

Fixed

  • Fixed potential lightsleep wakeup failure with ESP_SLEEP_POWER_DOWN_FLASH enabled (2f482e1)
  • Fixed sleep current issue caused by SAR ADC. (3a8e28d)

LWIP

Added

  • Added a hook for ip6 source address selection (d20884c)

Fixed

  • Fixed an issue where the getaddrinfo() was returning NULL when using an IPv4 mapped address (#9693) (d20884c)

HTTP Server

Fixed

  • Ws_Echo_Server: Fixed memory leak in ws_echo_server when httpd_queue_work failed (e31712e)

Provisioning

Fixed

  • Wifi_Prov_Mgr: Fixed memory leak after bluetooth stack was stopping. (ed81599)

mbedTLS

Changed

Bootloader

Added

  • Added support to enable Brown-Out-Detector in 2nd stage bootloader for C2. This provides protection against power glitch kind of attacks. (c82d9ca)

Fixed

  • Fixed super watchdog not being automatically enabled at startup on C3, S3, C2 (c82d9ca)

ESP-TLS

Added

Fixed

  • Fixed issue in the DS peripheral case to release mutex from the owner task only (#11402) (400549e)

Tools

Changed

  • Upgraded OpenOCD version to v0.12.0-esp32-20230419 (86eff35)
  • Improved error message showing when using idf.py and the working directory is deleted (#11476) (17a455d)

Fixed

  • Fixed hints processing in interactive mode (1284359)
  • Set uninitialized IDF_ADD_PATHS_EXTRAS variable in UNIX-based export scripts (#11296) (eeed8c0)
  • Fixed missing build progress lines when running in Docker with redirected output (930539e)

Build System

Changed

  • system: replaced attribute noreturn by __noreturn__ in header files (#11339) (e77e6eb)
  • Replaced ADDITIONAL_MAKE_CLEAN_FILES with ADDITIONAL_CLEAN_FILES (b7ad0e0)

Documentation

Added

  • Added CN translation for i2s.rst (36291f5)

Changed

  • Updated custom bootloader example readme to better match program output (#11163) (1ef71b4)
  • Updated ULP FSM docs to reflect that adc example in only supported on ESP32 (#10794) (3852c15)
  • Synchronised contribution agreement to match the one in CLA Assistant (7e6b69e)

Fixed

  • Fixed typo in getting started docs for linux/mac (#11394) (0e71903)
  • Fixed wrong link to esp-adf github issues in migration guide, should link to esp-idf issues. (#11326) (e11829e)

Don't miss a new esp-idf release

NewReleases is sending notifications on new releases.