Skip to content

v0.4.18

Choose a tag to compare

@github-actions github-actions released this 02 Aug 02:11
· 7 commits to main since this release

What's New

🖱️ Click-to-Position Cursor

Click anywhere in the shell input area to move the cursor to that position
(requires OSC 133 shell integration — zsh & fish ship this by default).
Arrow-key sequences are sent to the PTY to reposition the cursor; only input
cells count, wide-char spacer tails and prompt/output cells are skipped.

  • Click past the end of input snaps to the end
  • Cross-line clicking works correctly across soft-wrapped input
  • Rejected when a command is running (cursorIsAtPrompt gate, matching Ghostty)
  • Rejected while browsing scrollback history or mid-scroll-animation
  • Rejected when mouse reporting is active (vim/tmux) or on the alternate screen

🐛 Fixes

  • Command-running guard: Clicking on a stale command line after pressing Enter
    no longer floods the terminal with ^[[D garbage. After OSC 133;C the cursor's
    semantic state flips to output, and the guard rejects clicks until the shell
    returns to a prompt.
  • Stack buffer overflow in the C shim: the cursor semantic content getter
    wrote a 4-byte enum into a 1-byte uint8_t, corrupting the adjacent
    cursor_visual_style variable. Fixed to use the correct sized type.
  • Blank window after height resize and stale split-divider hit-test region
  • Removed outdated architecture plan files and stale doc references

🔧 Under the Hood

  • Vendored Ghostty source patches (new GHOSTTY_TERMINAL_DATA_CURSOR_SEMANTIC_CONTENT
    enum) are now carried as Vendor/ghostty.patch and applied by CI before the
    Zig build — the submodule stays pinned to upstream, and the patch guarantees
    reproducible builds.
  • 688 tests pass, architecture guard OK.

Full Changelog

v0.4.17...v0.4.18