1
1
mirror of https://github.com/wez/wezterm.git synced 2024-09-21 11:50:42 +03:00
wezterm/docs/changelog.markdown

245 lines
15 KiB
Markdown
Raw Normal View History

## Changes
Releases are named using the date, time and git commit
hash.
### Nightly
A bleeding edge build is produced continually (at least
daily) from the master branch. It may not be usable and
the feature set may change. As features stabilize some
brief notes about them may accumulate here.
* Fixed default mapping of ambiguous ctrl key combinations (`i`, `m`, `[`, `{`,
`@`) so that they emit the old school tab, newline, escape etc. values.
These got broken as part of prototyping CSI-u support a while back.
* Added option to enable CSI-u key encodings. This is a new mapping scheme
defined here <http://www.leonerd.org.uk/hacks/fixterms/> that disambiguates
and otherwise enables more key binding combinations. You can enable this
setting using `enable_csi_u_key_encoding = true` in your config file.
* Very early support for sixel graphics
* macos: `use_ime` now defaults to false; this is a better out of
the box experience for most users.
* macos: we now attempt to set a reasonable default LANG environment based
on the locale settings at the time that wezterm is launched.
* macos: introduce `send_composed_key_when_left_alt_is_pressed` and
`send_composed_key_when_right_alt_is_pressed` boolean config settings. Like
the existing `send_composed_key_when_alt_is_pressed` option, these control
whether the `Alt` or `Option` modifier produce composed output or generate
the raw key position with the ALT modifier applied. The difference from the
existing config option is that on systems where Left and Right Alt can be
distinguished you now have the ability to control this behavior
independently. The default behavior on these systems is
`send_composed_key_when_left_alt_is_pressed=false` and
`send_composed_key_when_right_alt_is_pressed=true` so that the right Alt key
behaves more like an `AltGr` key and generates the composed input, while the
Left Alt is regular uncomposed Alt.
* Fonts: fixed an issue where specifying italic or bold in the second parameter
of `wezterm.font` didn't work as intended or documented
* Improved terminal emulation conformance; added left/right margin support
and now passes [esctest](https://gitlab.freedesktop.org/terminal-wg/esctest)
to a similar degree as iTerm2
2020-06-08 00:34:16 +03:00
2020-06-08 00:47:55 +03:00
### 20200607-144723-74889cd4
2020-06-08 00:34:16 +03:00
* Windows: Fixed AltGr handling for European layouts
* X11: Added `PastePrimarySelection` key assignment that pastes the contents
of the primary selection rather than the clipboard.
* Removed old TOML config file parsing code
* Removed old `arg="something"` key binding parameter. This was a remnant from
the TOML based configuration. You're unlikely to notice this unless you
followed an example from the docs; migrate instead to using eg:
`action=wezterm.action{ActivateTab=i-1}` to pass the integer argument.
* Windows: now also available with a setup.exe installer. The installer
enables "Open WezTerm Here" in the explorer.exe context menu.
* Added `ClearScrollback` key assignment to clear the scrollback. This is bound to CMD-K and CTRL-SHIFT-K by default.
* Added `Search` key assignment to search the scrollback. Read the new
[scrollback](scrollback.html) section for more information!
* Fixed an issue where ALT+number would send the wrong output for European
keyboard layouts on macOS and Linux. As part of this the default behavior
has changed: we used to force ALT+number to produce ALT+number instead of
the composed key for that layout. We now emit the composed key by default.
You can switch to the old behavior either by explicitly binding those keys
or by setting `send_composed_key_when_alt_is_pressed = false` in your
configuration file.
* Windows: the launcher menu now automatically lists out any WSL environments
2020-06-06 22:01:02 +03:00
you have installed so that you can quickly spawn a shell in any of them.
You can suppress this behavior if you wish by setting
`add_wsl_distributions_to_launch_menu = false`.
2020-06-06 20:14:30 +03:00
[Read more about the launcher menu](config/launch.html#the-launcher-menu)
2020-06-05 18:07:46 +03:00
* Added `ActivateCopyMode` key assignment to put the tab into mouseless-copy
mode; [use the keyboard to define the selected text region](copymode.html).
This is bound to CTRL-SHIFT-X by default.
2020-05-17 22:34:07 +03:00
### 20200517-122836-92c201c6
2020-05-16 22:45:20 +03:00
* AppImage: Support looking for configuration in `WezTerm.AppImage.config` and
`WezTerm.AppImage.home` to support portable thumbdrive use of wezterm on
linux systems
* We now check the github releases section for updated stable releases and show
a simple UI to let you know about the update, with links to download/install
it. We don't automatically download the release: just make a small REST API
call to github. There is no data collection performed by the wezterm project
as part of this. We check once every 24 hours. You can set
`check_for_updates = false` in your config to disable this completely if
desired, or set `check_for_updates_interval_seconds` to an alternative update
interval.
* Added support for OSC 110-119 to reset dynamic colors, improving our support for Neovim.
* Change OSC rendering to use the long-form `ST` sequence `ESC \` rather than
the more convenient alternative `BEL` representation, which was not
recognized by Neovim when querying for color information.
2020-05-17 21:57:33 +03:00
* Fixed Shift-Tab key on X11 and Wayland
* WezTerm is now also available to Windows users via [Scoop](https://scoop.sh/)
### 20200503-171512-b13ef15f
* Added the `launch_menu` configuration for the launcher menu
as described in [Launching Programs](config/launch.html).
* Fixed a crash when reloading a config with `enable_tab_bar=false`
* Fixed missing icon when running under X11 and Wayland
* Wayland client-side-decorations improved and now also render window title
* Implicitly SGR reset when switching alt and primary screen
* Improved config error reporting UI: we now show just a single
window with all errors rather than one window per failed reload.
2020-04-07 01:25:46 +03:00
### 20200406-151651-5b700e4
* Added lua based configuration. Reading TOML configuration will be rapidly
phased out in favor of the more flexible lua config; for now, both are
supported, but new features may not be available via TOML.
* Added launcher overlay. Right click the `+` button on the tab bar or
bind a key to `ShowLauncher` to activate it. It allows spawning tabs in
various domains as well as attaching multiplexer sessions that were not
connected automatically at startup.
* Windows: we now support mouse reporting on Windows native ptys. For this to
work, `conpty.dll` and `OpenConsole.exe` must be present alongside `wezterm.exe`
when starting wezterm.
* Added `initial_rows` and `initial_cols` config options to set the starting
size of new terminal windows
* Added `hide_tab_bar_if_only_one_tab = true` config option to hide the tab
bar when the window contains only a single tab.
* Added `HideApplication` key action (defaults to `CMD-H` on macOS only) which
hides the wezterm application. This is macOS specific.
* Added `QuitApplication` key action which causes the gui loop to terminate
and the application to exit. This is not bound by default, but you may
choose to assign it to something like `CMD-Q`.
* Added `set_environment_variables` configuration section to allow defining
some environment variables to be passed to your shell.
2020-04-07 01:25:46 +03:00
* Improved connectivity UI that shows ssh and mux connection progress/status
* Fixed a bug where the baud rate was not applied when opening a serial port
* Added predictive local echo to the multiplexer for higher latency connections
* We now grey out the UI for lagging multiplexer connections
* Set an upper bound on the memory usage for multiplexer connections
2020-02-03 05:17:31 +03:00
### 20200202-181957-765184e5
2020-02-03 05:17:31 +03:00
* Improved font shaping performance 2-3x by adding a shaper cache
* Windows: now has support for TLS based multiplexer connections
* Multiplexer: TLS multiplexer can now be bootstrapped via SSH, and automatically
manages certificates
* Unix: We now default to spawning shells with the `-l` argument to request a login
shell. This is important on macOS where the default GUI environment doesn't
source a working PATH from the shell, resulting in an anemic PATH unless the
user has taken care to cover this in their shell startup. `-l` works to enable
a login shell in `zsh`, `bash`, `fish` and `tcsh`. If it doesn't work with your
shell, you can use the `default_prog` configuration option to override this.
2020-01-26 23:46:15 +03:00
* We now accept `rgb:XX/XX/XX` color syntax for OSC 4 and related escape
sequences; previously only `#XXXXXX` and named colors were accepted.
* We now accept OSC 104 to reset custom colors to their defaults.
* Added Tab Navigator overlay for folks that hoard tabs; it presents
an interactive UI for selecting and activating a tab from a vertically
oriented list. This is bound to `Alt-9` by default.
* Added support for DEC Origin Mode (`DECOM`) which improves cursor positioning
with some applications
* Added support for DEC AutoWrap Mode (`DECAWM`) which was previously always on.
This improves rendering for applications that explicitly disable it.
* We now show a connection status window while establishing MUX and SSH connections.
The status window is also where any interactive authentication is carried out
for eg: SSH sessions.
* Improved SSH authentication handling; we now give you a few opportunities to
authenticate and are now able to successfully authenticate with sites that
have configured 2-Factor authentication in their server side SSH configuration.
* Fixed an issue where SHIFT-Space would swallow the space key.
* Nightly builds are now available for Linux in [AppImage](https://github.com/wez/wezterm/releases/download/nightly/WezTerm-nightly.AppImage) format.
* Shift+Left Mouse button can now be used to extend the selection to the clicked location. This is particularly helpful when you want to select something that is larger than the viewport.
* Windows: a single mouse wheel tick now scrolls by the number of positions configured in the Windows system settings (default 3)
* Windows: fixed IME position when the tab bar is enabled
* Windows: removed support for WinPty, which was too difficult to obtain, configure and use.
* Configuration errors now show in a separate window on startup, or when the configuration is reloaded
* Improved reliability and performance of MUX sessions, although they still have room for further improvement
2020-01-14 09:20:53 +03:00
### 20200113-214446-bb6251f
* Added `color_scheme` configuration option and more than 200 color schemes
* Improved resize behavior; lines that were split due to
the width of the terminal are now rewrapped on resize.
[Issue 14](https://github.com/wez/wezterm/issues/14)
* Double-click and triple-click and hold followed by a drag now extends
the selection by word and line respectively.
* The OSC 7 (CurrentWorkingDirectory) escape sequence is now supported; wezterm records the cwd in a tab and that will be used to set the working directory when spawning new tabs in the same domain. You will need to configure your shell to emit OSC 7 when appropriate.
* [Changed Backspace/Delete handling](https://github.com/wez/wezterm/commit/f0e94084d1df36009b879b06e9cfd2be946168e8)
* Added `MoveTabRelative` for changing the ordering of tabs within a window
using key assignments `CTRL+SHIFT+PageUp` and `CTRL+SHIFT+PageDown`
* [The multiplexer protocol is undergoing major changes](https://github.com/wez/wezterm/issues/106).
2020-01-14 09:20:53 +03:00
The multiplexer will now raise an error if the client and server are incompatible.
* Fixed an issue where wezterm would linger for a few seconds after the last tab was closed
* Fixed an issue where wezterm wouldn't repaint the screen after a tab was closed
* Clicking the OS window close button in the titlebar now closes the window rather than the active tab
* Added `use_ime` option to optionally disable the use of the IME on macOS. You might consider enabling this if you don't like the way that the IME swallows key repeats for some keys.
* Fix an [issue](https://github.com/knsd/daemonize/pull/39) where the pidfile would leak into child processes and block restarting the mux server
* Fix an issue where the title bars of remote tabs were not picked up at domain attach time
* Fixed selection and scrollbar position for multiplexer tabs
* Added `ScrollByPage` key assignment and moved the `SHIFT+PageUp` handling up to the
gui layer so that it can be rebound.
* X11: a single mouse wheel tick now scrolls by 5 rows rather than 1
* Wayland: normalize line endings to unix line endings when pasting
* Windows: fixed handling of focus related messages, which impacted both the appearance of
the text cursor and copy and paste handling.
* When hovering over implicitly hyperlinked items, we no longer show the underline for every other URL with the same destination
2019-12-30 06:42:33 +03:00
### 20191229-193639-e7aa2f3
2019-12-30 06:42:33 +03:00
* Fixed a hang when using middle mouse button to paste
* Recognize 8-bit C1 codes encoded as UTF-8, which are used in the Fedora 31 bash prexec notification for gnome terminal
* Ensure that underlines are a minimum of 1 pixel tall
* Reduced CPU utilization on some Wayland compositors
* Added `$WEZTERM_CONFIG_FILE` to the start of the config file search path
* Added new font rendering options:
```
font_antialias = "Subpixel" # None, Greyscale, Subpixel
font_hinting = "Full" # None, Vertical, VerticalSubpixel, Full
```
* Early startup errors now generate a "toast" notification, giving you more of a clue about what went wrong
* We now use the default configuration if the config file had errors, rather than refusing to start
* Wayland compositors: Improved detection of display scaling on startup
* Added `harfuzz_features` option to specify stylistic sets for fonts such as Fira Code, and to control various typographical options
* Added a `window_padding` config section to add padding to the window display
* We now respect [DECSCUSR and DECTCEM](https://github.com/wez/wezterm/issues/7) escape sequence to select between hidden, block, underline and bar cursor types, as well as blinking cursors. New configuration options have been added to control the appearance and blink rate.
* We now support an optional basic scroll bar. The scroll bar occupies the right window padding and has a configurable color. Scroll bars are not yet supported for multiplexer connections and remain disabled by default for the moment.
* Color scheme changes made in the config file now take effect at config reload time for all tabs that have not applied a dynamic color scheme.
### 20191218-101156-bf35707
* Configuration errors detected during config loading are now shown as a system notification
* New `font_dirs` configuration option to specify a set of dirs to search for fonts. Useful for self-contained wezterm deployments.
* The `font_system` option has been split into `font_locator`, `font_shaper` and `font_rasterizer` options.
* Don't allow child processes to inherit open font files on posix systems!
* Disable Nagle's algorithm for `wezterm ssh` sessions
* Add native Wayland window system support
### 20191124-233250-cb9fd7d
* New tab bar UI displays tabs and allows creating new tabs
* Configuration file changes are hot reloaded and take effect automatically on save
* `wezterm ssh user@host` for ad-hoc SSH sessions. You may also define SSH multiplexer sessions.
* `wezterm serial /dev/ttyUSB0` to connect to your Arduino
* `wezterm imgcat /some/image.png` to display images inline in the terminal using the iTerm2 image protocol
* IME support on macOS and Windows systems
* Automatic fallback to software rendering if no GPU is available (eg: certain types of remote desktop sessions)