Version 4.8.0
New Features
- ESP32-C5: Added full support
- ESP32-C61: Added full support
- ESP32-P4: Enabled USB-Serial/JTAG in flasher stub
- ESP32-P4: Updated eFuse table
- ESP32-P4: Added ECO1 magic number
- ESP32-P4: Added external spi flash connection restriction checks
- ESP32-P4: Added
wafer
andpkg_version
fields - ESP32-C5-beta3: Added preview support
- ESP32-S3: Clear boot control register on hard reset to avoid going back to download mode
- Added a new
read_flash_sfdp
command to read the flash chip SFDP register - Added serial port filtering and selection by VID/PID/Name
- Added advisory port locking
- Added new ROM bootloader flash error definitions
- Added an option to retry connecting to the chip in a loop
- Automatically reconnect if a serial port disconnects during reset
- write_flash: Retry flashing if the chip disconnects during writing data
- write_flash: Added image binary SHA digest recalculation if fields change
- flash_id: Print flash voltage
- get_security_info: Print
key_purpose
fields - loader: Enabled usage of context managers for
esp
instances - espefuse: Added support to extend eFuse table by user CSV file
- espefuse: Added eFuse dump formats: joint(default) and split(new)
- espefuse: Added incompatible eFuse settings check for ESP32-S3
- espefuse: Allow eFuse filtering based on command line arguments
- espefuse: Added a check for correctness of written data
- espefuse: Updated
adc_info
command for all chips - espefuse: Enabled operation with
coding scheme == 3
- espefuse: Updated eFuses of ESP32-C6 and ESP32-H2
- espefuse: Postpone burning of some eFuses to the very end
- espefuse: Improved help for
burn_efuse
cmd - espefuse:
check_error --recover
chip even if there are errors - espsecure: Added support for secure boot v2 using ECDSA-P384 signatures
- cli: Added support for autocompletions
Bug Fixes
- ESP32: Fixed ROM not attaching in-package flash chips
- ESP32-D0WDR2-V3: Print correct chip name
- write_flash: Verify if files will fit against the real flash size to prevent writing past flash end
- write_flash: Erase non-aligned bytes with --no-stub
- bin_image: Added a check for ELF file segment when saving RAM segments
- elf2image: Added ELF flags to merge condition
- merge_bin: Treat files starting with a colon as raw files
- image_info: Index image segments from 0 instead of 1
- read_flash: Added flash size arg to enable reading past 2MB without stub
- read_flash: Flush transmit buffer less often to increase throughput
- remote_ports: Disabled the reset sequence when a socket is used
- bitstring: Restricted bitstring dependency to fix 32-bit compatibility
- USB-OTG: Pass error message to an exception if a reset cannot be performed
- espefuse: Use stub class if stub flasher is running
- espefuse: Fix pem file reading in
burn_key
ofECDSA_KEY
- ram_only_header: Do not append SHA256
- ram_only_header: Pad flash segments to the next boundary
- ram_only_header: Sort segments
- secure_download_mode: Disable secure boot detection and print more info
- intelhex: Catch unicode decode errors when converting hex to binary
- Fixed glitches on RTS line in
no_reset
mode on Windows - Disable resetting on unsupported serial ports
Code Refactoring
- Migrated
esp_rfc2217_server
into a standalone subpackage
Thanks to @befeleme, @klondi, @gnought, @greendoescode, @BoryaGames, @andrewleech, @bryghtlabs-richard, @2opremio, and others for contributing to this release!
Results of checking the release against common anti-virus SW
- esptool-v4.8.0-win64.zip
- esptool-v4.8.0-macos.zip
- esptool-v4.8.0-linux-arm64.zip
- esptool-v4.8.0-linux-arm32.zip
- esptool-v4.8.0-linux-amd64.zip
The failures are probably false positives. You can mark esptool as safe in your anti-virus SW, or install esptool from source.