# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.9.0] - 2026-08-16
- UI improvements
- Add a bottom status bar indicating the heretek state and the gdb state.
- Add help menu to show the meaning of colors and specific key usage.
- With the information now put into the bottom bar, it's now removed from the top bar.
- Add mouse scrolling to all scrollable panels.
- Add mouse tab selection.
- Fix all scrolling bounds related to showing extra rows.
- Hexdump now collapses output of repeated lines such as all 00s.
- Show std/stderr in the `Output` pane.
- Display registers pointing to stack locations.
- Only show completion suffix beyond the current input.
- Add `:`-triggered `Goto` popup to the hexdump view to scroll to a typed address.
- Handle `\t` in gdb instruction output.
## [0.8.0] - 2025-12-15
- Add `Source` improvements:
- Add `Source` display page
- Add `Source` highlight support for Rust, C, and C++ using [arborium](arborium.bearcove.eu)(treesitter).
- Send child process stderr to null
- Resolve info addresses with another symbol address lookup in `Symbol` page.
- Poll slower when not expecting gdb response
## [0.7.0] - 2025-11-14
- Hexdump memory mapping selection using `H` [#192](https://github.com/wcampbell0x2a/heretek/pull/192)
- Add symbol selection screen and asm printing [#192](https://github.com/wcampbell0x2a/heretek/pull/192)
- Add quit confirmation [#192](https://github.com/wcampbell0x2a/heretek/pull/192)
## [0.6.0] - 2025-09-01
- Set disassembly-flavor to intel [#164](https://github.com/wcampbell0x2a/heretek/pull/164)
- Auto detect arch ptr size [#153](https://github.com/wcampbell0x2a/heretek/pull/153)
- Remove panic on empty memory mapping [#149](https://github.com/wcampbell0x2a/heretek/pull/149)
- Nicely bail on errors [#146](https://github.com/wcampbell0x2a/heretek/pull/146)
- Improve `--cmds` help message [#154](https://github.com/wcampbell0x2a/heretek/pull/154)
- Major code refactor [#142](https://github.com/wcampbell0x2a/heretek/pull/142)
- Fixes for debugging riscv [#175](https://github.com/wcampbell0x2a/heretek/pull/175)
- Display source when available [#186](https://github.com/wcampbell0x2a/heretek/pull/186)
## [0.5.1] - 2025-04-14
- Support reading memory map from gdb >= 16.2 [#141](https://github.com/wcampbell0x2a/heretek/pull/141)
## [0.5.0] - 2025-02-09
- Add `Tab` completion to show possible completions and overwrite if singular [#134](https://github.com/wcampbell0x2a/heretek/pull/134)
- Show `-stack-list-frames` otherwise known as `Backtrace` when available [#129](https://github.com/wcampbell0x2a/heretek/pull/129)
- Add more documentation showing more usage of `heretek` in Hexdump and Normal usage [#128](https://github.com/wcampbell0x2a/heretek/pull/128)
- Try and deref the *entire* string when looking at a memory address [#127](https://github.com/wcampbell0x2a/heretek/pull/127)
- Update depends
## [0.4.0] - 2025-01-14
- Display registers that point to addresses in Hexdump [#115](https://github.com/wcampbell0x2a/heretek/pull/115)
- Show asm and function offset in asm deref [#117](https://github.com/wcampbell0x2a/heretek/pull/117)
- Expand `HERETEK_MAPPING_{START,END,LEN}` to allow optional index of mapping [#116](https://github.com/wcampbell0x2a/heretek/pull/116)
- Fix `HERETEK_MAPPING_{START,END,LEN}` to allow all ascii chars as filename [#116](https://github.com/wcampbell0x2a/heretek/pull/116)
- Add `--cmds` to cmd history [#118](https://github.com/wcampbell0x2a/heretek/pull/118)
- Ignore `#` comment lines in `--cmds` [#119](https://github.com/wcampbell0x2a/heretek/pull/119)
## [0.3.0] - 2025-01-09
- Adjusted size of UI elements in Main View [#102](https://github.com/wcampbell0x2a/heretek/pull/102)
- Add `--gdb-path` to override gdb executed [#101](https://github.com/wcampbell0x2a/heretek/pull/101)
- Show `Running` in status [#106](https://github.com/wcampbell0x2a/heretek/pull/106)
- Allow `control+c` to send `SIGINT` to process [#106](https://github.com/wcampbell0x2a/heretek/pull/106)
- Always use `mi-async`
- Override `continue` into `-exec-continue`
- Override `stepi` into `-exec-step-instruction`
- Override `step` into `-exec-step`
- Change `--cmd` into `--cmds` and from using `gdb> source` to just running each line as a gdb cmd [#106](https://github.com/wcampbell0x2a/heretek/pull/106)
- Add `--log-path` to control log location and remove writing to `app.log` by default [#108](https://github.com/wcampbell0x2a/heretek/pull/108)
- Change `RUST_LOG` env to `info` as default [#108](https://github.com/wcampbell0x2a/heretek/pull/108)
## [0.2.0] - 2025-01-02
- Remove `--local` argument, `heretek` now runs gdb locally by default [#96](https://github.com/wcampbell0x2a/heretek/pull/96)
- hexdump: Resolve `~/` in path for Saving [#97](https://github.com/wcampbell0x2a/heretek/pull/97)
- hexdump: Speed up by only computing what is needed for display [#98](https://github.com/wcampbell0x2a/heretek/pull/98)
- output/memory/hexdump: Add `G` hotkey to goto bottom [#98](https://github.com/wcampbell0x2a/heretek/pull/98)
## [0.1.0] - 2025-01-01
- Initial Release