Ghostty shipped version 1.4.0 this week after seven months of work, and the release notes read like a list of things the terminal had been quietly tolerating.
The first is memory. Ghostty now compresses scrollback that is not on screen, continuously and in the background while the terminal sits idle. For typical text-heavy output, those pages shrink by 70 to 90 percent. Scrolling back or searching decompresses on demand without a visible delay. Because the pages got cheaper, the default scrollback limit went from 10 MB to 50 MB per terminal — five times the history for less memory than before. macOS builds also release GPU memory held by background tabs: with one tab visible and twenty hidden, graphics memory falls from about 385 MB to 18 MB.
The second is throughput, and the fix is diagnostic. On macOS the kernel caps reads from a pseudo-terminal at about 1 KB regardless of buffer size, so the old design — read synchronously, then parse — blocked the programs doing the writing. Ghostty 1.4.0 splits draining the buffer and parsing it onto two threads, lifting I/O throughput on Apple systems by 25 to 55 percent. The parser itself also got faster: plain ASCII now moves at 725 MB/s instead of 128 MB/s, so `cat`-ing a 150 MB text file under macOS drops from 1.5 seconds to 566 milliseconds. That matters more than it sounds, because agent and build output is overwhelmingly ASCII.
The third is graphics. Ghostty 1.4.0 is the first terminal besides Kitty itself to implement the Kitty graphics protocol completely — animations such as moving GIFs via `kitten icat`, and relative placements where an image positions itself against another graphic and moves with it. SIMD instructions process large image streams roughly 16 times faster than before. The Kitty clipboard protocol (OSC 5522) arrives too, carrying arbitrary MIME types rather than plain text, so console programs can accept a pasted screenshot. Clipboard reads still require confirmation by default, and the dialog now previews images.
The fourth is the most practical for anyone who works on remote machines. Modern terminals advertise their own terminfo entry — `xterm-ghostty` here — that usually does not exist on the target host, producing broken key bindings and rendering glitches after an SSH connection. `ghostty +ssh` wraps the regular SSH client: it copies the matching terminfo file to the remote machine before connecting, forwards relevant environment variables, and falls back cleanly to `xterm-256color` on failure.
On Linux the renderer was rebuilt. Instead of the `GtkGLArea` widget, Ghostty renders frames through EGL on its own thread and hands them to GTK as DMABUF — with triple buffering, less tearing, and sharp text and box-drawing characters at fractional scaling such as 125 or 150 percent. Split views can now be rearranged by drag and drop as they can on macOS.
Housekeeping: ten security holes are fixed, including manipulated terminal output or directory names that could cause crashes or inject commands. macOS 27 adjustments land; Linux now requires GTK 4.18 and libadwaita 1.7, macOS 13 or later. Windows users get nothing new — the project has removed GUI support for Windows from its roadmap and points them to other terminals built on the `libghostty` core library.




