@@ -4,4 +4,198 @@ description: |-
44 Release notes for Ghostty 1.2.0, presently unreleased.
55---
66
7- Coming soon.
7+ <Note >
8+ This page is still a ** work-in-progress.** 1.2.0 is still unreleased and this
9+ page is missing a lot of content. We're slowly filling in the blanks as we
10+ near the release.
11+ </Note >
12+
13+ Ghostty 1.2.0 features ** 6 months of work** with changes from
14+ ** 142 contributors** over ** 2,520 commits** . This release contains major
15+ improvements to every part of Ghostty, including hundreds of bug fixes.
16+
17+ ## Highlights
18+
19+ Potential list:
20+
21+ - terminal background image GH-3645
22+ - quick terminal on linux GH-4624
23+ - quick terminal size GH-2384
24+ - linux bell features GH-5326
25+ - linux localization
26+
27+ ## Breaking Changes
28+
29+ - GTK: libadwaita is now required. We've
30+ [ warned that this was coming] ( /docs/install/release-notes/1-1-0#gtk:-forcing-a-dependency-on-libadwaita )
31+ since the 1.1.0 release notes and our motivations are well explained in
32+ the prior link. Please read that carefully before reacting! We put out a
33+ call for feedback from the community and discussed this decision at length.
34+ We shipped features addressing those concerns such as our SSD support, first
35+ class CSS styling, and more.
36+
37+ ### Deprecations
38+
39+ The list below contains deprecations that will be removed in the future,
40+ but remain compatible today:
41+
42+ - ` selection-invert-fg-bg ` should be replaced with
43+ ` selection-foreground=cell-background ` and
44+ ` selection-background=cell-foreground ` . GH-5219
45+ - ` cursor-invert-fg-bg ` should be replaced with
46+ ` cursor-color=cell-foreground ` and
47+ ` cursor-text=cell-background ` . GH-5219
48+
49+ ## Full Changelog
50+
51+ [ Full list of closed issues on GitHub] ( https://github.com/ghostty-org/ghostty/milestone/5?closed=1 ) .
52+
53+ In each section, we try to sort improvements before bug fixes.
54+
55+ - Add a new keybind ` prompt_title ` that can be used to change
56+ the title of a terminal manually. GH-2509 GH-5769
57+ - config: copy on right click with ` right-click-action = copy ` . GH-4404
58+ - config: ` background-image ` can be used to set a background image for
59+ the terminal. This currently applies to each terminal, not to windows.
60+ GH-3645
61+ - config: ` env ` can be used to specify environment variables to set
62+ in the terminal environment. GH-5257
63+ - config: ` quick-terminal-size ` can be used to customize the
64+ size of the quick terminal. GH-2384
65+ - config: ` font-shaping-break ` configures when a ligature should be
66+ broken (split). GH-4515
67+ - config: new values ` cell-foreground ` and ` cell-background ` can be used
68+ with ` selection-foreground ` , ` selection-background ` , and ` cursor-color `
69+ to set their color values to the dynamic cell colors. GH-5219
70+ - cli: pressing ` enter ` in ` +list-themes ` now shows help text on
71+ how to configure the theme. GH-4731
72+ - holding the mouse above or below the window while clicking now
73+ scrolls the viewport without having to jiggle the mouse. GH-4422
74+ - Resolve issue when pressing ` backspace ` with preedit text (such as
75+ when using an IME). GH-5728
76+ - config: ` keybind= ` (blank) restores default keybindings, behaving
77+ like other ` <key>= ` blank values. GH-5936
78+ - config: ` palette ` configuration now supporst whitespace between
79+ the palette number and color. GH-5921
80+ - config: All configurations that take a list of colors (e.g.
81+ ` macos-icon-ghost-color ` ) support spaces after commas. GH-5918
82+ - font: U+25E4 and U+25E2 (geometric shapes) are now rasterized
83+ with the built-in sprite font. GH-3344
84+ - vt: Kitty image protocol supports delete by range operations. GH-5957
85+ - vt: ` ctrl+esc ` now produces the proper Kitty keyboard encoding. GH-7000
86+ - vt: clear correct row on index (` \n ` ) operation in certain edge cases.
87+ This fixes a misrender that could happen with the vim status line
88+ in certain scenarios. GH-7093
89+ - vt: clicking on an unfocused window no longer encodes a mouse event. GH-2595
90+
91+ ### macOS
92+
93+ - macOS: Add ` bring_all_to_front ` keybind action to bring all
94+ Ghostty windows to the front. GH-4704
95+ - macOS: Add ` reset_window_size ` keybind action to reset the window
96+ size to its initial configured size. GH-6038
97+ - macOS: Add "Return to Default Size" menu item. GH-1328
98+ - macOS: ` macos-hidden ` configuration will hide Ghostty from the
99+ dock and tab menu. GH-4538
100+ - macOS: Clicking links now uses the ` NSWorkspace ` API rather than
101+ the ` open ` command. This preserves the source application (Ghostty)
102+ which other programs can now use to change their behavior if
103+ desired. GH-5256
104+ - macOS: New option ` padded-notch ` for the existing ` macos-non-native-fullscreen `
105+ configuration to put the non-native fullscreen window below the notch
106+ but still hide the menu bar. GH-5750
107+ - macOS: ` Cmd+h ` (macOS hide window) no longer sends ` h ` if attempting to
108+ hide the last visible window. GH-5929
109+ - macOS: ` maximize ` configuration now works on macOS. GH-5928
110+ - macOS: Title text is vertically centered with ` macos-titlebar-style=tabs ` .
111+ GH-5777
112+ - macOS: focus no longer goes to the first split when toggling
113+ non-native fullscreen. GH-6999
114+ - macOS: the ` close_window ` keybind action now works. GH-7003
115+ - macOS: quick terminal can appear and disappear more reliably
116+ on fullscreen spaces. GH-7070
117+ - macOS: selection off the left edge of the window no longer
118+ scrolls up by one line. GH-7071
119+ - macOS: All split directions are now available in the menubar and
120+ context menus. GH-5807
121+ - macOS: Invoking ` new_tab ` in anyway within the quick terminal now
122+ shows a helpful error rather than creating a new window. Tabs in the
123+ quick terminal will be supported in a future release. GH-5939
124+ - man pages now mention macOS-specific configuration path. GH-5938
125+
126+ ### GTK (Linux, FreeBSD)
127+
128+ - GTK: The quick terminal now works on Linux under Wayland and the
129+ ` wlr-layer-shell ` protocol. GH-4624
130+ - GTK: Audio bell support (default off) can be enabled with
131+ ` bell-features=audio ` and setting ` bell-audio-path ` and
132+ ` bell-audio-volume ` . GH-5326
133+ - GTK: Dynamically choose between ` io_uring ` and ` epoll ` for the
134+ async API on Linux. Previously, this was hardcoded to ` io_uring `
135+ and epoll-only systems had to build from source. GH-5916
136+ - GTK: New config ` async-backend ` can be set to ` epoll ` to force using
137+ epoll instead of io_uring on Linux. This can be useful on kernels where
138+ iowait reporting is broken. GH-5916
139+ - GTK: New config ` window-show-tab-bar ` customizes when the tab bar
140+ is visible. GH-5590
141+ - GTK: ` copy-on-select=clipboard ` no longer causes toast spam while
142+ selecting. The copy only happens when the mouse is released. GH-4800
143+ - GTK: All split directions are now available in the menubar and
144+ context menus. GH-5779
145+ - GTK: Fix an issue where the window would sometimes become blank
146+ and not close after the last tab was closd. GH-5837
147+ - GTK: Resize overlay now uses language-neutral ` w x h ` format
148+ and omits units. GH-6013
149+ - packaging: experimental snap packaging is now tested in CI. The
150+ published snap image is maintained by an external maintainer for now.
151+ GH-3931
152+
153+ ### Changes for Package Maintainers
154+
155+ TODO
156+
157+ ## Roadmap
158+
159+ Ghostty 1.3 will continue the focus of making Ghostty the
160+ [ "best existing terminal emulator"] ( https://mitchellh.com/writing/ghostty-1-0-reflection )
161+ by shipping the last remaining major missing features to achieve
162+ parity with other popular terminal emulators. Namely, we plan on shipping
163+ scrollback search and scrollbars for 1.3, at a minimum.[ ^ 1 ]
164+
165+ The primary focus of Ghostty 1.3 will be on desktop application features
166+ (of which scrollback search and scrollbars are a part). The core terminal
167+ emulation features of Ghostty have already proven to be very feature
168+ rich and stable. However, we plan on continuing to expand our VT feature
169+ support, such as adopting new experimental protocols that have been recently
170+ released into the ecosystem by others.
171+
172+ To answer common requests, ** Windows** and ** libghostty as a
173+ standalone library** are not planned for Ghostty 1.3. These remain part
174+ of the long term roadmap, but we want to focus on our existing platforms
175+ and desktop applications first.
176+
177+ ### Moving to a March/September Release Cycle
178+
179+ Ghostty will move to a 6-month release cycle for major/minor releases,
180+ with the next minor release (1.3.0) planned for March 2026. A March/September
181+ release cycle aligns well with many major Linux distibutions and macOS.
182+ Patch releases (e.g. 1.2.1) will be made as needed on an unscheduled basis.
183+
184+ This is a relatively long release cycle for modern applications, but
185+ let's the development team focus on large, impactful features with enough
186+ time to stabilize in tip releases. For packagers, it avoids the churn of
187+ packaging new releases frequently. And the alignment with major OS releases
188+ let's us ensure we ship major releases that work well on new OS versions.
189+
190+ For users who are interested in more frequent updates, we recommend using
191+ the [ ` tip ` release channel] ( /docs/config/reference#auto-update-channel ) on macOS or
192+ [ building from source] ( /docs/install/release-notes/1-1-0#roadmap ) frequently on Linux.
193+ We have thousands of nightly users (thank you for testing!) and the entire
194+ maintainer team works hard to keep tip releases stable. For the entire 1.1
195+ to 1.2 development cycle, I can't remember tip releases ever being broken
196+ for daily use.
197+
198+ [ ^ 1 ] :
199+ "Parity" here is used loosely to describe the most popular, frequently
200+ used features of other terminal emulators. There is a long tail of features
201+ we'll likely never fully implement (and vice versa for our features).
0 commit comments