1# Changelog
2
3All notable changes to Alacritty are documented in this file.
4The sections should follow the order `Packaging`, `Added`, `Changed`, `Fixed` and `Removed`.
5
6The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
7
8## 0.9.0
9
10### Packaging
11
12- Minimum Rust version has been bumped to 1.46.0
13
14### Added
15
16- Support for `ipfs`/`ipns` URLs
17- Mode field for regex hint bindings
18
19### Fixed
20
21- Regression in rendering performance with dense grids since 0.6.0
22- Crash/Freezes with partially visible fullwidth characters due to alt screen resize
23- Incorrect vi cursor position after invoking `ScrollPage*` action
24- Slow PTY read performance with extremely dense grids
25- Crash when resizing during vi mode
26- Unintentional text selection range change after leaving vi mode
27- Deadlock on Windows during high frequency output
28- Search without vi mode not starting at the correct location when scrolled into history
29- Crash when starting a vi mode search from the bottommost line
30- Original scroll position not restored after canceling search
31- Clipboard copy skipping non-empty cells when encountering an interrupted tab character
32- Vi mode cursor moving downward when scrolled in history with active output
33- Crash when moving fullwidth characters off the side of the terminal in insert mode
34- Broken bitmap font rendering with FreeType 2.11+
35- Crash with non-utf8 font paths on Linux
36- Newly installed fonts not rendering until Alacritty restart
37
38## 0.8.0
39
40### Packaging
41
42- Minimum Rust version has been bumped to 1.45.0
43
44### Added
45
46- IME composition preview not appearing on Windows
47- Synchronized terminal updates using `DCS = 1 s ST`/`DCS = 2 s ST`
48- Regex terminal hints ([see features.md](./docs/features.md#hints))
49- macOS keybinding (cmd+alt+H) hiding all windows other than Alacritty
50- Support for `magnet` URLs
51
52### Changed
53
54- The vi mode cursor is now created in the top-left if the terminal cursor is invisible
55- Focused search match will use cell instead of match colors for CellForeground/CellBackground
56- URL highlighting has moved from `mouse.url` to the `hints` config section
57
58### Fixed
59
60- Alacritty failing to start on X11 with invalid DPI reported by XRandr
61- Text selected after search without any match
62- Incorrect vi cursor position after leaving search
63- Clicking on URLs on Windows incorrectly opens File Explorer
64- Incorrect underline cursor thickness on wide cell
65- Viewport moving around when resizing while scrolled into history
66- Block cursor not expanding across fullwidth characters when on the right side of it
67- Overwriting fullwidth characters only clearing one of the involved cells
68
69### Removed
70
71- Config field `visual_bell`, you should use `bell` instead
72
73## 0.7.2
74
75### Packaging
76
77- Updated shell completions
78
79### Fixed
80
81- Crash due to assertion failure on 32-bit architectures
82- Segmentation fault on shutdown with Wayland
83- Incorrect estimated DPR with Wayland
84- Consecutive clipboard stores dropped on Wayland until the application is refocused
85
86## 0.7.1
87
88### Fixed
89
90- Jumping between matches in backward vi search
91
92## 0.7.0
93
94### Added
95
96- Support for `~/` at the beginning of configuration file imports
97- New `cursor.style.blinking` option to set the default blinking state
98- New `cursor.blink_interval` option to configure the blinking frequency
99- Support for cursor blinking escapes (`CSI ? 12 h`, `CSI ? 12 l` and `CSI Ps SP q`)
100- IME support on Windows
101- Urgency support on Windows
102- Customizable keybindings for search
103- History for search mode, bound to ^P/^N/Up/Down by default
104- Default binding to cancel search on Ctrl+C
105- History position indicator for search and vi mode
106
107### Changed
108
109- Nonexistent config imports are ignored instead of raising an error
110- Value for disabling logging with `config.log_level` is `Off` instead of `None`
111- Missing glyph symbols are no longer drawn for zerowidth characters
112
113### Fixed
114
115- Wide characters sometimes being cut off
116- Preserve vi mode across terminal `reset`
117- Escapes `CSI Ps b` and `CSI Ps Z` with large parameters locking up Alacritty
118- Dimming colors which use the indexed `CSI 38 : 5 : Ps m` notation
119- Slow rendering performance with a lot of cells with underline/strikeout attributes
120- Performance of scrolling regions with offset from the bottom
121- Extra mouse buttons are no longer ignored on Wayland
122- Numpad arrow keys are now properly recognized on Wayland
123- Compilation when targetting aarch64-apple-darwin
124- Window not being completely opaque on Windows
125- Window being always on top during alt-tab on Windows
126- Cursor position not reported to apps when mouse is moved with button held outside of window
127- No live config update when starting Alacritty with a broken configuration file
128- PTY not drained to the end with the `--hold` flag enabled
129- High CPU usage on BSD with live config reload enabled
130- Alacritty not discarding invalid escape sequences starting with ESC
131- Crash due to clipboard not being properly released on Wayland
132- Shadow artifacts when resizing transparent windows on macOS
133- Missing glyph symbols not being rendered for missing glyphs on macOS and Windows
134- Underline cursor being obscured by underline
135- Cursor not being rendered with a lot of unicode glyphs visible
136- IME input swallowed after triggering a key binding
137- Crash on Wayland due to non-standard fontconfig configuration
138- Search without vi mode not jumping properly between all matches
139
140### Removed
141
142- The following CLI arguments have been removed in favor of the `--option` flag:
143    * `--persistent-logging`
144    * `--live-config-reload`
145    * `--no-live-config-reload`
146    * `--dimensions`
147    * `--position`
148- `live-shader-reload` feature
149- Config option `dynamic_title`, you should use `window.dynamic_title` instead
150- Config option `scrolling.faux_multiplier`, which was replaced by escape `CSI ? 1007 h/l`
151- WinPTY support on Windows
152
153## 0.6.0
154
155### Packaging
156
157- Minimum Rust version has been bumped to 1.43.0
158- The snapcraft.yaml file has been removed
159- Updated `setab`/`setaf` capabilities in `alacritty-direct` to use colons
160- WinPTY is now enabled only when targeting MSVC
161- Deprecated the WinPTY backend feature, disabling it by default
162
163### Added
164
165- Secondary device attributes escape (`CSI > 0 c`)
166- Support for colon separated SGR 38/48
167- New Ctrl+C binding to cancel search and leave vi mode
168- Escapes for double underlines (`CSI 4 : 2 m`) and underline reset (`CSI 4 : 0 m`)
169- Configuration file option for sourcing other files (`import`)
170- CLI parameter `--option`/`-o` to override any configuration field
171- Escape sequences to report text area size in pixels (`CSI 14 t`) and in characters (`CSI 18 t`)
172- Support for single line terminals dimensions
173- Right clicking on Wayland's client side decorations will show application menu
174- Escape sequences to enable and disable window urgency hints (`CSI ? 1042 h`, `CSI ? 1042 l`)
175
176### Changed
177
178- Cursors are now inverted when their fixed color is similar to the cell's background
179- Use the working directory of the terminal foreground process, instead of the shell's working
180    directory, for `SpawnNewInstance` action
181- Fallback to normal underline for unsupported underline types in `CSI 4 : ? m` escapes
182- The user's background color is now used as the foreground for the render timer
183- Use yellow/red from the config for error and warning messages instead of fixed colors
184- Existing CLI parameters are now passed to instances spawned using `SpawnNewInstance`
185- Wayland's Client side decorations now use the search bar colors
186- Reduce memory usage by up to at least 30% with a full scrollback buffer
187- The number of zerowidth characters per cell is no longer limited to 5
188- `SpawnNewInstance` is now using the working directory of the terminal foreground process on macOS
189
190### Fixed
191
192- Incorrect window location with negative `window.position` config options
193- Slow rendering performance with HiDPI displays, especially on macOS
194- Keys swallowed during search when pressing them right before releasing backspace
195- Crash when a wrapped line is rotated into the last line
196- Selection wrapping to the top when selecting below the error/warning bar
197- Pasting into clients only supporting `UTF8_STRING` mime type on Wayland
198- Crash when copying/pasting with neither pointer nor keyboard focus on Wayland
199- Crash due to fd leak on Wayland
200- IME window position with fullwidth characters in the search bar
201- Selection expanding over 2 characters when scrolled in history with fullwidth characters in use
202- Selection scrolling not starting when mouse is over the message bar
203- Incorrect text width calculation in message bar when the message contains multibyte characters
204- Remapped caps lock to escape not triggering escape bindings on Wayland
205- Crash when setting overly long title on Wayland
206- Switching in and out of various window states, like Fullscreen, not persisting window size on Wayland
207- Crash when providing 0 for `XCURSOR_SIZE` on Wayland
208- Gap between window and server side decorations on KWIN Wayland
209- Wayland's client side decorations not working after tty switch
210- `Fullscreen` startup mode not working on Wayland
211- Window not being rescaled when changing DPR of the current monitor on Wayland
212- Crash in some cases when pointer isn't presented upon startup on Wayland
213- IME not working on Wayland
214- Crash on startup on GNOME since its 3.37.90 version on Wayland
215- Touchpad scrolling scrolled less than it should on macOS/Wayland on scaled outputs
216- Incorrect modifiers at startup on X11
217- `Add` and `Subtract` keys are now named `NumpadAdd` and `NumpadSubtract` respectively
218- Feature checking when cross compiling between different operating systems
219- Crash when writing to the clipboard fails on Wayland
220- Crash with large negative `font.offset.x/y`
221- Visual bell getting stuck on the first frame
222- Zerowidth characters in the last column of the line
223
224## 0.5.0
225
226### Packaging
227
228- Minimum Rust version has been bumped to 1.41.0
229- Prebuilt Linux binaries have been removed
230- Added manpage, terminfo, and completions to macOS application bundle
231- On Linux/BSD the build will fail without Fontconfig installed, instead of building it from source
232- Minimum FreeType version has been bumped to 2.8 on Linux/BSD
233
234### Added
235
236- Default Command+N keybinding for SpawnNewInstance on macOS
237- Vi mode for regex search, copying text, and opening links
238- `CopySelection` action which copies into selection buffer on Linux/BSD
239- Option `cursor.thickness` to set terminal cursor thickness
240- Font fallback on Windows
241- Support for Fontconfig embolden and matrix options
242- Opt-out compilation flag `winpty` to disable WinPTY support
243- Scrolling during selection when mouse is at top/bottom of window
244- Expanding existing selections using single, double and triple click with the right mouse button
245- Support for `gopher` and `gemini` URLs
246- Unicode 13 support
247- Option to run command on bell which can be set in `bell.command`
248- Fallback to program specified in `$SHELL` variable on Linux/BSD if it is present
249- Ability to make selections while search is active
250
251### Changed
252
253- Block cursor is no longer inverted at the start/end of a selection
254- Preserve selection on non-LMB or mouse mode clicks
255- Wayland client side decorations are now based on config colorscheme
256- Low resolution window decoration icon on Windows
257- Mouse bindings for additional buttons need to be specified as a number not a string
258- Don't hide cursor on modifier press with `mouse.hide_when_typing` enabled
259- `Shift + Backspace` now sends `^?` instead of `^H`
260- Default color scheme is now `Tomorrow Night` with the bright colors of `Tomorrow Night Bright`
261- Set IUTF8 termios flag for improved UTF8 input support
262- Dragging files into terminal now adds a space after each path
263- Default binding replacement conditions
264- Adjusted selection clearing granularity to more accurately match content
265- To use the cell's text color for selection with a modified background, the `color.selection.text`
266    variable must now be set to `CellForeground` instead of omitting it
267- URLs are no longer highlighted without a clearly delimited scheme
268- Renamed config option `visual_bell` to `bell`
269- Moved config option `dynamic_title` to `window.dynamic_title`
270- When searching without vi mode, matches are only selected once search is cancelled
271
272### Fixed
273
274- Selection not cleared when switching between main and alt grid
275- Freeze when application is invisible on Wayland
276- Paste from some apps on Wayland
277- Slow startup with Nvidia binary drivers on some X11 systems
278- Display not scrolling when printing new lines while scrolled in history
279- Regression in font rendering on macOS
280- Scroll down escape (`CSI Ps T`) incorrectly pulling lines from history
281- Dim escape (`CSI 2 m`) support for truecolor text
282- Incorrectly deleted lines when increasing width with a prompt wrapped using spaces
283- Documentation for class in `--help` missing information on setting general class
284- Linewrap tracking when switching between primary and alternate screen buffer
285- Preservation of the alternate screen's saved cursor when swapping to primary screen and back
286- Reflow of cursor during resize
287- Cursor color escape ignored when its color is set to inverted in the config
288- Fontconfig's `autohint` and `hinting` options being ignored
289- Ingoring of default FreeType properties
290- Alacritty crashing at startup when the configured font does not exist
291- Font size rounding error
292- Opening URLs while search is active
293
294### Removed
295
296- Environment variable `RUST_LOG` for selecting the log level
297- Deprecated `window.start_maximized` config field
298- Deprecated `render_timer` config field
299- Deprecated `persistent_logging` config field
300
301## 0.4.3
302
303### Fixed
304
305- Tabstops not being reset with `reset`
306- Fallback to `LC_CTYPE=UTF-8` on macOS without valid system locale
307- Resize lag on launch under some X11 wms
308- Increased input latency due to vsync behavior on X11
309- Emoji colors blending with terminal background
310- Fix escapes prematurely terminated by terminators in unicode glyphs
311- Incorrect location when clicking inside an unfocused window on macOS
312- Startup mode `Maximized` on Windows
313- Crash when writing a fullwidth character in the last column with auto-wrap mode disabled
314- Crashing at startup on Windows
315
316## 0.4.2
317
318### Packaging
319
320- Minimum Rust version has been bumped to 1.37.0
321- Added Rust features `x11` and `wayland` to pick backends, with both enabled by default
322- Capitalized the Alacritty.desktop file
323
324### Added
325
326- Live config reload for `window.title`
327
328### Changed
329
330- Pressing additional modifiers for mouse bindings will no longer trigger them
331- Renamed `WINIT_HIDPI_FACTOR` environment variable to `WINIT_X11_SCALE_FACTOR`
332- Print an error instead of crashing, when startup working directory is invalid
333- Line selection will now expand across wrapped lines
334- The default value for `draw_bold_text_with_bright_colors` is now `false`
335- Mirror OSC query terminators instead of always using BEL
336- Increased Beam, Underline, and Hollow Block cursors' line widths
337- Dynamic title is not disabled anymore when `window.title` is set in config
338
339### Fixed
340
341- Incorrect default config path in `--help` on Windows and macOS
342- Semantic selection stopping at full-width glyphs
343- Full-width glyphs cut off in last column
344- Crash when starting on some X11 systems
345- Font size resetting when Alacritty is moved between screens
346- Limited payload length in clipboard escape (used for Tmux copy/paste)
347- Alacritty not ignoring keyboard events for changing WM focus on X11
348- Regression which added a UNC path prefix to the working directory on Windows
349- CLI parameters discarded when config is reload
350- Blurred icons in KDE task switcher (alacritty.ico is now high-res)
351- Consecutive builds failing on macOS due to preexisting `/Application` symlink
352- Block selection starting from first column after beginning leaves the scrollback
353- Incorrect selection status of the first cell when selection is off screen
354- Backwards bracket selection
355- Stack overflow when printing shader creation error
356- Underline position for bitmap fonts
357- Selection rotating outside of scrolling region
358- Throughput performance problems caused by excessive font metric queries
359- Unicode throughput performance on Linux/BSD
360- Resize of bitmap fonts
361- Crash when using bitmap font with `embeddedbitmap` set to `false`
362- Inconsistent fontconfig fallback
363- Handling of OpenType variable fonts
364- Expansion of block-selection on partially selected full-width glyphs
365- Minimize action only works with decorations on macOS
366- Window permanently vanishing after hiding on macOS
367- Handling of URLs with single quotes
368- Parser reset between DCS escapes
369- Parser stopping at unknown DEC private modes/SGR character attributes
370- Block selection appending duplicate newlines when last column is selected
371- Bitmap fonts being a bit smaller than they should be in some cases
372- Config reload creating alternate screen history instead of updating scrollback
373- Crash on Wayland compositors supporting `wl_seat` version 7+
374- Message bar not hiding after fixing wrong color value in config
375- Tabstops cleared on resize
376- Tabstops not breaking across lines
377- Crash when parsing DCS escape with more than 16 parameters
378- Ignoring of slow touchpad scrolling
379- Selection invisible when starting above viewport and ending below it
380- Clipboard not working after TTY switch on Wayland
381- Crash when pasting non UTF-8 string advertised as UTF-8 string on Wayland
382- Incorrect modifiers tracking on X11 and macOS, leading to 'sticky' modifiers
383- Crash when starting on Windows with missing dark mode support
384- Variables `XCURSOR_THEME` and `XCURSOR_SIZE` ignored on Wayland
385- Low resolution mouse cursor and decorations on HiDPI Wayland outputs
386- Decorations visible when in fullscreen on Wayland
387- Window size not persisted correctly after fullscreening on macOS
388- Crash on startup with some locales on X11
389- Shrinking terminal height in alt screen deleting primary screen content
390
391### Removed
392
393- Config option `auto_scroll`, which is now always disabled
394- Config option `tabspaces`, which is now fixed at `8`
395
396## 0.4.1
397
398### Packaging
399
400- Added compatibility logo variants for environments which can't render the default SVG
401
402### Added
403
404- Terminal escape bindings with combined modifiers for Delete and Insert
405- /Applications symlink into OS X DMG for easier installation
406- Colored emojis on Linux/BSD
407- Value `randr` for `WINIT_HIDPI_FACTOR`, to ignore `Xft.dpi` and scale based on screen dimensions
408- `Minimize` key binding action, bound to `cmd + m` on macOS
409
410### Changed
411
412- On Windows, the ConPTY backend will now be used by default if available
413- The `enable_experimental_conpty_backend` config option has been replaced with `winpty_backend`
414
415### Fixed
416
417- URLs not truncated with non-matching single quote
418- Absolute file URLs (`file:///home`) not recognized because of leading `/`
419- Clipboard escape `OSC 52` not working with empty clipboard parameter
420- Direct escape input on Windows using alt
421- Incorrect window size on X11 when waking up from suspend
422- Width of Unicode 11/12 emojis
423- Minimize on windows causing layout issues
424- Performance bottleneck when clearing colored rows
425- Vague startup crash messages on Windows with WinPTY backend
426- Deadlock on Windows when closing Alacritty using the title bar "X" button (ConPTY backend)
427- Crash on `clear` when scrolled up in history
428- Entire screen getting underlined/stroke out when running `clear`
429- Slow startup on some Wayland compositors
430- Padding not consistently visible on macOS
431- Decorations ignoring Windows dark theme
432- Crash on macOS when starting maximized without decorations
433- Resize cursor not showing up on Wayland
434- Maximized windows spawning behind system panel on Gnome Wayland
435
436### Removed
437
438- Support for 8-bit C1 escape sequences
439
440## 0.4.0
441
442### Packaging
443
444- Minimum Rust version has been bumped to 1.36.0
445- Config is not generated anymore, please consider distributing the alacritty.yml as documentation
446- Removed Alacritty terminfo from .deb in favor of ncurses provided one
447
448### Added
449
450- Block selection mode when Control is held while starting a selection
451- Allow setting general window class on X11 using CLI or config (`window.class.general`)
452- Config option `window.gtk_theme_variant` to set GTK theme variant
453- Completions for `--class` and `-t` (short title)
454- Change the mouse cursor when hovering over the message bar and its close button
455- Support combined bold and italic text (with `font.bold_italic` to customize it)
456- Extra bindings for F13-F20
457- Terminal escape bindings with combined modifiers
458- Bindings for ScrollToTop and ScrollToBottom actions
459- `ReceiveChar` key binding action to insert the key's text character
460- New CLI flag `--hold` for keeping Alacritty opened after its child process exits
461- Escape sequence to save and restore window title from stack
462- Alternate scroll escape sequence (`CSI ? 1007 h` / `CSI ? 1007 l`)
463- Print name of launch command if Alacritty failed to execute it
464- Live reload font settings from config
465- UTF-8 mouse mode escape sequence (`CSI ? 1005 h` / `CSI ? 1005 l`)
466- Escape for reading clipboard (`OSC 52 ; <s / p / c> ; ? BEL`)
467- Set selection clipboard (`OSC 52 ; <s / p> ; <BASE64> BEL`)
468
469### Changed
470
471- On Windows, query DirectWrite for recommended anti-aliasing settings
472- Scroll lines out of the visible region instead of deleting them when clearing the screen
473
474### Fixed
475
476- GUI programs launched by Alacritty starting in the background on X11
477- Text Cursor position when scrolling
478- Performance issues while resizing Alacritty
479- First unfullscreen action ignored on window launched in fullscreen mode
480- The window is now filled with the background color before displaying
481- Cells sometimes not getting cleared correctly
482- X11 clipboard hanging when mime type is set
483- On macOS, Alacritty will now fallback to Menlo if a font specified in the config cannot be loaded
484- Debug ref tests are now written to disk regardless of shutdown method
485- Cursor color setting with escape sequence
486- Override default bindings with subset terminal mode match
487- On Linux, respect fontconfig's `embeddedbitmap` configuration option
488- Selecting trailing tab with semantic expansion
489- URL parser incorrectly handling Markdown URLs and angled brackets
490- Intermediate bytes of CSI sequences not checked
491- Wayland clipboard integration
492- Use text mouse cursor when mouse mode is temporarily disabled with shift
493- Wayland primary selection clipboard not storing text when selection is stopped outside of the window
494- Block URL highlight while a selection is active
495- Bindings for Alt + F1-F12
496- Discard scrolling region escape with bottom above top
497- Opacity always applying to cells with their background color matching the teriminal background
498- Allow semicolons when setting titles using an OSC
499- Background always opaque on X11
500- Skipping redraws on PTY update
501- Not redrawing while resizing on Windows/macOS
502- Decorations `none` launching an invisible window on Windows
503- Alacritty turning transparent when opening another window on macOS with chunkwm
504- Startup mode `Maximized` having no effect on Windows
505- Inserting Emojis using `Super+.` or compose sequences on Windows
506- Change mouse cursor depending on mode with Wayland
507- Hide mouse cursor when typing if the `mouse.hide_when_typing` option is set on Wayland
508- Glitches when DPI changes on Windows
509- Crash when resuming after suspension
510- Crash when trying to start on X11 with a Wayland compositor running
511- Crash with a virtual display connected on X11
512- Use `\` instead of `\\` as path separators on Windows for logging config file location
513- Underline/strikeout drawn above visual bell
514- Terminal going transparent during visual bell
515- Selection not being cleared when sending chars through a binding
516- Mouse protocols/encodings not being mutually exclusive within themselves
517- Escape `CSI Ps M` deleting lines above cursor when at the bottom of the viewport
518- Cell reset not clearing underline, strikeout and foreground color
519- Escape `CSI Ps c` honored with a wrong `Ps`
520- Ignore `ESC` escapes with invalid intermediates
521- Blank lines after each line when pasting from GTK apps on Wayland
522
523### Removed
524
525- Bindings for Super/Command + F1-F12
526- Automatic config generation
527- Deprecated `scrolling.faux_multiplier`, the alternate scroll escape can now be used to disable it
528    and `scrolling.multiplier` controls the number of scrolled lines
529
530## 0.3.3
531
532### Packaging
533
534- Add appstream metadata, located at /extra/linux/io.alacritty.Alacritty.xml
535- The xclip dependency has been removed
536- On macOS, Alacritty now requests NSSystemAdministrationUsageDescription to
537   avoid permission failures
538- Minimum Rust version has been bumped to 1.32.0
539
540### Added
541
542- Added ToggleFullscreen action
543- On macOS, there's a ToggleSimpleFullscreen action which allows switching to
544    fullscreen without occupying another space
545- A new window option `window.startup_mode` which controls how the window is created
546- `_NET_WM_ICON` property is set on X11 now, allowing for WMs to show icons in titlebars
547- Current Git commit hash to `alacritty --version`
548- Config options `window.title` and `window.class`
549- Config option `working_directory`
550- Config group `debug` with the options `debug.log_level`, `debug.print_events`
551    and `debug.ref_test`
552- Select until next matching bracket when double-clicking a bracket
553- Added foreground/background escape code request sequences
554- Escape sequences now support 1, 3, and 4 digit hex colors
555
556### Changed
557
558- On Windows, Alacritty will now use the native DirectWrite font API
559- The `start_maximized` window option is now `startup_mode: Maximized`
560- Cells with identical foreground and background will now show their text upon selection/inversion
561- Default Window padding to 0x0
562- Moved config option `render_timer` and `persistent_logging` to the `debug` group
563- When the cursor is in the selection, it will be inverted again, making it visible
564
565### Fixed
566
567- Double-width characters in URLs only being highlit on the left half
568- PTY size not getting updated when message bar is shown
569- Text Cursor disappearing
570- Incorrect positioning of zero-width characters over double-width characters
571- Mouse mode generating events when the cell has not changed
572- Selections not automatically expanding across double-width characters
573- On macOS, automatic graphics switching has been enabled again
574- Text getting recognized as URLs without slashes separating the scheme
575- URL parser dropping trailing slashes from valid URLs
576- UTF-8 BOM skipped when reading config file
577- Terminfo backspace escape sequence (`kbs`)
578
579### Removed
580
581- Deprecated `mouse.faux_scrollback_lines` config field
582- Deprecated `custom_cursor_colors` config field
583- Deprecated `hide_cursor_when_typing` config field
584- Deprecated `cursor_style` config field
585- Deprecated `unfocused_hollow_cursor` config field
586- Deprecated `dimensions` config field
587
588## Version 0.3.2
589
590### Fixed
591
592- Panic on startup when using Conpty on Windows
593
594## Version 0.3.1
595
596### Added
597
598- Added ScrollLineUp and ScrollLineDown actions for scrolling line by line
599- Native clipboard support on X11 and Wayland
600
601### Changed
602
603- Alacritty now has a fixed minimum supported Rust version of 1.31.0
604
605### Fixed
606
607- Reset scrolling region when the RIS escape sequence is received
608- Subprocess spawning on macos
609- Unnecessary resize at startup
610- Text getting blurry after live-reloading shaders with padding active
611- Resize events are not send to the shell anymore if dimensions haven't changed
612- Minor performance issues with underline and strikeout checks
613- Rare bug which would extend underline and strikeout beyond the end of line
614- Cursors not spanning two lines when over double-width characters
615- Incorrect cursor dimensions if the font offset isn't `0`
616
617## Version 0.3.0
618
619### Packaging
620
621- On Linux, the .desktop file now uses `Alacritty` as icon name, which can be
622    found at `extra/logo/alacritty-term.svg`
623
624### Added
625
626- MSI installer for Windows is now available
627- New default key bindings Alt+Home, Alt+End, Alt+PageUp and Alt+PageDown
628- Dynamic title support on Windows
629- Ability to specify starting position with the `--position` flag
630- New configuration field `window.position` allows specifying the starting position
631- Added the ability to change the selection color
632- Text will reflow instead of truncating when resizing Alacritty
633- Underline text and change cursor when hovering over URLs with required modifiers pressed
634
635### Changed
636
637- Clicking on non-alphabetical characters in front of URLs will no longer open them
638- Command keybindings on Windows will no longer open new cmd.exe console windows
639- On macOS, automatic graphics switching has been temporarily disabled due to a macos bug
640
641### Fixed
642
643- Fix panic which could occur when quitting Alacritty on Windows if using the Conpty backend
644- Automatic copying of selection to clipboard when mouse is released outside of Alacritty
645- Scrollback history live reload only working when shrinking lines
646- Crash when decreasing scrollback history in config while scrolled in history
647- Resetting the terminal while in the alt screen will no longer disable scrollback
648- Cursor jumping around when leaving alt screen while not in the alt screen
649- Text lingering around when resetting while scrolled up in the history
650- Terminfo support for extended capabilities
651- Allow mouse presses and beginning of mouse selection in padding
652- Windows: Conpty backend could close immediately on startup in certain situations
653- FreeBSD: SpawnNewInstance will now open new instances in the shell's current
654    working directory as long as linprocfs(5) is mounted on `/compat/linux/proc`
655- Fix lingering Alacritty window after child process has exited
656- Growing the terminal while scrolled up will no longer move the content down
657- Support for alternate keyboard layouts on macOS
658- Slow startup time on some X11 systems
659- The AltGr key no longer sends escapes (like Alt)
660- Fixes increase/decrease font-size keybindings on international keyboards
661- On Wayland, the `--title` flag will set the Window title now
662- Parsing issues with URLs starting in the first or ending in the last column
663- URLs stopping at double-width characters
664- Fix `start_maximized` option on X11
665- Error when parsing URLs ending with Unicode outside of the ascii range
666- On Windows, focusing a Window will no longer start a selection
667
668## Version 0.2.9
669
670### Changed
671
672- Accept fonts which are smaller in width or height than a single pixel
673
674### Fixed
675
676- Incorrect font spacing after moving Alacritty between displays
677
678## Version 0.2.8
679
680### Added
681
682- Window class on Wayland is set to `Alacritty` by default
683- Log file location is stored in the `ALACRITTY_LOG` environment variable
684- Close button has been added to the error/warning messages
685
686### Changed
687
688- Improve scrolling accuracy with devices sending fractional updates (like touchpads)
689- `scrolling.multiplier` now affects normal scrolling with touchpads
690- Error/Warning bar doesn't overwrite the terminal anymore
691- Full error/warning messages are displayed
692- Config error messages are automatically removed when the config is fixed
693- Scroll history on Shift+PgUp/PgDown when scrollback history is available
694
695### Fixed
696
697- Resolved off-by-one issue with erasing characters in the last column
698- Excessive polling every 100ms with `live_config_reload` enabled
699- Unicode characters at the beginning of URLs are now properly ignored
700- Remove error message when reloading an empty config
701- Allow disabling URL launching by setting the value of `mouse.url.launcher` to `None`
702- Corrected the `window.decorations` config documentation for macOS
703- Fix IME position on HiDPI displays
704- URLs not opening while terminal is scrolled
705- Reliably remove log file when Alacritty is closed and persistent logging is disabled
706- Remove selections when clearing the screen partially (scrolling horizontally in less)
707- Crash/Freeze when shrinking the font size too far
708- Documentation of the `--dimensions` flag have been updated to display the correct default
709
710### Removed
711
712- `clear` doesn't remove error/warning messages anymore
713
714## Version 0.2.7
715
716### Fixed
717
718- Crash when trying to start Alacritty on Windows
719
720## Version 0.2.6
721
722### Added
723
724- New `alt_send_esc` option for controlling if alt key should send escape sequences
725
726### Changed
727
728- All options in the configuration file are now optional
729
730### Fixed
731
732- Replaced `Command` with `Super` in the Linux and Windows config documentation
733- Prevent semantic and line selection from starting with the right or middle mouse button
734- Prevent Alacritty from crashing when started on a system without any free space
735- Resolve issue with high CPU usage after moving Alacritty between displays
736- Characters will no longer be deleted when using ncurses with the hard tab optimization
737- Crash on non-linux operating systems when using the `SpawnNewInstance` action
738
739### Removed
740
741- Windows and macOS configuration files (`alacritty.yml` is now platform independent)
742
743## Version 0.2.5
744
745### Added
746
747- New configuration field `visual_bell.color` allows changing the visual bell color
748- Crashes on Windows are now also reported with a popup in addition to stderr
749- Windows: New configuration field `enable_experimental_conpty_backend` which enables support
750    for the Pseudoconsole API (ConPTY) added in Windows 10 October 2018 (1809) update
751- New mouse and key action `SpawnNewInstance` for launching another instance of Alacritty
752
753### Changed
754
755- Log messages are now consistent in style, and some have been removed
756- Windows configuration location has been moved from %USERPROFILE%\alacritty.yml
757    to %APPDATA%\alacritty\alacritty.yml
758- Windows default shell is now PowerShell instead of cmd
759- URL schemes have been limited to http, https, mailto, news, file, git, ssh and ftp
760
761### Fixed
762
763- Fix color issue in ncurses programs by updating terminfo pairs from 0x10000 to 0x7FFF
764- Fix panic after quitting Alacritty on macOS
765- Tabs are no longer replaced by spaces when copying them to the clipboard
766- Alt modifier is no longer sent separately from the modified key
767- Various Windows issues, like color support and performance, through the new ConPTY
768- Fixed rendering non default mouse cursors in terminal mouse mode (linux)
769- Fix the `Copy` `mouse_bindings` action ([#1963](https://github.com/alacritty/alacritty/issues/1963))
770- URLs are only launched when left-clicking
771- Removal of extra characters (like `,`) at the end of URLs has been improved
772- Single quotes (`'`) are removed from URLs when there is no matching opening quote
773- Precompiled binaries now work with macOS versions before 10.13 (10.11 and above)
774
775## Version 0.2.4
776
777### Added
778
779- Option for evenly spreading extra padding around the terminal (`window.dynamic_padding`)
780- Option for maximizing alacritty on start (`window.start_maximized`)
781- Display notice about errors and warnings inside Alacritty
782- Log all messages to both stderr and a log file in the system's temporary directory
783- New configuration option `persistent_logging` and CLI flag `--persistent-logging`,
784    for keeping the log file after closing Alacritty
785- `ClearLogNotice` action for removing the warning and error message
786- Terminal bells on macOS will now request the user's attention in the window
787- Alacritty now requests privacy permissions on macOS
788
789### Changed
790
791- Extra padding is not evenly spread around the terminal by default anymore
792- When the config file is empty, Alacritty now logs an info instead of an error message
793
794### Fixed
795
796- Fixed a bad type conversion which could cause underflow on a window resize
797- Alacritty now spawns a login shell on macOS, as with Terminal.app and iTerm2
798- Fixed zombie processes sticking around after launching URLs
799- Zero-width characters are now properly rendered without progressing the cursor
800
801## Version 0.2.3
802
803### Fixed
804
805- Mouse cursor alignment issues and truncated last line caused by incorrect padding calculations
806
807## Version 0.2.2
808
809### Added
810
811- Add support for Windows
812- Add terminfo capabilities advertising support for changing the window title
813- Allow using scancodes in the key_bindings section
814- When `mouse.url.launcher` is set, clicking on URLs will now open them with the specified program
815- New `mouse.url.modifiers` option to specify keyboard modifiers for opening URLs on click
816- Binaries for macOS, Windows and Debian-based systems are now published with GitHub releases
817- The keys F16-F24 have been added as options for key bindings
818- DEB file adds Alacritty as option to `update-alternatives --config x-terminal-emulator`
819
820### Changed
821
822- The `colors.cursor.text` and `colors.cursor.cursor` fields are optional now
823- Moved `cursor_style` to `cursor.style`
824- Moved `unfocused_hollow_cursor` to `cursor.unfocused_hollow`
825- Moved `hide_cursor_when_typing` to `mouse.hide_when_typing`
826- Mouse bindings now ignore additional modifiers
827- Extra padding is now spread evenly around the terminal grid
828- DEB file installs to `usr/bin` instead of `usr/local/bin`
829
830### Fixed
831
832- Fixed erroneous results when using the `indexed_colors` config option
833- Fixed rendering cursors other than rectangular with the RustType backend
834- Selection memory leak and glitches in the alternate screen buffer
835- Invalid default configuration on macOS and Linux
836- Middle mouse pasting if mouse mode is enabled
837- Selections now properly update as you scroll the scrollback buffer while selecting
838- NUL character at the end of window titles
839- DPI Scaling when moving windows across monitors
840- On macOS, issues with Command-[KEY] and Control-Tab keybindings have been fixed
841- Incorrect number of columns/lines when using the `window.dimensions` option
842- On Wayland, windows will no longer be spawned outside of the visible region
843- Resizing of windows without decorations
844- On Wayland, key repetition works again
845- On macOS, Alacritty will now use the integrated GPU again when available
846- On Linux, the `WINIT_HIDPI_FACTOR` environment variable can be set from the config now
847
848### Removed
849
850- The `custom_cursor_colors` config field was deleted, remove the `colors.cursor.*` options
851  to achieve the same behavior as setting it to `false`
852- The `scale_with_dpi` configuration value has been removed, on Linux the env
853    variable `WINIT_HIDPI_FACTOR=1` can be set instead to disable DPI scaling
854
855## Version 0.2.1
856
857### Added
858
859- Implement the `hidden` escape sequence (`echo -e "\e[8mTEST"`)
860- Add support for macOS systemwide dark mode
861- Set the environment variable `COLORTERM="truecolor"` to advertise 24-bit color support
862- On macOS, there are two new values for the config option `window.decorations`:
863    - `transparent` - This makes the title bar transparent and allows the
864        viewport to extend to the top of the window.
865    - `buttonless` - Similar to transparent but also removed the buttons.
866- Add support for changing the colors from 16 to 256 in the `indexed_colors` config section
867- Add `save_to_clipboard` configuration option for copying selected text to the system clipboard
868- New terminfo entry, `alacritty-direct`, that advertises 24-bit color support
869- Add support for CSI sequences Cursor Next Line (`\e[nE`) and Cursor Previous Line (`\e[nF`)
870
871### Changed
872
873- Inverse/Selection color is now modelled after XTerm/VTE instead of URxvt to improve consistency
874- First click on unfocused Alacritty windows is no longer ignored on platforms other than macOS
875- Reduce memory usage significantly by only initializing part of the scrollback buffer at startup
876- The `alacritty` terminfo entry no longer requires the `xterm` definition to be
877  present on the system
878- The default `TERM` value is no longer static; the `alacritty` entry is used if
879  available, otherwise the `xterm-256color` entry is used instead
880- The values `true` and `false` for the config option `window.decorations` have been replaced with
881    `full` and `none`
882
883### Fixed
884
885- Rendering now occurs without the terminal locked which improves performance
886- Clear screen properly before rendering of content to prevent various graphical glitches
887- Fix build failure on 32-bit systems
888- Windows started as unfocused now show the hollow cursor if the setting is enabled
889- Empty lines in selections are now properly copied to the clipboard
890- Selection start point lagging behind initial cursor position
891- Rendering of selections which start above the visible area and end below it
892- Bracketed paste mode now filters escape sequences beginning with \x1b
893
894### Removed
895
896- The terminfo entry `alacritty-256color`. It is replaced by the `alacritty`
897  entry (which also advertises 256 colors)
898
899## Version 0.2.0
900
901### Added
902
903- Add a scrollback history buffer (10_000 lines by default)
904- CHANGELOG has been added for documenting relevant user-facing changes
905- Add `ClearHistory` key binding action and the `Erase Saved Lines` control sequence
906- When growing the window height, Alacritty will now try to load additional lines out of the
907  scrollback history
908- Support the dim foreground color (`echo -e '\033[2mDimmed Text'`)
909- Add support for the LCD-V pixel mode (vertical screens)
910- Pressing enter on the numpad should now insert a newline
911- The mouse bindings now support keyboard modifiers (shift/ctrl/alt/super)
912- Add support for the bright foreground color
913- Support for setting foreground, background colors in one escape sequence
914
915### Changed
916
917- Multiple key/mouse bindings for a single key will now all be executed instead of picking one and
918  ignoring the rest
919- Improve text scrolling performance (affects applications like `yes`, not scrolling the history)
920
921### Fixed
922
923- Clear the visible region when the RIS escape sequence (`echo -ne '\033c'`) is received
924- Prevent logger from crashing Alacritty when stdout/stderr is not available
925- Fix a crash when sending the IL escape sequence with a large number of lines
926