Skip to content

Latest commit

 

History

History
542 lines (490 loc) · 39.8 KB

File metadata and controls

542 lines (490 loc) · 39.8 KB

Changelog

What's Changed (unreleased)

  • Add initial CHANGELOG.md file.- (42b6915)
  • Add the py.typed file to indicate that the package is typed.- (519aec7)
  • pyproject.toml: Add tox-gh config for github actions.- (dfb811c)
  • Update the CI workflow to use v2 of my python-ci workflows.- (cd27bfd)
  • ci: Update pre-commit config to optimise for post hooks.- (95783aa)
  • ci: README.md: Fix links to GitHub Actions workflow badges.- (cbe52be)

What's Changed in v0.1.1

  • Drop support for python 3.8.- (b42676f)
  • Update README.md for the --rename option.- (7444e5c)

What's Changed in v0.1.0

  • feature: Add --rename option to rename partitions.- (f2fd5f1) - Closes #5

What's Changed in v0.0.15

  • Bugfix: firmware.py: Trap exceptions when calling check_image_hash().- (993f5bb)
  • Tests: Bugfix test_fs.py to sort file lists before comparison.- (1ac1ac9)
  • pyproject.toml: Updates to improve clarity and maintainability.- (6d616c0)
  • Fix: Updates for type checking in tests/.- (c7e6e93)
  • README.md: Minor update clarifying use of fs command.- (5ffeb30)
  • Refactor: Minor refactor and fixups for typos.- (42e6c22)
  • Add pre-commit configuration file and update dependencies.- (f7e97e5)
  • docs: Add note about --fs swallowing non-option arguments.- (b7aa945) - Closes #6

What's Changed in v0.0.14

  • README.md: Add CI status badge.- (9234997)
  • README.md: Update the Examples to version 0.0.13- (6dfc8ca)
  • publish.yaml: Update comments.- (ec1bab2)
  • README.md: More update for newest version- (cf18cdd)
  • Minor formatting updates for ruff v0.9.- (478d9ec)
  • Make littlefs an optional dependency.- (a955707)

What's Changed in v0.0.13.dev2

  • README.md: Update installation instructions.- (bdc5571)
  • Updates to github CI workflows. Use python-ci v1.- (4512f65)

What's Changed in v0.0.12

  • ci-release: fix for broken pypi upload.- (6ef1ba9)

What's Changed in v0.0.11

  • Move the build job out of the publish job into the ci-release job.- (e36c86b)
  • Make the ci-release workflow depend on the tests workflow.- (7a0929c)

What's Changed in v0.0.10

  • Enable publishing to pypi on tag.- (9b1a6b3)

What's Changed in v0.0.9

  • Dummy push to trigger build- (c958461)
  • Move tox configuration to pyproject.toml.- (a3d4722)
  • Replace github action workflows from glenn20/python-ci.- (0bfebc7)
  • Add typing stubs for littlefs module.- (c0c751b)
  • Remove littlefs-python source folder from uv.lock and pyproject.toml.- (6eaf2c1)
  • pyproject.toml: Format comments.- (7348864)

What's Changed in v0.0.8

  • Overhaul logging to use the rich module.- (e72e301)
  • mypy: Fixes for mypy type checking.- (887feda)
  • Print partition tables using Tables from the rich module.- (b6666e8)
  • esptool_io: Replace tqdm with rich progress bar.- (16d6d85)
  • argtypes: Fix IntArg to handle float values, eg: --baud 1.5M- (7306f90)
  • esptool_io: Refactor progress bar handling to a separate module.- (e39b471)
  • Update project configuration: pyproject.toml and tox.ini.- (a5a3887)
  • Add build and publish CI workflows.- (4180f04)
  • Fixing issues on Windows.- (6053e33)
  • tests: Fixes for Windows.- (312c417)
  • CI: Try to build on tag pushes.- (b96ff51)

