Skip to content

Commit e42c431

Browse files
committed
update 1.2.0 release notes
1 parent fe8e514 commit e42c431

File tree

1 file changed

+195
-1
lines changed

1 file changed

+195
-1
lines changed

docs/install/release-notes/1-2-0.mdx

Lines changed: 195 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)