| Commit message (Expand) | Author |
| 2026-07-24 | refactor: extract shared error hierarchy + Session into idatui/errors.py | blasty |
| 2026-07-24 | app: --backend {mcp,worker} — run the TUI on our idalib worker (migration s... | blasty |
| 2026-07-24 | robust: survive a lost server connection instead of crashing; auto-reconnect | blasty |
| 2026-07-24 | nav: baseline horizontal scroll at 0 when jumping to a target column | blasty |
| 2026-07-24 | ux: block with a "finding xrefs…" overlay while gathering xrefs | blasty |
| 2026-07-24 | nav: snap an xref-into-pseudocode jump to the line that holds the symbol | blasty |
| 2026-07-24 | nav: xref jump into pseudocode lands on the referenced symbol, not column 0 | blasty |
| 2026-07-24 | nav: land the decompiler cursor on the function name, not column 0 | blasty |
| 2026-07-23 | ux: start the analysis server from inside the TUI (no more dead window) | blasty |
| 2026-07-23 | ux: show TUI chrome + a "loading…" overlay during binary open/analysis | blasty |
| 2026-07-23 | fix: keep the pseudocode cursor/scroll when a rename re-decompiles | blasty |
| 2026-07-23 | nav: land the cursor on the ref's column, not column 0 | blasty |
| 2026-07-23 | fix: refresh-after-edit keeps the edited line on screen (rename now visible) | blasty |
| 2026-07-23 | fix: Tab decomp->listing reuses the nav entry so edits stay put | blasty |
| 2026-07-23 | fix: Tab back from a decomp jump returns to the listing cleanly | blasty |
| 2026-07-23 | nav: jumping from the decompiler stays in the decompiler | blasty |
| 2026-07-23 | listing: on-screen jumps just move the cursor, don't re-scroll | blasty |
| 2026-07-23 | listing: keep a few lines of context above a jump target | blasty |
| 2026-07-23 | fix: don't let a late navigation steal focus from an open prompt | blasty |
| 2026-07-23 | listing: restore full-segment search load (find every match) | blasty |
| 2026-07-23 | views: highlight all occurrences of the token under the cursor | blasty |
| 2026-07-23 | listing: code labels on their own line; search loaded portion (no wedge) | blasty |
| 2026-07-23 | listing: two-level indent, address on headers, drop 'near', opcode cap+cycle | blasty |
| 2026-07-23 | listing: IDA-style function boundary banners in the unified view | blasty |
| 2026-07-23 | unify: the continuous listing is the one code view; deprecate DisasmView | blasty |
| 2026-07-23 | listing: F5/Tab decompiles the function under the cursor (IDA-style) — step 2 | blasty |
| 2026-07-23 | listing: render opcode bytes (shared engine with disasm) — M4/UX step 1 | blasty |
| 2026-07-23 | app: 'L' opens the continuous segment listing (functions+data interleaved) | blasty |
| 2026-07-23 | listing: expand struct-typed globals into member rows (M4 item 3) | blasty |
| 2026-07-23 | perf: stream the listing incrementally instead of load_all on open (M4) | blasty |
| 2026-07-23 | app: 'a' — make string literal in the listing (M4 richness) | blasty |
| 2026-07-23 | app: listing 'n' names the address (can name a bare/undefined byte) | blasty |
| 2026-07-23 | app: on startup, land on main() (else pop the symbol picker) | blasty |
| 2026-07-23 | fix: crash on an unnamed function (None name) in the symbol palette | blasty |
| 2026-07-22 | app: 'd' — define typed data in the listing (make_data, M3) | blasty |
| 2026-07-22 | app: ListingView — virtualized flat code+data listing for regions (M2) | blasty |
| 2026-07-22 | app: non-function regions — open a flat listing + c/p/u edit verbs (M0) | blasty |
| 2026-07-11 | disasm: render opcode bytes (toggle 'o'), padded to widest insn | blasty |
| 2026-07-10 | app: multi-line comments via literal \\n (long notes were clipping) | blasty |
| 2026-07-10 | app: comment on a no-address line -> function comment (was refused) | blasty |
| 2026-07-10 | app: drop the Header (keep the Footer); rpc: function-scope xrefs_from | blasty |
| 2026-07-10 | rpc: unix-socket puppeteering server (raw keys + introspection + screen) | blasty |
| 2026-07-10 | hex view: file offsets + 'g' goto (dedicated input) | blasty |
| 2026-07-10 | hex view: raw image bytes (VA-addressed), synced to the code cursor | blasty |
| 2026-07-10 | retype: set variable/function types with 'y' (IDA-style), via structured tools | blasty |
| 2026-07-10 | struct editor: auto-format the definition on save | blasty |
| 2026-07-10 | struct editor: loud save errors + guard unsaved edits | blasty |
| 2026-07-10 | clipboard: keyboard copy (OSC 52 + tmux) since mouse-select is captured | blasty |
| 2026-07-10 | struct editor: discoverable, confirmed delete (d/Del + ConfirmScreen) | blasty |
| 2026-07-10 | struct editor: C-style CRUD for local types (Ctrl+T) | blasty |