What's Changed in v0.0.7

  • typings: Rename esptool.init.py to esptool.init.pyi.- (386f378)
  • tests: Add simple tests for the --fs filesystem operations.- (32aae01)
  • main: --fs commands can be repeated on the cli.- (63fd491)
  • lfs.py: Add BlockCache class for caching block reads and writes.- (3eb4128)
  • pyproject.toml: Add more-itertools dependency.- (b85fa1e)
  • main.py, lfs.py: Make type hints compatible with python 3.8.- (4cba1a5)
  • tox.ini: remove uv run from pytest command.- (c07c75c)
  • main.py: Give -q priority over -d.- (67e6256)
  • tests: Add README.md for the tests directory.- (eddbbb6)
  • partition_table: Rename make_table() to format_table().- (6c070c8)
  • firmware.py: Don't erase fs partitions if resizing to larger.- (8e5a92c)
  • lfs: Add the "--fs grow" to resize littlefs filesystems.- (8de0f3f)
  • README.md: Add note about filesystem partition resizing.- (d6e9627)
  • tests: Run mp_image_tool_esp32 as a module rather than a script.- (7de5564)

What's Changed in v0.0.6

  • layouts.py: Add the 'original' partition table layout.- (f09935f)
  • Bugfix: Fix esptool method selection.- (2882e73)
  • Add optional 'check' parameter to FirmwareFile and FirmwareDevice constructors.- (5dedec4)
  • tests: Update test scripts and fixtures- (b5e5511)
  • tests: Remove ESP32 firmware files from repo.- (09ebec5)
  • gitignore: Ignore /tests/data directory.- (be7e21b)
  • tests: Refactor and clean up of fixtures and- (7d6019f)
  • tests: Bugfix for run-tests.sh script.- (5dae320)
  • esptool_io: Minor refactor.- (6f8e296)
  • Refactor: Rename image_file.py->firmware.py, firmware_file.py->firmware_fileio.py.- (e250c72)
  • esptool_io: Use the Buffer protocol for write_flash().- (d2af347)
  • tests: Add flash_size tests.- (e150ef0)
  • argparse_typed: Add support for capturing types from the global namespace.- (0364dfc)
  • firmware-fileio: Add Partition class to read/write partition contents.- (689f6bd)
  • Use the new Partition class for reading/writing partitions.- (bf483f2)
  • image-header: Add sanity check when calculating image size.- (db9cc25)
  • partition_table: Catch PartitionErrors when loading an existing partition.- (3803517)
  • tests: Add tests for file integrity and read/write operations.- (0957c3a)
  • firmware_fileio: Add Partition.truncate() method.- (a3cc794)
  • main: --flash-size raise an error if size is larger than device flash size.- (451caf8)
  • .gitignore: Ignore .python_version files.- (d1c3eb4)
  • ota_update: Use new Partition context manager to write to partitions.- (291f168)
  • argtypes: Make ArgList and PartList concrete classes.- (3c8eec6)
  • pyproject.toml: Use uv for env and dependencies management.- (c462d22)
  • Add tox support for running tests.- (413695a)
  • run-tests.sh: Use 'uv' to run tests for multiple Python versions.- (58844a2)
  • tests: Change --device option to --port in conftest.py.- (19acaf9)
  • pyproject.toml: Add tox to dev-dependencies.- (70e8d28)
  • pyproject.toml: Use hatch-vcs to set version from git tags.- (e8c395c)
  • .gitignore: Ignore requirements.txt file.- (d630118)
  • README.md: Update installation instructions (use uv).- (afdecd8)
  • FirmwareDeviceIO: Remove chip_name and flash_size attributes.- (ffd78ec)
  • argtypes: Remove unsplit(), add str() to ArgList and PartList.- (2fe9762)
  • Replace OSError with ValueError in firmware_fileio.py.- (26b2fe7)
  • Add --trim and --trimblocks options to mp_image_tool_esp32.- (2e814f4)
  • firmware.py: Add "partition_table" as a fake partition name.- (2049e45)
  • ImageHeader: Rename check() method to validate().- (9897380)
  • Firmware: Make table an attribute instead of a cached property.- (0627a58)
  • Tiny refactoring in the _get_part method of the Firmware class.- (c491c41)
  • argparse_typed: Add support for variable number of arguments.- (9310887)
  • Firmware: Make size an attribute instead of a cached_property.- (49942cc)
  • logger: Don't use the root logger.- (8760de8)
  • Add --fs option to manipulate files on littlefs filesystems.- (11bb984)
  • pyproject.toml: Add littlefs-python to dependencies.- (3b50e6e)

