v0.22.0
What's Changed
- expand asterisks by @BrianPugh in #355
- more helpful error than the dreaded
Unable to parse read_uint32 response: ""by @BrianPugh in #372 - change macos homebrew package from arm-gcc-bin to arm-none-eabi-gcc by @BrianPugh in #373
- fix bank1 getting erased unintentionally by @slash-proc in #374
- More robust transfers by @BrianPugh in #382
- Hardened host↔device transfers against signal-integrity and SD-card flakiness (mostly seen on hand-soldered/flying-lead probes): on-device SHA256 of the compressed buffer, per-chunk retry (up to 3x) and operation-level retry (up to 2x).
- Adaptive no-progress timeouts so slow-but-progressing SD cards / long flashes no longer time out (idle budget effectively 20s → 120s).
- Data corruption now exits non-zero with human-readable, colored error messages instead of hanging or exiting cleanly.
- SD-card reliability: retry transient CRC write errors, finer error classification, and cleaner FATFS recovery on retry.
- Lowered default CMSIS-DAP / picoprobe SWD speed to 1 MHz (the main source of transfer corruption over flying leads).
- Firmware size shrunk ~62KB → ~49KB (-21%) by stripping dead RTC/time code.
Bbutton now also resets the device; progress bars show adesc=label; CI attachesfirmware.bin/unlock.bin/dist/*to releases.
- fix poweroff when switching to OFW from custom firmware by @slash-proc in #376
New Contributors
- @slash-proc made their first contribution in #374
Full Changelog: v0.21.1...v0.22.0