|
| 1 | +--- |
| 2 | +title: "What's new in v1.8.3" |
| 3 | +description: "Fix TUI layout: header/footer anchoring, viewport packing and narrow-terminal rendering" |
| 4 | +date: 2026-03-09 |
| 5 | +--- |
| 6 | + |
| 7 | +# What's new in github-code-search v1.8.3 |
| 8 | + |
| 9 | +> Full release notes: <https://github.com/fulll/github-code-search/releases/tag/v1.8.3> |
| 10 | +
|
| 11 | +## Highlights |
| 12 | + |
| 13 | +### Fix: header no longer scrolls off screen |
| 14 | + |
| 15 | +In previous versions, scrolling down fast could push the `github-code-search` |
| 16 | +title bar and the column headers (`PATH`, `MATCH`) out of the visible area, |
| 17 | +leaving the TUI without any reference point. The header row is now anchored to |
| 18 | +the top of the viewport regardless of scroll offset. |
| 19 | + |
| 20 | +### Fix: footer always visible at the bottom |
| 21 | + |
| 22 | +The keyboard-shortcut bar at the bottom of the TUI could float up into the |
| 23 | +results area when the result list was shorter than the terminal height. |
| 24 | +The viewport now fills any remaining vertical space with blank lines before |
| 25 | +rendering the footer, keeping it pinned to the last row. |
| 26 | + |
| 27 | +### Fix: correct rendering on narrow terminals (Unicode / emoji clipping) |
| 28 | + |
| 29 | +The `clipAnsi` helper that truncates long lines to fit the terminal width was |
| 30 | +splitting multi-byte UTF-8 sequences such as emoji (e.g. `🔍`) at a raw byte |
| 31 | +boundary, producing garbled output or invisible characters on narrow terminals. |
| 32 | +The helper now advances by full Unicode code points (`codePointAt`) and only |
| 33 | +clips between complete characters. |
| 34 | + |
| 35 | +--- |
| 36 | + |
| 37 | +## Other improvements |
| 38 | + |
| 39 | +- **Title badge contrast** — the `github-code-search` badge in the header now |
| 40 | + renders in black on magenta instead of a low-contrast colour combination, |
| 41 | + making it readable on all common terminal themes. |
| 42 | +- **Viewport packing** — `normalizeScrollOffset` prevents the scroll position |
| 43 | + from drifting past the last result, ensuring the bottom of the list always |
| 44 | + fills the screen. |
| 45 | + |
| 46 | +--- |
| 47 | + |
| 48 | +## Upgrade |
| 49 | + |
| 50 | +```sh |
| 51 | +github-code-search upgrade |
| 52 | +``` |
| 53 | + |
| 54 | +Or download the latest binary from |
| 55 | +[GitHub Releases](https://github.com/fulll/github-code-search/releases/tag/v1.8.3). |
0 commit comments