What's Changed in v0.0.5

  • Be more explicit about what is happening when leaving bootloader mode.- (c3b81b3)
  • Use EspToolWrapper class to handle esptool.py commands.- (2ab4d8c)
  • Bugfix: handle ValueError when parsing image header.- (b2a0ac0)
  • Avoid opening and initialising the device for each operation.- (a04f4e1)
  • Add typings stubs for the esptool modules.- (8916a03)
  • Remove "-" from the delimiter list in argtypes.py.- (6c9210c)
  • Remove write_part_from_file() and read_part_to_file() methods.- (72ffae1)
  • Major refactor of the ESP32 device I/O modules and classes.- (9d8e441)
  • Rename ImageFormat class to ImageHeader.- (3be5ac7)
  • Add typing-extensions to requirements.txt (for Buffer).- (f5135ee)
  • More refactoring of the ESP32 device IO modules.- (0ee9fd1)
  • image_header.py: Use ctypes for ImageHeader structure.- (7b76834)
  • esptool_io: Show esptool.py output for longer writes.- (698859f)
  • Bugfix: firmware_file: Correct logic for reset_on_close.- (3585215)
  • image_header: Add check_image_hash function to verify image hash.- (59caa02)
  • Support flashing the output firmware to a serial-attached device.- (c9c5777)
  • esptool_io: Rename esptool_wrapper() to get_esptool().- (8ea03b6)
  • partition_table: Rename flash_size to max_size in PartitionTable.- (0be9ec7)
  • Add README.md to typings/esptool.- (5ba73b7)
  • Rename --check to --check-app options to clarify the purpose.- (c62fedc)
  • Update README.md with new options and examples.- (a9ae3d4)
  • Remove the app_size attribute from the Esp32Image and PartitionTable- (0e6fbe9)
  • Add --flash command to flash firmware to a device.- (fb8ab6f)
  • esptool_io: Add --flash_frequency=keep to esptool args.- (8a56583)
  • More helpful error msg when OTA app part is too small.- (73cdbc1)
  • Use print (table) insted of table.print().- (7ce7549)
  • Logging: add new logging messages and refine existing.- (324d16f)
  • main.py: Tweaks to the top-level exception catching.- (0de9039)
  • image_header.py: Tweaks to the printing of ctypes structures.- (c896418)
  • firmware_file: Use the detected flash size if it is different to the flash size in the bootloader header.- (3592387)
  • esptool_io.py: Add ESPToolProgressBar class for monitoring esptool.py progress.- (ffd126a)
  • Minor update to README.md.- (3403549)
  • logger.py: Log messages to stdout not stderr.- (d0fc27e)
  • main.py: Exit after --extract-app option.- (0d5a0bd)
  • main.py: Force an output file when --erase or --write options are used.- (9d0a1a5)
  • layouts.py: Raise PartitionError if app is to large for partition.- (1400335)
  • image-file.py: --check-app logs to INFO, not ACTION.- (bccff34)
  • tests: Add tests for operations on firmware files.- (954ccc0)
  • esptool_io.py: Minor renaming.- (13abb4f)
  • Increment version number to 0.0.5.- (0619fcb)

What's Changed in v0.0.4

  • Update README.md for new option --no-reset (version 0.0.3).- (bf4dda8)
  • pares-args.py: Fix comparison with bool and str- (a5539f4)
  • Refactor of the parse_args module to argparse_typed and argtypes modules.- (0a948b1)
  • Refactor to use a logger module for all output messages.- (09ab35f)
  • logger.py: Remove dependence on colorlog.- (eef119a)
  • Minor refactor of the table.print() method.- (1dab45e)
  • PartitionTable: Refactor from_bytes method.- (717779d)
  • Minor logging updates.- (48e8b78)
  • Improve robustness of esptool subprocess handling.- (c071e6e)
  • Bump version number to 0.0.4.- (9403b02)

What's Changed in v0.0.3

  • ota_update.py: Minor refactoring.- (8003c7e)
  • image_device.py: Increase the minimum size for displaying the progress bar.- (8d1ea4b)
  • Bugfix: Recalculate bootloader hash when flash-size is changed.- (33ac3bb)
  • Add -n option to leave device in bootloader after exit.- (3ca246b)
  • Bump version to 0.0.3.- (0db8a6f)

