Ghostty 1.2.0
2025 年 9 月 15 日にリリースされた Ghostty 1.2.0 のリリースノート。
Ghostty 1.2.0 は、2,676 コミットにわたる 149 人のコントリビューターによる6 か月の作業です。このリリースを可能にする手助けをした、すべてのコントリビューター、メンテナー、コミュニティモデレーター、翻訳者、パッケージャー、そしてユーザーに感謝します。このリリースは、Ghostty のすべての部分に対する大幅な改善を含みます。数百のバグ修正を含みます。
- macOS:GHSA-q9fg-cpmh-c78x。Ghostty が、他の脆弱なアプリや悪意あるソースからの権限昇格の踏み台として使われる問題を修正しました。 これには Ghostty の外側の脆弱なアプリケーションがこの連鎖を引き起こす必要があります。したがって、これは低リスクのアドバイザリと考えられます。
macOS では、Ghostty 1.2 が新しい macOS Tahoe 互換アイコンを同梱します(下記参照)。このアイコンは新しい Icon Composer アプリで構築され、macOS の新しいライト・ダーク・半透明・カスタムティンティングのすべてのスタイルで機能するようになっています。
GTK(Linux と FreeBSD)では、Ghostty 1.2 が 多く のデスクトップ環境にうまくマッチする新しいアイコンを同梱します。GNOME のスタイリングを採用しました。それは広く使われており、多くの環境で不自然にならないためです。
Note
デスクトップ環境の多様性のため、Linux と BSD に向けた完全で普遍的なアイコンを作ることは不可能です。このアイコンが以前のアイコンより多くの環境で自然に見えること、そして以前のアイコンが示された macOS 中心の視点という否定的な印象を避けられると考えています。
Ghostty には、新しいターミナルの作成、フォーカスの移動、テキスト選択の更新、コピーとペーストなど、大多数のキーバインドアクションを呼び出せるコマンドパレットが備わりました。
コマンドパレットの最初のキーバインドは、GTK では ctrl+shift+p、macOS では cmd+shift+p です。toggle_command_palette キーバインドアクションで任意のキーバインドへ再バインドできます。コマンドパレットは、macOS と GTK のメニューバーからもアクセスできます。
コマンドパレットには、利用可能なほぼすべてのキーバインドが表示されます。Ghostty に新しいキーバインドアクションが追加されると、それは同同時にコマンドパレットにも自動的に表示されます。これは即座に役立ちます。キーバインドにバインドされていないアクションにもアクセスできるのです。まれにしか使わないアクションに有用です。
たとえば、私ならコマンドパレットから move_tab アクションをしばしば使いますが、バインドするほどではありません。
将来の Ghostty バージョンでは、コマンドパレットから利用可能な機能を拡張し続けます。たとえば現在は、ターミナルプログラムがコマンドパレットからそのアクションを直接提示できる新しいターミナルシーケンス仕様への取り組みが進行中です(たとえば、Neovim のコマンドをコマンドパレットでフルに利用できる可能性)。
PR:#2384
quick terminal の既定サイズを設定する新しい quick-terminal-size ができました。これは最も要望の大きかった機能の一つです。
quick-terminal-size 設定は、パーセンテージもピクセルもサポートします。値を 1 つ指定した場合、それは主軸のサイズを意味します。値を 2 つ指定した場合、2 番目の値は副軸を指定します。下の例はそれを示します:
# Percentage, primary axis only
quick-terminal-size = 25%
# Pixels work too, primary axis only
quick-terminal-size = 600px
# Two values specify primary and secondary axis
quick-terminal-size = 25%,75%
# You can also mix units
quick-terminal-size = 300px,80%
主軸 は、quick-terminal-position 設定により決まります。top と bottom の値では主軸は高さです。left と right の値では幅です。center の場合は、モニターの向きに依存します:横では高さ、縦では幅です。
サイズの指定に加え、quick terminal のサイズは実行時に変更可能になりました。Ghostty の実行中は、そのサイズを記憶します。以前のバージョンではサイズは固定されており、モニターのサイズや解像度により実際の問題が起こっていました。
GTK の 2 つのスクリーンショットの例を下に示します:
PR:#7608
Ghostty は、Ghostty の terminfo のサポートへまだ更新されていないリモートマシンを含めた SSH との互換性を高める、オプトインのシェル統合機能を備えました。
新しい ssh-env オプトイン機能は、SSH セッション向けに TERM 変数を自動的に xterm-256color に設定します(セッションの品質向上のため、他のいくつかの環境変数も転送します)。これは厳密には正しくありませんが、多くの場合、その場しのぎの解決は害より利が大きいものです。
新しい ssh-terminfo オプトイン機能は、Ghostty の terminfo をリモートマシンへ自動的にコピーし、正しい xterm-ghostty TERM 設定を使用したり、リモートプログラムが Ghostty のあらゆる機能を(当方がサポートしていない xterm の機能を避けつつ)フルに活用できるようにします。
これらの機能はどちらも shell 内の ssh コマンドをオーバーライドする必要があるためオプトインです。この操作はリスクゼロではないため、ユーザーが自分のしていることを理解しているかを確かめたいところです。この点を安定かつ信頼できるように努めていますが、対応しきれないエッジケースもあります。したがって、これはまだ work-in-progress であり、フィードバックを歓迎します。
PR:#7620
レンダラーバックエンドを再構築し、OpenGL でも Metal でも共通のコアロジックを使うようにしました。この変更により、将来この領域のコード改善をより素早く行えるようになります。また、多くの機能が Metal には実装され OpenGL には実装されない事態が課題になりつつあったため、両バックエンド間の機能上の対等性を確保するのにも役立ちます。
この再構築の過程で、OpenGL バックエンドにいくつもの改善が行われ、より効率的になり、Metal バックエンドとほぼ機能的に対等になりました。
これにより Linux ユーザーは、適切なリニアアルファブレンディングを得られるようになり、特定の背景色と前景色の組み合わせでテキストの縁に現れていたアーティファクトが解消されました。Linux 上の既定の alpha-blending 設定値は linear-corrected になり、テキストに補正ステップを施したリニアブレンドを行うことで、見た目の太さが人々がなじんだ非線形ブレンドと一致します。
この再構築により、custom shaders をホットリロードできるようにもなりました。
PR:#7648
custom shaders は terminal cursor についての情報を受け取れるようになり、trail や smear のようなカスタム効果とアニメーションをカーソルに適用できます。
下の例は、カーソルが移動すると後ろに trail を残す "cursor blaze" shader を示します:
カーソルシェーダーと custom shaders 一般は万人向きではありませんが、コミュニティから信じられないほど創造的なシェーダーが届いています。多くの人が楽しんでいます。単純な目の保養を超えて実用にもなりえます。たとえばカーソルが動いたときにより追いやすいようにするなど(ただしそれほど派手でなくても)。
いずれは first-party のアニメーションカーソルを追加する計画で、カーソルを追いやすくするためだけに custom shader の追加のパフォーマンスコストを負担しなくても済むようにします。しかし、custom shaders へのこの機能追加は簡単なつなぎ策でした。しかも、first-party のアニメーションカーソルを追加した後でもこれは有用であり続けます。組み込みのオプションでは実現できない、きわめて特定的なカスタム効果を望むユーザーもいるでしょうから。
PR:#3645
端末に background-image 設定で背景画像を指定できるようになりました。この画像を望みどおりに見せるための一連の追加設定も用意されています:background-image-opacity、background-image-position、background-image-fit、background-image-repeat。
Warning
Ghostty 1.2.0 では、背景画像はターミナルごとに VRAM へ複製されます。十分に大きな画像と多数のターミナルでは、メモリ使用量(とりわけ VRAM)が大きく増える可能性があります。将来の Ghostty リリースでは、この問題を避けるため画像テクスチャを複数の端末で共有する予定です。
Ghostty は、ConEmu OSC 9;4 シーケンス を認識し、GUI ネイティブのプログレスバーをレンダリングするようになりました。
当方が把握するかぎり、Ghostty は macOS でこの機能をサポートする最初のターミナルエミュレーターです。Linux と Windows では、Ghostty 以外の複数のターミナルがすでにこの機能をサポートしています。
プログレスバーは、成功/エラー状態、完了までの数値的進捗、不確定な進捗(パルス)などを表示できます。Amp のようなプログラムはすでに今日このプログレスバーを利用して活動を表示しており、下記のとおりです:
グラフィカルプログレスバーは現在、Windows、Linux、macOS 上の複数のターミナル、さらに systemd や Zig CLI のような主要なターミナルプログラムでサポートされています。ターミナルのサポートが広がるにつれ、より多くのプログラムがこの機能を使い始めることを期待しています。
現在、Ghostty は端末の上部にシンプルで基本的なプログレスバーを表示します。将来のバージョンでは、この進捗をタブヘッダー、タスクバー、Dock アイコンなどにも表示するよう拡張します。
Note
進捗報告
OSC 9;4シーケンスは iTerm2 の通知シーケンスと衝突します。Ghostty はその両方のシーケンスをサポートする唯一のエミュレーターです。対処として、OSC 9;4は常に進捗報告としてパースされます。つまり、;4で始まる通知を通知として送ることはできません。きわめて特定的なテキストであることと、より推奨されるOSC 777通知シーケンスのより広いサポートを考えれば、これは合理的なトレードオフだと考えます。
Ghostty 向けに設定したフォントが、レンダリングする必要のある文字のグリフを持たないとき、その文字を持つシステム上のフォントを探します。これらのフォントのサイズは、プライマリフォントとよりよく一致するよう調整されるようになりました。これは CSS の font-size-adjust に似ています(ただし同一ではありません)。
これはフォントのサイズの差を補い、全般的に一貫した見た目を作ります。複数の書記体系を使うユーザーにも役立ちます。たとえば CJK テキストは、文字の間の縦の「溝」を避けられるようになりました。
| Ghostty 1.1.3(従来) | Ghostty 1.2.0(新) |
|---|---|
|
|
上記の例は微妙な違いです。単一行で多くの異なるフォントフェイスが使われるとき、その違いはより顕著になります。正しい方向にいることを確かめるため、コミュニティの多くの中国語読者に意見を聞きました。フィードバックは新しい挙動に強く肯定的な傾向でした。
将来は、フォントごとにサイズを指定できるようにフォント設定を作り直したり、フォールバックフォントと同様に設定されたフォントのサイズを自動で合わせられるようにする計画です。
さまざまな新しい文字が、フォントを使用する代わりに Ghostty によって直接描画されるようになりました。グリフを直接描画することで、セルやお互いと正しく整列することを保証できます。
新たにサポートされたグリフのごく一部の例が下に示されています。グリフがセル端に沿って隙間なく完璧に整列していることに注目してください。こうしたグリフを UI 要素として使用する TUI アプリケーションにとって、このような pixel-perfect rendering はきわめて重要です。
| Ghostty 1.1.3(従来) | Ghostty 1.2.0(新) |
|---|---|
|
|
PR:#7809 、続くいくつかの軽微な問題修正の PR
同梱の Nerd Font シンボルは、Regular、Bold、Italic、Bold Italic それぞれにパッチ済みの JetBrains Mono を使う代わりに、独立した symbols-only フォントで提供されるようになりました。そして同梱の JetBrains Mono は 4 つの静的フォントではなく可変フォントを使います。これにより Ghostty に埋め込まれるフォントは以前より大幅に小さくなります。
これはまた、より新しい Nerd Fonts symbols のコピーを使うようになったことを意味するため、新しいシンボルも正しくレンダリングできるようになります。
しかし大きな変更は、Ghostty が Nerd Fonts シンボルを公式の Nerd Fonts patcher と同じやり方でセルサイズに合わせて自動リサイズするようになったことです。これは、普通のパッチなしのフォントで Ghostty を使う体験が、以前にパッチ済みフォントで使う体験とほぼ、あるいは完全に同じになることを意味します。
つまり、Ghostty ではパッチ済みフォントを使う 理由はもうありません。どちらのやり方でも powerline グリフはセルサイズに合わせて適切にスケールされるからです。
PR:#7320
W3C key event code 仕様 に基づき、キーバインドをより一貫したものにするため再構築しました。この作業は、OS やキーボードレイアウトをまたいでより予測可能で機能するキーバインドをもたらすはずですが、同時に 既存のキーバインドを壊しうるいくつもの重要な挙動変更を伴います。
シングルコードポイントの文字はすべて、キーボードレイアウトが生成する文字(layout-dependent)に一致するようになりました。つまり ctrl+c は、US standard キーボード上の物理的な c キーに一致しますが、Dvorak レイアウトでは i キーと一致します。国際文字も同様に機能します。codepoint は大文字小文字を区別せず、Unicode case folding によって一致します(Windows と macOS がキーボードショートカットを扱う方法と同じです)。
それ以外のキー名はすべて物理キーに一致し、キー名は W3C key codes 準拠の名前になっています。たとえば:ctrl+KeyA は、US physical レイアウトの a キーに常に一致します(KeyA の名前が US キーボードと一致するのは仕様で義務づけられたことで、私たちの裁量ではありません)。ここで言う「物理」とは、OS ないし GUI フレームワークが送る keycode のことです。ハードウェアレベルの remap を行うプログラムでこれをオーバーライドできますが、ソフトウェアレイアウトはそれをしません。
上記の結果、physical: prefix は廃止されました。物理キーバインドは、上述の multi-codepoint をキー名として用いる方法で明示的に指定されるようになりました。以前の physical: キーバインドは引き続き機能しますが、新しい形式へ更新することが望まれます。
後方互換のため、Ghostty の既存のキー名で W3C の名前と一致しないものは、その W3C 相当の名前にマッピングされます。たとえば、grave_accent は backquote にマップされます。
PR:#7099 , #5326 , #7087 , #7101 , #7118 , #7148 , #7842 , #7533
macOS と GTK 両方の Ghostty は端末ベル(ASCII BEL または 0x07)をサポートします。ベルが鳴ったときの Ghostty の挙動は、bell-features 設定でカスタマイズできます。デフォルトは最も控えめで有用な設定をしています。より控えめでないオプションは bell-features で有効化できます。
macOS 上では、既定でベルは端末のタイトルにベル emoji(🔔)を表示し、Dock アイコンを一度跳ねさせ、Dock とアプリスイッチャーで見える Ghostty アイコンにバッジを付けます。オーディオは発せられません。
GTK 上では、既定でベルは端末のタイトルにベル emoji(🔔)を表示し、ウィンドウに注意を求めているとマーキングします。“注意を求める”ことの正確な挙動は、ウィンドウマネージャーまたはデスクトップ環境によって決まります。オーディオは発せられません。
GTK は既定でオフのオーディオベルもサポートし、bell-features=audio で有効化できます。bell-audio-path 設定でカスタムオーディオを再生することさえ可能です。bell-features=system 機能(既定オフ)は“システムビープ”を使用し、普通はオーディオと同じく 中央の システム設定により構成されます。
GTK は境界線を点滅させるアニメーションもサポートし、bell-features=border で有効化できます。これは他のターミナルエミュレーターの "visual bell" 機能に似ています。
将来の Ghostty バージョンでは、macOS にもこれらのベル機能の対等性を提供します。
Ghostty 1.2 は、コアターミナルエミュレーションの数十の改善を含み、他のターミナルエミュレーターでのように Ghostty 内でもターミナルプログラムが一貫して正しく機能するようにします。関連する変更の完全な一覧は、terminal capabilities セクションを参照してください。
これらの改善は、きわめて軽微なもの(#7443 :野外ではいかなる既知のプログラムも使わないシーケンス)から、きわめて重要なもの(#8590 :実在のプログラムのいくつかを壊した)まで及びます。いずれにせよ、Ghostty は terminal emulation の互換性をきわめて真剣に捉えており、Ghostty が存在しうる広範な terminal features をサポートできるよう努力しています。
これを正しく行うのは口で言うほど容易ではありません。terminal emulation 機能の中で正式に仕様化されているのはごく一部であり、大部分は terminal emulators のふるまいに基づく de facto 標準によって定義されています。加えて、一元的な標準体は存在しないため、プロトコルどうしが衝突することが多く、どちらのプロトコルがより重要か、またはどうやって両方をサポートするよう COMPROMISE するかを考える必要があります。
たとえば、プログレスバー シーケンスは iTerm2 のデスクトップ通知シーケンスと衝突します。折衷案として、あいまいでないプログレスバーシーケンスは通知よりも優先されます。つまり、プログレスバーを設定するこのシーケンスそのものを通知として送信することはできません。これは Ghostty が、progress bars と iTerm2 デスクトップ通知の両方をサポートするほぼ唯一のターミナルであることを可能にする妥协です。1
Ghostty 1.2 は macOS 26(Tahoe)をサポートします。
macOS 26 上で実行すると、Ghostty は新しい Liquid Glass スタイルを使用します。アプリのアイコンは更新され、ライト、ダーク、ティンティングなどの macOS 26 の機能に対応しています。メニューバー内のアイコンなど、多くの UI 細部は新しい macOS スタイルとよりよく一致するよう更新されました。ビジュアルの対応に加え、いくつもの互換性問題も修正されました。
Ghostty 1.2 は、macOS 13(Ventura)を含む以前の macOS バージョンと完全な互換性を保っています。
Note
Ghostty 1.1.x は macOS 26 上で機能します。macOS SDK の仕組み上、Ghostty 1.1.x は Tahoe 以前の UI スタイリングを使います。互換性問題はまだいくつか残りますが、近々 Ghostty 1.2 へアップグレードできない場合でも概ね機能します。
PR:#7535
端末を閉じるすべての操作が、標準の macOS キーバインド(Cmd+Z と Cmd+Shift+Z、再バインド可)による元に戻す/やり直しに対応するようになりました。これには、スプリットを閉じる、タブを閉じる、ウィンドウを閉じる、すべてのウィンドウを閉じる、他のタブを閉じるなどが含まれます。
元に戻す/やり直しは、最近閉じた端末を設定可能な時間(既定 5 秒)の間非表示のまま実行し続けることで実現しています。この間中、閉じる操作を取り消すと、端末は以前と同じ場所で再オープンされます。端末は常に実行し続けていたため、正確な端末の状態が復元されます。
端末の取り消しが可能な時間は undo-timeout 設定で構成できます。
将来の Ghostty バージョンでは、スプリットのリサイズやタブの移動など、元に戻す/やり直しできる GUI インタラクションを拡張する予定です。
PR:#7634
macOS 上の Ghostty は Apple Shortcuts と統合しました。macOS 標準の、スクリーンショットの撮影やウィンドウ移動といった Ghostty 固有でないショートカットアクションと組み合わせれば、Ghostty は macOS 上でスクリプト化できます。
Apple Shortcuts はグローバルショートカットへバインドしたり、デバイス間で同期するなど、たいへん強力なツールです!
この機能は、フルのクロスプラットフォーム Ghostty API という将来の計画に取って代わるものではありません。この macOS 固有の機能は macOS ユーザー向けの多くの用例に対応していますが、将来のバージョンでは代わりのスクリプティング選択肢も構築する予定です。
PR:#4624
クイックターミナルは、Wayland 上の Linux で広くサポートされた wlr-layer-shell プロトコルへアクセスしながらサポートされるようになりました。クイックターミナルは macOS では Ghostty 1.0 から利用可能です。
念のため、「クイックターミナル」とは、toggle_quick_terminal にバインドされた単一のホットキー(Ghostty がフォーカスされていなくても機能するグローバルホットキーのことが多い)で、singleton の端末ウィンドウを表示・非表示にできる Ghostty の機能です。俗に「ドロップダウン端末」や「DOOM スタイル端末」とも呼ばれます。
クイックターミナル(Linux 版)はタブとスプリットを完全にサポートします。
PR:#6051
GTK アプリは、Ghostty がフォーカスされたアプリケーションでない間でも機能するグローバルキーバインドをサポートするようになりました。これらのキーバインドは Ghostty 設定内で global: プレフィックス付きで定義されます。
グローバルキーバインドには、システム上に動作する XDG desktop portal のインストールが必要です。Ghostty の他の部分はすでに XDG desktop portal に依存しているため、おそらくすでに存在しています。なければ、通常はよくサポートされた 1 つのパッケージをインストールする(+再起動)だけで済みます。
グローバルキーバインドはどのキーバインドアクションでも使えますが、toggle_quick_terminal のような機能と組み合わせることが特に効果的です。後者は今やGTK でもサポートされました。
PR:#6004 & 各ロケールに向けた挙げきれないほどの貢献
GTK アプリのローカリゼーション向けの予備サポートが追加されました。現時点では GTK の GUI 要素だけが翻訳されています。macOS および Ghostty のその他の部分のローカリゼーショサポートは、将来のリリースで来ます。
Ghostty 1.2 は、次のロケールでの GUI 要素に完全なローカリゼーションを備えています:
-
bg_BG
-
ca_ES
-
de_DE
-
es_AR
-
es_BO
-
fr_FR
-
ga_IE
-
he_IL
-
hu_HU
-
id_ID
-
it_IT
-
ja_JP
-
ko_KR
-
mk_MK
-
nb_NO
-
nl_NL
-
pl_PL
-
pt_BR
-
ru_RU
-
tr_TR
-
uk_UA
-
zh_CN
ローカリゼーションは各ロケールのボランティアが行っています。Ghostty のローカリゼーションに時間を捧げたボランティアの皆さんに、Ghostty プロジェクトは深く感謝します。あなたのロケールに向けて Ghostty をローカライズしたい場合は、CONTRIBUTING.md ドキュメントの指示を参照してください。
Ghostty の GTK アプリは FreeBSD をサポートするようになりました。この仕事は、依存ライブラリすべてへの FreeBSD 対応パッチの提出、ビルドスクリプトの更新、Ghostty が FreeBSD 上で機能し続けることを確かめる自動テストへの協力まで、ほぼ完全に 1 人のコミュニティメンバーが推進しました。
FreeBSD 上で正しくビルド・実行できることに加えて、コミュニティはインストールを簡単にする FreeBSD port を開発しています。その port が利用可能になったらインストールドキュメントを更新します。
PR:#7961 、gtk-ng PRs
GTK アプリ全体を、完全な GObject 型システム を使って一から書き直しました。この過程では、メモリリーク、未定義メモリアクセス、use-after-free などをチェックするため、すべての機能を Valgrind でテストしました。
動機の詳細は元の PR を参照してください。結果として得られたのは、コントリビューターにとっていっそう維持しやすい、より安定した現代的な GTK アプリです。
1.1.3 の GTK アプリには、非常に長い使用時間の後に Ghostty の再起動を必要とする、既知のメモリリークがありました。多くの開発者は端末をめったに閉じません。また、どのアプリケーションも再起動を要求すべきではありません。現在の GTK アプリは完全に安定しており、tip ユーザーからは数週間動かし続けても問題がないとの報告をいただいています。
これは GTK ユーザーだけの利益ではありません:この仕事の結果、すべてのコミットで Ghostty のユニットテストを Valgrind の下で実行するようになりました(#8309 )。ユニットテストの 90% 以上がクロスプラットフォームコードをカバーしているため、これは Ghostty 全体の安定性と信頼性の向上に役立ちます。
Note
Valgrind が検出できるのは、実際に実行されたコードパスのメモリ問題だけです。GUI で可能なインタラクションは一通り実行しましたが、Ghostty のすべてのコードパスを実行したわけではありません。
macOS: Ghostty 1.2 が要求する macOS の最低バージョンは変更ありません(macOS 13 Ventura)。Ghostty は macOS 26(Tahoe)とも互換になりました。
GTK: Ghostty 1.2 は GTK 4.14 と libadwaita 1.5 を必要とします。これは私たちの GTK/Adwaita バージョンポリシー と一致します。GTK や Adwaita の古いバージョンのシステムは、Ghostty の旧バージョンか、コミュニティが維持する snap ないし flatpak パッケージを使ってこの要件を回避できます。
- GTK:libadwaita が必須になりました。1.1.0 のリリースノート以来この変更の到来を警告してきており、その動機は前出のリンクでよく説明されています。反応する前に必ず読んでください!コミュニティからフィードバックを募り、この決定について掘り下げて議論しました。SSD サポート、第一級の CSS スタイリングなど、これらの懸念に応える機能を出荷しました。
- GTK:最低要求 OpenGL バージョンは 4.3 になりました。これはパフォーマンスの改善、いくつかのレンダリングバグのより容易な修正、OpenGL バックエンドのメンテナンス性の向上のために必要でした。OpenGL 4.3 は 2012 年にリリースされたものであり、それでも 10 年以上前のバージョンです。#7620
- 同梱テーマは release-20250915-154825-b4500fc に更新されました。テーマは上流で管理されているため、テーマ名の変更や色の変更が含まれることがあります。1.1.3 で機能していたテーマが 1.2 への更新で機能しなくなった場合、リンク先のリリースでテーマ名を確認してください。
dligフォント機能は既定でオフになりました。その結果、以前は機能していたリガチャが機能しなくなる可能性があります。これは以前から正式に「discretionary ligature」機能として定義されており、opt-in であるべきものです。より一般的なcalt(contextual ligature)機能は引き続き既定でオンです。この機能はfont-features設定で再び有効化できます。#8164
以下の一覧の非推奨項目は、互換レイヤーを通じて今日も機能しますが、無視され続けると将来のリリースで壊れる可能性があります:
adw-toolbar-styleはgtk-toolbar-styleに改名されました。gtk-tabs-location=hiddenはwindow-show-tab-bar=neverに置き換えられました。selection-invert-fg-bgはselection-foreground=cell-backgroundとselection-background=cell-foregroundに置き換えられます。#5219cursor-invert-fg-bgはcursor-color=cell-foregroundとcursor-text=cell-backgroundに置き換えられます。#5219
これらの非推奨を削除する固定の時期はありませんが、将来のあらゆる混乱を避けるため、できるだけ早く新しい設定へ移行することをお勧めします。
Note
上記の非推奨項目は、目に見える警告なく引き続き機能します。将来的なリリースで、設定に関する警告を表示する拡張を計画しています。
各セクションでは、バグ修正の前に改善を並べるよう心がけています。
-
-e経由のコマンドは/bin/shでラップされず、直接実行されるようになりました。#7032 -
macOS と GTK に新しいコマンドパレット機能を追加。バインドされていない keybind アクションもほとんど実行できます。#7153 #7156
-
方向性を持つ
goto_splitは、macOS と GTK の両方で、現在のスプリットの左上隅からその方向に最も近いスプリットへナビゲートします。私たちはこれを「空間ナビゲーション」と呼んでおり、より直感的なスプリットナビゲーションになります。#574 -
複数のスプリットが同じ方向に向いているとき、
equalize_splitsキーバインドアクションはより予測可能に満足のいく結果を出すようになりました。#7710 -
新しいオプトインのシェル統合機能
ssh-terminfoとssh-envが、SSH での Ghostty 使用の体験を改善します。#7608 -
カーソル情報は custom shaders からも利用できるようになり、カーソル移動のクールなアニメーションを描くといったことが可能になります。#7648
-
新しい CLI コマンド
+edit-configは、設定された$EDITOR端末で Ghostty の設定を開きます。#7668 -
新しい keybind
prompt_surface_titleで、端末のタイトルを手動で変更できます。#2509 #5769 -
新しい keybind
scroll_to_selectionは、存在する場合にビューポートを現在の選択の左上へスクロールします。#7265 -
新しい keybind
set_font_sizeでフォントサイズを設定します。#7795 -
新しい keybind
copy_title_to_clipboardは、現在の端末タイトルをクリップボードへコピーします。#7829 -
新しい keybind
close_tabs:otherは、現在のタブ以外のすべてのタブを閉じます。#8363 -
keybinds
write_screen_file、write_scrollback_file、そしてwrite_selection_fileは、ファイルパスをクリップボードへコピーできるcopyを値としてサポートします。#7721 -
config
app-notificationsに新しい値config-reload(既定オン)。設定が再読み込みされたときに通知を表示するかを制御します。#8366 -
config:
commandの値にshell:またはdirect:の接頭辞を付けると、shell(既定)または直接exec経由でコマンドを実行します。#7032 -
config:
right-click-action = copyによる右クリックコピー。#4404 -
config:
background-imageで端末に背景画像を設定できます。これは現状では各端末に適用され、ウィンドウには適用されません。#3645 -
config:
envで端末環境に設定する環境変数を指定できます。#5257 -
config:
quick-terminal-sizeで quick terminal のサイズをカスタマイズできます。#2384 -
config:
font-shaping-breakは、リガチャをいつ断ち切る(分割する)かを設定します。#4515 -
config:新しい値
cell-foregroundとcell-backgroundは、selection-foreground、selection-background、cursor-colorと組み合わせて、色の値を動的セル色に設定するのに使えます。#5219 -
config:新しい
bold-colorオプションで、太字にカスタム色を指定して読みやすくできます。#7168 -
config:新しい
selection-clear-on-typingオプションで、入力時に選択を消去します。#7394 -
config:新しい
link-previewsオプションは、ウィンドウ下部の URL プレビューがいつ現れるかを決めます。#7831 -
config:新しい
background-opacity-cellsは、background-opacity設定を明示的なセル背景(たとえば実行中のプログラムによるもの)にも適用します。#7913 -
config:新しい
faint-opacityは、端末プログラムに faint とマークされたセルで使うセルの透明度を設定します。#8472 -
config:新しい
right-click-actionオプションで、右マウスボタンのクリック時の挙動を設定できます。#8254 -
cli:
+list-themesでenterを押すと、テーマの設定方法に関するヘルプテキストが表示されます。#4731 -
cli:
+list-themesに、ライトテーマとダークテーマを絞り込むフラグが付きました。#7235 -
cli:
+list-themesにテーマの絞り込みを追加。#8082 -
cli:
+list-colorsは、16 進コードに加えて実際の色も表示します。#8393 -
custom shaders を実行時に再読み込みできるようになりました。#7620
-
custom shaders が背景色と正しくブレンドします。#7620
-
クリックしながらマウスをウィンドウの上または下で押さえ続けると、マウスをかき混ぜることなくビューポートをスクロールします。#4422
-
shell-integration:有効化する機能の指定を、複数の env vars ではなく単一の
GHOSTTY_SHELL_INTEGRATION_FEATURESenv var で行うようになりました。#6871 -
shell-integration/elvish:OSC 7 の報告に
kitty-shell-cwd://スキームを使い、エンコードが不要になりました。#7033 -
goto_splitとnext_tabなどのスプリットとタブのナビゲーションキーバインドはperformableに対応します。#7680 -
font:キャッシュ用のグリフハッシュの性能を改善し、合成ストレステストで約 5% 速くなりました。#7677
-
CLI に特定の
font-familyフラグを渡された場合に起こりうるクラッシュを修正。#7481 -
設定
adjust-cursor-thicknessがcursor-style=underlineと連携するようになりました。#7732 -
確定前文字列(IME 使用時など)のある状態で
backspaceを押す問題を解消。#5728 -
config:
keybind=(空値)は既定のキーバインドを復元し、他の<key>=空値と同様に振る舞います。#5936 -
config:
palette設定が、パレット番号と色の間の空白をサポートするようになりました。#5921 -
config:色のリストを受け付けるすべての設定(
macos-icon-ghost-colorなど)は、コンマの後の空白に対応します。#5918 -
copy_url_to_clipboardキーバインドアクションが、OSC 8 ハイパーリンクと正しく連携します。#7499 -
font:フォールバックフォントのサイズが、視覚的にプライマリフォントサイズにより近くなるよう自動調整されました。#7840
-
font:新しいスプライトをサポート:U+1CC00〜U+1CCFF、U+1CE00〜U+1CEFF、U+2500〜U+25FF、U+1CE00〜U+1CEFF、U+1FB00〜U+1FBFF。#7755 #7761
-
font:U+25E4 と U+25E2(幾何学的形状)が、内蔵スプライトフォントでラスタライズされるように。#3344
-
font:幾何学的形状の角部品が、内蔵スプライトフォントでラスタライズされるように。#7562
-
font:グリフ制約ロジックが劇的に改善され、Nerd Font アイコンなどがより正確に表示されるように。#7809
-
input:対応するキーボードでは、
copyとpasteの物理キーが、既定でそれぞれcopy_to_clipboardとpaste_from_clipboardにバインドされます。#8586 -
input:既定の
copy_to_clipboardバインディングは performable としてマークされ、コピーすべきテキストがない場合、キーは pty へエンコードされます。これにより TUI がこれを捕捉できます。#8504 -
input:マウススクロールホイールからマウスイベントへのマッピングが、他のターミナルエミュレーターとよりよく合うよう修正されました。#6052
-
input:
ctrl+<ASCII>が、より広範なキーボードレイアウトで機能するように。#7309 -
input:クリックしながらマウスをドラッグすると、マウスリンクのアクションがキャンセルされるように。#7080
-
input:
goto_tabバインディングが、より多くのキーボードレイアウトで機能するよう、物理キーと論理数字キーの両方に既定でバインドされるように。#8486 -
renderer:キャッシュされたグリフ検索の性能を改善するマイクロ最適化。#8536
-
端末コマンドの開始時に
execシステムコールが失敗する状況を優雅にハンドルするように。#7793 -
「プロセスを起動できませんでした」のエラーメッセージが、修飾キーで解除できなくなりました。#7794
-
矩形選択の左上または右下がビューポート外にある場合のレンダリング問題を修正。#7692
-
octant レンダリングのいくつかの丸めエラーを修正し、特定のシナリオで octant が並ばない問題を解消。#7479
-
いくつかのマウス選択ロジックを修正し、Ghostty が余分な行や文字を誤って選択することがなくなりました。#7444
-
ファイルパスの正規表現を修正し、少なくとも 1 つのスラッシュを要求するように。#7355
-
特定の場所にスペーサーヘッドを持つ書記素のリフローで起こりうるクラッシュを修正。#7537
-
Kitty 画像プロトコルで描画される画像の日 ガンマブレンディングが正しくなるように。#7368
-
ビューポートポインターが範囲外になった際のズームアウトでレンダラーがクラッシュしうるシナリオを修正。#7899
-
メモリページのハイパーリンク滑り込み領域が尽きた場合に起こりうるクラッシュを修正。#8009
-
初フレーム描画時の未定義メモリアクセスを修正。#7982
-
リンクを探すために修飾キーを押している間に発生していたメモリリークを修正。#7998
-
ビットマップアロケーターがちょうど 64 ブロックを確保した場合のクラッシュを修正。#8276
-
フォントアトラスのエラーパスでの use-after-free の可能性を修正。実野外でこれが発動した既知の事例はありません。#8249
-
バッキングバッファの成長が正しく実装されていなかった、いくつかの内部 OOM 状況での起こりうるクラッシュを修正。#8277
-
OSC パーサー内の未定義メモリアクセスがクラッシュにつながりうる問題を修正。#8307
-
Kitty 画像の z-index の問題を修正。#7671
-
shell-integration/bash:有効な
GHOSTTY_RESOURCES_DIRenv var への依存をやめました。#7611 -
shell-integration/bash:ゴミ文字が印刷されうるシナリオを修正。#7802
-
shell-integration/bash:既存の env をより確実に保持するように。#7908
-
OSC 7 パス報告でシンボリックリンクを解決しないようにしました。#7773
-
附帯テーマは release-20250915-154825-b4500fc に更新。これは既存テーマの改名を引き起こすことがあります。テーマが機能しなくなった場合、そのテーマが改名されていないか確認してください。改名は上流で行われるため、当方は回避しようがありません
-
inspector:小数ピクセルサイズの表示を修正。#8179
-
contrib/vim:scratch バッファー内の設定に対するシンタックスハイライトを修正。#7119
このセクションは、terminal emulation と、terminal 内で実行されるアプリケーションに公開されるその他の capability に対する変更を対象にします。
Ghostty は依然として terminal emulator の互換性に焦点を当てているため、Ghostty 1.2 の変更は、他の terminal emulator の機能に対する互換性の追加・改善だけです。将来の Ghostty バージョンでは、アプリ開発者が活用できる新しい Ghostty 固有の機能を追加する予定です。
-
vt:mode 47 の対応を追加。#7443
-
vt:mode 1048 の対応を追加。#7473
-
vt:さらに多くの ConEmu OSC 9 シーケンスをパース。Ghostty が反応する ConEmu OSC 9 シーケンスは
9;4プログレスバーのシーケンスのみです。残りはパースされ無視されます。#8410 -
vt:色操作の機能サポートと互換性を大幅に改善(主に OSC 4、5、10-19、104、105、110-119 について)。新しいシーケンスサポートに加え、これまでサポートしていた色操作の互換性も修正しました。#8590
-
vt:primary DA レポートに OSC 52 の対応を示すように。#7725
-
vt:OSC 4/104 が複数の色指定を許すように。#7402
-
vt:SGR シーケンスに最大 24 パラメータを許し、いくつかの Kakoune テーマを修正。#8417
-
vt:OSC 52 は空文字列を送って現在のクリップボードを空にできます。#8018
-
vt:
XTGETTCAPが小文字の 16 進文字に対して正しく機能するように。#7229 -
vt:Kitty 画像プロトコルが範囲指定の削除操作をサポートするように。#5957
-
vt:Kitty 画像プロトコルを使ういくつかの画像のアスペクト比の問題を修正。#6673
-
vt:Kitty 画像プロトコルが制御データを持たないコマンドを受け付けるように。#7023
-
vt:Kitty 画像をグリッドサイズへ強制しないように。#7367
-
vt:mode 47、1047、1049 向けの alt screen のエッジケースの多数を修正し、xterm の挙動により近づけました。これらのバグを突く実在のプログラムを私は知りませんが、良い作法です。#7471
-
vt:normal screen と alt screen の切替時にハイパーリンク状態をクリア。#7471
-
vt:
ctrl+escが適切な Kitty keyboard encoding を生むように。#7000 -
vt:index(
\n)操作が、特定のエッジケースで正しい行をクリアするように。特定のシナリオでの vim ステータス行の乱れを修正します。#7093 -
vt:フォーカスのないウィンドウをクリックしてもマウスイベントがエンコードされなくなりました。#2595
-
vt:特定の不完全なエスケープシーケンスの未定義メモリアクセスを修正。#8007
-
vt:OSC 9 通知が単一文字のメッセージを含められるように。#8396
-
vt:VS15 が既定のワイド文字をナローにするとき、カーソルが 1 セル後ろに戻るように。#8538
-
macOS:macOS 26(Tahoe)のサポート
-
macOS:いかなる種類の端末(ウィンドウ、タブ、スプリット)のクローズも元に戻す・やり直しできます。最近閉じた端末は、設定可能な時間(既定 10 秒)だけメモリに潜るため、誤って閉じても復旧できます。#7535
-
macOS:読み取り専用の accessibility API 統合で、スクリーンリーダーが Ghostty の構造と内容を読めるようになりました。AI ソフトウェアが Ghostty の内容を読むのにも役立ちます。accessibility 権限を必要とするため、オプトインです。#7601
-
macOS:App Intents との統合により、Apple Shortcuts で Ghostty の自動化が可能に。#7634
-
macOS:ベル実装。デフォルトでは、ベルは Dock アイコンを bounce させるとともに、タイトルにベル絵文字(🔔)を表示します。terminal を focus した時、または 任意の input で、clear されます。ベルは audio を 者 しません。
bell-featuresですべて disable できます。#7099 -
macOS:Finder から実行されたり Dock にドロップされたスクリプトは、login shell 経由で stdin に
<filepath>; exitを送って実行されるように。内蔵 Terminal や他の端末があなたの login scripts をロードするのと同じ方法です。#7647 -
macOS:カスタムアイコンが Ghostty 非実行中にも保存されるように。#8230
-
macOS:
OSC 9;4プログレスバーシーケンスに対するネイティブ GUI プログレスバーの表示。#8477 -
macOS:すべての Ghostty ウィンドウを前面に持ってくる
bring_all_to_frontkeybind アクションを追加。#4704 -
macOS:ウィンドウサイズを初期構成サイズへ戻す
reset_window_sizekeybind アクションを追加。#6038 -
macOS:
check_for_updatekeybind アクションを追加。#7235 -
macOS:「既定サイズへ戻る」メニュー項目を追加。#1328
-
macOS:
macos-hidden設定は Ghostty を Dock とタブメニューから隠します。#4538 -
macOS:リンクのクリックで、
openコマンドの代わりにNSWorkspaceAPI を使うように。これにより、他のプログラムは望むなら挙動を変えるためにソースアプリ(Ghostty)を利用できます。#5256 -
macOS:交通信号ボタンを隠す新しい設定
macos-window-buttons。#7504 -
macOS:既存の
macos-non-native-fullscreen設定に新しいオプションpadded-notch。非ネイティブ全画面ウィンドウをノッチの下に置きつつメニューバーを隠します。#5750 -
macOS:新しい keybind アクションとメニュー項目
toggle_window_float_on_topにより、特定の端末ウィンドウを非フォーカスでも他のすべてのウィンドウの上方へ浮かせられます。#7237 -
macOS:quick terminal 内でもスプリットの均等化が機能するように。#7480
-
macOS:
quick-terminal-position=centerが中心位置を保持したままリサイズできるように。#8398 -
macOS:Finder から実行されたり Dock にドロップされたスクリプトの実行には、常に手動確認が求められるように。#8442
-
macOS:スプリットの zoom 解除ボタンが、タイトルバータブと単一タブにおいても見えるように。#7502
-
macOS:
window-save-stateが端末タイトルを保存するように。#7938 -
macOS:
Cmd+h(macOS の hide window)が、最後の可視ウィンドウを隠そうとする場合にhを送らなくなりました。#5929 -
macOS:
maximize設定が macOS 上で機能するように。#5928 -
macOS:キー入力の処理速度を約 10 倍に改善。#7121
-
macOS:赤い信号をクリックしたときに、タブのクローズとウィンドウのクローズを区別するように。#7618
-
macOS:
macos-titlebar-style=tabs設定でタイトルテキストが垂直中心に寄せられます。#5777 -
macOS:CLI から起動された Ghostty が前面に来るように。#8546
-
macOS:非ネイティブ全画面の切替時に、フォーカスが最初のスプリットへ行かなくなるように。#6999
-
macOS:
cmd+.がバインドできるように。#6909 -
macOS:端末セルに拘束されたフォントグリフがよりシャープに見えるように。#6914
-
macOS:
close_windowキーバインドアクションが機能するようになりました。#7003 -
macOS:quick terminal が全画面の space 上下でより確実に現れ・消えるように。#7070
-
macOS:ウィンドウの左端外での選択時に、選択範囲が 1 行上へスクロールしなくなるように。#7071
-
macOS:
macos-titlebar-style=hiddenで作られた新しいウィンドウが他のウィンドウと同様に位置をカスケードするように。#7567 -
macOS:テキストなしで確定前文字列をクリアするキー入力は pty へエンコードしないように。#7226
-
macOS:キーボードショートカットが macOS の「Dvorak - QWERTY ⌘」キーボードレイアウトで正しく機能するように。#7315
-
macOS:小数のマウススクロールイベントを切り上げにし、スクロールホイール付きマウスがより使えるように。#7185
-
macOS:すべてのスプリット方向がメニューバーとコンテキストメニューで利用できるように。#5807
-
macOS:OSC 7 による pwd の設定が、macOS の「Private Wi-Fi Address」機能で機能するように。#7029
-
macOS:リサイズオーバーレイが言語中立の
w x h書式を使い、単位を省略するように。#7142 -
macOS:「サービス -> New Ghostty Window/Tab Here」がファイルにも機能するように。#7286
-
macOS:非ネイティブ全画面使用時にフォーカスを確実に保持するように。#7279
-
macOS:確定前文字列がリアルタイムにストリーミングされるように。#8490
-
macOS:確定前アイコンが言語セレクターを正しく表示するように。#8490
-
macOS:確定前アイコンが文字のストリームに正しく追随するように。#8490
-
macOS:最後に閉じた surface のメモリが保持され続ける(一度に 1 つだけ)issue を修正。#7507
-
macOS:CoreText フォント feature を free できなかったことによるメモリリークを修正。#7770
-
macOS:fallback discovery に向けたフォント descriptor のメモリリークを修正。#7770
-
macOS:ObjC blocks のメモリリークを修正。#7770
-
macOS:非ネイティブ全画面と
fullscreen = trueが両方設定された場合に発生しうるクラッシュを修正。#7277 -
macOS:
titleが設定されている場合、ロード時にウィンドウへタイトルを設定することで、window 管理者がタイトルをより早く見られるように。#6056 -
macOS:
cmdキー入力は legacy key encoding 用にエンコードされなくなりました。#6057 -
macOS:quick terminal 内での
new_tabの発動は、新しいウィンドウを作る代わりに役に立つエラーを表示するようになった。クイック terminal の タブ への対応は将来の release で。#5939 -
macOS:非ネイティブ full screen ウィンドウを閉じる時に menu bar が正しく復元されるように。#7525
-
macOS:window focus の時点ですべての通知を dismiss。#7531
-
macOS:ウィンドウ閉鎖のときにすべての通知を dismiss。#7531
-
macOS:すでにフォーカスされたウィンドウの通知は 数秒後に dismiss。#7531
-
font/coretext:フォント検索の並び替えの方が一貫した改善。#7483
-
man pages に macOS 固有の設定パスに言及するように。#5938
-
GTK:FreeBSD 対応。この仕事はすべて 1 人のコミュニティメンバーが推進したものであり、その貢献に深く感謝します。#7606
-
GTK:より幅広いデスクトップ環境にスタイル上マッチする新しいアイコン。Linux/BSD エコシステムの多様性のため完璧になることはないでしょうが、新しいアイコンは大きい改良で、アプリが mac 中心的に感じなくなる効果があります。#8038
-
GTK:
SIGUSR2を Ghostty に送ることで設定を再読み込みできるように。#7759 -
GTK:新しい
gtk-titlebar-style=tabsがタブをウィンドウのタイトルバーに配置します。#8166 -
GTK:クイック端末が Wayland 上の Linux と
wlr-layer-shellプロトコルで機能するように。#4624 -
GTK:
global:キーバインドが、XDG desktop portal が利用可能な任意の時間に(ほぼすべてのデスクトップ環境)機能するように。#6051 -
GTK:
OSC 9;4プログレスバーシーケンスにネイティブ GUI プログレスバーを表示。たとえば systemd が発するもの。#7975 -
GTK:オーディオベル対応(既定オフ)は
bell-features=audioを有効化し、bell-audio-pathとbell-audio-volumeを設定することで使えます。#5326 -
GTK:DBus と systemd activation サービスをより速い起動のためにインストール。#7433
-
GTK:OpenGL レンダラーがリニアブレンド非対応を改良し、色のブレンドがより正確に。#7620
-
GTK:
X-KDE-Shortcutキーを登録したことで、KDE で Ghostty を開く shortcut を登録できるように。#7673 -
GTK:Linux 上の async API で
io_uringとepollを動的に選択できるように。以前はio_uringに固定され、epoll のみの環境では source からビルドするしかありませんでした。#5916 -
GTK:新しい設定
async-backendをepollに設定すると、Linux では io_uring ではなく epoll を強制します。これが iowait 报告の壊れた kernel にとって有用です。#5916 -
GTK:新しい設定
window-show-tab-barはタブバーがいつ見えるかをカスタマイズします。#5590 -
GTK:新しい設定
quick-terminal-keyboard-interactivityは、Wayland 上の keyboard interactivity 設定を具体的にカスタマイズします。#7477 -
GTK:新しい keybind アクション
show_gtk_inspectorは GTK inspector を表示します。terminal keybinds が GTK のデフォルトバインドをしばしば隠してしまうためです。#7468 -
GTK:新規タブボタンに、新しいスプリットを作る dropdown menu が付きました。#7127
-
GTK:クリップボード確認ダイアログに「選択を記憶する」toggle を追加。#6783
-
GTK:新しい native GUI element は、コマンドが異常終了したとき、または
wait-after-commandが設定されているときに表示されます。#7836 -
GTK:オンスクリーンキーボードに対応。#7987
-
GTK:
titleが設定されている場合、ウィンドウは surface の初期化後にではなく、すぐにタイトルを持つように初期化されます。これにより window 管理者がこの値を読めるように。#8535 -
GTK:OpenGL renderer の初期化に失敗した場合、empty ウィンドウの代わりに native GUI element を表示。#8390
-
GTK:端末への filepath drop のとき
(と)を escape するように。#6922 -
GTK:
copy-on-select=clipboardは選択中の toast spam しなくなりました。copy は mouse の release のときのみ発生します。#4800 -
GTK:すべてのスプリット方向がメニューバーとコンテキストメニューから利用できるように。#5779
-
GTK:
wait-after-command向けの close 確認を要求しないように。#7500 -
GTK:server-side decorations が使われている場合は、可視 border をもたらす
solid-csdCSS class を ウィンドウから取り除く。#8127 -
GTK:最後のタブを閉じた後 時々 ウィンドウが blank になり close しなくなる問題を修正。#5837
-
GTK:resize overlay は言語中立の
w x h書式を使い、単位を省略するように。#6013 -
GTK:close の際 surface の cgroup を正しく lenklär。#6766
-
GTK:OpenGL の resize 時の flicker/stretch を 短縮。#7155
-
GTK:
GHOSTTY_RESOURCES_DIRをより多くのインストール環境で 検出するように。#6814 -
GTK:
xdg-open呼び出しが defunct process を 残しうる場合を修正。#7657 -
GTK/X11:> 200% scaling 使用時の blur 領域を修正。#6978
-
font/freetype: true bitmap fonts がサポートされるように。#8512
-
font/freetype: SFNT table を含まないフォント使用時の 可能な crash を修正。#8483
-
font/freetype: SVG glyph の loading 時に error が発生(まだ完全にはサポートしていないため)。#6824
-
font/freetype: rare な capturas において data race が引き起こしうる クラッシュを修正。#7238
-
font/freetype: もっと多くの 非 UTF-8 エンコードの font 名を UTF-8 へ decode。#8204
-
packaging:実験的な snap packaging が CI でテストされるように。published snap image は外部の maintainer が現在管理しています。#3931
-
私たちは、some preprocessing 済み files を含む source tarballs を、 ニューラル 普通 な process 的な tarball と同じ 様式で 生成します(たとえば parser
.yを.cへ変換)。 Ghostty 向けには、Blueprintuiをxmlfiles、transl ations、GTK resource files を preprocessing します。これにより Ghostty を古い プラットフォームから新しい build tools を 必要とせず build できるように。パッカーは source tarball を 使う べきで、Git checkout ではありません。PACKAGING.mdドキュメント はこの情報で 更新されました。 #6800 -
GLFW apprt は削除されました。これ till 何らの supported apprt ではなく、開発 と テストのみに使われていたものです。私たちは GLFW を packaging することへの 反対を
PACKAGING.mdドキュメント で表明 してい ました。開発および テストには これをもう 必要と しないため、今回 削除 されました。#7815 -
"tip" リリースは、同じ commit の以前の tip を上書き しなくなりました。これは checksums の安定性を release が 切り出された後 保証します。 tip packages を提供する パッカー 向けに、これは security と tooling 的 compatib 周辺 および安定性の die improving 效果を 持ちます。tip リリースは墓地的な署名が 付いています。#8549
Ghostty 1.2 は、Flatpak と snap 両方向がない build 向け 設定を備えます。CI ではすべての commit に対して テストし、これらの distribution を通して Ghostty が機能し続けるよう 努力しています。しかし、私たちはまだ Flatpak/Snap パッケージを公式には提供・維持 していません。
これは大きな進歩です:Ghostty 1.1.x はパッチなしでは Flatpak や Snap パッケージとして全く機能せず、公式プロジェクトもこれらのパッケージの維持について何の保証もしていませんでした。現在では、少なくともこれらのプラットフォームでビルドとテストをしています。ただし、公式の配布にはまだ届いていません。
公式配布を妨げる主な要因は、メンテナーの関心とリリースオートメーションです。Ghostty の現在のメンテナーには、Snap や Flatpak ビルドの主力を担う人が誰もいませんし、これらのパッケージを長期的に維持する能力に自信がありません。Ghostty の Flatpak や Snap パッケージの維持に協力してくださるなら、Discord に参加して #packaging までお知らせください。
Ghostty 1.3 は、他の人気ターミナルエミュレーターとの対等性を達成するために、最後に残った主要な未実装機能を出荷することに引き続き焦点を当てます。これにより Ghostty を「既存の最良のターミナルエミュレーター」にします。具体的には、少なくとも 1.3 向けにスクロールバック検索とスクロールバーを出荷する計画です。2
Ghostty 1.3 の主な焦点はデスクトップアプリケーション機能(スクロールバック検索とスクロールバーはその一部)です。Ghostty のコア端末エミュレーション機能はすでに非常に豊富で安定していることが証明されています。それに加え、他の人が最近エコシステムへ投入した新しい実験的なプロトコルを採用するなど、VT 機能のサポート継続を計画しています。
よくあるリクエストへの回答として、Windows と スタンドアロンのライブラリとしての libghostty は Ghostty 1.3 向けには計画されていません。これらは長期ロードマップの一部ですが、既存のプラットフォームとデスクトップアプリケーションにまず焦点を当てたいと考えています。
Ghostty は、major/minor リリースに対する 6 か月のリリースサイクルへ移行します。次の minor リリース(1.3.0)は 2026 年 3 月予定です。3 月/9 月のリリースサイクルは、多くの主要 Linux ディストリビューションと macOS とよく調和します。パッチリリース(たとえば 1.2.1)は、必要に応じて不定期に行われます。
これは現代的なアプリケーションにとっては比較的長いリリースサイクルですが、開発チームが大型で影響力のある機能に焦点を当て、tip リリースで安定化するのに十分な時間を確保できます。パッケージャーにとっては、頻繁なリリースのパッケージングに伴う手間を避けられます。また、主要 OS リリースとの調和により、新しい OS バージョン上でうまく機能する主要リリースを出荷することを確実にできます。
より頻繁な更新に関心のあるユーザーには、macOS では tip リリースチャンネル の使用、Linux では頻繁なソースからのビルド をお勧めします。当方には数千人の nightly ユーザーがいます(テストに感謝します!)。メンテナーチーム全員が tip リリースを安定に保つよう努力しています。1.1 から 1.2 の開発サイクル全体を通じて、tip リリースが日常利用として壊れたことは記憶にありません。
セキュリティ
ハイライト
新しいアプリアイコン
コマンドパレット
Quick Terminal のサイズ
SSH 改善(進行中)
レンダラーの再構築
カスタムカーソルシェーダー
端末背景画像
グラフィカルプログレスバー
フォールバックフォントサイズ調整
多数の新しい同梱グリフ
同梱 Nerd Font の改善
キーバインドの再構築
端末ベル
ターミナルエミュレーションの互換性
macOS:Tahoe サポート
macOS:閉じる操作の元に戻す/やり直す
macOS:Apple Shortcuts
GTK:クイックターミナル
GTK:グローバルキーバインド
GTK:ローカリゼーション(進行中)
GTK:FreeBSD サポート
GTK:フルでリークのない全面書き直し
システム要件
破壊的変更
非推奨
完全なチェンジログ
ターミナル能力
macOS
GTK(Linux、FreeBSD)
パッケージメンテナー向けの変更
Flatpak/Snap 更新
ロードマップ
3 月/9 月リリースサイクルへの移行










