Ghostty 1.2.1

2025 年 10 月 6 日にリリースされた Ghostty 1.2.1 のリリースノート。

Ghostty 1.2.1 は、62 コミットにわたる 13 人のコントリビューターによる2 週間の作業です。これはパッチリリースで、主に 1.2.0 リリースで取り込まれた問題の修正に焦点を当てています。少数の改善も含まれています。

ハイライト

フォントレンダリング改善

PR:#8563 #8580 #8738 #8720 #8847

Ghostty 1.2.0 には、フォントレンダリングシステムの大規模な全面改修が含まれていました。このほど大きな変更では、テストで捕捉できなかった問題が見つかるのが普通で、実際にいくつか見つかりました。Ghostty 1.2.1 はその多くに対処します。

変更の概要:

  • Nerd Font アイコンが大きくなり、お互いのサイズの整合も向上して、利用可能なセル空間をより有効に使えるようになりました。1 セルより幅のあるアイコンは、セルをまたいで中央寄せするのではなく左寄せになりました。
  • 横長のプライマリフォント使用時、CJK 文字が過大に見えなくなりました。IC 幅(表意文字幅)は ASCII 文字の全体のバウンディングボックスを測ることで上限が設けられます。
  • グリフの制約は太字化と中央寄せ操作の前に適用されるようになり、フォントサイズ、太字化強度、表示 DPI に関係なくアイコンのサイズと位置が一貫するようになりました。
  • Nerd Font パッチ抽出のバグを修正。コードポイントオフセット問題により規則が誤ったグリフに適用され、無関係なパッチセットが誤って含まれていました。
  • FreeType のグリフ測定を改善し、グリフがレンダリング時と同じヒンティングで測定されるようにしました。

シェル統合が PATH への ghostty を追加

PR:#8976

シェル統合が自動的に GHOSTTY_BIN_DIR を PATH に追加し、追加設定なしで多くのシェルで ghostty バイナリが使えるようになりました。

Ghostty は以前から(現在も)シェル実行前に ghostty を PATH に追加しますが、多くのシェル設定が PATH をリセットします。この変更は、シェル統合スクリプトの一部としてもう一つの層を加え、ghostty がシェルで利用可能になる確率を高めます。

bash、zsh、fish、elvish でサポートされます。

精密スクロールデバイス向けマウススクロール倍率

PR:#8927

mouse-scroll-multiplier 設定が Apple trackpad のような精密スクロールデバイスをサポートするようになりました。ディスクリート(マウスホイール)と精密(トラックパッド)スクロールの倍率をそれぞれ独立に制御でき、入力デバイスをまたいで大きなスクロールバックバッファをより滑らかで予測可能に操作できます。

例:

# Apply the same multiplier to both precision and discrete
mouse-scroll-multiplier = 3

# Apply different multipliers (order doesn't matter)
mouse-scroll-multiplier = precision:0.1,discrete:3

# Apply only to precision, use default for discrete
mouse-scroll-multiplier = precision:2

既定の精密倍率は 0.1 で、ディスクリート倍率は 1 のままです。

完全なチェンジログ

GitHub でクローズされた issue の一覧。

各セクションでは、バグ修正の前に改善を並べるよう心がけています。

  • config:フォントを手動設定していない場合、font-size が実行時に再読み込みされるようになりました。#8680
  • cli:+list-themes のプレビューにカーソルと選択の色が含まれるようになりました。#8446
  • cli:+edit-config が引数つきの $EDITOR 値を正しく扱うようになりました。#8898
  • config:command-palette-entry がフィールド内にコンマをサポートするようになりました。#8849
  • config:= を含むバインド値が正しくパースされるようになりました。#8675
  • マウスをウィンドウの外へドラッグしたときにスクロール方向が反転しなくなりました。#8683
  • 設定ディレクトリがすでに存在しても、設定テンプレートが正しく作成されるようになりました。#8892
  • config:空の XDG 環境変数を存在しないものとして扱います。#8830
  • shell-integration:サポートされるすべてのシェルで GHOSTTY_BIN_DIR を PATH に追加するようになりました。#8976
  • shell-integration/bash:ssh ラッパーを関数としてマークし、エイリアス衝突を回避。#8647
  • i18n:クロアチア語(hr_HR) 翻訳を追加。#8668
  • i18n:繁体字中国語(zh_TW) 翻訳を追加。#6773
  • i18n:ポルトガル語翻訳の更新。#8633
  • contrib/vim:ファイルタイプ設定に :setf を使用。#8914

