- Support for server-side decorations (SSD) on Linux X11 when window-decoration is set to server
- Keyboard navigation to the terminal IO window for the terminal inspector
- New alternate artist-drawn icon choices on macOS available via macos-icon configuration
- goto_split and goto_tab now work properly with the performable: keybind prefix
- The +list-actions CLI command now includes actions that have no associated documentation
- iTerm2 color themes updated to latest version
- macOS now places the window at the location of the last focused window on startup
- Input method editor (IME) support for the GTK simple input method that was broken in 1.1.0
- macOS renderer undefined behavior and visual artifacts when using discrete GPUs
- Crash that could occur when resetting the terminal with Kitty graphics on the screen
- Crash that could occur with very large OSC8 hyperlinks
- Character under the cursor is now visible when the cursor color matches the background color
- Crashes that could occur when loading themes that were not files
- macOS close confirmation now appears if there is an active but hidden quick terminal that requires close confirmation
- macOS control characters not working with certain keyboard layouts
- macOS graphical flickering when invoking the move_tab keybind
- macOS toggle_visibility now restores focus to the proper tab when called from a global keybind
- macOS command characters such as cmd+backtick no longer leak the unmodified character into the terminal
- macOS toggle_visibility no longer has any effect while the window is in native fullscreen
- Update Sparkle dependency to 2.6.4 to fix security issues
From Ghostty
Ghostty 1.1.1 features two weeks of work with changes from 13 contributors over 125 commits. The focus of this release is on fixing regressions or bugs introduced as part of the 1.1.0 release. We've also snuck in some nice improvements to existing features.
A critical regression was found in Ghostty 1.1.1 on macOS that caused control-modified keys to not work properly in programs using the Kitty Keyboard protocol such as Neovim and Fish 4.0. This was fixed in 1.1.2.
Highlights
Server Side Decorations (SSD) on Linux X11
PR: #5533
Ghostty 1.1.0 introduced support for server-side decorations (SSD) on Linux for Wayland compositors. This allows Ghostty to look and feel more like a native application on a wider variety of desktop environments. Notably, however, this did not work on X11.
With Ghostty 1.1.1, we've added support for SSD on X11 as well when
window-decoration = server. X11 doesn't provide a standard way to
tell us if it prefers SSD or client-side decorations (CSD), so SSD on
X11 only works with the explicit server configuration and does not work
with the auto value.
Continued Input Method Editor (IME) Improvements
A lot of effort went into Ghostty 1.1.0 to improve IME support, but
ironically broke the scenario where no input method was active (the
GTK "simple" input method). This has been fixed in 1.1.1.
A workaround in 1.1.0 was to install ibus or fcitx. This is no
longer necessary, and the "simple" input method should work as expected.
Additionally, on macOS, improved IME support regressed the ability for
certain keyboard layouts to input control characters (e.g. ctrl+c).
This has been fixed in 1.1.1.
macOS: Renderer Improvements for Intel GPUs
It turns out Ghostty was triggering undefined behavior on macOS when using discrete GPUs. Practically, this only affected Intel Macs because all Apple Silicon Macs have integrated GPUs and Ghostty will always prefer an integrated GPU if available for power efficiency.
The undefined behavior would sometimes work but sometimes result in rendering artifacts or other strange visual behaviors. We now properly detect discrete GPUs and use the proper APIs and behaviors to avoid undefined behavior.
Full List
Full list of closed issues on GitHub.
In each section, we try to sort improvements before bug fixes.
goto_splitandgoto_tabnow work properly with theperformable:keybind prefix. #5644- The
+list-actionsCLI command now includes actions that have no associated documentation. #4958 - Added keyboard navigation to the terminal IO window for the terminal inspector. #3909
- Fix a crash that could occur when resetting the terminal with Kitty graphics on the screen. #5693
- Fix a crash that could occur with very large OSC8 hyperlinks. There are likely other scenarios where this crash could be triggered but the entire class of crash has been resolved. #5666
- Fix an issue where the character under the cursor would not be visible when the cursor color matched the background color. #5570
- Fix crashes that could occur when loading themes that were not files. #5632
- iTerm2 color themes updated to db227d159 #5511
macOS
- macOS: Add a handful of new alternate artist-drawn icon choices.
These can be set using the
macos-iconconfiguration. #5696 - macOS: Place the window at the location of the last focused window on startup, following the behavior of other native macOS applications. #5529
- macOS: Close confirmation now appears if there is an active but hidden quick terminal that requires close confirmation. #5450
- macOS: Fix control characters not working with certain keyboard layouts. #5448
- macOS: Fix graphical flickering when invoking the
move_tabkeybind. #5729 - macOS:
toggle_visibilitynow restores focus to the proper tab when called from a global keybind. #5692 - macOS: Fixed an issue where some command characters such as
cmd+backtickwould leak the unmodified character into the terminal. #5558 - macOS:
toggle_visibilityno longer has any effect while the window is in native fullscreen. Previously, it would cause the window to lose focus. #5472 - macOS: Fix undefined behavior for discrete GPUs. #5625
- macOS: Update our Sparkle dependency to 2.6.4 to fix security issues. #5598
Linux (GTK)
- GTK: Server-side decorations (SSD) now work on X11. #5533
- GTK: Set the
WINDOWIDenvironment variable to the X11 window ID. #5650 - GTK: Fix incorrect context menu location in certain circumstances. #5710
- GTK: The "simple" input method now works properly. #5550
- GTK: Add option to disable color management to workaround GTK bugs. #5593
- GTK:
window-decoration=noneworks properly on GNOME #5463 - GTK: Remove CSD styling such as borders when CSDs are not in use. #5581
- GTK: Nautilus integration now uses a properly named file. #5469
- GTK: Close cgroup file descriptor after clone to prevent a small fd leak. #5515
Changes for Package Maintainers
- A new Zig dependency
zig-gobjectwas introduced. This is licensed 0BSD. The introduction of this dependency does not change the existing process for packaging Ghostty.
Roadmap
At the time of this release, we do not plan to have followup patch releases. We believe the remaining bugs are minor and can be addressed as part of a future, larger 1.2.0 release. We will continue to monitor the issue tracker and pull requests for any critical issues that may arise.
The focus will shift to the 1.2.0 release. This will be a larger release with more significant changes and features. The timeline for this release is not yet determined, but is likely to be several months away.
One major breaking change planned with 1.2.0 for Linux is to require
libadwaita. We announced this intention as part of the 1.1.0 release
and have asked for feedback if this is an issue. Before providing feedback,
please
carefully read the details about this change.