What's Changed in v0.0.2

  • Initial commit- (7b772dc)
  • Update README.md- (fdd8adb)
  • First checkin: working code.- (d8a5f30)
  • Minor ruff fixes.- (a42bcb6)
  • README.md: add --ota to feature list.- (04dc8d6)
  • Add pyproject.toml (uses hatchling).- (0040916)
  • README.md: Add installation instructions.- (97132c1)
  • Add support for esp32 device flash storage.- (a1f1097)
  • Drop "-o" alias for "--ota".- (2be2466)
  • Introduce ESP32Image class to represent an image file or device.- (840227a)
  • Add PartitionTable.by_name(name) method.- (908e7a4)
  • Add erase_flash_region() function.- (53aff5c)
  • main.py: Add the --erase-part and --erase-first-block arguments.- (c214269)
  • image_device.py: Add support for providing chip_name.- (e3d3b98)
  • Rename --erase-first-blocks to --erase-fs option.- (e76575d)
  • Update README.md.- (834280b)
  • Add --write-part and --read-part options.- (f819953)
  • Use @cached_propery for Part() properties.- (bc98e7c)
  • Add --from-csv option.- (1825d12)
  • Part: rename label_name property to name.- (be6b823)
  • Simplify PartTuple class.- (5f85260)
  • Use local parse_args module to simplify args processing.- (600486d)
  • Change rules for read_part and write_part arguments.- (ff4e827)
  • Add del_part and expand_part methods.- (fb87086)
  • Move mp_image_tool_esp32 folder into src/.- (05c4688)
  • Fixup for expand_part().- (3b7534c)
  • image_device.py: Handle reconnection problems on esp32s2.- (d3c955a)
  • image_file.py: Fix when input file is less than expected length.- (7f08372)
  • Add support for parsing progname and description.- (ce6e84a)
  • Allow table["name"] to return Part with label = "name".- (5ada1b7)
  • PartitionTable: Simplify .resize_part() and remove.by_name().- (91a0719)
  • Partitiontable: Remove .del_part(), .expand_part(), .resize_flash().- (f1a27a3)
  • Bugfix: Handle default offset in .add_part().- (ed96377)
  • Add support for printing table on PartError.- (4bc1054)
  • Add support for epilog in arguments string.- (54613a3)
  • add_part(): Don't check after adding each part.- (d8fdb38)
  • Add --table option.- (ca8bcc7)
  • image_device.py: Drop use of pathlib.- (e9bbef8)
  • Erase data partitions when changed.- (a547888)
  • print_table(): Don't print out vfs size.- (3b52135)
  • Add esptool to package requirements.txt.- (c2ac35b)
  • Allow multiple paragraphs in the epilog.- (5f219bd)
  • Streamline command argument processing.- (a7eeba3)
  • Correct flash_size in bootloader if it has changed.- (7847a3a)
  • API change: Replace --ota with "--table ota".- (3cc36b8)
  • Move "Resizing part" message to main.py.- (24d1208)
  • Add "--bootloader FILE" option.- (428ff85)
  • Refactor: Reorganise code.- (b50543e)
  • Cleanup open_image().- (74335e6)
  • Refactor: Argparse, strict type checking, minor re-org.- (f0a45c4)
  • Add docstrings everywhere...- (8ec7d13)
  • More refactoring and module docstrings.- (b726946)
  • Add support for OTA update over the serial/USB interface.- (1b04a23)
  • Minor Readme update.- (4645671)
  • README.md: Add instruction on cloning repo.- (d40ada6)
  • Print chip type and flash size sooner.- (6379c83)
  • Add progress bar when read/write from flash storage on esp32 devices.- (558f90c)
  • Replace --bootloader option with --read/write bootloader=FILE.- (8597cda)
  • Update README.md for removal of --bootloader option.- (1f18477)
  • Squashed commit from dev: Add --check option.- (13f1bba)
  • Allow --read, --write and --erase options to be used on firmware files.- (608de82)
  • Add support for python versions 3.8 and 3.9.- (d357de7)
  • Refactor of parse_args.py for clarity.- (47a2b32)
  • Require at least python 3 8.- (75682ab)
  • Use the newer type notation for python >= 3 10.- (db5d77d)
  • Fix PartitionErrors raised when changing the flash size.- (268318e)
  • Increment version number.- (fc86ff2)