Skip to content

Version 4.0

Compare
Choose a tag to compare
@github-actions github-actions released this 16 May 08:42

Starting from v4.0.0, esptool adopts the semantic versioning specification, please read the related "Versions" esptool documentation page when deciding which version to use.

Breaking changes

  • Public API has been defined by limiting access to internals that have been refactored into multiple source files. Changing or refactoring these limited internals won't be considered a breaking change in future releases. Migration is easy and self-explanatory (you will get an import error if something has moved) and is required only in projects that import esptool directly.
  • If active security features are detected, the default behavior changes to prevent unintentional bricking (#699):
    • If flash encryption is enabled, erase_flash and erase_region cannot be executed.
    • If secure boot is enabled, erase_flash, erase_region and write_flash operations cannot be performed (write_flash is just restricted to protect the bootloader region 0x0000->0x8000).
    • An override flag --force lets the users execute these operations anyways.
  • Flash parameters in an image header can now be changed only when no SHA256 digest is appended (espressif/esp-idf#8798).
  • Python versions 2.7, 3.4, 3.5, and 3.6 have been deprecated, the code is now Python 3-only compatible. Releases v4 and later can't be installed from PyPI on these deprecated Python versions.
  • The ESP8684 alias has been removed, ESP32-C2 has to be used.
  • Megabit flash sizes have been deprecated, use megabyte units from now on.

New Features

  • Added stub flasher support for ESP32-C2 ECO1, deprecated ECO0 stub (can still be used with ROM).

espefuse.py

  • Added a new package - ESP32-D0WDR2-V3

Bug Fixes

  • Fixed ESP32-S3 USB-OTG compressed flashing
  • Fixed division by zero error when reading flash (#729)

Miscellaneous Changes

Thanks to everyone who contributed to this release.