Skip to content

Releases: microsoft/terminal

Windows Terminal v1.0.1401.0

19 May 16:08
Compare
Choose a tag to compare

Changes

  • Windows Terminal now ships with Cascadia Code 2005.15.
  • All emoji are now sized as recommended by Unicode 13.0. You will see some emoji that are smaller than you want them to be. That's just a fact of life. (#5934)
  • Documentation for Windows Terminal has moved to docs.microsoft.com!
    • Existing user documentation in this repository will be moving to a nice farm upstate in short order.

It will not escape your notice that there are two packages in this release:

  • WindowsTerminal is the stable build of Terminal.
  • WindowsTerminalPreview is the preview version, which can be installed side-by-side with the stable version.

Windows Terminal Release Candidate v0.11.1333.0 (1.0rc2)

13 May 17:11
Compare
Choose a tag to compare

Changes

  • Some of you reported that text would literally melt, so we added two new rendering options to help congeal your terminal experience (#5853)
    • You can use the following (global!) settings to control various aspects of our rendering engine:
      • experimental.rendering.software (boolean): when your graphics drivers won't stay in their lane, you can opt in for software rendering.
      • experimental.rendering.forceFullPaint (boolean): you can turn off the differential drawing optimization that we added--at the cost of speed, you can have full determinism.
  • We're now shipping the latest version of Cascadia Code (and Cascadia Mono), 2004.30 (#5867)

Bug Fixes

Terminal Competence

  • git log (and other paged applications) should now copy with their lines wrapped (#5771) (#5870)
  • We should no longer leave old search result highlights laying around for you to step on like a small plastic block toy in the dark (#5798)
  • CSI 2 J (the non-destructive "clear screen") will now correctly push the screen into the scrollback (#5683)

Rendering

  • Box and line drawing glyphs now appear at the right sizes (and actually connect with each other) (#5743)
    • This works in almost all fonts, but ones that do not actually have glyphs for that range will still have some unusual visual artifacting.
  • Hundreds of emoji should now appear to be the correct width (#5795)
    • A special exception was made for characters in WGL4, the old codepage 437 glyphs everybody knows and loves and also hates. They're still narrow.

Reliability

  • Dragging a selection while resizing the terminal is not a reasonable thing to do, but it was even less reasonable for us to crash when you did so. We now don't. (#5855)
  • We'll no longer crash when the clipboard gives us the classic "high five! too slow!" (#5856)
  • Terminal is now more robust in the face of you trying to close the same tab multiple times (#5742)
  • Closing a tab in fullscreen mode will no longer cause terminal to stop responding (#5809)

Windows Terminal Release Candidate v0.11.1251.0 (1.0rc1)

05 May 22:25
48617b7
Compare
Choose a tag to compare

Changes

This is the first release of Terminal whose name doesn't have "(Preview)" in it!
That doesn't necessarily mean we're done, but it does mean that this is the first release candidate.

Rendering (Performance!)

  • Terminal no longer renders the entire screen when something changes (#5345) (#5185) (#5092)
    • This saves 30-40% of the time it took to print out your huge synthetic test files from #1064 and it makes cmatrix run even faster.
  • RTL text should now be slightly more reliable (possibly readable! not necessarily "working" to any great degree) (thanks @schorrm!) (#5734)

Accessibility

  • Narrator and NVDA should once again be able to read out search results (#5478)

Input & Interaction

  • We've reworked how we handle titlebar dragging to not require us to cut a giant hole in the window (thanks @greg904!) (#5485)

Miscellaneous

  • Terminal now ships with the CRT embedded, so it can be deployed in places where the Store doesn't exist (#5661)
  • The terminal now has a minimum width (#5599)
    • If that width is too big for you, I'd love to learn why you want our beautiful child to be so tiny.
  • You can now click "Third-Party Notices" in our About dialog to see which OSS we're using (#5508)
  • cls (cmd) and Clear-Host (powershell) will now properly clear Terminal's scrollback (#5627)
    • This required some ingenuity. These two applications "clear" by printing a bunch of spaces down on top of the screen or "scrolling" the buffer to an absurd location.
    • The pseudoconsole host now detects these requests, only when they come from CMD or PowerShell, and translates them into the intended modern format of clear.
  • New tab/min/max/close buttons now have tooltips (thanks @Chips1234!) (#5484)

Bug Fixes

  • We fixed the bug where terminal wouldn't always scroll down to the bottom (and pretend it hadn't seen any lines below it) (#5630)
  • Pasting HTML-formatted buffer contents into Outlook Web/Gmail no longer includes a stray "WINDOWS TERMINAL !!!" (#5595)
  • When you request cleartype antialiasing over translucency, your text will now remain visible (#5277)
    • This comes at a performance cost. cleartype AA costs more when we have to compose it.
  • For those of you who like to use Ctrl+Alt as AltGr, that works again (thanks @lhecker!) (#5552)
  • The emoji picker should be better-aligned with your text (#5609)

VT & Translation

  • Lines that begin with blocks of color no longer sometimes have their colors stripped (#5550)

Performance

Reliability

  • Terminal would, for some people, always crash on exit. An exit is an exit, but a crash is also a crash, and that made our reliability numbers stink. That's fixed. (#5629)
  • The backing console should no longer crash when you resize it when CMD is running (#5620)
  • A selection crash has been fixed (#5551)
  • Some accessibility scenarios involving the alternate buffer no longer cause crashes (#5399)

Windows Terminal Preview v0.11.1191.0

28 Apr 23:21
Compare
Choose a tag to compare
Pre-release

This is the first servicing release in the 0.11 line.

Bug Fixes

  • When your settings need migrating (which they almost certainly will if you're coming from 0.10), we'll give you a more informative error message (#5597)
  • The default font, which was once Cascadia Code, is now Cascadia Mono for those of you for whom default-on ligatures were the end of the world (#5505)
  • We re-fixed the fixed crash you'd run into dragging tabs around as an Administrator. It turns out that's the one thing admins aren't allowed to do. (#5542)
  • PowerShell can now read Ctrl+C when you set IncludeKeyUp (#5431)
  • Terminal will now respect Ctrl+C even if the application that launched it doesn't (#5472) (thanks @eryksun!)
  • Control Flow Guard is now enabled for all Terminal components (#5453)
  • The Tango Light/Dark color schemes have an improved contrast ratio (#5598)
  • We've made various improvements to the schema (#5304) (#5549)

Windows Terminal Preview v0.11.1121.0

22 Apr 17:11
Compare
Choose a tag to compare
Pre-release

This is the last major update before 1.0! It's all servicing releases from here on out. There have been some breaking changes in settings. See below.

Features

  • This is the first version of Windows Terminal that has support for non-English UI languages.
    • We're not totally done with localization, so please bear with us.
    • If you see any egregious translation issues, file a bug!

Changes

Accessibility

  • Screen readers should now be able to read wide glyphs (#4946)
  • Screen readers should now be able to read block selections (#4991)
  • The "text cursor indicator" accessibility feature now follows the cursor (#4826)
    • While we were doing this, we realized we were sending thousands of cursor events to UIA. Now we're not. (#5196)

Azure Cloud Shell

  • The Azure Cloud Shell connection is now more robust in the face of errors and expired tokens (#5356)
    • When there's an error, we'll actually tell you what it is instead of blaming your ISP
    • Newly-added tenants will display their default domains instead of their GUIDs, as that's a lot more readable
    • When your token has expired, we'll just make you log in again (instead of blaming your ISP because we thought there was an error)

Settings

  • BREAKING CHANGE We've deleted a lot of legacy settings handling (#5190)
    • Please see our blog post and our most recent status update for more information.
    • If you had settings hanging out in the globals dictionary, you'll want to move them out.
      • Failure to do so will cause us to ignore your default profile, launch mode, etc., etc.
  • profiles.json has been renamed to settings.json. This should be transparent to you as we'll rename it on first launch (#5199)
    • As a side effect, we'll finally stop resurrecting old pre-version-0.3 roaming profiles.
  • If you don't specify a splitPane split mode, it'll default to automatic (#5194)
  • copy's original and poorly-understood trimWhitespace argument is now called singleLine to indicate that it will, in fact, copy text as a single line (#5216)
  • requestedTheme has been renamed to theme (#5265)
  • The default font for any profiles that don't specify a font is now Cascadia Code (#5121)
  • FOR NEW USERS
    • The default settings.json now contains a whole bunch of usability improvements (#5217), including:
      • Ctrl+C and Ctrl+V bound to copy and paste by default
      • Ctrl+Shift+F bound to find (as an example of how to write key bindings)
      • Alt+Shift+D bound to "open duplicate split of current profile" (as an example of how key bindings can have arguments)
      • comments everywhere
    • Your settings file will now indicate the version of Terminal that originally generated it (#5232)
    • (If you want these settings for yourself, delete your settings.json.)
  • defaults.json now contains more of the actual live defaults for reference (#5231)
  • Terminal now ships the Tango Dark and Tango Light color schemes by default (#5305)
  • You can now specify a cursorColor in a color scheme (instead of in your profiles) (#4651)
  • It is now possible to turn off HTML/RTF copy with the copyFormatting setting (default: true; new user template default: false) (#5404)
    • The "template" default differs from the real default so that existing users don't get this feature taken away from them.
  • The default background color for the legacy Windows PowerShell profile is now black (#5432)
    • The original blue background is available in the "Campbell PowerShell" scheme.
    • This change was made for accessibility reasons.

Input & Interaction

  • We've consolidated our input stack so that non-US-104 keyboard layouts work more reliably (#4192)
  • Deleting a composition in progress when entering Chinese now no longer breaks input forever (#5109)
  • Composing input should now look slightly better when it doesn't fit on the screen (#5005)
    • We know this isn't perfect, but it's shippable.
  • The composition field should more closely follow the cursor (#5135)

Miscellaneous

  • We've revamped selection! No longer will a single click select a single cell -- you must drag to select text. Rejoice! (#5096)
  • Touchpad scrolling on Synaptics touchpads should finally, mercifully, work properly (only on the terminal) (#5131)
  • The box cursors should now more accurately represent double-width glyphs (#5319)
  • Connected applications can now detect which profile spawned them by reading the WT_PROFILE_ID environment variable (#4852)

VT

  • The console host now responds to DSR-OS, the "operating status report" request (#5300)

Debuggability

  • We added an optional "debug tap" that you can enable to get a peek behind the curtain; see the pull request for more information (#5127)

Bug Fixes

  • We've fixed another couple instances of line wrapping being ignored for resize and copy/paste (#5181) (#5294)
  • Command-line arguments should now trigger more reliably in the order you expect them to (#5090)
  • Your window borders will now reflect the theme you want, rather than the theme you have (#5105)
  • Terminal will now issue the right error message when you, human that you are, use the wrong JSON value type (#4961)
  • DOSKEY users, your time has come: the console won't crash when you use doskey /listsize=0 to delete your CMD history
  • Search's Case Sensitivity button doesn't look like trash on High Contrast any longer (#5088)
  • We'll account for padding when we try to figure out the launch size (#5091)
  • VT parameters >32767 will now be clamped to 32767 (#5200)
  • We should now restore the window properly when you have an auto-hide taskbar (#5213)
  • Legacy applications hiding/showing the cursor should no longer make it revert to Vintage style (#5251)
  • Using Shift to extend your selection when copyOnSelect is enabled should no longer perform a single-line unwrapping copy (#5346)
  • Menus and buttons in dialogs should reflect your application theme instead of your system theme (#5224)
  • Terminal will look less terrible when you fullscreen it using Alt+Enter (#5046)
  • Terminal will try to avoid leaving the cursor visible while it's doing off-screen manipulation

Console Compliance and Correctness

  • Ctrl+Alt+Space should now work more "correctly" for VT input applications (#5208)
  • The pseudoconsole can now pass application cursor keys (#5383)
  • The pseudoconsole will now handle scrolling invalidation more correctly (#5122)
  • Your arrow keys should now be more meaningful to legacy applications (like GOW nano and python, which acts strangely like a legacy application) (#5021)
  • Tab stops should work more reliably (#5173)
  • RIS (hard reset) will now switch out of the alternate buffer (#5248)

Rendering

  • Those weird blurry lines between contiguous blocks of background color are now gone, GONE! (#5149)

Performance

  • The PTY now wastes way, way less time re-rendering stuff that hasn't changed (#5024)
  • We can now detect the width of a codepoint in even less time than before (#3727)

Reliability

  • When your graphics card goes away for longer than you'd like, Terminal will now now bite the dust (#5353)
    • Since we can't reliably tell when it's back, however, we'll prompt you to let us know. This should be rare.
  • We no longer hang when closing a tab on an intransigent application (#5303)
  • Terminal doesn't crash if you open the About dialog when you're running it outside of the MSIX package (#5274)
    • It'll do one better, and give you a meaningful version number.
  • The Terminal no longer crashes when you type before a new tab fully starts up, or use UIA sometimes, or really any number of other things caused by it not actually being ready (#5051) (#5225) (#5286)

WPF Control

Changes to the WPF control do not ship to the Windows Store, but they will appear in a future product.

  • The WPF control now supports VT mouse mode (#5375)
  • The selection changes noted above also apply to the WPF control
  • It now supports double- and triple-click selection for words and lines (#5374)
  • On x64, it should no longer crash when you scroll down (#5373)
  • Selection will only be dismissed for real input (#5388)

Windows Terminal Preview v0.10.781.0

20 Mar 15:18
Compare
Choose a tag to compare
Pre-release

This is the first servicing release in the v0.10 line.

Bug Fixes

  • Resizing the terminal when you have an absurd amount of history should no longer result in us consuming all of the RAM in the known universe and subsequently crashing (#4964)
    • I do mean "absurd" by 1980s standards: 32767 lines.
  • Alt+Numpad input should now work (and not result in hundreds of copies of the number you typed) (#4965)
  • (Ctrl+)Alt+[?/] are now encoded properly (#4947)
  • Ctrl+1 through Ctrl+9 are now encoded properly (#4938)
  • When WSL has fallen on hard times, we won't wait indefinitely for it to respond and hang the Terminal on startup (#4905)
  • We'll no longer lose the rightmost character when an application updates the screen in a certain way (#4994)
  • When you elevate Terminal, it'll finally tell you who's calling ("Windows Terminal"!) instead of "Unknown Program" (#4995)
  • Closing panes in an order that doesn't match the order in which they were created should no longer leave huge holes in the terminal (#4953)

Windows Terminal Preview v0.10.761.0

17 Mar 17:00
7b9c8c7
Compare
Choose a tag to compare
Pre-release

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)

Windows Terminal Preview v0.9.433.0

13 Feb 18:00
38ebf48
Compare
Choose a tag to compare
Pre-release

Features

  • wt, our app execution alias, now supports commandline arguments! (#4023) (#4388)
    • The design is heavily inspired by that of the venerable and beloved GNU screen competitor, tmux
    • You can wt new-tab, wt split-pane, wt new-tab -p Debian ; split-pane -p PowerShell until your heart's content.
    • You can also wt -- ssh [email protected]!
    • You can also do a lot more than that.
  • If you're the sort of person who likes PowerShell, Terminal will now go to even greater lengths to find it on your system. (#4273)
    • If you have so many PowerShells Core that your menu is inundated with them, now might be the time for quiet reflection.
  • There's a new global setting, confirmCloseAllTabs (boolean, default true), that controls whether you get that pesky "Close All Tabs ??!?" dialog (#4101)
  • You can now drag files onto the terminal and it'll do a close first approximation of what you're expecting! (#4323)
    • If the first approximation is too rough, and you wished it was closer, and the way in which you wish it was closer was "if only it worked with WSL", and you file a bug about that: know that it is known.
  • Accessibility: You can now navigate word-by-word using narrator and NVDA! (#4018)
    • miscellaneous other a11y changes (#4373) (#4449)

Changes

  • Shift+Ins and Ctrl+Ins are now bound by default to paste and copy (#4467)
  • You can now hold down Shift and click to extend your selection (#4404)
  • You can now use the same key names for bindings that you use in VS Code (#4392)
  • The pseudoconsole will now process mouse escapes, but it won't do much useful with them yet (#3963)
  • BEL, BS, TAB and CR are now dispatched at a different layer in both conhost and terminal; this should cause no ill effect (#4171)
    • Because of that, conhost's standard streaming text printer no longer needs to know about them! (#4289)
  • When you click and drag in an unfocused terminal window or pane, we should do the thing you're hopefully expecting with your selection (#4506)
  • Dev builds now have a slightly different icon (#4553)
  • VT support changes! We now support...
    • DECAWM (if you want to turn on or off auto-wrap mode as a VT application) (#3943)
    • DECSCNM (if you want the screen to be reversed) (#3817)
    • HPR and VPR (cursor movement sequences that ignore margins) (#4297)
    • CNL and CPL that are properly constrained by margins (#3628)
    • FF, VT, NEL and IND (for when you need multiple ways to do a line feed) (#3271)

Bug Fixes

  • Terminal should no longer taste clay when you provide a background image or icon path that is totally bogus (#4194)
  • A persistent crash on shutdown has been replaced with a different crash on shutdown (#4337)
  • Our various popup dialogs now have rounded and colored buttons (#4401)
  • The search box now works properly in high contrast (#4406)
  • When an application thinks that the cursor is invisible, we'll still properly update its position (#4372)
  • A deadlock caused by misunderstanding half of a surrogate pair has been repaired (#4150)
  • Terminal should no longer crash if it's launched with Narrator running (#4505)
  • When an application printf CSI 3 J to clear the scrollback buffer, we will now respect that (#4433)
    • This doesn't extend to PowerShell or CMD just yet. They clear the screen in a different way.
  • The console host will no longer crash when you use FillOutputCharacterA with a character that's not representable in your current codepage (#4309)
  • We've fixed the cause of an issue where the scrollbar would not work after you resized the terminal (#3344)
  • Pressing backspace, where it would bring you back up to the previous line, should now put the cursor in the right place (#4403)
  • Bounding rectangles for text ranges, as displayed by Narrator and Accessibility Insights, will not be in the right place on non-100%-scale displays (#4497)
  • Terminal should no longer crash when closing the window (#4538), and it should crash less when closing a bunch of tabs very quickly (#4559)

Windows Terminal Preview v0.8.10261.0

27 Jan 18:48
Compare
Choose a tag to compare
Pre-release

This is the first servicing release in the 0.8 line. It contains the following bug fixes.

Bug Fixes

  • Terminal should no longer crash when neofetch runs (such as when you launch WSL) (#3628)
    • More generically, there has been a number of fixes to the VT cursor movement implementation
  • Terminal should no longer hang when surrogate pairs end up at the right side of the buffer (#4150)
  • Certain ligature sequences should render better (#4081)
  • Background image and icon paths that are unparseable or invalid should no longer make Terminal taste clay (#4194)
  • Formatted copy should have fewer stray carriage returns (#4190)
  • Ctrl+Backspace should work a lot better (#3935)
  • We will no longer run C:\Program.exe if an administrator has, for some reason, made that file exist (#4172)
  • We will now properly terminate shells hosted under the last remaining tab when the application exits (#4337)
    • This will also improve a crash on exit seen in recent insider builds.

Windows Terminal Preview v0.8.10091.0

14 Jan 17:13
cbdfd0e
Compare
Choose a tag to compare
Pre-release

Features

  • First, the flashiest new feature: a retro-style CRT shader (EXPERIMENTAL FEATURE) (#3468)

    • Enable this with experimental.retroTerminalEffect (boolean) in your profile. This one will only take effect on the next new tab you open!
    • Experimental features may be removed at any time. That’s why they’re in the experimental. namespace!
  • There’s an all-new connection state manager! When a process exits, you’ll be confronted with the cold hard reality of the situation. (#3623)

    • This behavior is now more configurable than ever. The venerable old closeOnExit still works, and still takes true/false. That’s all fine and well.
    • In addition to true/false, it now takes the string values "graceful", "always" and "never". true has become graceful, and graceful means "if it exits without an error." never and always are exactly what they say on the tin. false now maps to never.
  • We’ve shipped support for "default settings!" This lets you specify settings that apply to all profiles. (#3892)

    • You can set almost everything in the defaults block, with the notable exception of guid.
    • Check out the sample below for more info.
  • You can now search for your lost keys some really important output you might have missed! (#3590)

    • Search is, by default, bound to Ctrl+Shift+F in keeping with our mission to leave all Ctrl+ bindings available to commandline applications.
    • It can be rebound with the find action.
    • This is not search's final form! Follow our future plans in #3920. In the long term, it should have blinking lights and moving platforms like any good boss fight.
  • Improvements to pane-splitting and tabbing key bindings:

    • There is a new splitPane key binding that takes an option split (string, "horizontal", "vertical" or "auto") that seeks to replace splitVertical and splitHorizontal (#3722)
      • "auto" splits in half along the larger dimension (#4025)
    • newTab and split* can now open specific profiles with option overrides, specified by ... (#3825)
      • profile (string, guid): a profile name or guid
      • index (int): a profile index in the profile list
      • commandline (string): a commandline to launch in the new profile
      • startingDirectory (string path): the path to a directory in which to launch this profile
      • tabTitle (string): a custom title for the newly-opened pane or tab
      • Check out the sample below for more info.
  • You can now configure the number of rows that your scroll wheel (or touchpad) will scroll (#3575)

    • Global setting rowsToScroll
    • Valid values are "system" (trust Windows) or any integer
  • We've landed the first hint of tab size customization: tabWidthMode (#3876)

    • It accepts two values:
      • "equal" (DEFAULT): all tabs are the same size, and they shrink to a certain tolerance before scrolling
      • "titleLength": the mode you know and love and also hate
  • You may now opt in to grid-snapping resize with the snapToGridOnResize global setting. (#3181) (#4154)

Accessibility Features

  • Terminal will now notify the accessibility subsystem, if it is listening, that the selection has changed -- but only when the selection has changed. (#2989)
  • You can now navigate the contents of the buffer word-by-word using Narrator (and perhaps other screen readers) (#3659)

Changes

  • Dev and Internal builds have shiny new icons (#4006)
  • VT Improvements
    • LF will no longer scroll outside of DECSTBM margins (#3704)
    • Scrolling and erasing will now result in the correct text attributes (#3100)
    • The horizontal tab character will no longer wrap off the end of the line (#3197)
    • DECALN (\x1b#8) is now supported for when you want a terminal full of Es (#3968)
    • We've removed the VT52 movement operations to eventually go and figure out how to integrate them with proper VT modes (#4044)

Bug Fixes

  • Punctuation (and other things) entered through non-keyboard input methods will no longer repeat hundreds of times (#4140)
  • The tab row will once again get larger when the window does. Rejoice! Be free, tabs! (#4024)
  • WSL consumers will now see the WT_SESSION environment variable (#4157)
  • docker-desktop distributions will no longer appear in the profile list (#4156)
    • If you had a distribution named docker-desktop{something} and can't find it:
      1. I'm sorry.
      2. Why?
      3. Please file a bug; We'd love to see if there's something better we can do here.
  • Applications that try to set the console buffer size without setting the window size will no longer wipe out your session (???) (#4021)
  • The cursor will appear immediately when you focus the terminal (#4032)
  • Fullscreen mode now works more reliably (#3721)
  • Moving focus between grouped panes should now move in the way you expect (#3958)
  • Heaps of crash fixes (#3806) (#3835) (#3936) (#3908)
  • When you try to use VT to set color table entry 256 you won't be able to, but Terminal will at least not beef it when you do (#3938)
Pane-splitting and tabbing arguments
{ // Ctrl+Shift+U will launch the Ubuntu profile
    "command": {
	"action": "newTab",
	"profile": "Ubuntu"
    },
    "keys": [ "ctrl+shift+u" ]
}
Default settings example

Old busted jawn

"profiles": [
    {
        "commandline": "cmd.exe",
        "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
        "name": "cmd",
        "fontFace": "Cascadia Code PL",
        "colorScheme": "Vintage"
    },
    {
        "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
        "name": "PowerShell Core",
        "source": "Windows.Terminal.PowershellCore",
        "fontFace": "Cascadia Code PL",
        "colorScheme": "Vintage"
    },
    {
        "guid": "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
        "name": "Debian",
        "source": "Windows.Terminal.Wsl",
        "fontFace": "Cascadia Code PL",
        "colorScheme": "Vintage"
    }
],

New hotness

"profiles": {
    "defaults": {
        "fontFace": "Cascadia Code PL",
        "colorScheme": "Vintage"
    },
    "list": [
        {
            "commandline": "cmd.exe",
            "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "name": "cmd"
        },
        {
            "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
            "name": "PowerShell Core",
            "source": "Windows.Terminal.PowershellCore"
        },
        {
            "guid": "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
            "name": "Debian",
            "source": "Windows.Terminal.Wsl"
        }
    ]
},