Skip to content

Windows Terminal Preview v1.9.1445.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@DHowett DHowett released this 25 May 19:03
· 1936 commits to main since this release
v1.9.1445.0
227ec37

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 or conhost 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.
    • This behavior will be granted to any window whose name is _quake. You can use wt -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)
  • 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 the focus-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 to false, or visit the Interaction page in the settings.
  • 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, default false) or visit the Interaction page in the settings.

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...)
  • 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!