Releases: esp-rs/espflash
Releases · esp-rs/espflash
v4.0.1
v4.0.0
Added
- Add
non-interactive
flag toflash
subcommand (#737) - Add
no-reset
flag tomonitor
subcommands (#737) - Add an environment variable to set monitoring baudrate (
MONITOR_BAUD
) (#737) - Add list-ports command to list available serial ports. (#761)
- [cargo-espflash]: Add
write-bin
subcommand (#789) - Add
--monitor
option towrite-bin
. (#783) - Add
watchdog-reset
strategy to--after
subcommand (#779) - Add
ROM
version ofread-flash
command (#812) espflash
can detect the log format automatically from ESP-HAL metadata. Requiresesp-println
0.14 (#809)- Add
--output-format
option to monitor (#818) - Added chip detection based on security info, where supported (#814)
espflash
can detect the chip from ESP-HAL metadata to prevent flashing firmware built for a different device. Requiresesp-hal
1.0.0-beta.0 (#816)espflash
no longer allows flashing a too-big partition table (#830)- Allow specifying a partition label for
write-bin
, add--partition-table
. (#828) --mmu-page-size
parameter forflash
andsave-image
(#835)- Run some arguments checks for monitoring flags. (#842)
- Add support for the ESP32-C5 (#863)
--after
options now work withespflash board-info
,espflash read-flash
andespflash checksum-md5
(#867)- Add support for serial port configuration files. (#777, #883)
- Add a
check-app-descriptor
bool option toImageArgs
and add the flag toflash
command (#872) Connection::into_serial
to get the underlying port from the connection (#882)- All methods on the now removed
Target
&ReadEFuse
,UsbOtg
andRtcWdtReset
traits have been implemented directly on (#891) - Update checks can now be skipped by setting the
ESPFLASH_SKIP_UPDATE_CHECK
environment variable (#900) flash_write_size
andmax_ram_block_size
functions no longer take a connection parameter and return a Result type (#903)DefaultProgressCallback
which implementsProgressCallbacks
but all methods are no-ops (#904)ProgressCallbacks
now has averifying
method to notify when post-flash checksum checking has begun (#908)- Implement
From<Connection> for Port
and bothFrom<Flasher> for Connection
andPort
conversions (#915)
Changed
- Split the baudrate for connecting and monitoring in
flash
subcommand (#737) - Normalized arguments of the CLI commands (#759)
board-info
now printsSecurity information
. (#758)- The
command
,elf
anderror
modules are no longer public (#772) write-bin
now works for files whose lengths are not divisible by 4 (#780, #788)get_usb_pid
is nowusb_pid
and no longer needlessly returns aResult
(#795)CodeSegment
andRomSegment
have been merged into a singleSegment
struct (#796)IdfBootloaderFormat
has had its constructor's parameters reduced/simplified (#798)- Update flash size when creating the app partition (#797)
--non-interactive
may now react to key events (user input, Ctrl-C, Ctrl-R) if possible (#819)- Removed
get_
prefix from any functions which previously had it (#824) - Take elf data as bytes rather than
ElfFile
struct when creating an image format (#825) - Updated to Rust 2024 edition (#843)
- Complete rework of reading eFuse field values (#847, #903)
- Updated bootloaders with
release/v5.4
ones from IDF (#857) - Refactor image formatting to allow supporting more image formats in a backward compatible way (#877)
- Avoid having ESP-IDF format assumptions in the codebase (#877)
Flasher
now takes theConnection
in new, instead of constructing the connection insideFlasher::connect
(#882, #885)detect_chip
has moved to theConnection
struct (#882)Flasher::into_serial
has been replaced byFlasher::into_connection
(#882)- Automatically migrate
espflash@3
configuration files to the new format (#883) - Update dependencies to their latest versions (#893)
Chip::crystal_freq
has been renamed toChip::xtal_frequency
(#891)Chip::chip_revision
has been renamed toChip::revision
(also applies tominor
andmajor
) (#891)- Any reference to
esp_idf
orEspIdf
has been cut to justidf
(#891) - Renamed
targets
module totarget
(#891) - Test data is now excluded from the crates.io release (#897)
- The command module, and
Command
related structs now exist in a top level module, instead of theconnection
module (#901) - API's that take
Option<&mut dyn ProgressCallbacks>
now take&mut dyn ProgressCallbacks
instead (#904) ProgressCallbacks::finish()
now has askipped: bool
parameter to indicate if a segment was skipped (#904)- CLI usage now shows when a segment has been skipped due to already-matching checksum and when a segment is being verified (#908)
Fixed
- Update the app image SHA in the correct location for padded images (#715)
- Fix
-s
argument collision (#731) address
andsize
inerase-region
have to be multiples of 4096 (#771)- Fixed typos in error variant names (#782)
- Fix
read-flash
which didn't work with some lengths (#804) - espflash can now flash an ESP32-S2 in download mode over USB (#813)
- Fixed a case where espflash transformed the firmware ELF in a way that made it unbootable (#831)
- The app descriptor is now correctly placed in the front of the binary (#835)
- espflash now extracts the MMU page size from the app descriptor (#835)
ResetBeforeOperation
&ResetAfterOperation
are now public, to allow the creation of aConnection
(#895)Flasher
now respects its internalverify
andskip
flags for all methods. (#901)- Progress is now reported on skipped segments and verification (#904)
- Moved the
non-interactive
flag toConnectArgs
so we also avoid asking the user to select a port (#906)
Removed
- Removed the
libudev
feature (#742) - Removed the
flasher::parse_partition_table
function (#798) - The
FirmwareImage
trait has been removed (#802) - The
elf
module has been removed, and its contents moved to theimage_format
module (#802) - The
Target
trait, theReadEFuse
trait, andChip::into_target
(#891) - The
UsbOtg
andRtcWdtReset
traits have been removed, along withChip::into_rtc_wdt_reset
&Chip::into_usb_otg
(#891)
v3.3.0
v3.2.0
v3.1.1
3.1.0
Added
- Support loading flash size, frequency, and mode from the config file (#627)
Fixed
- Fixed help text for
size
parameter ofread-flash
subcommand - Fixed port detection on
musl
when detection returns paths starting with/dev/
- [cargo-espflash]: Always resolve package_id from metadata when finding bootloader and partition table (#632)
- Fixed behavior of the
--target-app-partition
flag (#634)
Changed
- Update ESP32, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-S2, ESP32-S3 stub (#638)
3.0.0
3.0.0-rc.2
3.0.0-rc.1
Added
- Add reset strategies (#487)
- Read
esp-println
generateddefmt
messages (#466) - Add
--target-app-partition
argument to flash command (#461) - Add
--confirm-port
argument to flash command (#455) - Add
--chip argument
for flash and write-bin commands (#514) - Add
--partition-table-offset
argument for specifying the partition table offset (#516) - Add
Serialize
andDeserialize
toFlashFrequency
,FlashMode
andFlashSize
(#528) - Add
checksum-md5
command (#536) - Add verify and skipping of unchanged flash regions - add
--no-verify
and--no-skip
(#538) - Add
--min-chip-rev
argument to specify minimum chip revision (#525) - Add
serialport
feature (#535) - Add support for 26 MHz bootloader for ESP32 and ESP32-C2 (#553)
- Add CI check to verify that CHANGELOG is updated (#560)
- Add
--before
and--after
reset arguments (#561) - Add
read-flash
command (#558)
Fixed
- Fix printing panic backtraces when using
esp-println
anddefmt
(#496) - Fix
defmt
parsing when data is read in parts (#503) - Use partition table instead of hard-coded values for the location of partitions (#516)
- Fix a missed
flush
call that may be causing communication errors (#521) - Fix "SHA-256 comparison failed: [...] attempting to boot anyway..." (#567)
- Windows: Update RST/DTR order to avoid issues (#562)
- Tolerate non-utf8 data in boot detection (#573)
- Fix flash/monitoring of 26MHz targets (#584)
Changed
- Create
FlashData
,FlashDataBuilder
andFlashSettings
structs to reduce number of input arguments in some functions (#512, #566) espflash
will now exit with an error ifdefmt
is selected but not usable (#524)- Unify configuration methods (#551)
- Improved symbol resolving (#581)
- Update ESP32-C2 stub (#584)
- MSRV bumped to
1.74.0
(#586)