Skip to content

Releases: wez/wezterm

20211204-082213-a66c61ee

04 Dec 15:49
Compare
Choose a tag to compare

20210814-124438-54e29167

14 Aug 21:21
Compare
Choose a tag to compare

See more details at: https://wezfurlong.org/wezterm/changelog.html#20210814-124438-54e29167

  • Fixed: ssh client would read /etc/ssh/config rather than the proper /etc/ssh/ssh_config
  • Updated: ssh client now processes Include statements in ssh config
  • x11: support for VoidSymbol in key assignments. Thanks to @digitallyserviced! #759
  • Fixed: UTF8-encoded-C1 control codes were not always recognized as control codes, and could result in a panic when later attempting to update the line. #768
  • Fixed: wezterm cli split-pane didn't use the current working dir of the source pane. #766
  • Fixed: double-click-drag selection could panic when crossing line boundaries #762
  • Fixed: wrong scaling for ligatures in Recursive Mono font #699
  • Fixed: incorrect Sixel HLS hue handling #775
  • Fixed: we now recognize the CSI 48:2:0:214:255m form of specifying true color text attributes #785
  • Fixed: split separators didn't respect tab_bar_at_bottom=true and were rendered in the wrong place #797
  • Improved: messaging around exit_behavior
  • Fixed: errors loading custom color schemes are now logged to the error log #794
  • Fixed: OSC 7 (current working directory) now works with paths that contain spaces and other special characters. Thanks to @Arvedui! #799
  • Changed: the homebrew tap is now a Cask that installs to the /Applications directory on macOS. Thanks to @laggardkernel!
  • New: bold/dim and/or italics are now synthesized for fonts when the matching font is not actually italic or doesn't match the requested weight. #815
  • Updated: conpty.dll to v1.9.1445.0; fixes color bar artifacts when resizing window and allows win32 console applications to use mouse events
  • Fixed: Windows: pane could linger after the process has died, closing only when a new pane/tab event occurs
  • Fixed: Windows: first character after wezterm ssh keyboard authention was swallowed #771
  • Fixed: Windows: detect window resizes while authenticating for wezterm ssh #696
  • Fixed: OSC 52 clipboard escape didn't work in the initial pane spawned in the multiplexer server #764
  • Fixed: splitting panes in multiplexer could fail after a network reconnect #781
  • Fixed: multiplexer now propagates toast notifications and color palette to client #489 #748
  • Fixed: neovim interprets drags as double clicks #823
  • New: CTRL+SHIFT+L is assigned to ShowDebugOverlay #641
  • Improved: antialiasing for undercurl. Thanks to @ModProg! #838
  • Fixed: wezterm start --cwd c:/ didn't run default_prog. Thanks to @exactly-one-kas! #851
  • Improved: skip_close_confirmation_for_processes_named now includes common windows shell processes cmd.exe, pwsh.exe and powershell.exe. #843
  • Fixed: don't keep the window alive after running something & disown ; exit #839
  • Improved: we now draw sextant glyphs from the Unicode Symbols for Legacy Computing block (1FB00) when custom_block_glyphs is enabled.
  • Changed: COLORTERM=truecolor is now set in the environment. #875
  • New: wezterm cli spawn --new-window flag for creating a new window via the CLI #887
  • Fixed: closing last pane in a tab via CloseCurrentPane could cause the window to close #890
  • Improved: wezterm ls-fonts --list-system shows all available fonts, wezterm ls-fonts --text "hello" explains which fonts are used for each glyph in the supplied text
  • Fixed: mouse cursor is now Arrow rather than I-beam when the application in the terminal has enabled mouse reporting #859
  • Improved: DEC Special Graphics mode conformance and complete coverage of the graphics character set. Thanks to Autumn Lamonte! #891
  • Fixed: click to focus now focuses the pane under the mouse cursor #881
  • Removed: Parasio Dark color scheme; it was a duplicate of the correctly named Paraiso Dark scheme. Thanks to @adrian5! #906
  • Fixed: key repeat on Wayland now respects the system specified key repeat rate, and doesn't "stick". #669
  • Fixed: force_reverse_video_cursor wasn't correctly swapping the cursor colors in all cases. #706
  • Fixed: allow multuple IdentityFile lines in an ssh_config block to be considered
  • Improved: implement braille characters as custom glyphs, to have perfect rendering when custom_block_glyphs is enabled. Thanks to @bew!
  • Fixed: Mod3 is no longer treater as SUPER on X11 and Wayland #933
  • Fixed: paste now respects scroll_to_bottom_on_input. #931
  • New: bypass_mouse_reporting_modifiers to specify which modifier(s) override application mouse reporting mode.
  • Fixed: focus tracking events are now also generated when switching between panes #941
  • New: window_frame option to configure Wayland window decorations #761
  • New: window:get_appearance() to determine if the window has a dark mode appearance, and adjust color scheme to match #806
  • Improved: improve the new-tab button formatting. Thanks to @sdrik! #950
  • Fixed: if a line of text was exactly the width of the terminal it would get marked as wrappable even when followed by a newline, causing text to reflow incorrectly on resize. #971
  • Fixed: wezterm ssh could loop forever in the background if the connection drops and the window is closed. #857
  • Improved: VT102 conformance. Many thanks to Autumn Lamonte! #904
  • New: text_blink_rate and text_blink_rate_rapid options to control blinking text. Thanks to Autumn Lamonte! #904
  • New: Added support for Synchronized Rendering #882
  • New: wezterm now draws its own pixel-perfect versions of more block drawing glyphs. See custom_block_glyphs for more details. #584
  • Fixed: wayland: CursorNotFound error with the whiteglass theme. #532
  • Improved: Can now recover from exhausting available texture space by clearing the screen. #879
  • Updated bundled Noto Color Emoji font to version 2.028 featuring a design update. Thanks to @4cm4k1! #1003
  • Fixed: wayland: putting a window in the Sway scratchpad no longer blocks the wezterm process #884
  • Fixed: mouse reporting now correctly reports release events when multiple buttons are pressed and released at the same time. #973
  • Fixed: incorrect initial window/pty size when running with some tiling window managers. #695
  • New: CTRL-SHIFT-L shows the debug overlay, which shows the error log and a lua repl. #641
  • Fixed: macOS: bright window padding on Intel-based macs #653, #716 and #1000
  • Improved: wezterm now uses the Dual Source Blending feature of OpenGL to manage subpixel anti-aliasing alpha blending, resulting in improved appearance particularly when using a transparent window over the top of something with a light background. #932
  • Fixed: copying really long lines could falsely introduce line breaks on line wrap boundaries #874
  • New: wezterm.add_to_config_reload_watch_list function to aid with automatically reloading the config when you've split your config across multiple files. Thanks to @AusCyberman! #989
  • Improved: wezterm now respects default emoji presentation and explicit emoji variation selectors (VS15 and VS16) so that glyphs that have both textual (usually monochrome, single cell width) and emoji (color, double width) presentations can be more faithfully rendered. #997
  • New: window_background_gradient option to configure color gradients for your window background
  • New: wezterm.gradient_colors function to compute RGB values for gradients for use in your config.
  • New: color schemes: Abernathy, Ayu Mirage, darkmatrix, Fairyfloss, GitHub Dark, HaX0R_BLUE, HaX0R_GR33N, HaX0R_R3D, Mariana, matrix, Peppermint and UltraDark

