Ghostty 1.2.3

Ghostty 1.2.3 的发行说明,发布于 2025 年 10 月 23 日。

Ghostty 1.2.3 由 6 位贡献者 在 27 个提交 中完成,历时两周。这是一个补丁发行,主要专注于修复 1.2.x 系列中引入的问题。

Important

本发行版包含对可能发生在所有平台上的死锁场景的关键修复。我们强烈建议所有还在使用先前 1.2.x 版本的用户尽快升级到本版本。

亮点

macOS 标题栏标签页改进

PR:#9090 #9163 #9168 #1787 #1813 #1945 #8612

Ghostty 1.2.3 包含对 macos-titlebar-style = tabs 的多项修复,其中许多问题自 1.0 之前就存在!此外,与此配置相关的多个 Tahoe 特有(macOS 26)的 bug 也被修复,因为 Tahoe 引入了截然不同的标签栏。

变更概述:

  • 修复了标签页标题栏样式中标题未对齐与剪裁的问题。
  • 修正了启用标题栏标签页时全屏模式下标题栏配色。
  • 解决了主题变更导致标题栏失去样式的问题。
  • 修复了在全屏下使用标签页标题栏样式时左上角出现截断标题的问题。
  • 改进了 macOS 26 原生全屏与标题栏标签页下的行为。

字体渲染改进

PR:#9142 #9152 #9160

Ghostty 1.2.3 继续对 1.2.0 引入的重写后的字体渲染系统进行多项打磨。Ghostty 1.2.3 的变更主要针对图标字形(如 Nerd Fonts)。Ghostty 1.2.3 用户在所有场景下都应看到大小更合适的图标。

这解决了当前所有已知的字体 渲染 问题,尤其是那些源于 1.2.0 重写渲染器的问题。注意,还有其他已知的与字体相关的问题,但它们或者早于 Ghostty 1.2,或者与字体渲染无关(而是与字体发现、加载、shaping 等相关)。

完整变更日志

GitHub 上已关闭问题的完整列表。

在各节中,我们尽量把改进排在 bug 修复之前。

  • font:对各种边界情况的大量微调,尤其是图标字形。#9076 #9142 #9160 #9152
  • terminal:向选区用词边界列表添加分号字符。#9069
  • input:modify other keys 2 应使用全部修饰键、忽略已消费的修饰键。这修复了一个错误编码,导致移位修饰键在 tmux(以及任何其他使用 modify other keys state 2 的终端程序)中不工作。#9289
  • 修复一个死锁场景:发出大量颜色变更或查询操作的程序可能导致 Ghostty 挂起。#9224
  • 通过在滚动计时器已激活时不在视口外启动滚动计时器来修复资源泄漏。#9195
  • 修复可能发生的内存损坏:在一个屏幕(主屏 vs 备屏)开始滚动,并在终端程序切换屏幕后继续滚动。#9223
  • renderer:修复某些情况下的乱码渲染。#9252
  • shell-integration:ssh-terminfo 现在对 IPv6 地址正确缓存。#9251 #9281
  • shell-integration:光标集成现在在 fish 的 vi 模式下工作。#9157
  • shell-integration:不再更新通用 fish_user_paths 变量。#9273

macOS

  • macOS:Quick terminal 的大小现在按屏幕被正确记住。#9256
  • macOS:goto_split 方向现在与 performable: 绑定兼容。#9283 #9284
  • macOS:window-position-x/y 与 window-width/height 搭配时正常工作。#9313
  • macOS:修复粘贴大段不安全文本时的 UI 挂起。#9322 #9324
  • macOS:修复多个与 macos-titlebar-style=tabs 相关的问题。#1787 #1813 #1945 #8612 #9090 #9163
  • macOS:New Tab 动作现在在适当时可靠地打开标签页而非窗口。#9124
  • macOS:修复 Cocoa API 返回 nil locale 时的崩溃。#9290

GTK(Linux、FreeBSD)

  • GTK:如果配置了 title,立即设置正确的窗口标题。#9120
  • GTK:quick terminal 自动隐藏现在正常工作。#9145 #9139

面向软件包维护者的变更

  • 新增了一个 -Demit-themes(默认 true)构建选项,用于构建不带任何内置主题的 Ghostty。这是为对我们上游依赖中可能存在的许可问题敏感的打包者添加的。我们正在更深入地研究此事,但如果有顾虑,该选项旨在作为完全避开主题的短期方案。#9288

路线图

我们不计划再发布 1.2.x 发行,除非发现重大问题。1.2.x 系列已经非常稳定,我们相信 1.2.3 已解决了现存的主要问题。

当然,这并不意味着 Ghostty 没有 bug!我们会继续修复 bug 并改进特性,但除非这些 bug 属于重大问题,我们会把它们的发布推迟到 Ghostty 1.3.0。