Ghostty 1.0.1
Ghostty 1.0.1 的发行说明,发布于 2024 年 12 月 31 日。
-
GHSA-5hcq-3j4q-4v6p。修复了一个安全漏洞:Ghostty 之前对窗口标题序列处理不当,可能导致任意代码执行(需要用户交互)。
-
GHSA-hfg5-8q2c-crhc。用
write_*_filekeybind 动作创建的文件此前默认为0644模式,允许任何本地用户读取该文件。该文件现在默认为0600模式以防未授权访问。
PR:#3460
如果未找到非空的配置文件,Ghostty 现在会在启动时创建一个默认配置文件。基于我们的零配置哲学,默认配置文件只有注释,但这些注释有助于用户了解文件位置、语法和文档。
1.0.0 发布时,我们注意到关于配置文件位置、如何编辑以及有哪些选项存在大量困惑。此更改旨在帮助用户更好地理解如何配置 Ghostty。
PR:#4115(CoreText)、#3837(Freetype)
Ghostty 现在在 macOS 与 Linux 上都支持位图字体。位图字体仍必须是 truetype 格式,但可以包含每个字形的位图而非轮廓。
PR:#4004
"Settings" 菜单选项(open_config keybind 动作)在多方面得到改进。
首先,Ghostty 现在会找到第一个非空配置文件来打开(如果存在)。此前 Ghostty 总是先打开 XDG 配置路径,即使 AppSupport 路径存在。这造成了困惑,因为 AppSupport 路径会覆盖 XDG 路径。现在,Ghostty 在 AppSupport 路径存在时打开它,否则打开 XDG 路径。
其次,Ghostty 现在在两个路径都不存在时正确地把 AppSupport 路径排在 XDG 路径之前。这很重要,因为 AppSupport 路径覆盖 macOS 上的所有其他路径。
第三,Ghostty 现在使用 -t 旗标与 open 在文本编辑器中打开配置文件。
Note
未来的更新将允许用户用他们的
$EDITOR打开配置文件。另一次未来的更新将允许用户通过 GUI 修改配置文件。
- 颜色值现在接受简写十六进制值(如
#ABC)。#4111 confirm-close-surface现在可以设为always,以便在关闭窗口时总是显示确认对话框。#3700- macOS:为 Spotlight 搜索元数据添加 "terminal" 关键词。#3745
- GTK:添加
window-titlebar-foreground与window-titlebar-background配置选项。#3806 - 内置 iTerm2 配色方案更新至 e030599a。
- 具有映射到按键的触发器的 keybind 现在被当作翻译键(translated key)而非 unicode 触发器,即
cmd+1现在可与cmd+one一起工作,且cmd+.与cmd+period相同。#4147 write_selection_file有时会写入空内容。#4078- TUI 应用中的超链接更稳定。#3903
- 重新加载配置不再覆盖 OSC 10/11/12。#3228
scrollback-limit配置现在接受大于 32 位的数字。#3906- 修复 macOS 与 Linux 上的问题
background-opacity。#3347 - 修复如果
--font-family=""特定于命令行设置时可能发生的崩溃。#4151 - vt: 按照更新后的规范,OSC 10/11/12 不再发送 mode 2031 DSR 报告。#3994
- vt: 修复 direct-color 解析的边界情况。#4216
- bash: shell 集成现在能更好地与
sudo别名协同。#4080
- macOS:修复了窗口未完全销毁导致的资源泄漏。#4128
- macOS:修复在某些情况下
toggle_visibility会调出不可用的"幽灵窗口"的问题。#3219 - macOS:Quick Terminal 现在可与
focus-follows-mouse配合使用。#3337 - macOS:全屏时标题栏现在与 Ghostty 其余部分一样不透明。#3834
- macOS:退出全屏现在恢复正确的背景不透明度。#3553
- macOS:
open_config动作现在优先选择 AppSupport 路径而非 XDG,以匹配加载优先级。#3953 - macOS:
open_config动作现在把-t旗标用于open,从而使文本编辑器打开。#3284 - macOS:修复有时导致 quick terminal 消耗 100% CPU、造成显著电量流失的问题。quick terminal 现在空闲时不占 CPU。#4055
- macOS:App bundle 现在包含
nvim目录。#3966 - macOS:帮助菜单项打开 Ghostty 文档。#3990
- macOS:Blur radius 未设置时现在能在运行时正确重新加载。#3954
- macOS:修复
$HOME不可写时的启动崩溃。#3949
- GTK:通过在不推荐 API 不可用时回退到已弃用 API,正确检测旧版 GTK 上的系统配色方案。#4035
- GTK:修复同时启用
gtk-titlebar=false与gtk-tabs-location=hidden时窗口损坏的问题。#3178 - GTK:修复错误检测某些特性最低 GTK 版本的版本比较。#3977
- GTK:为支持的桌面环境安装 1024x1024 应用图标。#4003
- GTK:修复
window-decoration=false与gtk-titlebar=true情况下的伪影问题。#3999 - GTK:
window-theme=ghostty时 Tab 概览现在有样式(需要 libadwaita 1.8)。#3920 - GTK:
gtk-titlebar=false时 Tab 概览也能工作。#3940 - GTK:为标题变更添加短暂延迟以避免闪烁。#3746
- GTK:向 desktop 文件添加
xdg-terminal-exec字段。#3853 - GTK:支持对没有 X11 支持的 libgtk 构建。#3748
- GTK:修复关闭表面时可能的段错误。#3694
- Ghostty 源码 tarball 现在命名为
ghostty-${VERSION}.tar.gz(原先ghostty-source.tar.gz)并解压到名为ghostty-${VERSION}(原先ghostty-source)的目录。这更好地符合标准的源码 tarball 约定。PACKAGING.md文件已更新以反映此变更。#3490 DESTDIR现在按PACKAGING.md中的文档正常工作。#3426
Ghostty 1.0.1 仍包含许多已知问题,但被认为对一般专业用途是稳定的。
我们正努力分类并解决这些问题。本次发布解决的是我们认为最关键的问题,尤其是考虑到许多人即将从假期归来重新工作。已知的或新发现的问题的更多信息请看 GitHub discussions 与 issue tracker。
我们计划在不远的将来发布 1.0.2。我们不想养成发布过多补丁版本的习惯,但初次公开发布中发现的一些重要问题,我们认为需要尽快解决。
我们为 1.0.2 考虑的主要问题类别是键盘输入问题(尤其非美式键盘布局)、xterm 兼容性问题,以及 Linux 与 macOS 上的 GUI 问题。
长期来看,我们计划遵循一个一般模式:每次重大发行后只发布一两个补丁版本,接着进入为期数月的开发期以迈向下一个重大发行1。这一模式能让软件包维护者跟上我们的发行节奏,把软件包送入分发渠道而不至于频繁折腾,同时让维护者专注于新功能与改进。
-
Barring any critical issues or security advisories that require immediate attention. ↩