Skip to content

Releases: microsoft/terminal

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"
        }
    ]
},

Windows Terminal Preview v0.7.3451.0

12 Dec 17:28
Compare
Choose a tag to compare
Pre-release

This is the second servicing release in the 0.7 line. It contains the following bug fixes.

Bug Fixes

  • suppressApplicationTitle should be way better at suppressing the application title, like it says on the tin (#3837) (#3859)
  • We've ironed out a bunch of crashes that could happen when tabs were closing, being closed, or out on their lunch breaks. (#3835) (thanks @mkitzan!)
  • On the off chance that you wanted to do chunked word selection somewhere where there were a bunch of colors at the top left of the screen, you can now actually do that without Terminal buying the farm. (#3566)

Windows Terminal Preview v0.7.3382.0

06 Dec 02:06
Compare
Choose a tag to compare
Pre-release

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

Bug Fixes

  • Launching (or using, or thinking about) Windows Terminal when your display scale is set to something that isn't a nice round number will no longer crash. (#3784)
  • Resizing the window, moving it to another monitor, or snapping it all over the place should crash a whole lot less. (#3832)
  • copy and copyWithoutNewlines were accidentally swapped when we implemented key binding arguments. They aren't anymore! (#3823)
  • Our titlebar buttons fit in with the rest of Windows slightly better. (#3777)

Windows Terminal Preview v0.7.3291.0

26 Nov 17:27
Compare
Choose a tag to compare
Pre-release

Features

  • Split Panes! The keybindings for splitting are now included by default. (#3585)
    • Alt+Shift+-, Alt+Shift++ will split horizontally and vertically.
    • Alt+←↑→↓ will move between panes.
    • Alt+Shift+←↑→↓ will resize panes.
    • Right now, splits only launch your default profile.
    • The focused pane now has an accent color border around it (#3060)
    • Track the rest of our plans for panes in #1000!
  • Our window borders have gotten a significant makeover. THE BORDERS ARE NOW GREAT. THE THICKNESS IS GONE. (#3394)
    • Known Issue: If Windows is set to dark theme, and you've got the "use my accent color on title bars" setting turned off, your window borders will be white. Really quite white. Even so, we think this is a significant step up.
    • They will no longer hang over onto other monitors when you maximize Terminal.
    • They will no longer accidentally blow up to gargantuan sizes like "an inch on each side."
    • The resize handles are now, largely, exactly where you'd expect them.
    • Huge thanks to @greg904 for working tirelessly to bring this one in!
  • All input method editors (Ink, Emoji, Chinese, Japanese and Korean, as well as various others) now appear, appear in the right place, offer input feedback, and actually work. (#1919)
  • You can now turn off dynamic titles with suppressApplicationTitle; when you do so, a tab will retain the name or tabTitle of its originating profile (#2814)
  • RTF data is now copied to the clipboard (#3535)
    • We've finally caught up with the state of the art as it was in 1997, so more applications (usually the older ones) will receive colored content on paste.
  • You can now set the background color of a selection using selectionBackground (at the profile level) (#3471)
  • Tabs can now be reordered! (#3478)
    • Known Issue: You cannot reorder the tabs when running as admin. We're tracking this in #3581.
      • You can try, but it will definitely crash.
  • Fullscreen mode now exists and you can enter it using Alt+Enter or F11 (#3408)
    • You can rebind fullscreen mode with the toggleFullscreen command.
  • Azure Cloud Shell will now be offered on ARM64 devices (#3489)
  • Key bindings now support arguments; check the default settings for some examples of how this works (#3391)
    • As an example so you don't have to crack the settings open: "command": "newTabProfile0" is now better expressed as "command": { "action": "newTab", "index": 0 }. It looks more verbose, but wow is it ever more flexible.
  • A key binding, Ctrl+0, has been added to reset a terminal's font size to "default" (if you've zoomed it) (#3505)
    • Rebind this with the command resetFontSize

Changes

  • The "Active Terminal" and "Focused Control" are now decoupled (#3540)
    • We're a lot less likely to lose track of who is the terminal of repute in a multi-pane situation.
  • Improvements to the Azure connection:
    • All of its messages are now localizable (#3463)
  • There's now more padding to the left of the tabs (#3513)
  • Clicking the scroll arrow buttons will now move one line at a time (#3397)
  • We've revamped how we launch processes to better support fixing #2563 (and others) (#3461)
  • Various bits of internal refactoring; break everything out of App except Xaml platform init (#3465)

VT Improvements

  • The Save/Restore Cursor sequences DECSC and DECRC are now better-supported (#3160)
  • ... so is HPA (#3368)

Bug Fixes

  • backgroundImage now expands environment variables (#3204)
  • Increase and decrease font size using keybindings works (#3629)
  • Paste now replaces \r\n line endings with \r (#3449)
    • Pasting content is now at least 98% less annoying.
  • Alt+Arrow-Keys no longer print extra characters (#3117)
  • When you’re scrolled up, pasting now scrolls down to the prompt when using snapOnInput (#3521)
  • Terminal should no longer shuffle off this mortal coil when DWM buys the farm, like sometimes when your display topology changes (#3460)
  • Quickly opening and closing tabs will crash less (#3256)
  • Printing a binary file to your terminal using WSL won’t cause it to misbehave quite as badly (#3380)
    • As a question, though, why would you do this? This came to us as a repro that was legitimately phrased as "Just run cat /bin/*". ???

Windows Terminal Preview v0.6.2951.0

23 Oct 19:55
Compare
Choose a tag to compare
Pre-release

Features

  • There's now a setting for launching the Terminal in a specific initial position on your screen or to have it maximized when it starts up (#2817)
    • Set initialPosition to a string of the format x, y to force the terminal to launch in that position. Like, 100, 200.
    • The position specified is relative to your primary monitor. Negative values will be to the left of (x) or above (y) the primary monitor.
    • Set launchMode to maximized to request that Terminal start up maximized on the monitor it would have landed on based on its initialPosition
  • If you chose a color scheme that didn't exist, you got the wonderful black-on-black color scheme that was excellent for readability. Now instead, you get a warning that the settings couldn't find a valid scheme and we choose the default Campbell scheme instead so you can actually see things. (#3033)
  • Terminal now also warns you about closing many tabs when clicking the X button on the window frame, like a browser (#3049)
  • There are new keybindings, increaseFontSize and decreaseFontSize (bound by default to Ctrl+= and Ctrl+-) that help you increase and decrease the font size. (#2700)

Changes

  • We've upgraded to the latest version of WinUI, 2.2! There's a bunch of improvements in our tab bar, including... (#3027)
    • ... the ability to scroll your tabs with < and > buttons
    • ... the ability to see all of your tabs
    • ... a much more accessible color scheme
    • A KNOWN BUG where the tab bar won't expand when you make the window wider; this is being tracked by #3300.
      • (workaround: open a new tab)
  • Performance improvements
    • We now defer rendering the cursor until we know we're done printing text (#2960)
      • We got a little excited about updating the cursor and would spend most of our time drawing the cursor blinking on and off or moving through the buffer, even while we were writing more text. Now, we control ourselves and only draw the cursor when done emitting a segment of text. This improves drawing and buffering performance.
    • Things that change color in the middle of a line will now do so less slowly (#2937)
    • Runs of simple characters will no longer incur an expensive layout pass (#2959)
      • Re-instates text complexity check during text rendering to make simple/basic/ASCII text skip all analysis phases and render faster (less CPU!)
  • Characters of unknown width are now considered to be one cell wide (#2928)
    • Improves layout of all glyphs that are "ambiguous" per the Unicode standard by forcing them to be narrow, as most other Terminals do. This should improve table/box drawing.
    • If you see some emoji that have been crushed, smushed or smashed, please mention them by codepoint in #900.
    • Emoji are almost all ambiguous, so this is troublesome.

Bug Fixes

  • We'll no longer crash if you open a tab, close it, then try to draw some unexpected characters in any other tab (#2928)
    • Weird enough, this was the same fix as the "ambiguous width" one above. Your homework is figuring out why!
  • Text copied to the clipboard will, in a lot more cases, have the right number of line endings (#3239)
  • Characters like : and ' will now make their way to legacy applications in a way they can understand (#3199)
    • (some old Windows applications, or new ones that are written to target consoles that have been dead and gone for tens of years, were trying to read the scancode out of a key event. Terminal wasn't putting the right one in sometimes.)
  • correctly inform connection of resize events (#3228)
    - Fix for Visual Studio 2019 preview embedded terminal component to relay resizing events correctly.
  • Revert "Patch fix for #1360 (#2924)" (#3212)
    - See below. We tried fixing full-width characters at end-of-line and introduced a bunch of crashes, so this rolls it back to stop the crashes.
  • TermControl: force all ambiguous glyphs to be narrow (#2928)
    - Improves layout of all glyphs that are "ambiguous" per the Unicode standard by forcing them to be narrow, as most other Terminals do. This should improve table/box drawing.
  • Replace ExpandEnvironmentStrings double calling with wil helper (#3198)
    - Cleanliness fix. Turns out we don't need to jump through 12 hoops to expand environment variables because WIL has a nice helper. This makes us use it and stop the hoop jumping.
  • Defer cursor redrawing when writing the buffer (#2960)
    - We got a little excited about updating the cursor and would spend most of our time drawing the cursor blinking on and off or moving through the buffer, even while we were writing more text. Now, we control ourselves and only draw the cursor when done emitting a segment of text. This improves drawing and buffering performance.
  • You can now use font names longer than 32 characters (#3107)
    • We used to believe that font names could only be 32 characters or less because 32 characters would be enough for anyone. Now we believe that font names can be any length they choose to be.
  • Two tabs emitting output at the same time will no longer corrupt oneanother (#3110)
  • If you have a globals object in your settings file, it will no longer cause the rest of your settings to be ignored.
  • VT fixes
    • Alt+Backspace followed by Enter will no longer result in the application receiving Alt+Enter (#2823)
    • NUL will no longer show up in the buffer (#3015)
      • Some applications spend a lot of time talking about nothing. We used to listen to them and broadcast their nothingness to the world. Now we ignore them and save everyone from having to hear that. (Applications that used NUL to waste time don't have an effect of inserting space into the buffer anymore.)
    • The terminal will now know when the application wants to hide the cursor. It won't do anything about it, but it'll know. (#2829)
    • The line above, but for extended text attributes like underline, strikethrough, and italics. Remember, the Terminal won't do anything with this newfound knowledge. (#2917)

Windows Terminal Preview v0.5.2762.0

04 Oct 16:18
Compare
Choose a tag to compare
Pre-release

Changes

Bug Fixes

  • The maximize/restore button will now reflect the state of the window (#3025)
  • You can once again double-click on the titlebar (#3024)
    • You always could, but sometimes it wouldn't do anything. Now it will! Bonus: it'll do what you expect.
  • Update cmd's default profile to disable acrylic (#3020)
  • VT fixes
    • CUU and CUD will not move "across" margins. (#2996)
    • When reverse indexing, we'll preserve RGB/256 attributes (#2987)
    • When an application emits a bell, terminal will hear it. You won't, but the terminal will. (#2990)
  • "Exotic" inputs like Alt+< and any other Alt+ that isn't a letter (as defined by US-ASCII) will work more reliably (#2836)
  • make filling chars (and, thus, erase line/char) unset wrap (#2831)
  • Fix a number of crashes at the WinRT boundary (including some clipboard issues!) (#2927)
  • PowerShell now has its own theme so it stops eating your background (#2936)

Windows Terminal Preview v0.5.2681.0

25 Sep 15:38
Compare
Choose a tag to compare
Pre-release

Bug Fixes

  • The rightmost column of the screen will now be cleared properly for EL and (because of how the console hosting layer works,) ED + cls (#2879)