Releases: microsoft/terminal
Windows Terminal Preview v1.13.10336.0
Happy New Year! It's Terminal time once again! This is our first release of 2022, and it's a big one.
Announcements
- Windows Terminal Preview is now named Terminal Preview! It will, of course, still be called
wt
under the hood. (#12264)- Right now, you will not be able to find Windows Terminal _ (that is, with the "Windows" part) in the start menu. We are working with the search team to add a keyword match! Follow #12344 for updates._
- Sorry about your muscle memory. :(
- 1.12 is the last version of Terminal that will support Windows 19H1 or 19H2 (#12129)
- Folks who are on the Preview channel on these versions of Windows will get a one-time upgrade to the last servicing release of 1.12.
- This version of windows is going out of support soon, so you may want to consider upgrading.
- You only need to install 1.12.10335.0 if you are on Windows 19H1 or 19H2; it is included here for completeness.
Features
- Terminal now follows the Windows 11 UI guidelines (#12241) (#12144) (#12208) (#12287) (#12326) (#11720) (#12321)
- This will make it look a little out of place on Windows 10; we're sorry
- We're testing out a new experimental text rendering engine, "AtlasEngine" (#11623) (#12304) (#12225) (#12189) (#12307) (#12278) (#12242) (#12227) (#12226)
- You can enable it with the
experimental.useAtlasEngine
profile field or the "Use experimental text rendering
engine" in Profile -> Advanced - We're tracking bugs, parity with the existing renderer, and future advancements in #9999.
- You can enable it with the
- You can now configure a profile to always launch elevated (in a separate window)! (#12137) (#12257)
- This is controlled by the profile setting
elevate
(bool, defaultfalse
). - Read more in our docs.
- This is controlled by the profile setting
- Terminal learned to restore the last closed pane or tab! (#11471) (thanks @Rosefield!)
- NOTE: This action, accessible through the command palette, will launch a new tab that has the same settings
as the previous tab. It cannot bringprotagonistsprocesses back from the dead!
- NOTE: This action, accessible through the command palette, will launch a new tab that has the same settings
- You can now change the bell sound with
profile.bellSound
setting! (#11511)bellSound
takes a path to an audio file to play as the audible bell or an array of paths.- If you provide an array of paths, Terminal will choose one at random every single time it bells.
- If you're a fan of Untitled Goose Game, this is an excellent opportunity to get your HONK on!
- Dropping a file on a WSL instance will now insert the WSL converted path (!) (#11625) (thanks @petrsnm!)
- You now have the option to strip trailing whitespace on paste (
trimPaste
global setting, bool, defaulttrue
) (#11473) (thanks @lovef!)
Changes
- We're reworking how Terminal handles environment variables, starting with reverting the changes we made in
Preview that broke PowerShell x86 (#12140) - The "adjust lightness of indistinguishable text" feature, present in 1.12 preview, has been disabled pending
some bug fixes (#12160) - The "Open in Terminal" context menu is now localized in, like, 88 languages (#12090)
- There is a new
adjustOpacity
action, which can be previewed live with the command palette (#12092) - Terminal will now store elevated window state separately from non-elevated window state (#11222)
- You can now export the buffer with an action,
exportBuffer
(#12097) - There is now a "Settings" menu item in the title bar menu (#11404) (thanks @serd2011!)
- You can now Ctrl-click on a profile in the dropdown to launch it as Administrator (in a separate window) (#12209)
- Terminal (and conhost) will no longer accept
C1
control codes by default (#11690) (thanks @j4james!) - The PowerShell profile generator now generates fully quoted paths (#12086) (thanks @ianjoneill!)
- WSL instances now default to starting in
~
(or throwing anInvalid Parameter
error) (#12315) - We've reworked how settings get into the individual terminal panes to prepare for tearoff and merge (#11619) (#12255) (#12095)
Bug Fixes
- The cursor should now start/stop blinking more reliably when Terminal is started without window focus (#12094)
- Copying the "Azure Cloud Shell" profile will no longer result in a normal boring profile that tries to run
Azure.exe
(lol) (#12147) - The default "Command Prompt" and "Windows PowerShell" profiles have been updated to have fully qualified paths (again) (#12149)
- Cursor movement will now more reliably update the IME/emoji picker/input line/cursor highlight for Accessibility (#12210)
- HTML/RTF copy now respects the active background color instead of just the default one (#11991) (thanks @j4james!)
- Session save/restore will now remember tab titles and maximize/focus/restore state (#12073) (thanks @Rosefield!)
- The "Duplicate Profile" button will no longer be enabled when you don't actually have a profile selected (#12096) (thanks @davidegiacometti!)
//wsl$
paths will no longer result in you being unceremoniously dumped in/
(in WSL) (#12102)~
now works as a starting directory forwsl.exe
(#12050) (thanks @LuanVSO!)- Application-controlled titles will be sanitized for control sequences even if they are set with the
SetConsoleTitle
API (#12211) (thanks @j4james!)
Accessibility
- The command palette will now announce if any suggestions were found to screen readers (#12266)
- ... so will the search box! (#12301)
- The tab row/titlebar have stopped acting as a keyboard input/focus trap -- you can use keyboard shortcuts up there now (#12260)
- We've done a pass over the controls in the settings UI and given them accessible names for screen reader users (#12299) (#12324)
- The "Default Terminal" section will now properly read out terminal names to Narrator (#12259)
- "Open JSON File" is now a better accessibility citizen as well (#12286)
Performance and Reliability
- We've fixed a (small) binary size regression in OpenConsole, which was more than eclipsed by all the new features above (#11727)
- Improved:
- Removed wasteful virtuals according to SizeBench (#11889)
- Typing an invalid background image path into the Settings UI will no longer send Terminal to a farm upstate (#11542) (thanks @serd2011!)
- "Export Text" is more worky and less crashy (#12180) (thanks @ianjoneill!)
Documentation Changes
We'd like to thank @eltociear, @blakeheimann, @ghost1372, @Schweinepriester, and @ianjoneill for their contributions
to our documentation, roadmap, specs and schema.
Behind the Scenes
Over the holidays, we had an "Engineering Improvement" milestone! We chose to allocate it to improving our build
system, remove some dead code, etc. and our excellent community stepped up and did the same!
Here's some of the highlights
- Enable Software Bill of Materials generation for Windows Terminal (#11908)
- Enable Security and Compliance tasks in our Release pipeline (#11849)
- Add noexcept to all FontInfo structs (#11640)
- Consolidate the color palette APIs (#11784) (thanks @j4james!)
- Consolidate the interfaces for setting VT input modes (#11384) (thanks @j4james!)
- Delete RendererTests.cpp (#11872) (thanks @j4james!)
- Enable
/permissive-
and remaining/Zc
flags (#11816) - fix build error at 74d21af (#11691) (thanks @serd2011!)
- Fix for missing CopyComplete files in TerminalConnection.vcxproj (#11804)
- Misc pane refactoring (#11373) (thanks @Rosefield!)
- Move the common render settings into a shared class (#12127) (thanks @j4james!)
- Prepare til wrappers for migrating off of
SMALL_RECT
(#11902) - Rename the "Bold" SGR attribute as "Intense" (#12270) (thanks @j4james!)
- Replace GetDefaultBrushColors with hardcoded default attributes (#11982) (thanks @j4james!)
- Replaced the
sizeof
parameter of the if statement withARRAYSIZE
(#12273) (thanks @abdoulkkonate!) - Simplify the handling of alpha values in the color table (#11900) (thanks @j4james!)
- Simplify the
IStateMachineEngine
interface (#12277) (thanks @j4james!) - Standardize the color table order (#11602) (thanks @j4james!)
- Update RGB values when selecting a conhost color property (#12099) (thanks @j4james!)
- Use the til::enumset type for the SgrSaveRestoreStackOptions enum (#11888) (thanks @j4james!)
Finally -- if you want to see some of the wild stuff batch files are capable of, check out ansi-color
,
contributed by @rbeesley as a test validation tool. (#11932)
Windows Terminal v1.12.10334.0
Happy New Year!
This release brings many of the preview changes in Windows Terminal 1.12 to the Stable channel. Notably:
- On Windows 11, Terminal now supports non-acrylic transparency
- Terminal will now automatically create profiles for Visual Studio Developer shells
- Terminal will now try to guess which profile to open when it is launched as the ‘default terminal’ for an application
- You can now update the endpoint of an existing selection using the keyboard
Please see the following release notes for additional details:
A preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.
This release was made available to insiders in the Dev and Beta channels on February 3, and will be generally available to everyone shortly afterwards. You can always install the update from this release page or using winget
.
We've also backported the following features, changes and bug fixes from Windows Terminal Preview v1.13.10336.0:
Announcements
- Windows Terminal is now named Terminal! It will, of course, still be called
wt
under the hood. (#12264)- Right now, you will not be able to find Windows Terminal _ (that is, with the "Windows" part) in the start menu. We are working with the search team to add a keyword match! Follow #12344 for updates._
- Sorry about your muscle memory. :(
- 1.12 is the last version of Terminal that will support Windows 19H1 or 19H2 (#12129)
- Folks who are on the Preview channel on these versions of Windows will get a one-time upgrade to the last servicing release of 1.12.
- This version of windows is going out of support soon, so you may want to consider upgrading.
Changes
- We're reworking how Terminal handles environment variables, starting with reverting the changes we made in
Preview that broke PowerShell x86 (#12140) - The "adjust lightness of indistinguishable text" feature, present in 1.12 preview, has been disabled pending
some bug fixes (#12160) - The "Open in Terminal" context menu is now localized in, like, 88 languages (#12090)
- The PowerShell profile generator now generates fully quoted paths (#12086) (thanks @ianjoneill!)
- WSL instances now default to starting in
~
(or throwing anInvalid Parameter
error) (#12315)
Bug Fixes
- The cursor should now start/stop blinking more reliably when Terminal is started without window focus (#12094)
- Copying the "Azure Cloud Shell" profile will no longer result in a normal boring profile that tries to run
Azure.exe
(lol) (#12147) - The default "Command Prompt" and "Windows PowerShell" profiles have been updated to have fully qualified paths (again) (#12149)
- Cursor movement will now more reliably update the IME/emoji picker/input line/cursor highlight for Accessibility (#12210)
- HTML/RTF copy now respects the active background color instead of just the default one (#11991) (thanks @j4james!)
- The "Duplicate Profile" button will no longer be enabled when you don't actually have a profile selected (#12096) (thanks @davidegiacometti!)
//wsl$
paths will no longer result in you being unceremoniously dumped in/
(in WSL) (#12102)~
now works as a starting directory forwsl.exe
(#12050) (thanks @LuanVSO!)- Application-controlled titles will be sanitized for control sequences even if they are set with the
SetConsoleTitle
API (#12211) (thanks @j4james!)
Accessibility
- The command palette will now announce if any suggestions were found to screen readers (#12266)
- ... so will the search box! (#12301)
- The tab row/titlebar have stopped acting as a keyboard input/focus trap -- you can use keyboard shortcuts up there now (#12260)
- We've done a pass over the controls in the settings UI and given them accessible names for screen reader users (#12299) (#12324)
- The "Default Terminal" section will now properly read out terminal names to Narrator (#12259)
- "Open JSON File" is now a better accessibility citizen as well (#12286)
Documentation Changes
We'd like to thank @eltociear, @blakeheimann, @ghost1372, @Schweinepriester, and @ianjoneill for their contributions
to our documentation, roadmap, specs and schema.
Windows Terminal Preview v1.12.3472.0
This release brings some assorted top-hitting bug fixes into the preview channel from the main development branch.
For the holiday season, enjoy the following:
Changes
- This version of Windows Terminal ships with Cascadia Code 2111.01.
- The hinting on the brace ligatures was incorrect in the Italic style, which looked downright hilarious. See microsoft/cascadia-code#595 for more details.
- On Windows 11, the Terminal now supports the "snap layouts" feature (#11680)
Bug Fixes
- The Default Terminal option will now work on machines that do not have the Visual C++ Redistributable (#11610)
- Splitting a non-focused tab will no longer blast Terminal into outer space (#11635)
- All of the alternative character set slots have been defaulted to ASCII (#11658) (thanks @j4james!)
- This is in line with other terminals, and should reduce the incidence of a stray escape character turning your screen into soup.
- We were seeing some crashes on window painting in the synthetic test lab, which we think we've addressed (#11674)
- The background image path should once again be displayed in the settings UI (#11580) (thanks @ianjoneill!)
- AltGr should once again work in the Settings UI (#11808) (#11814)
GetConsoleCommandHistoryLengthA
will now respond with the correct length (???) (#11897)- Fragments that update multiple profiles will no longer confuse and enrage us (#11598)
- There will once again be a window border when you use Win+↓ in fullscreen mode (#11653) (thanks @serd2011!)
- Launching additional applications in "default terminal" windows has been made more reliable (#11646)
- The opacity slider once again appears when it should (and disappears when it shouldn't), rather than the other way around (#11643)
- Our informational tips will no longer obscure the tabs when
showTabsInTitleBar
isfalse
(#11609) - We made the mistake of printing hex error codes with negative signs (oops); we've fixed that (#11667)
- Shutdown has been made slightly more reliable (#11857) (thanks @Rosefield!)
- Detected URLs will no longer be offset by complex unicode characters on the same line (#11915) (thanks @comzyh!)
- On Windows Server, Terminal will no longer render the display in "ransom note" style (#11764)
Windows Terminal v1.11.3471.0
This release brings some assorted top-hitting bug fixes into the stable channel from the main development branch.
A preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.
This release was made available to insiders in the Dev and Beta channels on December 14, and will be generally available to everyone shortly afterwards. You can always install the update from this release page or using winget
.
For the holiday season, enjoy the following:
Changes
- This version of Windows Terminal ships with Cascadia Code 2111.01.
- The hinting on the brace ligatures was incorrect in the Italic style, which looked downright hilarious. See microsoft/cascadia-code#595 for more details.
Bug Fixes
- The Default Terminal option will now work on machines that do not have the Visual C++ Redistributable (#11610)
- Splitting a non-focused tab will no longer blast Terminal into outer space (#11635)
- All of the alternative character set slots have been defaulted to ASCII (#11658) (thanks @j4james!)
- This is in line with other terminals, and should reduce the incidence of a stray escape character turning your screen into soup.
- We were seeing some crashes on window painting in the synthetic test lab, which we think we've addressed (#11674)
- The background image path should once again be displayed in the settings UI (#11580) (thanks @ianjoneill!)
- AltGr should once again work in the Settings UI (#11808) (#11814)
GetConsoleCommandHistoryLengthA
will now respond with the correct length (???) (#11897)- There will once again be a window border when you use Win+↓ in fullscreen mode (#11653) (thanks @serd2011!)
- Launching additional applications in "default terminal" windows has been made more reliable (#11646)
- Our informational tips will no longer obscure the tabs when
showTabsInTitleBar
isfalse
(#11609) - Detected URLs will no longer be offset by complex unicode characters on the same line (#11915) (thanks @comzyh!)
- On Windows Server, Terminal will no longer render the display in "ransom note" style (#11764)
- AltGr+Space should once again work (#11832)
Terminal Preview v1.12.2931.0
This release contains a servicing update to fix the issue regarding the VS Developer Command Prompt profile
Bug Fixes
- The VS Developer Command Prompt profile works now (#11554)
Windows Terminal Preview v1.12.2922.0
Terminal v1.12 is here! It includes upgrades to our CascadiaCode, MUX and C++/WinRT versions, and also includes our first step to true session restoration! Here’s the full changelog:
Features
- Window/pane layouts can now be saved upon closing, and will be restored upon relaunch (#10972) (#10978) (#11083) (#11374) (thanks @Rosefield!)
- Right now, Terminal will only save/restore active tabs, not screen contents or command history
- This is our first step towards true session restoration
- You can configure this with the
firstWindowPreference
global setting (an enum setting with possible valuespersistedWindowLayout
ordefaultProfile
) in the settings.json file, or configure it in the Settings UI; the default value for this setting isdefaultProfile
- First-time Windows 11 users will receive an information popup about changing their default terminal to WT, along with a link to their settings (#11397) (#11491)
- You can now update the endpoint of an existing selection using the keyboard (#10824)
- Please note: Right now, this only works if you’ve already started a selection with the mouse. You can move the selection range using Shift + the arrow keys
- Terminal now supports actions that can run multiple other actions (we heard you like actions, so we put actions in your actions so you can perform actions while you perform actions) (#11045) (thanks @Rosefield!)
- For example, something like this:
"action": "multipleActions", "name": "Move right->down", "actions": [ {"action": "moveFocus", "direction": "right" }, {"action": "moveFocus", "direction": "down" }] }
- Terminal will now automatically create profiles for Visual Studio Developer shells (#7774) (thanks @trippwill and @heaths!)
- Terminal will now try to guess which profile to open when it is launched as the ‘default terminal’ for an application (#11390)
- You can now interact with subtrees of panes (instead of only the leaves) (#11153) (thanks @Rosefield!)
- On Windows 11, Terminal now supports non-acrylic transparency (#11180)
- Opacity has moved to a new setting named
opacity
(an integer with possible values in the range 0-100; defaults to 100) - Transparency is no longer configured with the
useAcrylic
option. If you set opacity <100 or acrylicOpacity <1.0, the terminal will become transparent
- Opacity has moved to a new setting named
- You can now always target the first pane in the tree for your swapping/moving focus purposes (#11044) (thanks @Rosefield!)
- The tab row will now contain a helpful shield icon when Terminal is in elevated mode (#11224)
- You can configure the visibility of the admin shield with the
showAdminShield
global setting (a Boolean setting that defaults to true)
- You can configure the visibility of the admin shield with the
- We added an action that allows you to quit all terminal instances at once (#11143) (thanks @Rosefield!)
- New panes can now be created to the left or above the existing pane, instead of only to the right or bottom (#11145) (thanks @Rosefield!)
- The
splitPane
action can now take in directional arguments (left
,right
,down
,up
) and treats horizontal asright
and vertical asdown
- The
- The contents of the screen can now be exported into a file via the tab context menu (#11062) (thanks @Don-Vito!)
- We added an action to manually clear the Terminal buffer (#10906)
- There is now a setting that will automatically adjust your foreground color's lightness if it is nigh-imperceivable on the background (#11095)
- This should help users of Solarized Dark to have an easier time using PowerShell
- This can be turned off by setting
"adjustIndistinguishableColors": "false"
in your settings.json, or from the Settings UI
- The command palette has been taught several neat tricks (thanks @Don-Vito!)
- We will now tell you how to get rid of “process exited with code xxx” errors and automatically close tabs with a new info bar, which can be permanently dismissed (#11139) (thanks @Don-Vito!)
- Tabs can now be reordered in elevated mode if UAC is disabled (#11221)
- The system menu can now be opened with its very own keybinding:
openSystemMenu
(#11086)- As a result, you can also disable the system menu by binding
Alt+Space
tounbound
.
- As a result, you can also disable the system menu by binding
Changes
- We have updated to the new version of WinUI - 2.7 (#11240)
- Autocorrect has now been disabled for our command, path and find text fields (#11137) (thanks @ianjoneill!)
- The exit code now shows up as hexadecimal in addition to decimal (#11123)
- You can now navigate focus between panes even while zoomed (#11046) (thanks @Rosefield!)
- We now make sure to fully clean up state after closing a peasant Terminal session (#11217) (thanks @Rosefield!)
- We’ve adjusted the padding between tabs in the titlebar (#11115) (thanks @gabrielconl!)
- The Tray Icon's context menu now shows the names of the open tabs (#11043)
- We made some sleek visual tweaks to our search box (#11105) (thanks @gabrielconl!)
- "TrayIcon" and "Tray" have been renamed to "NotificationIcon" and "NotificationArea" (#11219)
- This includes the JSON setting names.
- Ctrl+numpad_0 will now also reset the font size (previously it was only ctrl+0) (#11243) (thanks @BenConstable9!)
VT sequences
- Terminal now supports the 'Request Selection or Setting' (DECRQSS) VT sequence (#11152) (thanks @j4james!)
Bug Fixes
- Opening the debug tap no longer crashes the terminal (#11445)
- Moving the window after opening a dialog box no longer does strange things to the window (#11485) (thanks @mpela81)
- All mouse events now get sent correctly even after the viewport is scrolled (#11290)
- Pasting text now correctly clears the current selection (#11286) (thanks @serd2011!)
- We fixed various compatibility issues with the profiles schema (#11360)
- Fixed a typo that was causing us to fail to save the dropdown duration on the summon window action (#11401) (thanks @NotWearingPants!)
- The tab background color is now applied correctly when the tab is unfocused (#11413)
- wt command-lines are now escaped properly when used from the Open Terminal Here menu item (#11314) (thanks @ianjoneill!)
- Terminal’s multi-process model should now be more robust (#11189) (thanks @Rosefield!)
Settings UI
- Fixed a crash that would occur when adding an action with the same key chord as an existing action (#11427)
- The "Reset to inherited value" button for opacity now works correctly (#11391) (thanks @ianjoneill!)
- There is no longer a nameless action in the actions dropdown (#11427)
- The minimizeToTray and alwaysShowTrayIcon settings can now be configured in the settings UI (#11070)
- Fixed various typos (#11362)
Accessibility
- Fixed a hang in narrator that would occur upon selecting some text in Terminal (#11386)
- We now make sure the text buffer is present before we try to interact with it (#11312)
- We treat the last character as the end of the buffer now, significantly improving the performance of word navigation (#11122)
- Several previously nameless controls now have names! (#11364)
- Fixed RadioButton content not showing up properly in UIA (#11442)
Documentation, Schema and Code Health
Thank you to @j4james, @ghost1372, @NotWearingPants, @heysujal and @saintmalik for contributions to the documentation, code health and JSON schema document.
Windows Terminal v1.11.2921.0
This release brings many of the preview changes in Windows Terminal 1.11 to the stable channel. Please see the following release notes for additional details:
A preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.
We've also backported some features, changes and bug fixes from Windows Terminal Preview 1.12.2922.0 and earlier versions:
Features
- On Windows 11, Windows Terminal can now be set as the default console host (#9907) (#10170)
- First-time Windows 11 users will receive an information popup about changing their default terminal to WT, along with a link to their settings (#11397) (#11491)
- This only applies to Store and
msixbundle
installs of Terminal; scoop installs and other "extraction-based" installs cannot be registered as the default terminal.
- We've reintroduced the UI that allows you to edit default settings that apply to all profiles, as well as arrow buttons that let you revert individual settings (#10588)
- On the Actions page, you can now edit existing actions and add new ones (#10550) (#10220)
- The keyboard service warning info bar can now be permanently dismissed (#11139) (thanks @Don-Vito!)
Bug Fixes
- Moving the window after opening a dialog box no longer does strange things to the window (#11485) (thanks @mpela81)
Accessibility
Windows Terminal Preview v1.11.2731.0
This release brings some assorted top-hitting bug fixes into the preview channel from the main development trunk.
There's also a breaking change included here to ensure our consistency as we move into 1.12. We were alerted that the terminology "tray" is inappropriate for Taskbar Notification Area. This means that the minimizeToTray
setting is now the minimizeToNotificationArea
setting and the alwaysShowTrayIcon
setting is now the alwaysShowNotificationIcon
setting. There is no automatic migration of these settings as this terminology was only ever used in preview channel. Preview users will have to fix their settings files manually. (#11219)
Bug Fixes
Accessibility
- Resolves hang on launch for Windows Server 2022 (and similar client Windows versions) when tablet input keyboard is activated (#11312)
- Selecting text in the terminal while Narrator is open will no longer hang (#11386)
Reliability
- Fix KeyChord constructor assertion failure during tab dragging (#11306)
Terminal Emulation
- Fixes alignment of the mouse coordinates when the viewport is scrolled for all events, not just mouse button pressed event. (#11290)
User Interface
JSON Settings
- Fix serialisation of findMatch action to persist the direction (#11233) (thanks @ianjoneill!)
Windows Terminal v1.10.2714.0
This release brings some assorted top-hitting bug fixes into the stable channel from the main development trunk.
If this looks very similar to the preview channel, you're correct. These were heavy hitters, so we're rolling out to the whole population as quickly as we can.
A preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.
Bug Fixes
Accessibility
- Resolves hang on launch for Windows Server 2022 (and similar client Windows versions) when tablet input keyboard is activated (#11312)
Reliability
- Fix KeyChord constructor assertion failure during tab dragging (#11306)
Terminal Emulation
- Fixes alignment of the mouse coordinates when the viewport is scrolled for all events, not just mouse button pressed event. (#11290)
User Interface
JSON Settings
- Fix serialisation of findMatch action to persist the direction (#11233) (thanks @ianjoneill!)
Windows Terminal Preview 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, defaultfalse
) andminimizeToTray
(boolean, defaultfalse
) 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.
- See
- 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
ordlig
features to0
. Consult your font's printed manual for more information.
- This works great with Cascadia Code's new alternate italic style.
- 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, defaultbright
, optionsbold
,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, defaultfalse
) - ¹That is, if you have disabled "show tabs in the title bar"
- Settings key:
- 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
andbrowser_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)
orsc(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
towindows+sc(41)
, which is "the key where backtick is on the US-104 keyboard"
- Use
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 theswap-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 themove-pane
/mp
command (#10780) (#11039)- Search the Command Palette (Ctrl+Shift+P by default) for "move pane"!
- The
moveFocus
andswapPane
actions have been taught thenextInOrder
andpreviousInOrder
directions, which will walk the pane tree in creation order (#10927) - The
moveFocus
andswapPane
actions have also been taught thefirst
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)
- The settings that you'll see are dictated by the contents of the "Defaults" section in settings, or
- 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!
- If you are on a newer version of Windows, you will be able to set the starting directory to
- 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()
andsc()
codes.
- This is to support keyboard layouts that define different display keys for
- 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)
- More, thanks to @skyline75489 (#10621) (#10685)
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 h...