* If no serial port is specified, try all serial ports until an Espressif
device responds.
* Print device MAC on every command, after connecting.
* New option `--before no_reset_no_sync` for use when immediately reusing the
serial port with an already-running loader.
* Fix spurious load_ram error when executed code immediately resets the UART
baud rate..
* Produce an error if load_ram is going to clobber bootloader stub memory (can use
--no-stub to work around this).
* Display a helpful error if the incompatible 'serial' module was installed
instead of 'pyserial'.
* Explicitly close the serial port at end of main() function (allows calling
esptool.main() from another Python program for basic scripting.)
* Workaround Windows usbser.sys (USB CDC-ACM device) driver bug setting DTR & RTS
* Flasher stub build updates to work with recent ESP-IDF & ESP8266 SDK headers
* Flasher stub now sends correct length field in protocol responses (esptool.py
was ignoring this field, but some other tools were not).
* Move the loader stub to the very end of IRAM (useful when using load_ram command).
* `elf2image --version=2` is now compatible with recent ESP8266 SDK bootloader
and produces the same binary output as ESP8266 SDK gen_app.py.
* Remove unsupported flash size 4MB-c2
* Print chip frequency rating values in Features list, for chips where these are
set.
* Working load_ram command.
* espefuse.py: Support setting the baud rate.
* New --override-vddsdio option allows setting the VDDSDIO regulator to 1.8V,
1.9V or "OFF" when connecting (to override the default value read from efuse).
To avoid hardware damage, forcing VDDSDIO to 3.3V is not supported.
Thanks to @devanlai, @andrewwakeling, @Callahan93, @tim-nordell-nimbelink, @cefn
and @nkolban for contributing to this release.