✨ New Features
- ESP32-P4: Support ECO7 (rev3.2) (Radim Karniš - 27463b2)
- ESP32-S31: Add stub flasher support (Radim Karniš - 6e14f2e)
- flasher stub: Use esp-flasher-stub as the default flasher stub
- ESP32-C61: Add large flash support (Jaroslav Burian - 29aef6a)
- esptool: Adds efuse version and pkg efuses for ESP32H4 (Konstantin Kondrashov - bc55336)
- write-flash: Fully reflash all data when fast reflash verification fails (Radim Karniš - 1c16a59)
- write-flash: Log which file is being flashed when multiple files are given (Radim Karniš - dc457d1)
- reset: Support USB-UART adapters with hardware flow control (Jeija - 9ea2c5c)
- Add support for plugin system for optionally loading stub features (Roland Dobai - e6697e4)
- Disallow erasing key recovery info flash sectors when flash encryption using KM is enabled (harshal.patil - f55cf25)
- Add transport mode detection based on USB VID:PID instead of hard-coded ROM symbols (Vojtech Piroch - 0a5fe5c)
- Improve flash chip connection verification with SFDP register check (Jan Beran - 3821d83)
- espefuse: Update ESP32-H21 eFuse table (Konstantin Kondrashov - 93ef664)
- espefuse: Update ESP32-S31 eFuses table (Konstantin Kondrashov - ffbd13f)
- espefuse: Update ESP32-H4 eFuse table (Konstantin Kondrashov - c6ef00c)
- espefuse: Add ESP32-C5 calibration eFuse fields (Konstantin Kondrashov - 66c472b)
- espefuse: Add
--afteroption to reset the chip after the operation is finished (Peter Dragun - 1b8436f)
🐛 Bug Fixes
- flasher stub: Fix
C900error during compressed upload (Radim Karniš - 73308b8) - flasher stub: Fix writing to non-4-byte aligned offsets in flash (Radim Karniš - 73308b8)
- elf2image: Correct pad length for ram-only-header flash segments (Sylvio Alves - c637749)
- esptool: Use the correct address for reading eFuses in ESP32-S31 (Konstantin Kondrashov - 9376b9d)
- esptool: Fix incorrect eFuse bit mask for
SPI_BOOT_CRYPT_CNT_MASK(harshal.patil - 2a2b86d) - logger: Declare singleton instance as ClassVar for mypy (Radim Karniš - 48e4450)
- transport: Enable USB transport modes detection in Secure Download Mode (Radim Karniš - 3714d1b)
- ESP32-H4: Fix flash running at 64MHz since 2nd stage bootloader (Song Ruo Jing - 974d975)
- ESP32: Decode
VDD_SDIOeFuse voltage like espefuse summary (Radim Karniš - 825ad97) - ESP32-S31: Fix configurable MMU page size support (armando - 2806d84)
- ESP32-P4: Fix ECO7 early guru meditation errors during boot up (Radim Karniš - 3f6cb59)
- ESP32-S31: Fix flash manipulation commands (Radim Karniš - 1d51f72)
- ESP32-C61: Warn if encryption during download is disabled (Radim Karniš - 86c4f71)
- Fix security eFuse layouts for ESP32-C2, ESP32-C5, and ESP32-S31 (Mahavir Jain - 97c20ec)
- espefuse: Add checks for eFuse names in read and write protect commands (Peter Dragun - 118fbdb)
- espefuse: Remove the value description of the eFuse for ESP32-C5 (Peter Dragun - f6722ad)
🔧 Code Refactoring
- espefuse: Move MAC field logic to base_fields.py (Peter Dragun - a3dc123)
- espefuse: Move common code of EspEfuses to base class (Peter Dragun - 5e903ce)
- espefuse: Create EfuseKeyPurposeFieldBase and unite implementations (Peter Dragun - 889a3ff)
- espefuse: Move common fields to base_fields.py (Peter Dragun - 4a2bed1)
- espefuse: Add type hints and fix formatting (Peter Dragun - cfafe84)
- Add missing ABCs to base classes (Peter Dragun - 47a43b3)
Thanks to @Jeija and others for contributing to this release!
Results of checking the release against common anti-virus SW
- esptool-v5.3.0-windows-amd64.zip
- esptool-v5.3.0-macos-arm64.tar.gz
- esptool-v5.3.0-macos-amd64.tar.gz
- esptool-v5.3.0-linux-armv7.tar.gz
- esptool-v5.3.0-linux-amd64.tar.gz
- esptool-v5.3.0-linux-aarch64.tar.gz
Any failures are probably false positives. You can mark esptool as safe in your anti-virus SW, or install esptool from source.