Windows Terminal Preview v1.9.1445.0
Pre-release
Pre-release
Features
- ALPHA FEATURE Windows Terminal Preview can now be set as the default console host on Windows Insider Dev builds (#9907) (#10170)
- There are some known issues with this support; please see this query for the list of known bugs.
- One such known bug is that you will need to resize the window before an application that spawned in Terminal becomes aware of its size. #9811
- Another is that WSL doesn't work. At all. Sorry! #10134
- If you still want to opt in, head over to the "Startup" section of the settings, or the "Terminal" section of the legacy console property sheet.
- If you really need to run the traditional Windows Console, you can start it with
conhost cmd
orconhost powershell
. 😄 - FINALLY: This feature will only work if you've installed Terminal via the MSIX. Unpackaged installations, such as the one offered by Scoop, are not supported.
- Terminal now supports pinning an instance to the top of the screen that you can summon at any time (colloquially referred to as "Quake Mode") (#9785) (#9956) (#9977) (#10108) (#10113) (#10150)
- It is bound by default to Win+` (#10122)
- You can rebind this shortcut with the
quakeMode
action.
- You can rebind this shortcut with the
- This behavior will be granted to any window whose name is
_quake
. You can usewt -w _quake
to target the quake window with commands. - You can add a custom binding to summon any Terminal window with the
globalSummon
action! (#9854) (#9954) (#10092) (#10025) (#9963)- See the documentation on
globalSummon
for more details. This is a very flexible command!
- See the documentation on
- It is bound by default to Win+` (#10122)
- This version of Terminal comes with Cascadia Code 2105.24, which has an italic variant.
- We're so excited to finally show this off!
- Due to an issue, only the italic variant will display as version 2105.24.
- Terminal now supports mouse input for Windows console applications! (#9970) (#10138)
- To the Far Manager folks (@alabuzhev et al): thank you for being a good model application.
- You can now edit key bindings for existing actions on the Actions page (#9949) and actually save them, too! (#9926) (#9621)
- The Appearance page will now show you a (tiny) preview of the Terminal (#9527)
- We've added a new treatment for visual (#9270)
- We have added a new "Add a new profile" page to the Settings UI, where you can choose to duplicate an existing profile (#9352)
- We've added support for a
focusPane
action (focus by index) an thefocus-pane/fp
subcommand (#10142) - When you use the "Set color scheme..." action in the command palette, we will now show you a live preview of the new color scheme (#9794)
Changes
- We have added support for the Windows (Super) key in key bindings (keyword
win
) (#9783) - There is now an experimental setting to disable URL detection (#10022)
- At global scope, set
experimental.detectURLs
tofalse
, or visit the Interaction page in the settings.
- At global scope, set
- When you rename a window, we will now acknowledge that we actually did it (#9808)
- Terminal will now show a more scrutable error message when your starting directory cannot be found (#10045)
- Whitespace trimming in block selection can now be configured (#9807) (thanks @Don-Vito!)
- Use the
trimBlockSelection
global property (boolean, defaultfalse
) or visit the Interaction page in the settings.
- Use the
Performance
- Terminal is now built with profile-guided optimization for a bunch of common use cases (#10071)
VT Support
- Terminal now has support for tab stops (which you will not notice, as it already had support for tab stops sorta) (#9597) (thanks @skyline75489!)
Refactoring and Internal Improvements
- We have split
TermControl
into a Core, Interactivity, and Control layer (#9820) (#9980)- This will set us up very nicely for some of our vaguely menacing future plans.
- Conhost now has a mechanism for passing through DCS data strings (#9307) (thanks @j4james!)
- We've replaced our attribute run storage with a new RLE vector that performs slightly better and is far, far more reusable (#10099)
Bug Fixes
- There was an issue that would result in blank profiles or profiles containing just one setting; it is now fixed (#9964)
- The only known cause of this issue was editing the settings of a profile the first time you ever launch Terminal
- If you have profiles named
Default
in your dropdown, this is probably why. - We will now attempt to heal settings files broken by this bug (#10143)
- If you did have a profile that you actually liked that didn't have a name or a GUID or any settings, it will now be broken.
- (Why? That's just a Command Prompt profile with no useful identifying information in it...)
- If you did have a profile that you actually liked that didn't have a name or a GUID or any settings, it will now be broken.
- We've fixed a bunch of instances of the terminal losing focus (#10048) (#10114)
- We will no longer close a tab on middle-click down (because up is much more reasonable) (#9842) (thanks @Don-Vito!)
- The "close tabs to the right" and "close other" options have finally returned, thanks to some quick out-of-the-box thinking (#9859) (thanks @mpela81!)
- Nested commands will no longer interfere with deleting the
>
command palette mode character (#10164) (thanks @kovdu!) - The "new tab" dropdown will no longer go up when it used to go down; we no longer live in topsy turvy-land (#10009) (thanks @mpela81!)
- Terminal will no longer create a new profile with the name "Profile 13" if you're weird enough to add a new profile called "Profile 13" yourself (as an example) (#9816) (thanks @Don-Vito!)
- The window rename action will no longer also pop keys into the terminal (#9809) (thanks @Don-Vito!)
- You can now navigate better using your key bindings in the Settings UI (focus mode, fullscreen, etc.) (#10121)
- Terminal will no longer let an application emit more than one bell per second (#9812) (thanks @Don-Vito!)
- In other news, a 1-second delay we accidentally introduced before a bell has been resolved (#10133)
- The command palette will now respect your locale when you do a case-insensitive search (#9943) (thanks @Don-Vito!)
- The "discard" button will try harder to keep you looking at the profile you're on (#10147) (thanks @Don-Vito!)
- Terminal will try to keep the last selected pivot active when you move between profile pages (#10047) (thanks @kovdu!)
- We fixed a bug that resulted in certain CJK punctuation characters being deleted (66b9b9d)
- Duplicating a tab will now attempt to copy its title, when that title was provided by you, the user (#9813) (thanks @Don-Vito!)
- The "Use parent process working directory" and starting directory settings have learned to stop fighting back (#9862)
- The various long tooltips in the application will now be wrapped more ~ ~ AESTHETICALLY ~ ~ (#9913) (thanks @Don-Vito!)
VT Support
- We fixed some places where we deviated with the informal OSC 9;4 specification (#10024)
- The text buffer will be initialized with the default attributes on a resize (#5792)
- This should mostly fix the issue where when you resize it floods with one color. Mostly.
Reliability
- We should no longer crash on exit nearly as often -- either exiting a shell or the application (#10115) (#10042) (#10031)
- Typing
--tabColor
into the command palette now has a 100% reduced chance of crashing (#10096) - Pressing Save in the Settings window twice will no longer launch Terminal into the great beyond (#10148)
- We fixed a rare crash, which mostly impacted conhost, when there were multiple client applications sending API requests at the same time (c0ab9cb)
Performance
- Some of our debug logging was being enabled by accident, so we've restricted its activation further (#10098)
- This bug caused a significant reduction in rendering throughput!
WPF Control
- The WPF control can now have a background that varies from the terminal background (#10026)
Documentation and Code Health
Thank you to @unrealapex, @hms5232, @akkaygin, @jBarrineau, @ghost1372 and @cliffkoh for documentation updates that keep this repository in fighting trim.
Additional thanks to @jsoref for maintaining the check-spelling action and keeping Terminal's spell checker up to date!