Skip to content

Windows Terminal Preview v0.10.761.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@DHowett-MSFT DHowett-MSFT released this 17 Mar 17:00
7b9c8c7

Features

  • Mouse Support (for WSL and Windows applications using ENABLE_VIRTUAL_TERMINAL_INPUT)
    • Applications running in WSL and Windows applications that use VT (instead of the traditional Win32 API) can now request mouse mode (#4848) (#4856) (#4859)
      • The set of supported encodings and events is identical to that of the traditional console host.
  • A new profile setting, antialiasingMode, lets you configure whether you want text to be blurry or jagged (#4711)
    • The accepted options are actually not "blurry" and "jagged", they are "grayscale", "cleartype" and "aliased"
    • The default is "grayscale", because grayscale antialiasing is most compatible with alpha blending
  • splitPane learned a new option, splitMode, which accepts the value "duplicate" (#4683)
    • Setting a key binding to splitMode: "duplicate" will make it open a copy of the current profile when you use it
  • Resizing is so much better we decided to call it a feature, even though really it was just a hundred bugs wearing a trenchcoat (#4415) (#4741)
    • We'll also try to maintain your position in the scrollback when you resize (#4903)

Changes

Accessibility

  • Selection ranges now work properly (#4466)
  • "Visible ranges" now work properly (#4495)
  • The terminal control now has automation properties (#4732) (#4805)
  • Minor refactoring to improve code sharing and performance--it turns out that selection and UIA are very similar (#4560) (#4578) (#4797)
  • The cursor can now be hidden by client applications; there will be much rejoicing, but it will be invisible (#4902)
    • Since the pseudoconsole hides the cursor when it moves it around, this should also hide some of the console host's weirdness

Azure Cloud Shell

  • ACS is now insulated from Terminal's relatively poor VT implementation (all our VT magic is in the console host, which is a problem that nags us daily) (#4652)
    • This means that PowerShell works inside ACS
    • A bunch of other things work too, like mouse mode and vim and things people actually want to use
  • ACS has received an input and UI/UX overhaul (#4756)
    • You can now enter tenant numbers greater than 9
    • User-enterable text will be highlighted to indicate actionability
    • When you type before connecting, you can now see what you've typed and confirm it before hitting Enter
    • Things you type after connecting but before you get a shell now get sent across the wire
  • ACS now follows your shell choice set on shell.azure.com

Settings

  • A keybinding's keys can now be a simple string (#4714)
    • This is intended to reduce confusion regarding key chords, which we do not yet support.
    • All existing settings should work as-is.
  • We've added a number of warnings for unexpected keybinding situations (#4746)
  • snapToGridOnResize is now on by default (#4569)

Input & Interaction

  • The touch keyboard will now show up when you focus/click the terminal (#4867)
  • Emoji, Kaomoji and symbols should appear during composition (#4688)
  • We now allow IME input in Search Box (#4723)
  • We've made some changes to TSF input to compensate for Korean input methods not behaving the way we expected (#4796) (#4836)
  • Touchpad and touchscreen scrolling will now go at a completely normal speed instead of jumping straight to plaid (#4554)
    • If you've set rowsToScroll to 1, scrolling will now be weirdly slow for you. Remove that setting; we're considering removing it officially ourselves.
  • When copyOnSelect is on, clicking, right-clicking, and click-dragging in terminals both focused and unfocused should act more reasonably (#4596) (#4819)

Miscellaneous

  • Ctrl+Shift+Wheel will now turn acrylic on or off at 100% (#4853)
  • An active selection will be deactivated when the window resizes (#4777)
  • When the pseudoconsole sends something it doesn't understand, it'll now do so immediately so the Terminal can handle it (#4896)
    • VT sequences that we didn't understand but it took us two reads to figure that out will be flushed as a single unit (#4870)

Bug Fixes

  • When your system is in Dark theme (the one true theme), Terminal's window borders will now behave (#4817)
  • Characters that would have rendered outside their cells are now being kept in line (aggressively) (#4671)
  • When you press F7, it won't be snatched still-beating out of your clutches and taken away to Xaml land (#4807)
  • We had slightly regressed writing UTF-8 to the console if you broke up the lead/continuation bytes, and now that's fixed (#4685) (#4798)
  • We've fixed the leading two causes of there being a weird gray hole in the titlebar (#4829) (#4845)
  • When the terminal is maximized or fullscreen, Windows will no longer think we're a game and suppress the taskbar and notifications (#4857)
  • initialRows and initialColumns (if that's what we called them) should now be applied more accurately (#4825)
  • We'll no longer try to cut a hole in a fullscreen window so that you can drag it around (#4904)
  • When the cursor's off the screen, but only by a little bit, we won't try to draw it (#4901)
  • Terminal will now receive RIS (hard reset) from client applications (#4909)
  • Ctrl+Alt+X and Ctrl+Alt+Z will now be received by client applications correctly; previously they would be received with their Alt status stripped (#4940)

Rendering

  • Sometimes we would decide that your font was 0.00001 pixels too wide and try to shrink it; we now don't do something so silly (#4861)
  • We fixed a bug where sometimes we would break an emoji (or more importantly, a CJK ideograph) in half and render two copies of it, one big and one small (#4668) (#4731)
  • When we have to shrink a glyph to fit it in a cell, we no longer shrink everything else on that line (#4747) (#4781)
  • If you like retro scanlines and have a high-DPI display, those scan lines should now be way more visible and not cause visual issues at the right side of the screen (#4716)
  • Fonts with glyphs with locale-specific differences should, when fallen back to, render as though they're in your system's locale (#4934)

Performance

  • The VT renderer won't generate a bunch of formatted diagnostic strings unless somebody's really listening (#4594)
  • We won't try to render more than once per frame (#3511) (#4698)
  • The VT renderer will now keep a format buffer high water mark to avoid allocating and freeing memory tens or hundreds of times per frame (#4890)
  • When an application changes the color but doesn't print anything using that color, we'll silently ignore it (#4877)
    • It turns out cmatrix does this all the time, so now cmatrix runs a lot faster.

Reliability

  • TermControl is no longer too strict about some of the pixel math done inside it (#4721)
  • You can no longer reorder tabs while elevated, sorry (#4874)
    • We are pursuing a fix with the platform
  • ConptyConnection's had a use-after-free eliminated (#4871)
  • Fixed a rampant crash in TSFInputControl when opening new tabs (#4830)