Skip to content

Windows Terminal Preview v1.11.2421.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@DHowett DHowett released this 31 Aug 17:01
· 1938 commits to main since this release
v1.11.2421.0

It's that time of year again: Terminal day!

You probably wouldn't have guessed that this was supposed to be a stabilization release, with a big focus on performance and bug fixes. Our beloved community, however made sure that we had
more than enough features to go around! Thanks everyone!

This version of Terminal ships with Cascadia Code 2108.26, which contains fixes for some ligature issues, Hebrew glyph positioning and more.

Features

  • You can now delete autogenerated profiles. That just about says it all. Sorry for taking so long on this one! (#11007) (#10910)
  • Terminal will now optionally present a tray icon and minimize windows to it (#10368) (#10980) (#10938)
    • See alwaysShowTrayIcon (boolean, default false) and minimizeToTray (boolean, default false) in the settings JSON file
    • This feature is not yet present in the settings UI, which is an oversight we hope to rectify before 1.12.
  • You can now set special font features and custom axis values! (#10525) with bug fix (#10863)
    • This works great with Cascadia Code's new alternate italic style.
      • "font": { "face": "Cascadia Code", "features": { "salt": 1 } }
    • You can also disable ligatures in any font that supports them by setting the calt, clig or dlig features to 0. Consult your font's printed manual for more information.
  • Bold or "intense" text can now be displayed as bright colors, a bold font, or both (#10759)
    • We released 1.10 with the new default set to both bold and bright, but have reset it to just bright until we work out some text rendering issues (#10958)
    • Set intenseTextStyle (flag enum, default bright, options bold, bright, all) in any profile
  • There is a new "Split Tab" item in each tab's context menu, which will split the active profile (#10832)
  • Terminal now supports displaying the titlebar¹ or tab row with the acrylic material (#10864) (thanks @matthew4850!)
    • Settings key: useAcrylicInTabRow (boolean, default false)
    • ¹That is, if you have disabled "show tabs in the title bar"
  • There's a new "unfocused appearance" editor at the bottom of the Appearance page (per profile) (#10317)
  • Key bindings now support the browser keys found on some keyboards newer than, say, 2000? (#10801) (thanks @FWest98!)
    • browser_back, browser_forward, browser_refresh, browser_stop, browser_search, browser_favorites and browser_home
  • You can now open a new tab by dropping a folder on the + button (!) (#10073) (#10160) (thanks @Daniel599) with implementation fixes in (#10842) and tooltip help in (#10841) thanks to @ianjoneill!
  • Those of you with international keyboards can now specify very particular key bindings to "virtual key" codes or scancodes (#10666) (#10917) (#10945)
    • Use vk(xxx) or sc(xxx) to (in the darkness) bind these keys. The Settings UI will also produce them from time to time.
    • The "Quake Mode" key binding has been changed from windows+backtick to windows+sc(41), which is "the key where backtick is on the US-104 keyboard"

Pane Management

Of particular note, Schuyler Rosefield spent a lot of time working on panes this release. Thank you, @Rosefield!

  • Pane navigation with moveFocus now uses the visual, instead of the (il)logical layout (#10756) (#11023)
  • You can now swap the positions of two panes by using the swapPane action or the swap-pane command line argument (#10638)
    • Search the Command Palette (Ctrl+Shift+P by default) for "Swap" to learn more!
  • You can now move the active pane to any tab (or even a new tab!) with the movePane action or the move-pane/mp command (#10780) (#11039)
    • Search the Command Palette (Ctrl+Shift+P by default) for "move pane"!
  • The moveFocus and swapPane actions have been taught the nextInOrder and previousInOrder directions, which will walk the pane tree in creation order (#10927)
  • The moveFocus and swapPane actions have also been taught the first direction, which targets the first pane in the tab (#11044)
    • This is good for DWM-style split screen layouts where you have an active work pane and a set of auxiliary side panes!
  • There is a new toggleSplitOrientation action that will switch a pair of panes from vertical to horizontal layout (#10713)

Changes

  • Terminal will now use no profile for incoming commandline commands and command-line applications launched via "default terminal" (#11022)
    • The settings that you'll see are dictated by the contents of the "Defaults" section in settings, or profiles.defaults in settings.json
    • It didn't make any sense for wt cmd to launch a profile with the PowerShell icon!
    • If you really want to run a command in a specific profile, use wt -p Profile command
    • The title of the new tab/pane will be derived from the command itself (#10998) (#11029)
  • Terminal will now try to launch WSL by moving the startingDirectory to the command line (#9223)
    • If you are on a newer version of Windows, you will be able to set the starting directory to ~ or any Linux path!
  • The Actions page in the Settings now has a live "key chord" editor -- you no longer need to type shortcuts like c t l r + e (and inevitably get them wrong) (#10652)
  • You can now un-bind alt+space from opening the system menu (#10799) (thanks @FWest98!)
  • The focusTab action will now always focus a tab, even if there aren't as many as you thought (#10651)
    • We have re-bound Ctrl+Shift+9 to "jump to final tab", as opposed to "jump to tab 9", as Edge, Firefox and other browsers do.
  • The settings will now reload when you change your active keyboard layout (#10876)
    • This is to support keyboard layouts that define different display keys for vk() and sc() codes.
  • In the settings UI, we've changed a number of tooltips to replace "checked" (as in, a checkbox) with "enabled" because they're toggle switches now (#10885)
  • We have done some internal work to prepare for tab tearoff (#10051) (#10874)
  • We've reworked how some of the settings UI values are generated and displayed (#10846) (thanks @chingucoding!)

Performance

The changelog messages in this section are

  • The console (and terminal) will no longer hold on to large memory allocations after large I/O requests (#10738)
  • Terminal now loads WSL distributions in a different way, and will not hang on startup waiting for them (#10967)
  • Settings reload will no longer visit each pane once per profile (#10997)
  • The UTF-16 <-> UTF-8 converter has been refactored to not waste memory (like, at all) (#10966) (thanks @german-one!)
  • We have made a number of changes to improve I/O and rendering performance (#10921) (#10653) (#10923)

Bug Fixes

Accessibility

  • An issue where opening a tab with Narrator running resulted in no output has been fixed (#10971)
  • Moving your screen reader cursor by line, character and document is now more reliable (#10991)
    • ...and should no longer cause an occasional deadlock. (#10937)

"Default Terminal"

  • Command-line applications launched through "Default Terminal" now follow the windowing behavior setting (#10823)
  • Applications launched into terminal no longer erroneously believe the screen to be 9001 lines tall (#10772)
  • We fixed an issue resulting in Ctrl+C never reaching handoff applications (#10751)

"Quake" Mode

  • The "quake" window's borders will no longer appear on adjacent monitors (#10676)
  • Dismissing the "quake" window and summoning it on another display will now properly update its size (#10674)
  • Snapping the "quake" window to another display will also properly update its size (#10744)

Reliability

  • Saving your settings will no longer destroy them if settings.json is a symbolic link (#10908) (thanks @Don-Vito!)
  • When you attempt to use Alt+Arrow Keys with no panes, we will now send those keys to the connected client (#10806) (thanks @FWest98!)
  • focus-tab --previous/next now ignores tab switcher order (#10947) (thanks @Don-Vito!)
  • Duplicating a pane hosting a deleted profile will no longer result in ~ ~ weird behavior ~ ~ (#10982)
    • We will also spend a lot less time looking up profiles by their IDs (oops)
  • A crash during startup/commandline execution regarding moving focus to a new pane has been quashed (#11040) (thanks @Rosefield!)

Terminal Emulation

  • You can no longer erroneously interact with mouse-mode applications at bad coordinates when they are scrolled away (#10642)
  • Selected text will no longer move off of its selected line as more text is output... (#10749)
    • ... until it no longer fits on screen, at which point it absolutely will.
  • The alternate buffer now inherits its cursor state from the main buffer (#10843) (#10878) (thanks @j4james!)
  • We've put a sock in a very loud exception handler (#10901)
  • We will no longer try to resize the display if the size hasn't changed, and no longer clear your selection (#10895) (thanks @Don-Vito!)
  • C1 control characters in SetConsoleTitle will no longer cause Terminal to lose sanity (#10847) (thanks @j4james!)
  • The terminal will no longer scroll vertically if you have a horizontal wheel (#10979)
  • RIS no longer even has a chance of failing (thanks to @amie42 for spotting this after the PR merged!) (#10661)

User Interface

  • No longer will dropdown menus and combo boxes fly wildly off the screen if you scroll or drag the window! Rejoice! (#10922)
  • Progress bars: multiple panes and tabs displaying progress indicators will be merged for the taskbar (#10755)
  • Restoring from fullscreen no longer accidentally counts the window border as part of the new size (#10737)
  • The window border is likewise ignored when calculating the initial position of the window (#10902)
  • We have removed a double scrollbar from the settings UI, which was a fix for another issue, which has now been fixed properly (#10716) (thanks @mimvdb!)
  • We've fixed some focus tracking bugs that occur during complicated command line handling (#10978)
  • There is no longer an annoying issue where some people on non-100%-scaling displays would not be able to use the tab bar when maximized (#10746)
  • The settings UI animations are now slightly less obnoxious (#10934) (thanks @Don-Vito!)
  • Dragging content over the terminal will no longer cause it to spontaneously scroll everywhichway (#10650)
  • The color picker's minimum width is now better (#10663) (thanks @gabrielconl!)

JSON Settings Schema

  • The hidden setting experimental.input.forceVT has been added to the JSON schema (oops!) (#10715)