diff --git a/esptool-4.9.0.tar.gz b/esptool-4.9.0.tar.gz deleted file mode 100644 index cb0b989..0000000 --- a/esptool-4.9.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:89587769bea01111dae512873b464dbf9d6796ce5d19e5acd015160b58da3316 -size 5944315 diff --git a/esptool-5.1.0.tar.gz b/esptool-5.1.0.tar.gz new file mode 100644 index 0000000..336348b --- /dev/null +++ b/esptool-5.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcc44a90c19d3619653b61221c6971373bb107e87c5e15bf0c48572e419c43a3 +size 5904981 diff --git a/python-esptool.changes b/python-esptool.changes index 958424d..85f155a 100644 --- a/python-esptool.changes +++ b/python-esptool.changes @@ -1,3 +1,87 @@ +------------------------------------------------------------------- +Wed Dec 10 03:12:25 UTC 2025 - Steve Kowalik + +- Update to 5.1.0: + ## Breaking changes + * Public Python API redesign: Reworked the public API to work as a Python + module. Command functions accept explicit parameters (no args object) + * CLI overhaul: esptool, espefuse, espsecure now use click for CLI argument + parsing and rich-click for nice CLI rendering + * All commands / options names have replaced underscores (_) with dashes + (-) (e.g., flash_id -> flash-id). + * Removed .py suffix from scripts (e.g., esptool.py flash-id -> esptool + flash-id). + * Centralised logging: All tools' output now goes through the EsptoolLogger + class, allowing easy redirection + * image-info: Deprecated the --version 1 output format + * errors: Errors are now printed to STDERR, added KeyboardInterrupt + handling + * make-image: Removed the ESP8266 make-image command in favor of other + workflows + * espefuse: Removed execute-scripts in favor of the new public API + * Removed support for beta chip targets: ESP32-C5(beta3), ESP32-C6(beta), + ESP32-H2(beta1/2), ESP32-S3(beta2) are no longer supported + * Deprecated support for Python 3.7, 3.8, and 3.9 + * write-flash: Removed the superfluous --verify option + ## New Features + * ESP32-P4: Add ECO5 support + * ESP32-C5: Add support for >16 MB flash sizes + * espefuse: Add custom key purposes for ESP32-C6/C5/P4 + * espefuse: Support burning ECDSA_384 keys + * espefuse: Clean up limitation for BLOCK9 usage + * espefuse: Add support for burning 512-bit keys on ESP32-C5 + * logging: Added collapsible output stages and ASCII progress bars + * trace: Updated --trace with more info and more readable formatting + * verbosity: Allowed setting silent or verbose output levels + * cmds: Allowed commands to output bytes, as well as write to a file + * cmds: Allowed inputs of commands to be file paths, bytes, or file-like + objects + * flash_attach: Encapsulated logic for flash attaching and configuration + * espefuse: Added eFuse calculation fields for ESP32-C5 + * espefuse: Added 3-bit field for wafer major version in ESP32-P4 + * espsecure: Dropped ecdsa module, using cryptography instead + * targets: Updated chip features lists with more info + * Added support for Adesto flash chips + * Added support for k, M suffix for flash sizes + ## Bug Fixes + * Use correct error codes for ROM errors + * ESP32-C5: Erase during flashing above 16MB + * write_flash: Make write flash memory-layout-independent + * elf2image: Handle ELF files with zero program header counts + * elf2image: Fix --pad-to-size argument parsing + * CLI: Handle deprecated options with "=" before value + * Prevent exiting immediately when being called programmatically + * espefuse: Update CLI to support rich-click 1.9.0 + * espefuse: Fix re-connection issue in check-error via USB-Serial/JTAG + * espefuse: Disable programming and usage of XTS-AES-256 eFuse key for + ESP32-C5 + * espsecure: Fix printing key digest in signature info + * espsecure: Extract public key version 1 in RAW format + * espsecure: Allow signing multiple files in one go + * espsecure: Add support for python-pkcs11 9.0+ + * Fix compatibility with Click 8.2.0+ + * Fix --port-filter argument parsing + * Fix buffering issues with CP2102 converter causing connection failures + * ESP32-S3: Fix stub flasher execution with active Secure Boot + * ESP32-C3: Disable flasher stub when Secure Boot is active + * espefuse: Handle error in burn-efuse command when no arguments are + provided + * elf2image: Validate ELF section types and addresses before processing + * elf2image: Handle PREINIT_ARRAY section type in ESP32-P4 ELF files + properly + * elf2image: Fix incorrect logger call + * write-flash: Detect more cases of unresponsive flash, fixed failing + flash_size check + * autodetection: Removed the Unsupported detection protocol stage + * elf2image: Fixed RAM app generation when SHA256 offset is not specified + * image-info: Sanitized app and bootloader info of null bytes + * logging: Avoid crashes when flushing if sys.stdout is not available + * ESP32-S2: Enabled auto-detection in secure download mode + * ESP32-P4: Enabled ECO5 chip detection + * elf2image: Multiple fixes from 3rd party frameworks + * read-flash: Added timeout to to avoid infinite loops + * espefuse: Close data files after reading the data + ------------------------------------------------------------------- Wed Jun 25 13:24:02 UTC 2025 - John Paul Adrian Glaubitz diff --git a/python-esptool.spec b/python-esptool.spec index 12ec687..70ce2e1 100644 --- a/python-esptool.spec +++ b/python-esptool.spec @@ -1,7 +1,7 @@ # # spec file for package python-esptool # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,24 +18,23 @@ %{?sle15_python_module_pythons} Name: python-esptool -Version: 4.9.0 +Version: 5.1.0 Release: 0 Summary: A serial utility to communicate & flash code to Espressif ESP8266 & ESP32 chips License: GPL-2.0-or-later -Group: Development/Languages/Python URL: https://github.com/espressif/esptool Source: https://github.com/espressif/esptool/archive/v%{version}.tar.gz#/esptool-%{version}.tar.gz BuildRequires: %{python_module PyYAML} -BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module base >= 3.10} BuildRequires: %{python_module bitstring >= 3.1.6} -BuildRequires: %{python_module ecdsa >= 0.16.0} BuildRequires: %{python_module intelhex} BuildRequires: %{python_module pip} BuildRequires: %{python_module pyelftools} -BuildRequires: %{python_module pyserial >= 3.0} +BuildRequires: %{python_module pyserial >= 3.3} BuildRequires: %{python_module pytest} BuildRequires: %{python_module reedsolo >= 1.5.3} BuildRequires: %{python_module requests} +BuildRequires: %{python_module rich-click} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} BuildRequires: fdupes @@ -43,11 +42,12 @@ BuildRequires: openssl BuildRequires: python-rpm-macros Requires: python-PyYAML >= 5.1 Requires: python-bitstring >= 3.1.6 -Requires: python-cryptography >= 2.1.4 -Requires: python-ecdsa >= 0.16.0 +Requires: python-click +Requires: python-cryptography >= 43 Requires: python-intelhex -Requires: python-pyserial >= 3.0 +Requires: python-pyserial >= 3.3 Requires: python-reedsolo >= 1.5.3 +Requires: python-rich-click Requires(post): update-alternatives Requires(postun): update-alternatives BuildArch: noarch @@ -73,6 +73,10 @@ Allows flashing firmware, reading back firmware, querying chip parameters, etc. %python_clone -a %{buildroot}%{_bindir}/espsecure.py %python_clone -a %{buildroot}%{_bindir}/esptool.py %python_clone -a %{buildroot}%{_bindir}/esp_rfc2217_server.py +%python_clone -a %{buildroot}%{_bindir}/espefuse +%python_clone -a %{buildroot}%{_bindir}/espsecure +%python_clone -a %{buildroot}%{_bindir}/esptool +%python_clone -a %{buildroot}%{_bindir}/esp_rfc2217_server %python_expand rm -rf %{buildroot}%{$python_sitelib}/__pycache__/*.pyc %python_expand %fdupes %{buildroot}%{$python_sitelib} @@ -88,12 +92,20 @@ rm -v test/test_espsecure.py test/test_espsecure_hsm.py %python_install_alternative espsecure.py %python_install_alternative esptool.py %python_install_alternative esp_rfc2217_server.py +%python_install_alternative espefuse +%python_install_alternative espsecure +%python_install_alternative esptool +%python_install_alternative esp_rfc2217_server %postun %python_uninstall_alternative espefuse.py %python_uninstall_alternative espsecure.py %python_uninstall_alternative esptool.py %python_uninstall_alternative esp_rfc2217_server.py +%python_uninstall_alternative espefuse +%python_uninstall_alternative espsecure +%python_uninstall_alternative esptool +%python_uninstall_alternative esp_rfc2217_server %files %{python_files} %license LICENSE @@ -102,8 +114,12 @@ rm -v test/test_espsecure.py test/test_espsecure_hsm.py %python_alternative %{_bindir}/espsecure.py %python_alternative %{_bindir}/espefuse.py %python_alternative %{_bindir}/esp_rfc2217_server.py -%{python_sitelib}/esptool-%{version}.dist-info +%python_alternative %{_bindir}/esptool +%python_alternative %{_bindir}/espsecure +%python_alternative %{_bindir}/espefuse +%python_alternative %{_bindir}/esp_rfc2217_server %{python_sitelib}/esptool +%{python_sitelib}/esptool-%{version}.dist-info %{python_sitelib}/esp_rfc2217_server %{python_sitelib}/espsecure %{python_sitelib}/espefuse