動察 Beating AI 速報、ターミナルエミュレータ Ghostty が 1.4.0 をリリース。7 か月の開発期間を経て、172 名のコントリビューターが約 2900 回のコード更新を提出した。今回はターミナルを長時間使用する際のメモリ使用量の問題を重点的に解決し、パフォーマンスとグラフィックスサポートも大幅に向上した。
新バージョンはターミナルがアイドル状態のとき、画面外の履歴を自動的に圧縮し、振り返りや検索時に必要に応じて展開する。通常のテキスト履歴は圧縮後に物理メモリを 70% から 90% 節約でき、デフォルトの履歴上限もターミナルごとに 10MB から 50MB に引き上げられた。満杯になっても、通常は旧バージョンよりメモリを節約できる。現在 macOS と 64 ビット Linux をサポートしている。
バックグラウンドタブも常に GPU リソースを占有しなくなった。公式が macOS でテストしたところ、表示中のタブ 1 つとバックグラウンドタブ 20 つを開いた場合、GPU メモリ使用量は約 385MiB から 18MiB に減少した。ターミナル出力の読み取り方式も書き直され、macOS のデータスループットは 25% から 55% 向上した。`cat` で 150MB のテキストファイルを直接出力する場合、所要時間は 1.5 秒から 566 ミリ秒に短縮された。
Ghostty はさらに Kitty グラフィックスプロトコルのアニメーションと相対配置機能を補完した。以前はターミナルで GIF アニメーションを表示すると静止画しか見えなかったが、現在は正常に再生できる。創業者によると、Kitty 以外でこのグラフィックスプロトコルを完全に実装した初のターミナルだという。
新バージョンは macOS 27 もサポートし、Linux は EGL ベースのレンダリング方式に切り替え、`ghostty +ssh` を追加した。リモートサーバーに接続する際に必要なターミナル設定を自動インストールできる。
今回さらに 10 件のセキュリティ脆弱性を修正した。そのうち 1 件は Kitty グラフィックス命令に関わるもので、攻撃者が悪意のある出力をターミナルに表示させるだけで、プログラムのクラッシュやメモリの異常消費を引き起こし、特定の状況では一時ディレクトリ外のファイルを読み取ったり削除したりできる可能性があった。