20210502-154244-3f7122cb

02 May 22:53
Compare
Choose a tag to compare

20210502-130208-bff6815d

02 May 22:35
Compare
Choose a tag to compare
Pre-release
docs: typo fix changelog

20210405-110924-a5bb5be8

05 Apr 18:18
Compare
Choose a tag to compare

20210404-112810-b63a949d

04 Apr 18:37
Compare
Choose a tag to compare

https://wezfurlong.org/wezterm/changelog.html#20210404-112810-b63a949d

  • Fixed: 100% CPU due to spurious resize events generated by herbstluftwm. #557
  • Fixed: improved conformance with xterm for keys like CTRL-6 and CTRL-/. #556
  • Fixed: detection and handling of fonts such as terminus-bold.otb that contain only bitmap strikes. #560
  • Fixed: the pixel size reported by the pty to the kernel wasn't adjusted for font metrics/dpi until the config was reloaded or window resized. #563
  • Fixed: greatly reduce memory consumption when system fallback fonts are loaded #559
  • Fixed: Windows: window_background_opacity was only taking effect when window_decorations="NONE" #553
  • Fixed: an issue where wezterm could hang if the process spawned by a pane doesn't quit when asked #558
  • Fixed: panic when dismissing the tab navigator #542
  • Fixed: font fallback on macOS returns unresolvable .AppleSymbolsFB rather than Apple Symbols, leading to slowdowns when rendering symbols #506
  • Fixed: laggy repaints for large windows particularly on Windows, but applicable to all systems. Tuned and triple-buffered vertex buffer updates. #546
  • Changed: allow_square_glyphs_to_overflow_width now defaults to WhenFollowedBySpace and applies to more symbol glyphs. #565
  • Changed: macOS: CMD-Q is now bound by default to QuitApplication
  • New: added skip_close_confirmation_for_processes_named option which specifies a list of processes for which it is considered safe to allow closing a pane/tab/window without a prompt. #562
  • Fixed: triggering the search overlay again while the search overlay is active no longer closes the underlying pane #572
  • Fixed: X10 mouse coordinate reporting encoding could produce invalid outputs for large windows. Capped coordinate values to the maximum value that is representable in UTF-8 encoding
  • Fixed: font fallback now happens asynchronously from painting #508
  • New: added window:get_selection_text_for_pane method #575
  • Fixed: implicit hyperlink rules, word and line selection now operate on logical lines which means that they deal with wrapped lines outside of the viewport. #408
  • New: wezterm ssh now supports reading ~/.ssh/config and overriding options via the command line. IdentityFile and ProxyCommand are the two main new supported options. Read more about it in ssh.
  • Fixed: ssh support will now try all available identities from the SSH agent rather than just the first.
  • New: splitting panes in wezterm ssh now works like spawning new tabs: the new program is started on the remote host with no additional authentication required.
  • Fixed: Multiplexer sessions would fail to bootstrap via ssh because the bootstrap process exited too soon. #507
  • Fixed: Windows: we now compile libssh2 against openssl on all platforms to improve overall key and crypto algorithm support
  • Fixed: spawning a new tab via the launcher menu failed because it used the pretty printed multiplexer domain label rather than the multiplexer domain name.
  • Fixed: macOS: middle mouse button wasn't recognized. Thanks to @guswynn! #599
  • New: added ActivateLastTab key assignment for jumping back to a previously active tab. Thanks to @alexgartrell #610
  • Fixed: added missing XTSMGRAPHICS query/response for sixel support #609
  • Fixed: avoid showing an error dialog for synthesized font_rules when the configuration specifies a font that doesn't have bold/italic variants. #617
  • New: mouse cursor hides when keyboard input is sent to a pane, and shows again when the mouse is moved. #618
  • Fixed: macOS: CTRL-Tab key combination was not recognized. #630
  • Fixed: wezterm-mux-server will now continue running even after all tabs/panes have been closed. #631
  • Fixed: macOS: wezterm-gui could linger in the background until the mouse moves after all tabs/panes have closed
  • Fixed: when using line_height, wezterm now vertically centers the cell rather than padding only the top #582
  • Fixed: macOS: in US layouts, SUPER+SHIFT+[ was incorrectly recognized as SUPER+SHIFT+{ instead of SUPER+{ #601
  • Fixed: wezterm.config_dir was returning the config file path instead of the directory!
  • New: wezterm.config_file which returns the config file path

20210404-111518-fe48951e

04 Apr 18:25
Compare
Choose a tag to compare
Pre-release
macos: fixup SUPER+SHIFT+[ key decoding

One of the default key assignments was registered as `SUPER+SHIFT+{`
which worked on macOS, but on Linux, would never match because the
keypress over there was (correctly) reporting as `SUPER+{`.

I originally thought that the user reported issue was a linux
normalization problem, but in looking deeper, the issue is really
that macos is doing something funky!

On macos we collect the interpreted key event as a string, and also
the interpretation of that event without any modifiers applied.

For letters this means that eg: `ALT-l` reports as `¬` for the
processed string and `l` for the unmodified string.  That's good!

However, for punctuation we get a backwards result: SUPER+SHIFT+[
produces `[` for the processed text and `{` for the unmodified
text!

This commit tries to detect this, using a heuristic that is
potentially bad on non-US layouts: if both the processed and
unmodified strings are punctuation then we bias to the unmodified
version.

With that change, that key press is correctly reported as `SUPER+{`,
and we can fix the key assignment registration to reflect that.

I quickly checked the behavior of pressing that same physical key
combination with a DEU layout active, and it appears that the unmodified
stuff is also flipped there; we get a lower-case version of something
that I think should be uppercase.  This commit doesn't change that
behavior:

```
key_event KeyEvent { key: Char('ü'), modifiers: NONE,
        raw_key: Some(Char('Ü')),
        raw_modifiers: SHIFT | SUPER,
        raw_code: Some(33),
        repeat_count: 1, key_is_down: true }
```

refs: https://github.com/wez/wezterm/issues/601

20210314-114017-04b7cedd

14 Mar 18:50
Compare
Choose a tag to compare
  • New: tab_bar_style allows customizing the appearance of the rest of tha tab bar.
  • New: animated gif and png images displayed via wezterm imgcat (the iTerm2 image protocol), or attached to the window background via window_background_image will now animate while the window has focus.
  • New: added foreground_text_hsb setting to adjust hue, saturation and brightness when text is rendered.
  • New: added ResetFontAndWindowSize key assignment.
  • New: added ScrollByLine key assignment.
  • New: OSC 777 and OSC 9 escapes now generate Toast Notifications. printf "\e]777;notify;%s;%s\e\\" "title" "body" and printf "\e]9;%s\e\\" "hello there". These don't currently pass through multiplexer connections. #489.
  • New: exit_behavior config option to keep panes open after the program has completed. #499
  • New: added --config name=value options to wezterm, wezterm-gui and wezterm-mux-server. The --front-end, --font-locator, --font-rasterizer and --font-shaper CLI options have been removed in favor of this new mechanism.
  • New: window:set_config_overrides method that can be used to override GUI related configuration options on a per-window basis. Click through to see examples of dynamically toggling ligatures and window opacity. #469 #329
  • New: introduced custom_block_glyphs option to ensure that block glyphs don't have gaps. #433
  • New: you can now drag the wezterm window via the tab bar
  • New: holding SUPER+Drag (or CTRL+SHIFT+Drag) will drag the wezterm window. Use StartWindowDrag to configure your own binding.
  • New: configure window_decorations to remove the title bar and/or window border
  • New: we now bundle PowerlineExtraSymbols as a built-in fallback font, so that you can use powerline glyphs with any font without patching the font.
  • New: window:set_right_status allows setting additional status information in the tab bar. #500
  • New: Search Mode: Added CTRL-u key assignment to clear the current search pattern. Thanks to @bew! #465
  • Fonts: font_antialias and font_hinting are now deprecated in favor of the new freetype_load_target and freetype_load_flags options. The deprecated options have no effect and will be removed in a future release. The new options provide more direct control over how freetype rasterizes text.
  • Fonts: when computing default font_rules for bold and italic fonts, strip italic and bold components from the family name. eg: if you set font = wezterm.font("Source Code Pro Medium") then the Medium text will be stripped from the font name used to locate bold and italic variants so that we don't report an error loading a non-sensical Source Code Pro Medium Bold. #456
  • Fonts: fix a regression where bright windows behind wezterm could "shine through" on the alpha channel, and adjust the tinting operation to avoid anti-aliased dark fringes #470 #491
  • Fonts: macOS: fix an issue where wezterm could hang when loading a font located via Core Text #475
  • Fonts: Changed the default font_size to 12 points. #517
  • Fonts: Updated bundled JetBrainsMono font to version 2.225
  • Added --config-file CLI option to specify an alternate config file location. Read more about config file resolution. Thanks to @bew! #459
  • OSC 52 (Clipboard manipulation) now respects the difference between PRIMARY and CLIPBOARD on X11 systems.
  • Fixed an issue where large pastes could result in a hang
  • Closing the configuration error window no longer requires confirmation
  • Fixed: an issue where the window would be redrawn on mouse move. This was most noticeable as a laggy mouse pointer when moving the mouse across a window running on the nouveau display driver on X11 and Wayland systems
  • Fixed: an issue where closing a pane would immediately SIGKILL the associated process, rather than sending SIGHUP. Thanks to @bew!
  • Fixed: line-based mouse selection (default: triple click) now extends forwards to include wrapped lines. #466
  • Fixed: the RIS escape wasn't clearing the scrollback. #511
  • Wayland: fixed opengl context creation issues. Thanks to @unrelentingtech! #481
  • Wayland: the raw key modifiers are now correctly propagated so that they activate when used with key assignments using the key = "raw:123" binding syntax.
  • Wayland: fixed window decoration and full screen handling #224
  • Wayland: fixed an issue where key repeat processing could "run away" and hang the application
  • Windows: the portable .zip file download now includes ANGLE EGL, just like the setup.exe installer has done since version 20201031-154415-9614e117
  • Windows: Fixed ToggleFullScreen so that it once again toggles between full screen and normal placement. #177
  • Windows: fix the unexpected default behavior of Ctrl-Alt being converted to AltGr for layouts supporting this key, the previous behavior is still possible by enabling the option treat_left_ctrlalt_as_altgr (to solve #392). Thanks to @bew! #512
  • Windows: fixed "Open WezTerm Here" context menu in explorer when used on the root of a drive (eg: C:\). Thanks to @flyxyz123! #526 #451
  • X11: fix an issue where SHIFT-Enter was not recognized #516
  • X11: improved DPI detection for high-DPI displays. #515
  • X11: we now load the XCursor themes when possible, which means that the mouse cursor is now generally a bit larger and clearer as well as conforming more with the prevailing style of the desktop environment. #524
  • Improved and optimized image processing so that watching videos via timg - Terminal Image and Video Viewer works better #537 #535 #534

20210203-095643-70a364eb

03 Feb 18:05
Compare
Choose a tag to compare
  • Fix cursor position after using iTerm2 image protocol #317
  • Fix pixel dimensions after changing the pane size; this was mostly invisible but impacted image scaling when using sixel or iTerm2 image protocols. #312
  • Add support for OSC 133 which allows annotating output as Output, Input (that you typed) and Prompt (shell "chrome"). Learn more about Semantic prompt and OSC 133
  • Add ScrollToPrompt key assignment that scrolls the viewport to the prior/next shell prompt emitted using OSC 133 Semantic Prompt escapes. This assignment is not bound by default.
  • Fixed an issue where SpawnWindow didn't use the current working directory from the current pane to spawn the new window
  • Added wezterm start --class CLASSNAME option to specify the window class name under X11 and Windows, or the app_id under Wayland. See wezterm start --help for more information.
  • Added shell integration for setting OSC 7 (working directory) and OSC 133 (semantic zones) for Zsh and Bash. See Shell Integration docs.
  • Added SemanticZone as a possible parameter for SelectTextAtMouseCursor, making it possible to conveniently select complete input or output regions.
  • Improved font rendering #320 #331 and changed font_antialias = "Greyscale" by default.
  • Updated internal harfbuzz shaper to 2.7.2
  • Fixed ALT-Escape not sending ESC-ESC #338
  • Added allow_square_glyphs_to_overflow_width = "WhenFollowedBySpace" option to allow square symbol glyphs to deliberately overflow their
    specified cell width when the next cell is a space. Can be set to Always to allow overflowing regardless of the next cell being a space,
    or Never to strictly respect the cell width. The default is Never. #342
  • macOS: Improved key input when Option is pressed. Fixed dead key processing when use_ime=true. #357
  • macOS: Adjusted default dpi to 72 to bring point sizes into alignment with other macOS apps. #332
  • Improved font fallback; we now try harder to find a system-provided font for glyphs that are not found in your explicitly configured fonts.
  • Revised pty output processing and removed the related ratelimit_output_bytes_per_second option
  • Workaround Cocoa leaking window position saved state file descriptors to child processes on macOS Big Sur, and Gnome/Mutter doing something similar under X11
  • The 256 color cube now uses slightly brighter colors #348
  • New: added line_height configuration option to scale the computed cell height. The default is 1.0, resulting in using the font-specified metrics. Setting it to 1.2 will result in a 20% larger cell height.
  • macOS: Fixed an issue where hovering over the split between panes could result in wezterm becoming unresponsive #391
  • Closing windows and QuitApplication will now prompt for confirmation before proceeding with the close/quit. Added window_close_confirmation to control this; valid values are AlwaysPrompt and NeverPrompt. #280
  • Tidied up logging. Previously ERROR level logging was used to make sure that informational things showed up in the stderr stream. Now we use INFO level logging for this to avoid alarming the user. You can set WEZTERM_LOG=trace in the environment to get more verbose logging for troubleshooting purposes.
  • Windows: fix an issue where VNC-server-emulated AltGr was not treated as AltGr #392
  • X11: fix an issue where keys that produce unicode characters retained SHIFT as a modifier instead of normalizing it away. #394
  • Fixed an issue where a symbol-only font would be seen as 0-width and panic wezterm #404
  • Tweaked mouse selection: we now round the x-coordinate to the nearest cell which makes it a bit more forgiving if the mouse cursor is slightly to the left of the intended cell start. #350
  • Added selection_word_boundary option to control double-click word selection boundaries. The default is \t\n{}[]()"'`. #405
  • Added support for Curly, Dotted and Dashed underlines. See this documentation on the escape sequences how enable undercurl support in vim and nvim. #415
  • Fixed an issue where wezterm would spawn processes with umask 077 on unix systems, rather than the more commonly expected umask 022. #416
  • macOS: We now ship a Universal binary containing both Intel and "Apple Silicon" architectures
  • Setting a really large or really small font scale (using CTRL +/-) no longer causes a panic #428
  • Fixed an issue where the mouse wheel wasn't mapped to cursor up/down when the alternate screen was active #429
  • Fixed ToggleFullScreen not working on macOS and X11. It still doesn't function on Windows. native_macos_fullscreen_mode = false uses a fast full-screen window on macOS. Set it to true to use the slower macOS native "Spaces" style fullscreen mode. #177
  • Windows: fix an issue where the initial window size didn't factor the correct DPI when the system-wide display scaling was not 100%. #427
  • New: adjust_window_size_when_changing_font_size option to control whether changing the font size adjusts the dimensions of the window (true) or adjusts the number of terminal rows/columns (false). The default is true. #431
  • macOS: we no longer use MetalANGLE to render the gui; it was short lived as macOS Big Sur now uses Metal in its CGL implementation. Support for using MetalANGLE is still present if the dylib is found on startup, but we no longer ship the dylib.
  • Windows: when pasting text, ensure that the text has CRLF line endings unless bracketed paste is enabled. This imperfect heuristic helps to keep multi-line pastes on multiple lines when using Windows console applications and to avoid interleaved blank lines when using unix applications. #411
  • New: ClearScrollback now accepts a parameter to control whether the viewport is cleared along with the scrollback. Thanks to @dfrankland!
  • New: default_cwd to specify an alternative current working directory. Thanks to @dfrankland!
  • New: CopyTo and PasteFrom actions. Copy, Paste and PastePrimarySelection
    are now deprecated in favor of these new options.
  • X11: Mouse-based selection now copies-to and pastes-from the PrimarySelection by default. The CompleteSelection and CompleteSelectionOrOpenLinkAtMouseCursor actions now require a parameter to specify the clipboard.
  • X11: SHIFT-CTRL-C and SHIFT-CTRL-V now copy-to and paste from the Clipboard by default. SHIFT-Insert pastes from the PrimarySelection by default.
  • New: Added a new default CTRL-Insert key assignment bound to CopyTo(PrimarySelection)
  • macOS: Windows now have drop-shadows when they are opaque. These were disabled due transparency support was added. Thanks to Rice! #445
  • Unix: adjust font-config patterns to also match "dual spacing" fonts such as Iosevka Term. Thanks to Leiser! #446
  • New: Added alternate_buffer_wheel_scroll_speed option to control how many cursor key presses are generated by the mouse wheel when the alternate screen is active. The new default for this is a faster-than-previous-releases 3 lines per wheel tick. #432
  • macOS: Dead Keys are now processed even when use_ime=false. More details in the docs. #410.

20201101-103216-403d002d

01 Nov 18:43
Compare
Choose a tag to compare
  • Whoops! fixed a crash on macOS when using multiple windows in the new Metal renderer #316
  • If you're not yet on the Halloween release, also check out the big list of changes in that release!