- New: split/pane support!
CTRL+SHIFT+ALT+"
to SplitVertical, andCTRL+SHIFT+ALT+%
to SplitHorizontal. - New: LEADER modifier key support
- New:
window_background_opacity
andwindow_background_image
options to control using background images, transparent windows. More info - New color schemes:
Dracula+
,Gruvbox Light
,MaterialDarker
,Overnight Slumber
,Popping and Locking
,Rapture
,jubi
,nord
. - New: expanded lua API allows handling URI clicks and keyboard events with lua callbacks. See wezterm.on docs.
- The GUI layer now normalizes SHIFT state for keyboard processing. If a keypress is ASCII uppercase and SHIFT is held then the SHIFT modifier is removed from the set of active modifiers. This has implications for your key assignment configuration; previously you would write
{key="T", mods="CTRL|SHIFT"}
, after updating to this release you need to write{key="T", mods="CTRL"}
in order for your key bindings to take effect. - Added
show_tab_index_in_tab_bar
option which defaults to true. Causes the tab's ordinal index to be prefixed to tab titles. The displayed number is 1-based. You can settab_and_split_indices_are_zero_based=true
if you prefer the number to be zero based. - On Linux and macOS systems, wezterm can now attempt to guess the current working directory that should be set in newly spawned local panes/tabs, in case you don't have OSC 7 integration setup in your shell.
- We now bundle JetBrains Mono and use it as the default font, and add it as a default fallback font. Similarly, we also bundle Noto Color Emoji as a default fallback for emoji.
- Added
automatically_reload_config=false
option to disable automatic config reloading. When set to false, you will need to manually trigger a config reload (default:SUPER+R
orCTRL+SHIFT+R
) CloseCurrentTab
now requires aconfirm
parameter.- Halved the memory usage requirements per Cell in the common case (saving 32 bytes per cell), which gives more headroom for users with large scrollback.
- Reduced initial GPU VRAM requirement to 2MiB. Improved texture allocation to avoid needing lots of VRAM.
- macOS: Fix issue where new windows would open as Cocoa tabs when wezterm was maximized.
- macOS: Fix issue where wezterm wouldn't adjust to DPI changes when dragging across monitors or the screen resolution changed
- macOS: Reduced trackpad based scrolling sensitivity; it was hyper sensitive in previous releases, and now it is more reasonable.
- Fix an issue where EGL failed to initialize on Linux
- If EGL/WGL/OpenGL fail to initialize, we now try to fallback to Mesa OpenGL in software render mode. This should result in its llvmpipe renderer being used as a fallback, which has improved visuals compared to wezterm's own basic CPU based renderer. (This applies to X11/Wayland and Windows systems).
- Setting
front_end="Software"
will try to use the Mesa OpenGL software renderer if available (X11/Wayland/Windows). The old basic CPU renderer has been removed. - The multiplexer server has been moved into its own
wezterm-mux-server
executable. You will need to revise yourserve_command
configuration. - Windows: when started in an RDP session, force the use of the Mesa software renderer to work around problems with RDP GPU emulation.
- Fixed an issue with TLS Multiplexing where bootstrapping certificates would usually fail.
- Windows: Fixed an issue that prevented ALT-Space from showing the system menu in the window.
- Windows: Fixed dead key handling. By default dead keys behave the same as in other programs and produce diacritics. However, setting
use_dead_keys = false
in the config will cause dead keys to behave like a regular key; eg:^
would just emit^
as its own character. - Windows: Fixed an issue with the
Hide
key assignment; it would hide the window with no way to show it again!Hide
now minimizes the window instead. - macOS: we now use Metal to render the gui, via MetalANGLE
- Windows: we now prefer to use Direct3D11 to render the gui, via ANGLE EGL. The primary benefit of this is that upgrading your graphics drivers while you have a stateful wezterm session will no longer terminate the wezterm process. Resize behavior is not as smooth with ANGLE as the prior WGL. If you wish, you can set
prefer_egl = false
to use WGL. - Improved image protocol support to have better render fidelity and to reduce VRAM usage when the same image it displayed multiple times in the same pane.