HN 日本語サマリー

← 一覧へ戻る
プログラミング

Ghostty 1.4.0 リリースノート

Ghostty 1.4.0 (ghostty.org)

161 pointsby deaux56 コメント

要約

Ghostty 1.4.0は、パフォーマンスとメモリ使用量の劇的な改善、Kittyグラフィックスプロトコルの完全実装、SSH統合の強化、および多数のバグ修正を含むメジャーリリースです。このバージョンでは、スクロールバックの圧縮によるメモリ効率の向上、GTKレンダリングパイプラインの刷新、Kittyクリップボードプロトコルのサポート追加など、多岐にわたる機能強化と最適化が行われています。

全文翻訳

Ghostty 1.4.0

Ghostty 1.4.0は、パフォーマンスとメモリ使用量の大幅な改善、アニメーションと相対配置を含む100%完全なKittyグラフィックス実装(Kitty以外のターミナルとしては初)、SSH統合の改善、および全プラットフォームにおける数百もの改善と修正を含むメジャーリリースです。

このリリースは、172人のコントリビューターによる2,889回のコミットを経て、7ヶ月の作業を経て実現しました。このリリースを可能にしてくれたすべてのコントリビューター、メンテナー、コミュニティモデレーター、翻訳者、パッケージャー、そしてユーザーに感謝します。

これらのリリースノートは、Ghosttyのメンテナーによって手作業で丁寧に作成されており、完全な変更履歴が含まれています。作成には合計16時間以上を要しましたので、どうぞお楽しみください。🥰

  • GHSA-4hwh-wx3w-3fqg。ペースト保護機能がキャリッジリターンを行末と認識しなかったため、ブラケットペーストを使用しないプログラムでは、確認なしにコマンドが実行される可能性がありました。これはユーザーの操作(コピー&ペースト)でトリガーされます。
  • GHSA-mhff-mv4q-fp63。悪意のあるKittyグラフィックスコマンドにより、Ghosttyがクラッシュまたはハングし、巨大なメモリ割り当てを強制し、限定的なケースでは許可された一時ディレクトリ外のファイルを読み取ったり削除したりする可能性がありました。これは悪意のある出力を表示するだけでトリガーされます。
  • GHSA-hcr9-7hcr-mjm8。悪意のあるターミナル出力により、tmuxコントロールモードを介してGhosttyがクラッシュし、すべてのウィンドウが閉じられる可能性がありました。tmuxはインストールされている必要はありません。これはGhostty 1.3.0および1.3.1に影響します。
  • GHSA-hp9c-qp4q-cpw3。上記と同様の影響が、tmuxコントロールモードのレイアウトでゼロサイズのペインまたはオーバーサイズのペインを介して発生する可能性がありました。これはGhostty 1.3.0および1.3.1に影響します。
  • GHSA-w9q4-5jvv-mcv4。画面をスクロールバックにクリアする際に、スタイル付きまたはハイパーリンク付きカーソルを保持しているスクロールバックページを削除した場合、メモリが破損する可能性がありました。これは悪意のある出力を表示するだけでトリガーされますが、scrollback-limitが0のように小さい場合に限られます。デフォルト設定では影響を受けないと考えられています。
  • GHSA-2r63-vmw6-3m3c。細工されたディレクトリ名により、zshシェル統合が任意のエスケープシーケンスを送信し、クリップボードをサイレントに置き換える(OSC 52経由)可能性がありました。bashも限定的な影響を受けました。これは、クローンされたリポジトリのような信頼できないコンテンツからディレクトリにcdするだけでトリガーされます。
  • macOS: GHSA-cw69-wm67-5pv8。細工されたOSC 8ハイパーリンクをCmdクリックすると、安全でないローカルファイルやカスタムURLスキームが開かれ、任意のコマンド実行につながる可能性がありました。Ghosttyは現在、安全でないターゲットをブロックし、カスタムURLスキームを確認します。これはユーザーの操作(Cmdクリック)でトリガーされます。
  • macOS: GHSA-mfw9-xcr3-7gfp。上記と同様の問題が、デフォルトのURLマッチャーを含むlink設定で検出されたリンクに対しても発生しました。これはユーザーの操作(Cmdクリック)でトリガーされます。
  • macOS: GHSA-v8cw-fg4j-jcc4。テキストのドラッグ&ドロップがペースト保護をスキップし、上記と同様の影響がありました。これはユーザーの操作(ドラッグ&ドロップ)でトリガーされます。
  • macOS: GHSA-mxqx-236q-wrv7。制御文字を含むファイル名を開くと、確認ダイアログに表示されたコマンドとは異なるコマンドが実行される可能性がありました。これはシステム上の細工されたファイルと確認ダイアログの確認が必要です。

注: 上記アドバイザリのCVE番号を数週間前にリクエストしましたが、GitHubはまだ割り当てていません。もし割り当てられたら、適切なCVE番号に更新します。

PRs: #12999 #13069 #13393 #14413 #14414

Ghostty 1.4はmacOS 27 (Golden Gate) をサポートしています。作業の大部分は互換性修正でした:

  • タイトルバーのタブ(macos-titlebar-style = tabs)が正しくレイアウトされるようになりました。
  • ネイティブタブバーは、テーマの上にソリッドグレーバーとして描画されなくなりました。新しいガラススタイルがターミナル背景と調和するようになりました。
  • macos-titlebar-style = hiddenは、透明度を下げる(Reduce Transparency)がオンの場合にターミナルのトップラインを覆わなくなりました。
  • アプリケーションアイコンの細い境界線がなくなりました。
  • ショートカットの「新規ウィンドウ」アクションは、Ghosttyがウィンドウなしで実行されている場合に2つのウィンドウを開かなくなりました。

Ghostty 1.4は、macOS 13 (Ventura) 以降のバージョンとの完全な互換性を維持しています。詳細については、システム要件を参照してください。

Ghostty 1.3.1はmacOS 27で動作しますが、上記のようなグレーのタブバーなどの視覚的な問題がいくつかあります。

PRs: #13943 #13939 #13935 #13934 #13893 #13933 #13389 #13270 #13281

Ghosttyは、Kittyグラフィックスのアニメーションと相対配置をサポートするようになりました。これらは、KittyグラフィックスプロトコルのGhosttyがサポートしていなかった最後の主要機能でした。

kitten icatでアニメーションGIFを表示するなど、Kittyプロトコルでアニメーション画像を表示するプログラムは、Ghosttyで静止フレームではなくアニメーションするようになりました。フレーム送信、合成、再生制御がすべてサポートされており、ターミナルが表示されていない間はアニメーションが一時停止します。相対配置により、プログラムは画像の位置を別の画像の配置に対して相対的に設定できるため、子画像は親画像と一緒に移動します。

