Ghostty 1.4: meno memoria, grafica Kitty completa e 10 falle chiuse

Ghostty, il terminale open source creato da Mitchell Hashimoto, è arrivato alla versione 1.4 il 27 ottobre. Sono 7 mesi di lavoro di 172 contributori in 2.889 commit: molta meno memoria, grafica Kitty completa con le animazioni, supporto a macOS 27, un nuovo renderer OpenGL su Linux, il nuovo comando ghostty +ssh e 10 problemi di sicurezza corretti. Per questi ultimi conviene aggiornare subito.
Sicurezza: perché aggiornare
Le 10 segnalazioni (advisory su GitHub, i codici CVE non sono ancora stati assegnati) riguardano anche casi in cui basta mostrare nel terminale un output preparato ad arte:
- comandi grafici Kitty malevoli potevano bloccare o far chiudere Ghostty e, in casi limitati, leggere o cancellare file fuori dalle cartelle temporanee
- un output malevolo poteva chiudere tutte le finestre passando dalla modalità di controllo di tmux, anche senza tmux installato (versioni 1.3.0 e 1.3.1)
- entrare con
cdin una cartella dal nome costruito ad arte, per esempio in un repository clonato, poteva far mandare sequenze arbitrarie dall'integrazione con zsh, come sostituire di nascosto gli appunti - su macOS il clic con Cmd su un link costruito ad arte poteva portare all'esecuzione di comandi: ora i link pericolosi sono bloccati e gli schemi personalizzati chiedono conferma
Molta meno memoria
- La cronologia che non si vede viene compressa quando il terminale è fermo: per il testo tipico usa dal 70 al 90% di memoria fisica in meno, e si decomprime al volo quando scorri o cerchi, senza rallentare. Per questo il limite predefinito dello scrollback sale da 10 a 50 MB per terminale. Per ora su macOS e Linux a 64 bit.
- Un terminale vuoto su macOS occupa circa 16 KiB invece di 128 KiB.
- Le schede nascoste liberano la GPU: con una scheda visibile e 20 nascoste, la memoria video scende da circa 385 MiB a 18 MiB.
- Secondo Hashimoto, a seconda dell'uso si risparmia in tutto dal 50 al 90% di memoria.
Più veloce
- Su macOS il kernel legge dal terminale al massimo circa 1 KiB alla volta: ora lettura ed elaborazione girano su due thread separati, con il 25-55% di velocità in più.
- Il parser elabora il testo semplice a 725 MB/s invece di 128 (5,7 volte più veloce) e il testo cinese, giapponese e coreano 3,4 volte più in fretta.
- Un
catdi un file da 150 MB su macOS passa da 1,5 secondi a 566 millisecondi; il ridimensionamento con tanta cronologia è circa 6 volte più rapido.
Grafica Kitty e appunti
- Ghostty implementa il 100% del protocollo grafico di Kitty, comprese animazioni e posizionamenti relativi: è il primo terminale a farlo oltre a Kitty. Una GIF mostrata con
kitten icatora si muove, e le immagini grandi vengono lette circa 16 volte più in fretta. - Arriva anche il protocollo appunti di Kitty: i programmi possono leggere e scrivere negli appunti anche immagini o HTML. La lettura chiede il permesso e mostra un'anteprima di cosa c'è negli appunti.
macOS, Linux e SSH
- Supporto a macOS 27 con le correzioni grafiche del caso (niente più barra delle schede grigia sopra il tema), restando compatibile fino a macOS 13.
- Su Linux e FreeBSD c'è un nuovo renderer OpenGL su un thread proprio, con meno tearing e testo finalmente nitido con lo scaling frazionario (125%, 150%).
- Su Linux gli split si spostano trascinandoli, anche fra finestre diverse.
- ghostty +ssh si usa al posto di
ssh: installa da solo il terminfo di Ghostty sul server remoto, così tutto funziona anche via SSH.
Cosa significa
È un aggiornamento grosso per un terminale ormai molto usato dagli sviluppatori: più leggero quando si tengono aperte tante schede con lunghe sessioni, più veloce con output pesanti e più preciso nell'emulazione. Ma il motivo per aggiornare oggi sono le 10 falle chiuse.