macOS

  • macOS:macOS への bell-features=border 実装。#8768
  • macOS:bell-features=title が正しく機能するようになりました。#8766
  • macOS:プログレスバーウィジェットが macOS 26 で正しく描画されるようになりました。#8731 #8753
  • macOS:設定ファイル編集時のアロケーションエラーがクラッシュを引き起こさなくなりました。#8886
  • macOS:カスタムシェーダーが Intel GPU で機能するようになりました。#8751 #8749
  • macOS:「New Terminal」ショートカットが望ましい設定をスプリットへ正しく渡します。#8638
  • macOS:macos-custom-icon での ~ 展開のサポートを追加。#9024
  • macOS:quick terminal がマルチモニター使用時にサイズをより確実に復元します。#8796
  • macOS:Ghostty が起動していないとき、「New Terminal」app intent は 1 つのターミナルだけを開くようになりました。#8669
  • macOS:「Copy Screen to Temporary File and Open」アクションがファイルを正しく開くようになりました。#8763
  • macOS:window-position-x/y が左上隅を基準として正しく扱うようになりました。#8672 #8760
  • macOS:「New Ghostty Tab Here」サービスが新規ウィンドウではなくタブを開くようになりました。#8783 #8784
  • macOS:サービスが「サービスを利用できませんでした」の警告ダイアログを表示しなくなりました。#8785 #8790
  • macOS:window-step-resize が Stage Manager とより確実に協調するようになりました。#9020
  • macOS:起動時間を改善するため、syncAppearance でのアプリアイコン更新を遅延させます。#8792
  • font/coretext:特定の RTL(右から左)言語と行末スペースによるクラッシュが起こらなくなりました。#9002

GTK(Linux、FreeBSD)

  • GTK:Enter キーが「ターミナルタイトルの変更」ダイアログを確定するようになりました。#8949
  • GTK:タブ概要から最後のタブをドラッグアウトしてもクラッシュしなくなりました。#8944 #8955
  • GTK:黒テキストの minimum-contrast で、不可視ではなく正しい色が設定されるようになりました。#8782
  • GTK:quit-after-last-window-closed-delay が期待どおりに機能します。#9052 #9053
  • GTK:split-divider-color が正しく適用されます。#8853
  • GTK:unfocused-split-fill が正しく描画されます。#8813
  • GTK:ベル機能がすべての BEL 文字で発火するようになりました。#8962
  • GTK:重複したシグナルハンドラーが複数のトーストを起こさなくなりました。#9001
  • GTK:Flatpak 対応のリソースディレクトリサポートが復活しました。#8816

パッケージメンテナー向けの変更

  • Ghostty は Linux 上のビルドを 32 コアに制限するようになりました。これは Zig の既知のメモリ破壊バグを回避するためで、32 コアを超えるマシンでも Ghostty を確実にビルドできます。このバグは Zig 側で解決済みですが、Ghostty 1.2.x が依存する 0.14.x 系列にはバックポートされません。#8925

ロードマップ

1.2.0 と 1.2.1 の変更で入り込んだ細かい問題を引き続き修正するため、いつか 1.2.2 がリリースされる可能性はあると考えています。ありうる 1.2.2 リリースは、素早いフォローアップではなく中間リリース(数か月先)になるでしょう。

現在のところ 1.2.x 系列は非常に安定しており、それ以上のバグ修正リリースを急ぐ必要は感じていません。このリリースには非常に肯定的なフィードバックが届いており、人々が新機能を楽しんでいるのを見て嬉しく思います。

より大きな計画は 1.2.0 リリースノート のロードマップを参照してください。