仕様とKitty自体に対して完全な適合性チェックを行い、数十の動作の違いを修正しました。例えば、画像はスクロール領域内のテキストと一緒にスクロールするようになりました(#4323)、画像IDを再送信すると古い画像が置き換えられます(#6711)、無効な画像データはサイレントではなくエラー応答を返すようになり、クライアントがハングするのを防ぎます。関連する変更の完全なリストは、ターミナル機能セクションにあります。

Kittyグラフィックスも高速化されました。画像ペイロードは、バイト単位ではなくSIMDを使用して一括で解析されるようになり、大規模な画像転送の解析速度がベンチマーク(x86_64 Linux、64 MiBの画像データ)で約16倍高速化され、画像の描画コストもフレームあたりで大幅に削減されました。

当社のKittyグラフィックス実装は、公開されている仕様の100%をカバーするようになり、Ghostty(およびlibghostty)はKitty自身以外では初めてこれを行ったターミナルとなりました。

PRs: #13264 #13473 #13240 #13245 #14130 #14137 #14138 #14017

Ghosttyは、表示されていないスクロールバックを透過的に圧縮するようになり、典型的なテキスト中心の履歴でこれらのページが使用する物理メモリを70%から90%削減しました。圧縮はターミナルがアイドル状態のときにのみ実行され、スクロールバックや検索時にオンデマンドで展開されるため、I/Oスループットへの測定可能な影響はありません。

圧縮のおかげで、デフォルトのスクロールバック制限が10 MBから50 MBに引き上げられました。圧縮をサポートするプラットフォームでは、完全なスクロールバックでも、以前の10 MB制限よりも少ない物理メモリで済むことが一般的です。

圧縮は仮想メモリではなく常駐メモリ(物理メモリ)を削減します。したがって、測定する際は常駐メモリを確認してください。現在、macOSと64ビットLinuxで利用可能です。

スクロールバック以外でも、多くの場所でメモリ使用量が削減されました:

  • 新しい空のターミナルは、macOSで約16 KiBのターミナルページメモリを使用するようになり、Ghostty 1.3.1の128 KiBから削減されました。
  • macOSとLinuxでは、画面クリアやスクロールバックのトリミングによって解放されたメモリが、ターミナルが閉じるまで保持されるのではなく、OSに返却されるようになりました。
  • 非表示のタブはGPUリソースを解放します。macOSで、タブが1つ表示されており20個のタブが非表示の場合、GPUメモリは約385 MiBから18 MiBに減少しました。タブが表示される際に再構築するのに1ミリ秒未満かかります。

PRs: #13209 #13220 #13226 #13227 #13537 #13827 #13587 #14011 #13722 #14035 #12760

Ghostty 1.4では、全体的にパフォーマンスが向上し、以前のバージョンと比較して大幅な改善が見られます。

最大の成果は、驚くべき発見から生まれました。macOSでは、カーネルが読み取りバッファのサイズに関わらず、ptyからの各読み取りを約1 KiBに制限しています。以前は、Ghosttyは読み取りごとに処理していたため、キロバイトごとに読み取りごとのオーバーヘッドが発生し、出力ライターは解析中にブロックされていました。Ghosttyは現在、別のスレッドで解析を行いながら、1つのスレッドでptyから読み取るため、macOSでのエンドツーエンドI/Oスループットが25%から55%向上しました(M4 Max、プレーンテキストおよびUnicodeテキスト)。

VT処理自体も高速化されています。パーサーベンチマークでは、プレーンASCIIテキストが128 MB/sから725 MB/s(5.7倍)に、CJKテキストは3.4倍高速になり、asciinemaからの実際のターミナル録画の2.6 GBデータセットは約25%高速に処理されます。これらの変更を組み合わせることで、macOSで150 MBのテキストファイルをcatする時間が1.5秒から566ミリ秒に短縮されました。

その他の注目すべき改善点:

  • リサイズ: 大規模なスクロールバックを持つターミナルのリサイズが約6倍高速になり(120x80、10,000行のスクロールバック)、CJKテキストや絵文字で履歴がいっぱいの場合は3倍から5倍高速になりました。
  • レンダリング: レンダラーはフレームあたりのターミナルロックを2.7倍から11倍少なく保持するようになり、大量の出力中にI/Oスレッドにより多くの時間を残します。
  • コピーと検索: クリップボードコピー、write_screen_file、スクロールバック検索のバックエンドとなるターミナルコンテンツのプレーンテキスト、HTML、またはVT形式へのフォーマットが1.5倍から8倍高速になりました。
  • 起動(macOS): 起動からウィンドウ表示まで約15%高速化され、最初のフレーム描画まで27%高速化されました。
  • アイドル時のエネルギー消費: macOSでは、描画するものがない場合にレンダラーのディスプレイリンクがスリープするようになりました。GTKでは、非表示タブのレンダリングが停止し、macOSと一致するようになりました。
  • 大規模OSCシーケンス: OSC 52クリップボードペイロードの解析が約30倍高速になり、タイトル変更のような短いシーケンスも約6倍高速になりました。

PRs: #14052 #14269

GTKアプリには新しいレンダリングパイプラインが導入されました。GtkGLAreaは使用されなくなりました。代わりに、レンダラーはEGLを使用して独自のGPUスレッドで描画し、各フレームをDMABUFとしてエクスポートしてGTKに表示させます。レンダリングはトリプルバッファリングされるようになり、ティアリングが大幅に軽減されるはずです。また、メインスレッドでOpenGL呼び出しが行われなくなったため、多くの回避策を削除できました。

最も目に見える結果は、フラクショナルスケーリング下での鮮明なテキストです。テキストやボックス描画文字は、125%や150%のようなフラクショナルディスプレイリスケーリングでもぼやけなくなりました(#1938)。以前にもこの問題を修正しましたが、GTKのアップストリーム変更後に再発しました。Ghosttyは現在、ウィンドウの実際のフラクショナルスケールでレンダリングするため、各レンダリングピクセルが画面上の正確な1ピクセルに対応します。

新しいレンダリングサーフェスにはシステムEGLライブラリが必要です(パッケージメンテナー向け変更参照)。DMABUFをエクスポートできないGPUドライバーでは、GhosttyはCPU経由でのフレームコピーにフォールバックしますが、これは遅くなりますが機能します。

PRs: #13962 #13993 #13995 #13998 #14002 #14061

Ghosttyは、macOSとGTKの両方でKittyクリップボードプロトコル(OSC 5522)を実装するようになりました。Ghostty 1.3はプロトコルを解析できましたが、実装はされていませんでした。

OSC 52はプレーンテキストの読み書きしかできません。Kittyクリップボードプロトコルは、ターミナルで実行されるプログラムが画像やHTMLなどのあらゆる種類のクリップボードデータを読み書きできるようにし、クリップボード上のフォーマットを選択できるようにします。プログラムはペーストイベント(モード5522)を有効にすることもでき、ペーストがどのフォーマットを含んでいるかをプログラムに通知するため、プログラムは必要なものを読み取ることができます。これにより、ターミナルプログラムがペーストされた画像を受け入れることができます。

クリップボードアクセスは、既存のclipboard-readおよびclipboard-write設定に従います。デフォルトでは、読み取りは許可を求め、書き込みは許可されます。許可プロンプトには、画像を含むクリップボードコンテンツのプレビューが表示されます。パスワードを送信するプログラムは、そのセッションの間、回答を記憶させることができます。新しいclipboard-write-limit-bytes設定は、単一の書き込みサイズを制限します(デフォルト64 MiB)。制限を超える書き込みは失敗し、クリップボードは変更されません。

PRs: #10423 #13706

macOSでGhostty 1.3で導入されたスプリットのドラッグ&ドロップによる並べ替え機能が、GTKでも利用できるようになりました。タブに2つ以上のスプリットがある場合、各スプリットの上部にドラッグハンドルが表示されます。ハンドルを掴んで、他のタブやウィンドウのスプリットを含む任意のスプリットにドロップします。オーバーレイが表示され、ターゲットスプリットのどの側に配置されるかを示します。ターミナルコンテンツ、作業ディレクトリ、実行中のプロセスはすべて一緒に移動します。

新しいdrag-handle設定は、macOSとGTKの両方でドラッグハンドルの表示を制御します:auto(デフォルト)、always、またはnever。neverに設定すると、マウスでスプリットを並べ替えることができなくなります。ハンドルを非表示にすることは、邪魔だと感じるユーザーからの一般的な要望でした。

GTKでは、スプリットは他のスプリットにのみドロップできます。スプリットをドラッグして新しいタブやウィンドウを作成するのはmacOSのみです。

PRs: #14454 #13494 #14483 #14538 #14673 #14375 #14144

Ghostty 1.4には、コアターミナルエミュレーションの多数の改善が含まれています。CIでThomas Dickeyのターミナル適合性テストスイートであるesctestを実行するようになりました。それに加えて、カーソル移動、タブストップ、文字セット、モードレポートなどにおいてxtermとの多くの違いを修正しました。関連する変更の完全なリストは、ターミナル機能セクションで見つけることができます。

Ghosttyはまた、ソフトターミナルリセット(DECSTR)、拡張カーソル位置レポート(DECXCPR)、バクアローキーモード(DECBKM)、および文字単位の画面サイズレポート(CSI 19 t)を含むいくつかの新しいシーケンスをサポートしています。プログラムは、可視性レポート(モード2033)を使用してターミナルが表示されているかどうかを問い合わせることもできるため、非表示の間はレンダリングを停止できます。

キーボードエンコーディングもxtermに近くなり、modifyOtherKeysモード2と非ASCIIキーのレガシーAlt-as-Escapeエンコーディングの修正が含まれています。

デフォルトで無効になっている2つの新しいシーケンスは、信頼できないプログラム(リモートマシンで実行されているものを含む)によって悪用される可能性があるためです:

# プログラムがウィンドウをリサイズできるようにする (CSI 8 t)
vt-window-resize-allowed = true

# プログラムが画面チェックサムを要求できるようにする (DECRQCRA)
vt-xt-checksum-report = true

PRs: #12582 #12814 #13533 #13844 #14472 #14854

Ghostty 1.2でSSHシェル統合機能が開発途上として導入されました。Ghostty 1.4では、新しいghostty +ssh CLIアクションによってサポートされています。これは、リモートセッションをGhostty用に準備してから、引数を変更せずに実際のsshを実行するドロップインsshラッパーです。

ghostty +ssh user@example.com

# またはエイリアスを設定して、すべてのssh呼び出しをこれ経由にする
alias ssh='ghostty +ssh --'

接続する前に、+sshはリモートホストにGhosttyのterminfoをインストールし、適切なxterm-ghostty TERM値が使用できるようにします。また、COLORTERM、TERM_PROGRAM、TERM_PROGRAM_VERSIONを転送します。terminfoのインストールに失敗した場合(例:リモートにticがない場合)、TERM=xterm-256colorにフォールバックします。--terminfo=false、--forward-env=false、--verboseなどのフラグが各ステップを制御します。

ssh-envおよびssh-terminfoシェル統合機能(まだオプトイン)も現在+sshを呼び出します。以前は、各シェル統合がこのロジックの独自のコピーを持っており、シェル統合スクリプトの約3分の1を占めていました。現在、bash、zsh、fish、elvish、Nushellはすべて同じように動作し、ghostty +sshを直接呼び出すことで、スクリプトや他の場所から同じ動作を得ることができます。

terminfoのインストール自体もより信頼性が高くなりました。Ghosttyは現在、リモートホストが既に持っているxterm-ghosttyエントリを受け入れるのではなく、常に独自のバンドルされたterminfoをインストールし、Ghosttyのアップデートでterminfoが変更されたときに自動的に再インストールします。また、ローカルマシンにinfocmpまたはGhosttyのterminfoを必要としなくなりました。インストールはホストとポートごとにキャッシュされるため、1つのアドレスの後ろにある2つのマシンはキャッシュエントリを共有しなくなりました。また、ssh-envは~/.ssh/configのSetEnvエントリをサイレントに上書きしなくなりました(#11518)。

+ssh-cacheコマンド(このキャッシュを管理)は、位置指定の宛先(ghostty +ssh-cache user@example.com)を受け付けるようになり、新しい--prune=30dフラグが追加されました。スクリプトで+ssh-cacheを使用している場合は、破壊的変更を参照してください。

macOS: Ghostty 1.4の最小要求macOSバージョンは変更されていません(macOS 13 Ventura)。GhosttyはmacOS 27に対応しました。

GTK: Ghostty 1.4は、Ghostty 1.3のGTK 4.14およびlibadwaita 1.5から、GTK 4.18およびlibadwaita 1.7を必要とします。これは当社のGTK/Adwaitaバージョンポリシーに準拠しています。特に、Ubuntu 24.04 LTSはこの要件を満たしていません。古いGTKまたはAdwaitaバージョンのシステムは、Ghosttyの古いバージョンまたはFlatpakパッケージを使用することでこの要件を回避できます。#14330

OpenGL (GTK): 最小要求OpenGLバージョンは4.3のままですが、GhosttyはGTKのOpenGLウィジェットではなくEGL経由でレンダリングするようになりました。これはほとんどのユーザーには見えないはずですが、GhosttyがEGLエラーで起動しない場合は、GPUドライバーが動作するEGL実装を提供していることを確認してください。

Ghostty 1.4がmacOS 14を必要とすると以前発表しましたが、このリリースではその必要がなくなったため、macOS 13のサポートを維持しました。将来のリリースでmacOS 13を廃止する予定です。 Appleは2025年秋にmacOS 13のセキュリティサポートを終了するため、いずれにせよアップグレードすることをお勧めします。

1.4.0で以下の動作が変更されました:

  • copy-on-selectが再設計され、none、primary、clipboard、またはbothを受け付けるようになりました。clipboardの意味が変更されました:以前はプライマリ選択とシステムクリップボードの両方にコピーしていましたが、現在はシステムクリップボードにのみコピーします。copy-on-select = clipboardを設定していて以前の動作を望む場合は、bothに変更してください。#12600 #12604
  • macOS: copy-on-selectのデフォルトがnone(以前はtrue)になりました。そのため、テキストを選択してもどこにもコピーされなくなり、デフォルトではミドルクリックペーストも機能しなくなりました。1.3の動作を復元するには、copy-on-select = primaryを設定してください。明示的なcopy-on-select = trueはmacOSでシステムクリップボードにコピーするようになり、1.3とは異なります。#12600 #12604
  • macOS: cmd+arrow_upおよびcmd+arrow_downは、Terminal.appおよびGhostty 1.2と一致するように、再びjump_to_promptを実行するようになりました。1.3では、これらのキーはトップとボトムへのスクロールにハードコードされており、再バインドできませんでした。1.3の動作を維持するには、keybind = cmd+arrow_up=scroll_to_topおよびkeybind = cmd+arrow_down=scroll_to_bottomを設定してください。#12245
  • GTK: デフォルトのctrl+shift+page_upおよびctrl+shift+page_downキーバインドは、Firefox、GNOME Terminal、VS Codeと一致するように、現在のタブを左右に移動する(move_tab)ようになりました。jump_to_promptはctrl+shift+arrow_upおよびctrl+shift+arrow_downに移動したため、ターミナルで実行中のプログラムはこれらのキーを受け取らなくなりました。使用するプログラムでそれらが必要な場合は、keybind = ctrl+shift+arrow_up=unbindおよびkeybind = ctrl+shift+arrow_down=unbindでバインド解除してください。#4998 #12458

以下のリストには、互換性レイヤーを通じて現在も互換性があるものの、無視された場合に将来のリリースで問題が発生する可能性のある非推奨項目が含まれています:

  • scrollback-limitは、新しいscrollback-limit-linesのスペースを確保するためにscrollback-limit-bytesに名前が変更されました。#13473
  • copy-on-select = trueは、LinuxおよびFreeBSDではcopy-on-select = primaryに、macOSではcopy-on-select = clipboardに置き換えられました。copy-on-select = falseはcopy-on-select = noneに置き換えられました。#12600 #12604

これらの非推奨項目を削除する確定的なタイムラインはありませんが、将来の混乱を避けるために、新しい設定に早期に適応することをお勧めします。

  • スクロールバック履歴は、ターミナルがアイドル状態のときに透過的に圧縮され、典型的なテキストで圧縮スクロールバックが使用する物理メモリを70%から90%削減します。圧縮はmacOSと64ビットLinuxで利用可能で、新しいscrollback-compression設定で無効にできます。このため、デフォルトのスクロールバック制限は10 MBから50 MBに引き上げられましたが、平均すると以前のフルスクロールバックよりもメモリ使用量は少なくなっています。#13264

  • 新しい設定scrollback-limit-linesは、バイト数ではなく行数でスクロールバックを制限します。既存のscrollback-limit設定はscrollback-limit-bytesに名前が変更されました(古い名前も引き続き機能します)。両方が設定されている場合、最初に達した制限が適用され、どちらもunlimitedを受け入れます。#13473

  • copy-on-selectは、none、primary、clipboard、およびbothを受け付けるようになり、ミドルクリックペースト(middle-click-actionを参照)に影響しなくなりました。clipboardはシステムクリップボードにのみコピーするようになったため、以前の動作にはbothを使用してください。macOSのデフォルトはnoneになりました。移行の詳細については、破壊的変更を参照してください。#12600

  • 新しい設定middle-click-actionは、ミドルクリックの動作を構成します:primary-paste(デフォルト)は選択クリップボードからペーストし、clipboard-pasteはシステムクリップボードからペーストし、ignoreは何もしません。#12478

  • 新しいバインディングアクションmove_tab_to_new_windowは、現在のタブを独自の新しいウィンドウに移動します。コマンドパレットでも利用可能です。#2630

  • 新しいCLIコマンド+explain-configは、設定オプションまたはバインディングアクションのドキュメントを表示します。例:ghostty +explain-config font-size。#11546

  • +explain-configおよび+show-config CLIコマンドは、インタラクティブに実行される際に、出力が$GHOSTTY_PAGERまたは$PAGER(デフォルトはless)を介してページングされるようになりました。ページングは--no-pagerで無効にするか、ページャーを空の値に設定することで無効にできます。#11940

  • 新しい設定drag-handleは、スプリットドラッグハンドルの表示を制御します:auto(デフォルト)、always、またはnever。#13706 #13709

  • スクロールバック検索は、最初または最後のマッチを過ぎてナビゲートする際にラップアラウンドするようになりました。#11449

  • 新しい設定link-osc8(デフォルトtrue)は、OSC 8ハイパーリンクを完全に無効にするためにfalseに設定できます。無効化されたOSC 8ハイパーリンクは、ハイライト、プレビュー、コピー、または開かれることはありません。#13634

  • Ghosttyで実行されているプロセスは、ターミナルを一意に識別するGHOSTTY_SURFACE_ID環境変数を受け取るようになりました。#12027

  • 右クリックコンテキストメニューに「分割を閉じる」項目が追加されました。#11173 #11174

  • Unicode 18にアップデートしました。#14293

  • macOSで、ptyからの読み取りと以前読み取った出力の解析を並行して行うことで、I/Oスループットが25%から55%向上しました。#13209

  • VT処理は全体的に大幅に高速化されました。プレーンテキストは約6倍高速、実際の出力(大規模なasciinemaデータセットで測定)は約24%高速、グリフが多い出力は約3倍高速、DEC特殊グラフィックス(線描画)、繰り返し文字(REP)、ハイパーリンクが多い出力、スクロール領域はすべて高速化されました。#13220 #13226 #13231 #13294 #13625 #13826 #14356

  • 大規模OSCシーケンス(例:OSC 52クリップボード書き込み)は約30倍高速に、タイトル変更のような短いOSCシーケンスは約6倍高速に解析されます。#14011 #13565

  • 大規模スクロールバックでのリファローを伴うリサイズは約6倍高速になり、CJKや絵文字のようなワイド文字が多いスクロールバックでは3倍から5倍高速になりました。#13537 #13827

  • ターミナルはメモリ使用量が大幅に削減されました。macOSでは、新しいターミナルは画面に約16 KiBの物理メモリを使用するようになり、以前の128 KiBから削減されました。各ターミナルページはメモリ使用量が30%削減され、スクロールバックから解放されたメモリ(クリアなどによる)はオペレーティングシステムに返却されるようになりました。#13240 #13245 #14130 #14137 #14138

  • Kittyグラフィックスが高速化されました。大規模画像転送はSIMDを使用して一括で解析され、zlib圧縮画像はデコードが約17%高速になり、ピクセルフォーマット変換は追加コピーを回避し、画像の描画コストはフレームあたりで大幅に削減されました。特に画面上のUnicodeプレースホルダー画像や長いスクロールバックの場合です。#13270 #13281 #13987 #14422 #14780 #14789

  • ターミナルコンテンツのフォーマットは1.5倍から8倍高速になり、クリップボードコピー(プレーン、HTML、VT)、write_screen_fileおよび関連アクション、スクロールバック検索が高速化されました。#13587

  • レンダラーはフレームあたりのターミナルロックを2.7倍から11倍少なく保持し、グリフとフォントのルックアップが高速化されました。#13227 #14300 #14301 #14420 #14406 #13258

  • command-palette-entry = clearは、デフォルトのエントリを含むすべてのコマンドパレットエントリを削除します。#12682

  • window-padding-balanceに新しい値equalが追加され、トップパディングを制限せずに4辺すべてにパディングを均等に配置します。#11491

  • themeは、個別のライト/ダークテーマを含むテーマファイルパスで~をホームディレクトリに展開するようになりました。#13840

  • +list-themesは、最初と最後のテーマにジャンプするためのgとG、およびページダウン/アップするためのctrl+dとctrl+uをサポートするようになりました。#13681 #14607

  • ターミナルインスペクターは、ターミナルI/Oイベントをコピーしたり、ファイルにエクスポートしたりできるようになりました。#13519

  • バンドルされたテーマがrelease-20261019-151001-86a776dに更新されました。これにより356の新しいテーマが追加され、名前変更または削除されたテーマはありません。10個の既存テーマの色がアップストリームで変更されました:Adwaita、Adwaita Dark、Atom One Light、Catppuccin Frappe、Catppuccin Latte、Catppuccin Macchiato、Catppuccin Mocha、Cursor Dark、Dark Modern、Electron Highlighter。

  • コメントまたは空行で終わる内部バッファ境界で発生していた、設定解析がコメントまたは空行の後にすべての設定をサイレントに無視する問題を修正しました。これは通常、長い設定ファイルにのみ影響していました。#13638

  • 長時間稼働後、レンダラーが毎フレームフルターミナル状態を再構築していたパフォーマンス低下の問題を修正しました。#13585

  • 自動作成された設定ファイルが空ではなく、設定テンプレートを含むようになる問題を修正しました。#13774

  • +edit-configは、EDITORまたはVISUALにzed --newのような引数が含まれている場合でも機能するようになりました。#11897

  • adjust-cursor-heightが再び機能するようになりました。#13225

  • マウス選択の改善:ctrl/cmdのトリプルクリック出力選択後のドラッグは、コマンド出力を拡張するようになりました。画面が切り替わったとき(例:代替画面へ)に自動スクロールが停止します。macOSでのフォースタッチは、ドラッグを開始せずにプレス位置の単語を選択します。ドラッグ解除はリンクやプロンプトのクリックをアクティブにしなくなりました。#12830

  • 単語のダブルクリック選択は、ハードラインブレークを越えて継続しなくなり、ワイド文字(例:CJK)のどちらかの半分をダブルクリックすると、単語全体が選択されるようになりました。#14354 #14391

  • 選択範囲の端にあるワイド文字は、ワイド文字が内部ページにラップした場合でも、一貫して選択された状態でレンダリングされ、コピーに含まれるようになりました。#14632 #14651

  • トリプルクリックライン選択は、OSC 133プロンプト境界間の空白セルをクリックした場合に、隣接するプロンプトテキストを取り込まなくなりました。#14553

  • シェル統合がアクティブな場合、リンク検出とダブルクリック選択は、プロンプトテキストと隣接するコマンドテキストをマージしなくなりました。#12435

  • cmd/ctrlクリックで開かれるファイルパスは、末尾のスペースを含まなくなりました。これにより、一部のTUIで表示されるパスが開けなくなる問題が修正されました。#13505

  • クリック移動(click-to-move)が有効な状態でシェルプロンプトをクリックした場合、マウスリリースがマウスプレスを受信したプログラムに報告されるようになりました。これにより、fzfのctrl+r履歴検索のようなプログラムでのダブルクリック選択が修正されました。#14710

  • リサイズ後のシェルの再描画は、古いターミナルサイズで処理されなくなりました。これにより、リサイズ後にプロンプトが重複したり、配置がおかしくなる原因の1つが修正されました。#14706

  • スクロールバーのクリックなどによるスクロールは、非常に大きなスクロールバック(数百万行)でも機能するようになりました。#13048

  • コマンドパレットからの実行時、文字列パラメータを持つカスタムcommand-palette-entryアクション(例:set_tab_title)のパラメータがエスケープされなくなりました。#13609

  • HTMLクリップボードコピーに不要な末尾の改行が含まれなくなりました。#13543

  • VT形式(copy_to_clipboard:vt)およびVT画面ファイルとしてのコピーは、OSC 8ハイパーリンク、テキスト間の空のギャップ、および背景色のみを持つセル(例:カラフルなステータスバー)を保持するようになりました。VT画面ファイルは末尾の空白行も保持します。#14711 #14725 #14766

  • マウスポインターは、修飾キーを離した後、デフォルトにリセットされるのではなく、実行中のプログラムによって設定された形状(OSC 22)を復元するようになりました。#14128

  • カスタムシェーダーは、選択された前景と背景色のユニフォームが入れ替わることを受け取らなくなりました。#14460

  • Ghosttyは、多くのスタイル、グリフ、またはハイパーリンクを持つ出力中に、「adjusting page capacity」メッセージでログを溢れさせなくなりました。#14631

  • スクロールまたは行削除後に再利用された行で、古いラップ状態とプロンプト状態を修正し、コピー、検索、選択、リファローの結果の誤りを修正しました。#14010

  • ワイド文字を削除または削除した後、古い行のレンダリングを修正しました。#14054

  • プログラムが出力を大量に送信している間に設定をリロードすると、フリーズする問題を修正しました(例:色クエリ)。#14833

  • +list-themesは、検索がテーマに一致しない場合に一部のキーでクラッシュしなくなり、キーパッドの下キーが21行ではなく1行移動するようになりました。#14612 #14605

  • スクロールバックのクリア、リサイズ、または履歴の消去後のスクロールバック検索でのクラッシュを修正しました。#11957 #13274 #13282

  • スクロールバック履歴がある場合やカーソルが画面下部付近にある場合のリサイズ時のクラッシュとビューポート破損を修正しました。#12300 #12907 #12935

  • 大量の出力中にテキストをクリックまたは選択した際の、使用後解放(use-after-free)クラッシュを修正しました。#12463

  • リサイズ中にハイパーリンクをリファローする際の、可能性のあるクラッシュを修正しました。#13524

  • ページ容量の増加を引き起こす印刷時、または画面をスクロールバックにクリアした後で見つかった、可能性のあるクラッシュやメモリ破損を修正しました。#11261 #13997

  • 選択、ピン、検索、タイトルと作業ディレクトリの更新、リサイズエラー処理における多くの潜在的なクラッシュと未定義動作を修正しました。#12894 #13275 #13278 #13367

  • 多数のpty書き込みがキューイングされている場合(例:大規模なペースト時)の、可能性のあるクラッシュまたは破損した入力入力を修正しました。#13659

  • IMEの編集テキストが既存のワイド文字の間で構成される場合(例:韓国語入力)、境界外アクセスを修正しました。#12479

  • マウスボタン11を押したり離したりした際のクラッシュを修正しました。#14759

  • write_screen_file、write_scrollback_file、write_selection_fileアクションが使用ごとに2つのファイルディスクリプタをリークし、最終的に新しいターミナルを開けなくなる問題を修正しました。#13644

  • ターミナルI/Oにおけるメモリおよびファイルディスクリプタのリークを修正しました。これには、読み取り専用モードでの書き込みやinput設定で読み取られたファイルが含まれます。#13574 #13579 #13931

  • vt: Kittyグラフィックスアニメーションが完全にサポートされるようになりました:フレーム送信、合成、アニメーション制御、レンダリング。#5255 #13943

  • vt: Kittyグラフィックス相対配置(P=, Q=, H=, V=)がサポートされ、画像を他の画像に対して相対的に配置できるようになりました。#13939

  • vt: Kittyグラフィックスの一時的な画像使用ヒントをサポートします。一時的な画像は、画像ストレージがいっぱいの場合に最初に削除されます。#13389

  • vt: Kittyクリップボードプロトコル(OSC 5522)がmacOSとGTKで実装されました。これにはペーストイベント(モード5522)も含まれます。読み書きはclipboard-readとclipboard-writeに従い、新しいclipboard-write-limit-bytes設定で単一書き込みのサイズを制限します。#10549 #13962 #13993 #13995 #13998 #14002 #14061

  • vt: 可視性レポート(モード2033およびCSI ? 998 n)をサポートし、プログラムがターミナルが見えない場合(バックグラウンドタブや他のワークスペースなど)にレンダリングを停止できるようにします。#13494

  • vt: プログラムがxtermのCSI 8 ; rows ; cols tシーケンスを使用してウィンドウをリサイズできるようになりました。ただし、新しいvt-window-resize-allowed設定を有効にする必要があります(デフォルトはオフ)。このリクエストは、スプリット、複数タブを持つウィンドウ、クイックターミナル、およびフルスクリーン、最大化、タイル表示されたウィンドウでは無視されます。#1115 #14375

  • vt: OSC 133 click_events=2をサポートし、プロンプトに対する行座標でプロンプトのクリックを報告します。#10865 #12953

  • vt: ソフトターミナルリセット(DECSTR, CSI ! p)をサポートし、画面をクリアせずにモード、マージン、テキスト属性をリセットします。#14538

  • vt: バクアローキーモード(DECBKM, モード67)をサポートし、プログラムがバックスペースがDEL(0x7f、デフォルト)またはBS(0x08)を送信するかを選択できるようにします。#12226

  • vt: DECRQCRAおよびXTCHECKSUM画面チェックサムレポートをサポートします。これらは主にターミナルテストスイートで使用されます。プログラムがこれらを使用して画面内容を読み取ることができるため、新しいvt-xt-checksum-report設定が有効にならない限り無効になります。新しいvt-xt-checksum-extension設定は、チェックサムの計算方法を制御します。#14483

  • vt: CSI 19 t(文字単位の画面サイズレポート)およびDECXCPR(CSI ? 6 n)拡張カーソル位置要求に応答します。#14633 #14673

  • vt: DECRQMはANSIモードクエリ(CSI Ps $ p)に応答し、未実装のANSIモード(DECECMなど)をxtermのように永続的にリセットされたものとして報告し、返信で32767を超えるモード番号を切り捨てなくなりました。#12505 #14236 #14237 #14672

  • vt: Ghostty terminfoはオーバーラインサポート(Smol/Rmol)を広告するようになり、tmuxがオーバーラインを通過させることができます。DECRQSS SGR応答には、オーバーラインとカーリー、ダブル、ドット、ダッシュのアンダーラインスタイルが含まれるようになりました。#13649 #13653 #13470

  • vt: Seキャパビリティは、カーソルを設定されたcursor-styleに戻すようになりました(以前は固定ブロック)。これにより、Neovimのようなプログラムが終了時にブロックカーソルを残す問題が修正されました。#12482

  • vt: OSCペイロードは8 MiB、Kittyグラフィックスペイロードは65 MiB、各セルは64の結合コードポイントに制限されるようになり、ターミナル出力がメモリを簡単に使い果たすことがなくなりました。これにより、無効なKittyグラフィックスデータでのメモリリークも修正されました。#12349 #13633

  • vt: Glyph Protocol(APC 25a1)の実験的サポート。これにより、プログラムはカスタムグリフを登録できます。Ghosttyはリクエストを解析して応答しますが、登録されたグリフはまだレンダリングしません。#12352 #12930 #12937

  • vt: 新しいプログラムステータスプロトコル(OSC 7501)を解析します。これにより、プログラムはアイドル状態、作業中、完了、ブロック、または失敗したかどうかを報告できます。これはGhosttyプロジェクトが最初に考案したターミナル仕様です。libghosttyはすべてを解析できますが、Ghostty GUIは現在これを無視しています。#14560

  • vt: Kittyデスクトップ通知プロトコル(OSC 99)を解析しますが、実装はしません。#10467

  • vt: Kittyドラッグ&ドロッププロトコル(OSC 72)を解析しますが、実装はしません。#13029

  • vt: tmuxコントロールモードのさらなる修正。tmux -CCの実行が引き起こす可能性のあるクラッシュも含まれます。tmuxコントロールモードはまだGUIに接続されていません。#11395 #11935 #14262 #14680

  • vt: プロンプトでの画面クリア(例:bashまたはzshでのctrl+l)は、プロンプトが最後の行にない場合でも、以前の出力をスクロールバックに移動するようになりました。以前は、出力は消去されていました。#14660 #14668

  • vt: Kittyグラフィックス:既存のIDを持つ画像を送信すると、仕様に従って画像が置き換えられ、古い配置が削除されます。中断または失敗した再送信は、画面上に古い画像を放置しなくなりました。#6711 #13723 #13893

  • vt: Kittyグラフィックス:画像は、プログラムがCSI S、CSI T、またはスクロールマージンでスクロールした場合にテキストと一緒に移動し、スクロール領域にクリップされます。#4323 #13935

  • vt: Kittyグラフィックス:自動割り当てされた画像IDは、プログラムが選択したIDと衝突しなくなりました。#2197 #13934

  • vt: Kittyグラフィックス:削除コマンドは仕様とKittyに一致するようになりました。ポイント削除(d=p、d=c)は、そのセルにある配置のみを削除します。d=aは、表示されている画面上の配置のみを削除します。範囲削除は空の範囲を受け入れます。存在しない配置の削除は、画像を解放しなくなりました。#13652 #13895 #13898 #13932

  • vt: Kittyグラフィックス:コマンド検証と応答はKittyに一致するようになりました。これにより、クライアントをハングさせる可能性のある無効な画像データに対する応答の欠落、誤ったクエリ応答、チャンク転送応答でのIDの喪失、正確なSサイズを持つファイル転送、チャンク以外の送信によって中断されたロードなどの問題が修正されました。#13889 #13892 #13896 #13897 #13933 #14811

  • vt: Kittyグラフィックス:切り取られたソース矩形は引き伸ばされなくなり、X/Yオフセットは最初のセル内に保持されます。#13890 #13891

  • vt: Kittyグラフィックス:カーソルは、Kittyと同様に、背の高い画像の後に移動するため、連続する画像が重ならなくなりました。#13887

  • vt: 完全リセット(RIS)は、image-storage-limitをデフォルトにリセットしなくなりました。#13951

  • vt: CANまたはSUBによってキャンセルされた、または別の制御文字によって中止されたOSCおよびAPCシーケンス(Kittyグラフィックスコマンドなど)は、実行されるのではなく破棄されるようになりました。これはxtermに一致します。#14453 #14812

  • vt: modifyOtherKeysレベル2では、制御キー、キーパッドキー、およびalt+escapeはxtermのようにエンコードされるようになりました。F13からF25、Help、Menuは、すべてのレガシーエンコーディングモードでxtermのファンクションキーシーケンスを送信するようになりました。#14144 #14145

  • vt: レガシーAlt-as-Escapeエンコーディングは、非ASCIIキーの完全なUTF-8シーケンスを送信するようになりました。#14146

  • vt: Kittyキーボードプロトコルリリースイベントは、GTKでデッドキーまたはレベル5キーの入力テキストを繰り返さなくなり、Neovimのようなプログラムでの文字重複を防ぎました。#13861

  • vt: ctrl+alt+shift+backspaceは、xtermと一致するように、レガシーキーエンコーディングでESC BSを送信するようになりました。#14508

  • vt: UTF-8マウスモード(1005)は、ボタンを正しくエンコードするようになり、バックおよびフォワードマウスボタンの無効なレポートを修正しました。#14532

  • vt: OSC 110、111、または112でリセットされたフォアグラウンド、バックグラウンド、およびカーソルカラーは、ライト/ダークテーマの切り替えのような後続の設定変更に従うようになりました。#13650

  • vt: 完全リセット(RIS)は、OSC 4で変更されたパレットカラーを復元するようになりました。#14480

  • vt: 空のOSC 22は、マウスポインターの形状をデフォルトにリセットします。#14495

  • vt: マルチバイトUTF-8テキストを持つ長いデスクトップ通知(OSC 9およびOSC 777)は、切り捨てられた場合にドロップされたり無効なUTF-8として表示されたりしなくなりました。#13795 #13811

  • vt: DCS文字列はUTF-8データを運ぶようになりました。以前は、一部のUTF-8バイトがドロップされたり、文字列が早期に終了したり、新しい制御シーケンスを開始したりしていました。#14016

  • vt: C0制御文字(0x10から0x1F)は、テキストとして印刷されるのではなく実行されるようになり、UTF-8エンコードされたC1制御文字は無視されるようになりました。これはxtermに一致します。#14022 #14023
    -vt: 画面クリア(CSI 2 K)は、ソフトラップ状態をクリアするようになり、ウィンドウリサイズ時に消去された行が結合しなくなりました。#13637
    -vt: リサイズがテキストをリファローする際に、カーソルと保存されたカーソルは正しい位置を保持し、リサイズ後の余分な行ラップや上書きされたテキストを修正しました。#12598 #14458 #14478
    -vt: VS15がワイド文字をカーソル下で狭める際のクラッシュを修正しました。#13631
    -vt: 代替画面またはラップアラウンドが無効な状態でターミナルを狭めたときに、ワイド文字が半分にカットされる際のクラッシュまたはメモリ破損を修正しました。#14509
    -vt: グリフクラスタリング(モード2027)が有効な場合、最後の列でグリフクラスタが幅を広げ、スクロール領域内または下でラップする際のクラッシュを修正しました。#14552
    -vt: グラフィックスが多いセッションで、エビクトされたKitty画像が配置の追跡位置を残した際の、遅いメモリおよびパフォーマンスリークを修正しました。#13656
    -vt: OSCカラーシーケンスに2つ以上のリクエストが含まれる際のメモリリークを修正しました。#13239

  • 新しいghostty +ssh CLIアクションはsshをラップし、リモートホストでGhosttyを設定します。Ghostty環境を転送し、各ホストへの最初の接続時にGhosttyのterminfoをインストールし、成功したインストールをキャッシュします。シェル統合なしで直接(ghostty +ssh user@example.com)またはエイリアスとして(alias ssh='ghostty +ssh --')使用できます。ssh-envおよびssh-terminfoシェル統合機能は、すべてのシェルでこれを使用するようになりました。#12582

  • ssh-terminfoは、リモートホストにGhosttyのバンドルされたterminfoを常にインストールするようになり、既存の(おそらく古い)xterm-ghosttyエントリを保持するのではなく、新しいGhosttyがterminfoを変更したときに再インストールします。#13844

  • ghostty +ssh-cacheは、位置指定の宛先、新しい--pruneオプション、一貫した出力と終了コード、およびキャッシュファイルを名前で示すエラーメッセージで再構築されました。上記の破壊的変更を参照してください。#12814 #13533

  • ssh-terminfoは、異なるポート上の同じホストを区別するようになったため、各ポートにterminfoがインストールされます。ghostty +ssh-cacheはhost:port宛先を受け入れます。#14472

  • ssh-envは、~/.ssh/configのSetEnvエントリを上書きしなくなりました。#11518 #14854

  • bash: エラー終了したコマンドは、Bash 4.4以降で実際の終了ステータスを報告するようになり、コマンド完了通知がすべてのコマンドを成功と報告しなくなりました。#14247 #14250

  • nu: sshおよびsudoのタブ補完は、carapaceのような外部補完機能でも機能するようになりました。#13310

  • bash: macOSの/bin/bashのようなBash 4.4より古いバージョンでのみ使用されるバンドルされたbash-preexecが0.7.0に更新されました。#14120

  • zsh: プロンプトの余分な{と、PS1またはPS2がベア%で終わる場合のプロンプトマーキングの破損を修正しました。#11832

  • bash: PROMPT_COMMANDを継承するサブシェルでの「コマンドが見つかりません」エラーを修正しました。#11690

  • bash: 改行で終わる既存のPROMPT_COMMANDでの構文エラーを修正しました。#11621

  • bash: ble.shを使用している場合にプロンプトで余分な空行が発生する問題を修正しました。#11644

  • bash: 配列PROMPT_COMMANDでシェル統合フックが再度ソースされた場合に、フックが2回追加される問題を修正しました。#14266

  • macOS: macOS 27をサポートしました。これにより、タイトルバータブのレイアウトと背景色、アプリアイコンの細い境界線、透明度を下げる(Reduce Transparency)がオンの場合にタイトルバーがターミナルのトップラインを覆う問題、およびショートカットの「新規ウィンドウ」アクションが2つのウィンドウを開く問題が修正されました。#13001 #13390 #14107 #14411 #12999 #13069

  • macOS: ターミナルのプロセスが終了した際、ターミナルにテキストが書き込まれる代わりに、ネイティブバーがターミナルの下部に表示されるようになりました。異常終了したコマンドは赤くハイライトされます。#7649 #12251

  • macOS: 複数のウィンドウまたはタブで実行中のプロセスがある場合に終了またはウィンドウを閉じると、「ウィンドウを確認...」オプションが表示され、各ウィンドウをステップ実行して閉じるかどうかを決定できます。#12742 #14062

  • macOS: コマンドパレットは、一致するテキストをハイライトし、イニシャルに一致し、アクションの説明を検索し、一致した場所に基づいて結果をランク付けするようになりました。#12264 #13610 #13624

  • macOS: 検索バーは最後の検索を記憶し、SafariやTerminal.appのようにシステム検索ペーストボードを介して他のアプリと共有するようになりました。#12516 #12712

  • macOS: VoiceOverのようなスクリーンリーダーは、古い選択範囲を読み取るのではなく、選択範囲が変更されたときに通知されるようになりました。#12902

  • macOS: AppleScriptのterminalクラスとショートカットのターミナルエンティティは、pid(フォアグラウンドプロセスのPID)とttyを公開するようになりました。#11592 #10756 #11922

  • macOS: AppleScriptのタブとターミナルには、カスタムタイトルを設定またはクリアするための新しい読み書き可能なname overrideプロパティがあります。#12048 #14733

  • macOS: macos-titlebar-style = tabsの場合、タブをミドルクリックすると閉じます。#11962 #11963

  • macOS: 「バージョン情報」ウィンドウのバージョンが、そのバージョンに対応するリリースノートへのリンクになりました。#11964

  • macOS: 自動的にダウンロードおよびインストールされるアップデートは、再起動を促さなくなりました。手動でアップデートを確認すると、再起動が提案されます。#13623

  • macOS: toggle_background_opacityはウィンドウ内のすべてのタブに適用されるようになり、新しいウィンドウは現在の状態を継承します。#11583

  • macOS: cmd+arrow_upおよびcmd+arrow_downは、デフォルトでjump_to_promptに設定されているキーバインドを実行するようになりました。Ghostty 1.3では、常にスクロールバックのトップまたはボトムにスクロールし、設定を無視していました。トップまたはボトムにスクロールするには、cmd+homeおよびcmd+endを使用してください。#12245

  • macOS: 設定エラーウィンドウで、Returnキーは設定をリロードし、Escapeキーはエラーを無視します。#12601

  • macOS: Ghosttyは、ウィンドウが表示されるまで約15%高速に起動し、最初のフレームを描画するまで27%高速になりました。#13722

  • macOS: 表示されていないターミナル(バックグラウンドタブなど)は、GPUリソースを解放し、表示時に再構築するようになりました。20個のバックグラウンドタブで、GPUメモリは約385 MiBから18 MiBに減少しました。Metalバッファも、拡張時に過剰に割り当てなくなりました。#14017 #13490

  • macOS: アイドル時のCPUおよびエネルギー消費量が削減されました。ディスプレイリンクは、描画するものがない場合に一時停止し、アニメーションしているフォーカスされていないターミナルは、書き込みごとにではなく、ディスプレイリフレッシュごとに最大1回描画します。#14035 #14068

  • macOS: Sparkleを2.9.6にアップデートしました。これにより、CVE-2026-47121およびCVE-2026-47122を含むSparkleのいくつかのセキュリティアドバイザリが修正されました。#14072 #14082

  • macOS: グローバルキーバインドは、macOSがGhosttyのイベントタップを無効にした後も、機能し続けるようになりました。#12294 #12714

  • macOS: IMEのコンポジションの問題を修正しました。矢印キーを押したときに韓国語テキストが失われるのではなく確定されるようになり、日本語入力のctrl+jのような制御キーIMEショートカットがターミナルに制御文字を送信しなくなりました。#11461 #12447 #12518 #12547

  • macOS: 入力メソッド、ディクテーション、絵文字ピッカーからのテキストは、ペーストされたテキストではなく、入力されたキーとして送信されるようになりました。プログラムはディクテーションをペーストとして扱わなくなり、コンポジション中に言語ソースを切り替えると、保留中のテキストがキーとして送信されるようになり、Terminal.appと一致します。#13195 #13222 #13817

  • macOS: Unicode Hex Inputは、サロゲートペアとして入力された絵文字のような基本多言語面外の文字を入力できるようになりました。#13733 #13737

  • macOS: font-thickenはIME編集テキストにも適用されるようになりました。#14230

  • macOS: option+backspaceおよびその他の変更されたバックスペースキーは、ベアDELを送信するのではなく、Kittyキーボードプロトコルでモディファイアを報告するようになりました。#13871

  • macOS: Transmitのようなアプリからコピーされたパスがsftp:// URLではなくパスとしてペーストされるように、ペーストおよびドロップテキストはURLよりもプレーンテキストを優先するようになりました。#13152 #13170 #13212

  • macOS: 検索バーは、検索フィールドがフォーカスされている間でも、マウスでクリックしたり、次/前のボタンをクリックしたりしてもフォーカスを維持し、ターミナルのフォーカス状態が正しくなりました。#11872 #11978

  • macOS: メニューの「次を検索」および「前を検索」、およびnavigate_searchとend_searchキーバインドは、検索フィールドがフォーカスされている間でも正しく機能するようになりました。#12070 #12492

  • macOS: 検索バーでEnterキーを押しても、IME候補の確定がブロックされなくなりました。#12781

  • macOS: マウスでコマンドパレットのエントリをクリックすると、パレットを閉じるのではなく、実行されるようになりました。#11665

  • macOS: インラインタブタイトルエディタから開かれた場合、コマンドパレットはフォーカスとペーストを取得するようになりました。#12524

  • macOS: cmd+tを長押しして多くのタブを作成すると、最新のタブがフォーカスされたままになります。#13725 #13985

  • macOS: タブがすぐに開かれた直後に閉じられた場合に発生する可能性のある、空の「ゴースト」タブまたはウィンドウを修正しました。#12119

  • macOS: 「すべてのタブを表示」からタブを作成した後、タイトルバーのタブが消える問題を修正しました。#12949 #13017

  • macOS: macos-titlebar-style = tabsの場合、ウィンドウタイトルをダブルクリックするとウィンドウがズームするようになりました。#12219

  • macOS: macOS 26でmacos-titlebar-style = tabsを使用してタブを移動すると、隣接するタブが一時的に表示される問題を修正しました。#14847

  • macOS: インラインタブタイトルエディタは、ウィンドウがリサイズされても所定の位置に留まるようになりました。#12220

  • macOS: プログラムがOSC 11で背景色を変更した後、タブを切り替えるとタブが点滅する問題、およびライト/ダークテーマの切り替え後にウィンドウクロムが古い色を保持する問題を修正しました。#12825 #12828 #12822

  • macOS: macos-glass-regularおよびmacos-glass-clearのbackground-blurオプションは、ガラスを背景色の前面に重ねるようになり、フォーカスされたウィンドウはフォーカスされていないウィンドウよりも透明度が低くなくなりました。#13914 #13928

  • macOS: ネイティブタイトルバーは、カスタムwindow-title-font-familyを使用している場合にタイトルの末尾を切り取らなくなりました。#14135 #14217

  • macOS: システム負荷が高い場合やウィンドウマネージャーからの急速なリサイズ中に、ターミナルが古いサイズでレンダリングされる問題を修正しました。#12143

  • macOS: 他のタブやウィンドウにドラッグされたスプリットは即座にレンダリングされ、ソースウィンドウはキーボードフォーカスを維持するようになりました。#12343 #12338

  • macOS: ズームされたスプリットの他のスプリットが閉じられた後(例:AppleScript経由)、スプリットズームインジケーターが表示されたままになる問題を修正しました。#14703

  • macOS: スプリットディバイダーは、標準の行と列のリサイズポインターを使用するようになりました。#13433

  • macOS: window-save-state = neverは、ウィンドウ間のフォーカス変更を遅延させる可能性のあるウィンドウ復元スナップショットをmacOSが取得するのを停止するようになりました。#14506

  • macOS: Ghostty 1.2以降で保存されたウィンドウ状態は移行されるようになったため、Ghosttyをアップデートした後もウィンドウとタブが復元されます。#12461

  • macOS: 画面がロックされている間に作成されたタブは、正しく初期化されるようになりました。#13639

  • macOS: 実行中のプロセスを持つウィンドウが最小化されているか、クイックターミナルが非表示の場合、終了時に確認を求めます。#13686

  • macOS: OSC 52クリップボード読み取り確認はフォーカスを奪わなくなりました。ターミナルがフォーカスされていない場合、ベルが鳴り、ターミナルに戻るとプロンプトが表示されます。#13744

  • macOS: クイックターミナル内のスプリットもGHOSTTY_QUICK_TERMINAL=1を設定するようになりました。#12895 #12896

  • macOS: ディスプレイが異なる解像度で再接続された後、クイックターミナルは古いサイズで再オープンしなくなりました。#13250

  • macOS: 「ここに新規Ghosttyタブ」および「ここに新規Ghosttyウィンドウ」サービスは、プレーンテキストパスが指定された場合に正しいディレクトリを開くようになりました。#12727 #12731

  • macOS: Services、Shortcuts、AppleScriptから渡された作業ディレクトリは正規化され、Nushellやzshの%1~プロンプトの問題を修正しました。#12614 #14051

  • macOS: ghostty -eは、コマンドのファイル引数を追加のターミナルとして開かなくなりました(例:ghostty -e vim file.txt)。#13748

  • macOS: Finderから.commandファイルを開くと、そのパス内の非ASCII文字が破損しなくなりました。#13862

  • macOS: ショートカットのターミナルエンティティは、新しいターミナルのための正しい種類、タイトル、作業ディレクトリ、およびスクリーンショットを報告するようになりました。#13007

  • macOS: ショートカットの「新規ターミナル」アクションは、引数を持つコマンドや、クリアされたコマンドフィールドでも機能するようになりました。#12391 #12392

  • macOS: AppleScriptのsend keyは、文字キー(enterのような特殊キーだけでなく)でも機能し、macos-option-as-altを尊重するようになりました。#13205

  • macOS: アップデートピル修正:アップデートエラーが表示されるようになり、「インストールして再起動」は確認を求めなくなり、キャンセルできなくなったアップデートはキャンセルオプションが非表示になりました。#13540 #13562 #13612

  • macOS: システム設定で変更した後、デフォルトのアプリアイコンがシステムアイコンスタイルに従うようになり、カスタムアイコンはFinderのアプリに適用されるようになりました。#12180 #12344

  • macOS: ドックアイコンのベルバッジは、以前にバッジ権限なしで通知権限が付与されていた場合に表示されるようになりました。#12133

  • macOS: 選択されていない場合は「コピー」メニュー項目が無効になります。#12521

  • macOS: メニュー項目は、物理キー(例:super+backquote)、大文字、フォワードデリート、およびscroll_to_selectionとsearch_selectionアクションのキーバインドの正しいショートカットを表示するようになりました。#13888 #12039 #12011 #12281

  • macOS: セキュア入力インジケーターのポップオーバー矢印がアイコンを指すようになりました。#12249

  • macOS: スリープからの復帰後またはディスプレイ変更後に、応答しない(Not Responding)状態になる可能性のあるまれなフリーズを修正しました。macOSはアプリを「応答なし」とマークしなかったため、強制終了しかできませんでした。#14691

  • macOS: タブを閉じるときに発生するクラッシュを修正しました。これはundo-timeout = 0で最も簡単にトリガーされました。#13359 #13364

  • macOS: ネイティブフルスクリーンウィンドウから新しいタブを開く際のクラッシュを修正しました。#13636

  • macOS: キャッシュされたターミナルコンテンツを読み取る際のデータ競合によるクラッシュを修正しました。#13646

  • macOS: OSC 52クリップボード確認プロンプトが重なる際のクラッシュを修正しました。#13648

  • macOS: CoreTextがnullを返す際のクラッシュを修正しました(例:表示名のないフォントや深刻なメモリ不足の場合)。#13642 #13679

  • macOS: 透明なタイトルバー(デフォルト)で閉じられたウィンドウがリークし、GhosttyとWindowServerのCPUとメモリ使用率が時間とともに増加する問題を修正しました。#13601

  • macOS: Ghosttyがターミナルテキストを読み取るたびに(例:コピー、クイックルック、アクセシビリティのため)発生するメモリリークを修正しました。#12020 #12025

  • macOS: スクリプトが急速にターミナルを作成および閉じる際のIOSurfaceメモリリークを修正しました。#13640

  • macOS: グローバルキーバインドがアクセシビリティ権限を待っている間のMachポートリークと徐々に発生するスローダウンを修正しました。#13590

  • GTK: スプリットはドラッグ&ドロップで並べ替えられるようになり、macOSと一致します。スプリットをハンドルでドラッグし、他のタブやウィンドウのスプリットを含む任意のスプリットにドロップします。#10224 #10423

  • GTK: Ghosttyは、125%または150%のような実際のフラクショナルスケールでレンダリングするようになり、テキストやボックス描画文字はフラクショナルスケーリング下でもぼやけなくなりました。#1938 #14269

  • GTK: レンダラーはGtkGLAreaを使用しなくなりました。GhosttyはEGLを使用してレンダリングスレッド全体でレンダリングし、完了したフレームをDMABUFとしてGTKに渡すため、メインスレッドはOpenGL作業を行わなくなりました。#14052 #14636

  • GTK: メニュー、コマンドパレット、または新しいprompt_window_titleおよびset_window_titleバインディングアクションを使用して、ウィンドウの名前を変更できるようになりました。#10469 #10999

  • GTK: 新しいCLIコマンド+new-tabは、実行中のGhosttyインスタンスに新しいタブを開きます。Ghostty内から実行された場合、タブは同じウィンドウで開かれます。これは+new-windowと同じ-e、--working-directory、--titleフラグを受け入れます。#11762

  • GTK: 新しいCLIコマンド+toggle-quick-terminalは、実行中のGhosttyインスタンスのクイックターミナルを切り替えます。これは、グローバルショートカットサポートのないウィンドウマネージャーでのバインディングに便利です。#12661

  • GTK: グローバルキーバインドは、コンポジターがサポートしている場合(例:Hyprland 0.56+)、Waylandプロトコルvicinae-hotkey-v1を使用し、それ以外の場合はXDGデスクトップポータルにフォールバックします。Ghosttyは、グローバルキーバインドが登録できない場合、デスクトップ通知を表示します。#13464

  • GTK: Wayland上では、background-blurはKDEのブラープロトコルではなく、コンポジターに依存しないext-background-effect-v1プロトコルを使用するようになり、Niriのようなコンポジターでブラーが可能になりました。また、ブラー領域はウィンドウのクライアントサイドシャドウを覆わなくなりました。#10721 #10720 #10727

  • GTK: GTK 4.23.3以降では、background-blurはGTKの組み込みバックグラウンドブラーを使用し、ウィンドウをより正確にカバーします。#13581 #13586

  • GTK: open_configバインディングアクションは、new_windowを受け付け、新しいGhosttyウィンドウで$VISUALまたは$EDITORで設定を編集できるようになりました。デフォルトのos_openは以前の動作を維持します。#11905

  • GTK: 新しい設定gtk-horizontal-tab-scroll(デフォルトtrue)は、2本指の水平スクロールがタブを切り替えるのを停止し、スクロールをターミナルアプリケーションに渡すようにfalseに設定できます。#12659

  • GTK: 新しい設定gtk-tabs-invertedは、タブバーとタブオーバービューの両方で、閉じるボタンを各タブの先頭に移動させます。#14657

  • GTK: デフォルトのコマンドパレットエントリは翻訳可能になりました。#11641

  • GTK: 埋め込みNoto絵文字フォントが更新され、海賊の旗のような新しい絵文字やZWJシーケンスが、隣接するセルに重なるのではなく、1つのグリフとしてレンダリングされるようになりました。#14047

  • GTK: ctrl+shift+page_upおよびctrl+shift+page_downは、Firefox、GNOME Terminal、VS Codeと一致するように、現在のタブを左右に移動する(move_tab)ようになりました。jump_to_promptはctrl+shift+arrow_upおよびctrl+shift+arrow_downに移動しました。#4998 #12458

  • GTK: URLはXDGデスクトップポータル経由で開かれるようになり、ポータルが利用できない場合はxdg-openにフォールバックします。Ghosttyはアクティベーショントークンを渡すため、ブラウザのような開かれたアプリケーションは、それを必要とするコンポジターで前面に出てくることができます。#5991 #11754 #14785 #14787

  • GTK: デスクトップ通知は、ターミナルがフォーカスされているか閉じられたときに取り消され、同じテキストを持つ繰り返し通知は互いに置き換えられるようになり、macOSと一致します。#14108

  • GTK: 表示されていないタブはレンダリングされなくなり、CPUとGPUを節約します。これはmacOSと一致します。#12760

  • GTK: Dolphinの「ここにGhosttyを開く」アクションは、別個のウィンドウを起動するのではなく、実行中のGhosttyインスタンスで新しいウィンドウを開くようになりました。#11614

  • GTK: Ghosttyが準備完了を報告する前にリロードシグナルを処理できなかったため、systemd 262でGhosttyが起動に失敗する問題を修正しました。#14398 #14399

  • GTK: 深くネストされたスプリットが、見えなくなったりフォーカスを失ったりする問題を修正しました。#11193 #12698

  • GTK: スプリットのリサイズ、特にresize_splitキーバインドを使用した際、ちらつきがなくなりました。#13414

  • GTK: ネストされたスプリットでのresize_splitが、サイズの大幅なジャンプを引き起こさなくなりました。#12699

  • GTK: スプリットは、ドラッグまたはresize_splitで1セル未満のサイズにできなくなりました。#14476

  • GTK: 高解像度スクロールホイールは、標準スクロールホイールよりもはるかに速くスクロールしなくなりました。#12483

  • GTK: GTKバージョン4.20.1より前のバージョンでは、トラックパッドでの不要なキネティックスクロールを無効にしました。#11793

  • GTK: gtk-enable-primary-pasteがGSettingsで無効になっている場合、ミドルクリックはマウスレポートを使用してターミナルアプリケーションに送信されるようになりました。#12940 #13108

  • GTK: quick-terminal-autohideが有効な状態でクイックターミナルを手動でオフにした際に、クイックターミナルが壊れる問題を修正しました。#11679 #12471

  • GTK: 右クリックコンテキストメニューを開いても、quick-terminal-autohideが有効な場合にクイックターミナルが非表示にならなくなりました。#12843

  • GTK: リサイズオーバーレイは、スクロールバーが表示されている場合に再表示されなくなり、表示中はマウス入力をブロックしなくなりました。#11970 #11972

  • GTK: 最大ウィンドウサイズは、ウィンドウが開かれたモニターではなく、ウィンドウが現在配置されているモニターに基づいています。#13171

  • GTK: +new-window -eは、shell-integrationが特定のシェルに設定されている場合でも機能するようになりました。+new-windowおよび+new-tabは、新しい--shell-integrationフラグも受け入れます。#12378 #13741

  • GTK: XKBでキーがモディファイアにリマップされた場合(例:DeleteキーがISO_Level3_Shiftにリマップ)、元のキーも送信しなくなりました。#13967

  • GTK: Wayland上では、IME候補ウィンドウはコンポジション中にカーソルを追跡し、編集中の行を覆わなくなりました。#14729

  • GTK: 他のウィンドウに移動されたタブ内のスプリットは、新しいウィンドウで動作するようになりました(例:toggle_fullscreen)。#14474

  • GTK: マウスカーソルは、テキストを選択している間、テキスト形状を維持します。#14558

  • GTK: window-theme = ghosttyの場合、コマンドパレットはターミナルカラーを使用するようになりました。#14662

  • GTK: URLを開く際、フォールバックオープナー(xdg-open)が大量の出力を生成しても失敗しなくなりました。#12797

  • GTK: 送信したターミナルが既に閉じられている場合、デスクトップ通知をクリックしても間違ったターミナルがフォーカスされなくなりました。#12028

  • GTK: フォーカスされたターミナルでのベルは、ベルインジケーターを設定したままにしなくなりました。#13597

  • GTK: 不定のプログレスバー(OSC 9;4)が削除された後、ウィンドウがバックグラウンドで継続的に再描画される問題を修正しました。#14704 #14738

  • GTK: gtk-xft-dpiの欠落または無効な値を、繰り返しではなく一度だけログに記録するようになりました。#14410 #14085 #14434

  • GTK: GTK 4.20(GNOME 49)でのタブまたはスプリットのクローズ時のクラッシュを修正しました。#12426

  • GTK: グローバルキーバインドまたは設定リロード時にD-Bus接続がない場合のクラッシュを修正しました。#13101

  • GTK: Fontconfigがフォントの言語を言語セットではなくプレーン文字列として報告する場合の、可能性のあるクラッシュを修正しました。#14853

  • GTK: 各オーディオベルが新しいGStreamerパイプラインとスレッドを開始し、クリーンアップされなかったため、CPU使用率が徐々に上昇するリークを修正しました。#13647 #12815 #13657

  • Snap: システムのFreeType、Fontconfig、HarfBuzz、libpng、zlibにリンクするようになり、バンドルコピーではなくなりました。これにより、同じライブラリの2つのコピーが1つのプロセスに存在することによる頻繁なクラッシュが修正されました。#14392 #14680

  • Snap: スナップ自体のGIOモジュールとXDGデータディレクトリが、ホストのものよりも優先されるようになりました。#12045

  • Snap: Ghostty内で実行されるプログラム(例:clear)は、xterm-ghostty terminfoエントリを見つけられるようになりました。#12662

  • Flatpak: Ghosttyがクラッシュした場合、Ghosttyによってホスト上で開始されたコマンドは終了するようになりました。#12427

Ghostty 1.4は、コマンドパレットの完全なローカライズを導入し、4つの新しい言語をサポートします:

  • バスク語
  • ベラルーシ語
  • デンマーク語
  • セルビア語(キリル文字とラテン文字)

ローカライゼーションはボランティアの貢献者によって維持されています。あなたの言語でGhosttyをローカライズするのを手伝いたい場合は、GitHubリポジトリでディスカッションを開いてください。Ghosttyのローカライゼーションに貢献してくれたすべてのボランティアに感謝します!

  • GhosttyのビルドにはZig 0.17が必要になりました。#14518 #14519
  • GTKビルドは、Ghostty 1.3のGTK 4.14およびlibadwaita 1.5から、GTK 4.18およびlibadwaita 1.7を必要とするようになりました。古いヘッダーに対するビルドはコンパイル時に失敗し、Ghosttyは古いライブラリが実行時にロードされた場合に起動時に終了します。#14330
  • GTKビルドは、新しいレンダラーのためにシステムEGLライブラリ(pkg-config egl、通常はlibglvndまたはMesaによって提供)をリンクするようになりました。実行時には、Ghosttyは可能な限りGTKのEGLディスプレイを使用し、それ以外の場合はサーフェスレスプラットフォームをサポートするEGLドライバーが必要です。#14052 #14636
  • 新しい-Dinstalled-exe-pathビルドオプションは、デスクトップファイル、D-Busサービス、およびsystemdユーザーサービスに書き込まれる絶対実行可能パスを設定します。以前はこのパスはインストールプレフィックスから取得されていました。オプションがない場合、これらのファイルはghosttyのみを名前付けし、systemdは/usr/binまたは/usr/local/binでのみ見つけるため、他のプレフィックスの場合は設定してください。#14805 #14806
  • システムのgtk4-layer-shell(-fsys=gtk4-layer-shell)をリンクする場合、バージョン1.0.4以降が必要になります。Ghosttyは古いバージョンでクイックターミナルを無効にしなくなり、これは一部のコンポジターでクラッシュする可能性があります。#11559

1.3と同様に、libghosttyはGhostty 1.4リリースに直接含まれていません。しかし、1.4の開発サイクルの大部分はlibghosttyに費やされたため、ここにアップデート情報があります。

過去6ヶ月間、libghostty-vtのC APIは、パーサーといくつかのエンコーダーから、数百万人が使用する数十のフリーおよび商用ターミナルエミュレーターに採用された完全なターミナルエミュレーターAPIへと成長しました。正確な人数を定量化するのは難しいですが、libghosttyベースのターミナルを使用している人々の数は、Ghostty GUIを使用している人々の数の数倍であると確信しています。

libghostty-vtは、macOS、Linux、Windows(MSVCおよびGNU)、FreeBSD、Android、iOS、およびWebAssemblyでビルドできるようになり、CIはこれらすべてのターゲットを継続的に検証しています。目標は、libghostty-vtを合理的な範囲でどこでも一般的に使用できるようにすることです。したがって、より多くのターゲットサポートが必要な場合は、お知らせください!

既存のビルドシステムへのlibghostty-vtの統合も容易になりました。CMakeサポート、Nixパッケージ、xcframework、ソースtarballに加えて、既存のpkg-configファイルがあります。libghostty-vtはlibc++を必要としなくなり、スタンドアロンでビルドできます。

APIはまだ開発途上とマークされており、このサイクル中に互換性が複数回破壊されたため、タグ付きリリース前にさらに破壊的な変更が予想されます。APIドキュメントと、mainで最新の状態に保たれているZig、C、C++、Swift、WebAssemblyの例(30以上)を参照してください。

C APIの最終レビューを行い、ABIをもう一度破壊してから、libghostty 1.0リリースを間もなくタグ付けする予定です。

Ghosttyは非営利プロジェクトであり、Hack Clubによって財政的に支援されています。すべての財務はHCBで公開されているため、すべてのドルがどこに使われているかを正確に確認できます。

1.4サイクル中、コントリビューターに契約ベースで41,820ドルを支払い、ウェブサイトホスティングなどのインフラストラクチャに約1,260ドルを費やしました。

最初の2つの12ヶ月契約を締結できたことを嬉しく思います。これにより、コントリビューターはGhosttyで安定した長期の有給作業を行うことができ、プロジェクトの継続的な安定性と持続可能性を確保するのに役立ちます:

  • @trag1cはGhosttyのオペレーション責任者です。彼はGitHubとDiscordのコミュニティを管理し、ボランティア翻訳者を調整し、その他の重要なプロジェクトシステムを維持しています。
  • @vanclueverは様々なGhosttyサブシステムに取り組んでいます。このサイクルでは、Zig 0.16へのアップグレードを主導し、ビルドを非推奨の@cImportから移行し、バンドルされたFontconfigを更新しました。彼はまた、Ghosttyがボックス描画文字やその他のグリフを描画するために使用する2Dグラフィックスライブラリであるz2dの作者でもあります。

Ghosttyをサポートしたい場合は、スポンサーページをご覧ください。

ロードマップの主な焦点は、引き続きlibghosttyの機能、安定性、および移植性です。前回のリリースサイクルで、libghosttyのリリースをタグ付けしたいと述べました。まだ達成していませんが、Ghostty 1.5の前に達成できると確信しています。

libghosttyは、すべてのボートを持ち上げる潮であり続けるプロジェクトです。libghosttyの改善は、Ghostty GUIの改善だけでなく、エコシステムの他の多くの大規模プロジェクトにも直接結びつきます。より多くの大規模プロジェクトがlibghosttyを採用するにつれて、libghosttyはより多くのテストと注目を集め、これはすべてのターミナルエミュレーターにとって最大の利益をもたらすサイクルを生み出します。

GhosttyのmacOSおよびGTKビルドには、才能のある有能なメンテナーチームがあり、それらを改善し続けているため、決して無視されているわけではありません!プロジェクトとして、WindowsサポートのロードマップをGhostty GUIから削除することを決定しました。libghosttyはWindowsを完全にサポートしており(CIでテスト済み)、公式の見解は、ダウンストリームプロジェクトがそれを使用すべきであるということです。

リリースサイクルは6ヶ月のままです。このリリースは1ヶ月遅延しましたが、Ghostty 1.5は2027年3月に予定されています。libghosttyは別のリリースサイクルを持ちます。