# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Changed - Command keybindings on Windows will no longer open new cmd.exe console windows ### Added - MSI installer for Windows is now available - New default key bindings Alt+Home, Alt+End, Alt+PageUp and Alt+PageDown ### Fixed - Fix panic which could occur when quitting Alacritty on Windows if using the Conpty backend - Automatic copying of selection to clipboard when mouse is released outside of Alacritty - Scrollback history live reload only working when shrinking lines - Crash when decreasing scrollback history in config while scrolled in history - Resetting the terminal while in the alt screen will no longer disable scrollback - Cursor jumping around when leaving alt screen while not in the alt screen - Text lingering around when resetting while scrolled up in the history - Terminfo support for extended capabilities - Allow mouse presses and beginning of mouse selection in padding - Windows: Conpty backend could close immediately on startup in certain situations ## Version 0.2.9 ### Changed - Accept fonts which are smaller in width or height than a single pixel ### Fixed - Incorrect font spacing after moving Alacritty between displays ## Version 0.2.8 ### Added - Window class on Wayland is set to `Alacritty` by default - Log file location is stored in the `ALACRITTY_LOG` environment variable - Close button has been added to the error/warning messages ### Changed - Improve scrolling accuracy with devices sending fractional updates (like touchpads) - `scrolling.multiplier` now affects normal scrolling with touchpads - Error/Warning bar doesn't overwrite the terminal anymore - Full error/warning messages are displayed - Config error messages are automatically removed when the config is fixed - Scroll history on Shift+PgUp/PgDown when scrollback history is available ### Fixed - Resolved off-by-one issue with erasing characters in the last column - Excessive polling every 100ms with `live_config_reload` enabled - Unicode characters at the beginning of URLs are now properly ignored - Remove error message when reloading an empty config - Allow disabling URL launching by setting the value of `mouse.url.launcher` to `None` - Corrected the `window.decorations` config documentation for macOS - Fix IME position on HiDPI displays - URLs not opening while terminal is scrolled - Reliably remove log file when Alacritty is closed and persistent logging is disabled - Remove selections when clearing the screen partially (scrolling horizontally in less) - Crash/Freeze when shrinking the font size too far - Documentation of the `--dimensions` flag have been updated to display the correct default ### Removed - `clear` doesn't remove error/warning messages anymore ## Version 0.2.7 ### Fixed - Crash when trying to start Alacritty on Windows ## Version 0.2.6 ### Added - New `alt_send_esc` option for controlling if alt key should send escape sequences ### Changed - All options in the configuration file are now optional ### Removed - Windows and macOS configuration files (`alacritty.yml` is now platform independent) ### Fixed - Replaced `Command` with `Super` in the Linux and Windows config documentation - Prevent semantic and line selection from starting with the right or middle mouse button - Prevent Alacritty from crashing when started on a system without any free space - Resolve issue with high CPU usage after moving Alacritty between displays - Characters will no longer be deleted when using ncurses with the hard tab optimization - Crash on non-linux operating systems when using the `SpawnNewInstance` action ## Version 0.2.5 ### Added - New configuration field `visual_bell.color` allows changing the visual bell color - Crashes on Windows are now also reported with a popup in addition to stderr - Windows: New configuration field `enable_experimental_conpty_backend` which enables support for the Pseudoconsole API (ConPTY) added in Windows 10 October 2018 (1809) update - New mouse and key action `SpawnNewInstance` for launching another instance of Alacritty ### Changed - Log messages are now consistent in style, and some have been removed - Windows configuration location has been moved from %USERPROFILE%\alacritty.yml to %APPDATA%\alacritty\alacritty.yml - Windows default shell is now PowerShell instead of cmd - URL schemes have been limited to http, https, mailto, news, file, git, ssh and ftp ### Fixed - Fix color issue in ncurses programs by updating terminfo pairs from 0x10000 to 0x7FFF - Fix panic after quitting Alacritty on macOS - Tabs are no longer replaced by spaces when copying them to the clipboard - Alt modifier is no longer sent separately from the modified key - Various Windows issues, like color support and performance, through the new ConPTY - Fixed rendering non default mouse cursors in terminal mouse mode (linux) - Fix the `Copy` `mouse_bindings` action ([#1963](https://github.com/jwilm/alacritty/issues/1963)) - URLs are only launched when left-clicking - Removal of extra characters (like `,`) at the end of URLs has been improved - Single quotes (`'`) are removed from URLs when there is no matching opening quote - Precompiled binaries now work with macOS versions before 10.13 (10.11 and above) ## Version 0.2.4 ### Added - Option for evenly spreading extra padding around the terminal (`window.dynamic_padding`) - Option for maximizing alacritty on start (`window.start_maximized`) - Display notice about errors and warnings inside Alacritty - Log all messages to both stderr and a log file in the system's temporary directory - New configuration option `persistent_logging` and CLI flag `--persistent-logging`, for keeping the log file after closing Alacritty - `ClearLogNotice` action for removing the warning and error message - Terminal bells on macOS will now request the user's attention in the window - Alacritty now requests privacy permissions on macOS ### Changed - Extra padding is not evenly spread around the terminal by default anymore - When the config file is empty, Alacritty now logs an info instead of an error message ### Fixed - Fixed a bad type conversion which could cause underflow on a window resize - Alacritty now spawns a login shell on macOS, as with Terminal.app and iTerm2 - Fixed zombie processes sticking around after launching URLs - Zero-width characters are now properly rendered without progressing the cursor ## Version 0.2.3 ### Fixed - Mouse cursor alignment issues and truncated last line caused by incorrect padding calculations ## Version 0.2.2 ### Added - Add support for Windows - Add terminfo capabilities advertising support for changing the window title - Allow using scancodes in the key_bindings section - When `mouse.url.launcher` is set, clicking on URLs will now open them with the specified program - New `mouse.url.modifiers` option to specify keyboard modifiers for opening URLs on click - Binaries for macOS, Windows and Debian-based systems are now published with GitHub releases - The keys F16-F24 have been added as options for key bindings - DEB file adds Alacritty as option to `update-alternatives --config x-terminal-emulator` ### Changed - The `colors.cursor.text` and `colors.cursor.cursor` fields are optional now - Moved `cursor_style` to `cursor.style` - Moved `unfocused_hollow_cursor` to `cursor.unfocused_hollow` - Moved `hide_cursor_when_typing` to `mouse.hide_when_typing` - Mouse bindings now ignore additional modifiers - Extra padding is now spread evenly around the terminal grid - DEB file installs to `usr/bin` instead of `usr/local/bin` ### Removed - The `custom_cursor_colors` config field was deleted, remove the `colors.cursor.*` options to achieve the same behavior as setting it to `false` - The `scale_with_dpi` configuration value has been removed, on Linux the env variable `WINIT_HIDPI_FACTOR=1` can be set instead to disable DPI scaling ### Fixed - Fixed erroneous results when using the `indexed_colors` config option - Fixed rendering cursors other than rectangular with the RustType backend - Selection memory leak and glitches in the alternate screen buffer - Invalid default configuration on macOS and Linux - Middle mouse pasting if mouse mode is enabled - Selections now properly update as you scroll the scrollback buffer while selecting - NUL character at the end of window titles - DPI Scaling when moving windows across monitors - On macOS, issues with Command-[KEY] and Control-Tab keybindings have been fixed - Incorrect number of columns/lines when using the `window.dimensions` option - On Wayland, windows will no longer be spawned outside of the visible region - Resizing of windows without decorations - On Wayland, key repetition works again - On macOS, Alacritty will now use the integrated GPU again when available - On Linux, the `WINIT_HIDPI_FACTOR` environment variable can be set from the config now ## Version 0.2.1 ### Added - Implement the `hidden` escape sequence (`echo -e "\e[8mTEST"`) - Add support for macOS systemwide dark mode - Set the environment variable `COLORTERM="truecolor"` to advertise 24-bit color support - On macOS, there are two new values for the config option `window.decorations`: - `transparent` - This makes the title bar transparent and allows the viewport to extend to the top of the window. - `buttonless` - Similar to transparent but also removed the buttons. - Add support for changing the colors from 16 to 256 in the `indexed_colors` config section - Add `save_to_clipboard` configuration option for copying selected text to the system clipboard - New terminfo entry, `alacritty-direct`, that advertises 24-bit color support - Add support for CSI sequences Cursor Next Line (`\e[nE`) and Cursor Previous Line (`\e[nF`) ### Changed - Inverse/Selection color is now modelled after XTerm/VTE instead of URxvt to improve consistency - First click on unfocused Alacritty windows is no longer ignored on platforms other than macOS - Reduce memory usage significantly by only initializing part of the scrollback buffer at startup - The `alacritty` terminfo entry no longer requires the `xterm` definition to be present on the system - The default `TERM` value is no longer static; the `alacritty` entry is used if available, otherwise the `xterm-256color` entry is used instead ### Removed - The terminfo entry `alacritty-256color`. It is replaced by the `alacritty` entry (which also advertises 256 colors) ### Fixed - Rendering now occurs without the terminal locked which improves performance - Clear screen properly before rendering of content to prevent various graphical glitches - Fix build failure on 32-bit systems - Windows started as unfocused now show the hollow cursor if the setting is enabled - Empty lines in selections are now properly copied to the clipboard - Selection start point lagging behind initial cursor position - Rendering of selections which start above the visible area and end below it ### Deprecated - The config option `window.decorations` should now use `full` or `none` instead of `true` or `false`, respectively. ### Security - Bracketed paste mode now filters escape sequences beginning with \x1b ## Version 0.2.0 ### Added - Add a scrollback history buffer (10_000 lines by default) - CHANGELOG has been added for documenting relevant user-facing changes - Add `ClearHistory` key binding action and the `Erase Saved Lines` control sequence - When growing the window height, Alacritty will now try to load additional lines out of the scrollback history - Support the dim foreground color (`echo -e '\033[2mDimmed Text'`) - Add support for the LCD-V pixel mode (vertical screens) - Pressing enter on the numpad should now insert a newline - The mouse bindings now support keyboard modifiers (shift/ctrl/alt/super) - Add support for the bright foreground color ### Changed - Multiple key/mouse bindings for a single key will now all be executed instead of picking one and ignoring the rest - Improve text scrolling performance (affects applications like `yes`, not scrolling the history) ### Fixed - Clear the visible region when the RIS escape sequence (`echo -ne '\033c'`) is received - Prevent logger from crashing Alacritty when stdout/stderr is not available - Fix a crash when sending the IL escape sequence with a large number of lines