Ghostty, yedi aylık çalışmanın ardından bu hafta 1.4.0 sürümünü yayımladı ve sürüm notları, terminalin bugüne kadar sessizce katlandığı şeylerin listesi gibi okunuyor.
İlki bellek. Ghostty artık ekranda olmayan kaydırma geçmişini sıkıştırıyor — terminal boştayken sürekli ve arka planda. Tipik, metin ağırlıklı çıktılarda bu sayfalar yüzde 70 ila 90 küçülüyor. Geri kaydırma veya aramada veri gerektiğinde açılıyor, hissedilir bir gecikme olmadan. Sayfalar ucuzladığı için varsayılan geçmiş sınırı terminal başına 10 MB'tan 50 MB'a çıktı: öncekinden daha az bellekle beş kat geçmiş. macOS sürümleri ayrıca arka plandaki sekmelerin tuttuğu GPU belleğini serbest bırakıyor: bir sekme görünür, yirmisi gizliyken grafik belleği yaklaşık 385 MB'tan 18 MB'a düşüyor.
İkincisi verim ve düzeltmenin kendisi bir teşhis. macOS'ta çekirdek, tampon boyutundan bağımsız olarak sözde terminalden okumaları yaklaşık 1 KB ile sınırlıyor; dolayısıyla eski tasarım — önce eşzamanlı oku, sonra ayrıştır — yazan programları bloke ediyordu. Ghostty 1.4.0 tamponu boşaltma ile ayrıştırmayı iki ayrı iş parçacığına dağıtıyor ve Apple sistemlerinde G/Ç verimini yüzde 25–55 artırıyor. Ayrıştırıcının kendisi de hızlandı: düz ASCII artık 128 MB/s yerine 725 MB/s ile akıyor; bu da macOS'ta 150 MB'lık bir metin dosyasını `cat` ile basmanın 1,5 saniyeden 566 milisaniyeye inmesi demek. Bu, kulağa geldiğinden daha önemli, çünkü ajan ve derleme çıktılarının ezici çoğunluğu ASCII.
Üçüncüsü grafikler. Ghostty 1.4.0, Kitty'nin kendisi dışında Kitty grafik protokolünü tam olarak uygulayan ilk terminal — `kitten icat` üzerinden hareketli GIF gibi animasyonlar ve bir görselin başka bir grafiğe göre konumlanıp onunla birlikte hareket ettiği göreli yerleşimler dahil. SIMD komutları büyük görüntü akışlarını öncekine göre yaklaşık 16 kat hızlı işliyor. Kitty pano protokolü (OSC 5522) de geliyor: düz metin yerine her türlü MIME tipini taşıdığı için konsol programları yapıştırılmış bir ekran görüntüsünü kabul edebiliyor. Panodan okuma varsayılan olarak hâlâ onay istiyor ve iletişim kutusu artık görsellerin önizlemesini gösteriyor.
Dördüncüsü, uzak makinelerde çalışan herkes için en pratiği. Modern terminaller kendi terminfo kayıtlarını duyuruyor — burada `xterm-ghostty` — ve bu kayıt hedef sistemde genellikle yok. Sonuç, SSH bağlantısından sonra bozulan tuş eşlemeleri ve görüntü hataları. `ghostty +ssh` normal SSH istemcisini sarıyor: bağlanmadan önce uygun terminfo dosyasını uzak makineye kopyalıyor, ilgili ortam değişkenlerini aktarıyor ve hata durumunda temiz biçimde `xterm-256color`'a düşüyor.
Linux'ta render hattı yeniden yazıldı. Ghostty, `GtkGLArea` bileşeni yerine karelerini kendi iş parçacığında EGL üzerinden çizip DMABUF ile GTK'ya veriyor — üçlü tamponlama, daha az yırtılma ve yüzde 125 ya da 150 gibi kesirli ölçeklerde keskin yazı ve çerçeve karakterleri. Bölünmüş görünümler artık macOS'taki gibi fareyle sürükleyip bırakılarak yeniden düzenlenebiliyor.
Temizlik kalemleri: on güvenlik açığı kapatıldı; bunlar arasında manipüle edilmiş terminal çıktısı veya dizin adları üzerinden çökme ya da komut yerleştirme vardı. macOS 27 uyarlamaları geldi; Linux'ta artık GTK 4.18 ve libadwaita 1.7, macOS'ta sürüm 13 gerekiyor. Windows kullanıcılarına yeni bir şey yok — proje Windows için GUI desteğini yol haritasından çıkardı ve kullanıcıları `libghostty` çekirdek kütüphanesi üzerine kurulu diğer terminallere yönlendiriyor.




