detectFlashSize()now returnsundefinedwhen the SPI flash ID cannot be read or mapped, instead of silently defaulting to"4MB". TypeScript callers must handleundefined; JavaScript callers no longer always receive a string.
writeFlash({ flashSize: "detect" })resolves the flash size (viadetectFlashSize()) before the bounds check, so"detect"is no longer treated as size-1(#254). Detection runs for every file in the write, not only a boot image atBOOTLOADER_FLASH_OFFSET.- ESP32-C6, C5, C61, and H2 use
SPI_REG_BASE = 0x60003000, matching esptool. Flash ID reads on those chips no longer return0(#217).
v0.6.1 - 2026-08-06
- Add retries to FLASH_DATA and FLASH_DEFL_DATA Thanks @drakosha !
- Fix uncompressed data in writeFlash Thanks @drakosha !
- Avoid TypeError when debug short FlashDeflBLock payload Thanks @GHL-KL !
- Improve connection reliability and reader cleanup Thanks @RushikeshPatange !
v0.6.0 - 2026-03-26
- Update documentation
- Update read logic now use read loop instead of generator logic
- Use Uint8Array instead of string for write flash This break functionality in writeFlash function
- Allow custom reset in after function
- Add onDeviceLostCallback to recover lost device
- SPI flash cmd flash size detection
- Update npm publish action
- fix example console, update raw read
- Update esp32c5 stubs
- Avoid tracing in Transport when tracing is false Thanks @daveallie !
- Fix being unable to flash certain C5 chips Thanks @jaylikesbunda !
- Fix ESP32C5 chip can not use usb Thanks @AZKKXL !
v0.5.7 - 2025-08-04
v0.5.6 - 2025-06-16
v0.5.5 - 2025-05-28
- Add esp32c5 devkit image Thanks @jaylikesbunda !
- Make example commands cross platform
- Add esp32c2 rev2 magic
- Remove wrong baud rate given for connection Thanks @archef2000 !
- Fix api doc generation Thanks @RushikeshPatange
- Fix detecting flag in connect function Thanks @adzierzanowski !
- Fix broken license link Thanks @HSBL-ko-gyo
v0.5.4 - 2025-01-14
- Fix disconnect buttons being shown in live demo when connection fails
- Add esp32 C61 eco 2 magic number
v0.5.3 - 2024-12-20
v0.5.2 - 2024-12-10
v0.4.7 - 2024-10-23
v0.4.6 - 2024-10-10
v0.4.5 - 2024-07-18
v0.4.4 - 2024-07-18
v0.4.3 - 2024-06-18
v0.4.2 - 2024-06-17
- add esp32c2 baud rate option
- Use atob lite npm package instead of buffer window atob
- Stub already running detection Thanks @pkendall64
- Mark enableTracing as optional Thanks @balloob
- Add js extensions use window atob
- Example fix import buffer
- Support chrome on android web serial polyfill
v0.4.1 - 2024-01-31
v0.4.0 - 2024-01-29
v0.3.2 - 2023-11-02
- Add serial options for SerialPort class #115
- Fix port as loaderOptions optional parameter. #116
v0.3.1 - 2023-10-15
v0.3.0 - 2023-06-30
- Add ESP32 H2 Target
- Separate reset function and add reset modes
- Refactor Loader and Flasher Options
- Refactor example code
v0.2.2 - 2023-06-05
v0.2.1 - 2023-02-28
- Typescript rewrite @brianignacio5
- Deploy GitHub pages workflow
- Separate Debug and info console logging
- Add dev container @igrr
- Only change baud rate if ROM and STUB are different Thanks @balloob !
- Enable strict mode
- Re enable block timeout calculation
- Fix connecting timeout error
- Support built-in USB JTAG Serial
- [use stub JSON files from esptool.py v4.5.dev1-2-g32e801484
- Clean unused imports Thanks @balloob !
- Fix rollup script in ci workflow
- Remove unused package json dependencies
- Terminal is optional Thanks @balloob !
v0.2.0 - 2023-01-18
- UI fixes Thanks @balloob
- Esp32 c3 invalid magic byte Thanks @LeoYan
Many other bug fixes and features before release tracking before this release.