Releases: fhrbata/esp-ice
Releases · fhrbata/esp-ice
Release list
Version 0.15.1
v0.15.1 (2026-05-20)
🐛 Bug Fixes
- build: force -no-pie for STATIC=1 on linux+musl (Frantisek Hrbata - 63c544a)
Version 0.15.0
v0.15.0 (2026-05-11)
✨ New Features
- target/openocd: preserve openocd startup banner in gdb pane scrollback (Frantisek Hrbata - 47d7cfd)
🐛 Bug Fixes
- init: canonicalize idf-path to absolute via path_realpath (Frantisek Hrbata - 5eab60e)
- target/openocd: adopt idf.py-style gdb preamble (reset + thbreak app_main) (Frantisek Hrbata - 7a935e7)
- target/openocd: show openocd startup banner in the gdb pane on entry (Frantisek Hrbata - 52bc8e8)
- target/openocd: close the blank row between buried and redrawn (gdb) (Frantisek Hrbata - 2da4fdf)
- target/openocd: UART pane hint -- yellow, CRLF-terminated, accurate text (Frantisek Hrbata - 0841e61)
- target/openocd,target/qemu: paint immediately and unbury the gdb prompt (Frantisek Hrbata - 97b9839)
- idf/kconfgen: preserve user value across fixpoint visibility flips (Frantisek Hrbata - d4a125d)
📖 Documentation
- add VHS walkthrough demo, hoist Experimental-PoC warning (Frantisek Hrbata - 7617b3a)
Version 0.14.0
v0.14.0 (2026-05-07)
✨ New Features
- target/openocd: print hint about Ctrl-T r in the UART pane (Frantisek Hrbata - 0979fd6)
- init: persist serial.port / serial.baud in .ice/config (Frantisek Hrbata - 57866a5)
- serial: add serial_pick_default_port and serial_complete_baud (Frantisek Hrbata - 0a230ec)
🐛 Bug Fixes
- target/openocd: atomic DTR/RTS toggle on UART open (Frantisek Hrbata - 8acff60)
- target/openocd: distinguish openocd-exited from spawn timeout (Frantisek Hrbata - 9241920)
- target/openocd: wait for the gdb listener, not the first listener (Frantisek Hrbata - e33861d)
- idf/kconfgen: ignore stale sdkconfig values for promptless symbols (Frantisek Hrbata - 093adfc)
Version 0.13.0
v0.13.0 (2026-05-07)
✨ New Features
- coredump: add ice coredump porcelain (chip -> idf coredump) (Frantisek Hrbata - e36b064)
- idf/coredump: synthesise GDB-loadable ELF from BIN_V* dumps (Frantisek Hrbata - c3bfd4e)
- idf/coredump: add --interactive (mirrors upstream dbg_corefile) (Frantisek Hrbata - e763f57)
- idf/coredump: add --rom-elf pass-through to gdb (Frantisek Hrbata - 37344ca)
- fs: add temp_dir() / make_temp_file(); use them in coredump (Frantisek Hrbata - 25710cb)
- idf/coredump: add ice idf coredump (info, verify, extract, gdb) (Frantisek Hrbata - 7e84016)
- base64: add base64 decoder helper at the project root (Frantisek Hrbata - 5961352)
🐛 Bug Fixes
- idf/coredump: silence clang-tidy bugprone-implicit-widening errors (Frantisek Hrbata - 8452fd1)
- idf/ldgen: per-rule EXCLUDE_FILE, symbol-rule lifecycle, dedup archives (Frantisek Hrbata - c0b6345)
- idf/ldgen: emit root-level (archive: *) rules unconditionally (Frantisek Hrbata - b74905e)
🔧 Code Refactoring
Version 0.12.0
v0.12.0 (2026-05-04)
✨ New Features
- debug: ice debug -- OpenOCD + gdb dual-pane debug session (Frantisek Hrbata - 8d8db73)
- tui: widget-owned inspect mode + mouse / paste / yank (Frantisek Hrbata - 8847050)
- qemu: auto-install qemu via 'ice tools install' when missing (Frantisek Hrbata - a3b944e)
- qemu: make GDB stub port configurable via --gdb-port (Frantisek Hrbata - aff552c)
- qemu: auto-discover qemu and gdb under ice_home/tools/ (Frantisek Hrbata - 9aa730e)
- qemu: --debug dual-pane gdb + UART in one window (Frantisek Hrbata - a02f3f6)
- platform: pty primitive for embedding interactive children (Frantisek Hrbata - f5f2d7c)
- qemu: add --gdb flag for two-terminal debug (Frantisek Hrbata - 82dc844)
- qemu: add ice qemu for running firmware on QEMU (Frantisek Hrbata - 0adb90e)
- platform: add pipe_write_all and kill_w shim (Frantisek Hrbata - 0f1ad2e)
- tui: add origin + rect helpers for pane composition (Frantisek Hrbata - 0146624)
- init: redirect check_sizes/gen_empty/gen_extra_subtypes/parttool.py to ice (Frantisek Hrbata - ee41d76)
- target: add partition namespace replacing parttool.py (Frantisek Hrbata - 3629f99)
- idf/partition-table: add decode/empty/subtypes-header/check-bootloader/check-partition (Frantisek Hrbata - abe2cb5)
- partition_table: add binary parser, CSV emitter, runtime extras (Frantisek Hrbata - f2f0f85)
🐛 Bug Fixes
- debug: run openocd in a pty so its log lines render correctly (Frantisek Hrbata - 8becc04)
- qemu: reject empty offset in flash-image builder (Frantisek Hrbata - c5b6cff)
- target/partition: accept -q/--quiet for parttool.py compat (Frantisek Hrbata - 51f5db1)
- vt100: decode UTF-8 input bytes and implement ECH (Frantisek Hrbata - f98c464)
- platform: macOS ioctl request was getting sign-extended (Frantisek Hrbata - 9ba2596)
- platform: set pty winsize on both master and slave for macOS (Frantisek Hrbata - 7662ba5)
- platform: set pty initial winsize on master, not slave (Frantisek Hrbata - d6b1872)
- platform: cross-build failures on ppc64el and older mingw (Frantisek Hrbata - 3912800)
- qemu,platform: clang-tidy lint failures from macOS CI (Frantisek Hrbata - e28f7db)
- qemu: three smoke-test bugs in ice qemu's argv assembly (Frantisek Hrbata - 86819a0)
- idf/partition-table: refactor empty.c so the analyzer can see fclose (Frantisek Hrbata - 2d09995)
🔧 Code Refactoring
- platform: drop pipe_write_all, callers use write(2) directly (Frantisek Hrbata - af34f9d)
Version 0.11.0
v0.11.0 (2026-05-01)
✨ New Features
- progress: mirror recent output and show a banner on Ctrl-v (Frantisek Hrbata - 9612653)
- size: colorize table / tree / csv / json / dot output (Frantisek Hrbata - a17b74e)
- size: add files / components / symbols / deps subcommands (Frantisek Hrbata - 5920386)
- idf,size: expose --format and --archive-details completers (Frantisek Hrbata - 6b95e63)
- idf,size: rewrite as a 1:1 esp-idf-size replacement (Frantisek Hrbata - 3b73900)
- json: add json_serialize_pretty + integer-aware numbers (Frantisek Hrbata - 4855a43)
- elf: add SHT_SYMTAB symbol-table reader (Frantisek Hrbata - 1bc1cbc)
- map: parse the Cross Reference Table (Frantisek Hrbata - 7de09cd)
🐛 Bug Fixes
- flash,monitor: handle linux target without scanning serial ports (Frantisek Hrbata - bd67fdc)
- repo: pass --progress to git so output mirrors during clone/fetch (Frantisek Hrbata - e7521ac)
- completion: refuse to install in the wrong shell (Frantisek Hrbata - a830bd2)
- dispatch: skip setup_project on --ice-complete (Frantisek Hrbata - f6e408e)
🔧 Code Refactoring
Version 0.10.0
v0.10.0 (2026-04-28)
✨ New Features
- idf,component: print resolve / fetch status during prepare (Frantisek Hrbata - a266e6a)
- progress: runtime Ctrl-v toggle between spinner and live output (Frantisek Hrbata - ca34e9f)
- progress: wrapper/log rework with --ice-wrapped flag (Frantisek Hrbata - e42a62f)
🐛 Bug Fixes
- idf,component: verify component_hash against the unpacked dirhash (Frantisek Hrbata - e5c3a2a)
🔧 Code Refactoring
- progress: stream child output when stdout is not a tty (Frantisek Hrbata - 49dc294)
Version 0.9.0
v0.9.0 (2026-04-27)
✨ New Features
- target: auto-detect port when --port is omitted (Jaroslav Burian - 0992613)
- completion: tab-complete serial ports for --port (Jaroslav Burian - 48054ce)
- kconfgen: deferred diagnostic report subsystem (Jan Beran - f695199)
- kconfgen: validate value type on sdkconfig load (Jan Beran - 45381d2)
- kconfgen: add kc_expr_to_sbuf sbuf-based pretty-printer (Jan Beran - 85e74db)
🐛 Bug Fixes
- kconfgen: pin fixture files to LF so Windows diff matches (Frantisek Hrbata - 2342b2d)
- kconfgen: copy fixtures into $O so paths stay relative on Windows (Frantisek Hrbata - 7817b2f)
- kconfgen: keep PATH around in fixture harness so Windows can load DLLs (Frantisek Hrbata - eb65bec)
- kconfgen: accept "modules" as an option subcommand (Frantisek Hrbata - 2d4af27)
- kconfgen: annotate kc_lex_die_unexpected as NORETURN (Frantisek Hrbata - 8188d41)
- kconfgen: match python's env-set vs env-unset distinction (Frantisek Hrbata - b2b7148)
- kconfgen: preserve user_default_seeded across kc_resolve (Frantisek Hrbata - 69fac42)
- kconfgen: keep kc_load_env_file in kc_confread after split (Jan Beran - f6e374a)
- kconfgen: locale-independent strtod for numeric comparisons (Jan Beran - 70465c2)
- serial: use IOSSIOSPEED for non-standard baud rates on macOS (Frantisek Hrbata - a00cc93)
- error: colour only the diagnostic prefix, not the whole line (Frantisek Hrbata - 04bd787)
- hints: defer hint template formatting to after the regex matches (Frantisek Hrbata - 5497dba)
- init: switch python shim from sitecustomize.py to .pth (Frantisek Hrbata - 3c50305)
🔧 Code Refactoring
Version 0.8.1
v0.8.1 (2026-04-27)
🐛 Bug Fixes
- monitor,vt100: stop modal blink when serial data streams fast (Jaroslav Burian - bce963e)
Version 0.8.0
v0.8.0 (2026-04-27)
✨ New Features
- vt100,tui,monitor: inner-terminal vt100 emulator for ice monitor (Frantisek Hrbata - 45e014e)
- tui,monitor: interactive TUI with normal/inspect modes (Frantisek Hrbata - 04f9ccf)
- idf,component: native component-manager hooks via PubGrub (Frantisek Hrbata - f50720a)
- json: decode \uXXXX unicode escapes to UTF-8 (Frantisek Hrbata - 3172c12)
- add ZIP archive reader (Frantisek Hrbata - 08be81c)
- add PubGrub version-constraint solver (Frantisek Hrbata - e2da9db)
- add in-house SemVer 2.0.0 parser (Frantisek Hrbata - eaf23e6)
🐛 Bug Fixes
- idf,component: handle path-override deps in prepare (Frantisek Hrbata - 142897f)
- tui,monitor: keep modal overlays solid as serial bytes stream (Frantisek Hrbata - e6ff683)
- ci,win: install python and zip on the MSYS2 runner (Frantisek Hrbata - c280432)
- idf,component: verify archive sha256 against the lockfile (Frantisek Hrbata - 48dca2b)
- zip: reject backslash and ':' to block Windows zip-slip (Frantisek Hrbata - d896516)
- image: match esptool elf2image output byte-for-byte (Frantisek Hrbata - 4aa2a2f)
- yaml: support zero-indent block sequences (Frantisek Hrbata - eb5e571)
- address clang-tidy errors (Frantisek Hrbata - d967dc5)
🔧 Code Refactoring
- extract git CLI helpers from cmd/repo/ (Frantisek Hrbata - a1e44a5)