Skip to content

Releases: microsoft/terminal

Windows Terminal v1.5.10411.0

11 Feb 20:28
v1.5.10411.0
5fdd156
Compare
Choose a tag to compare

This is a quick servicing release to address a few issues in the 1.5 stable release.

A preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.

Changes

  • This version of Windows Terminal comes with Cascadia Code 2102.03, which offers 23 bug fixes, support for new glyphs, control pictures, infinite arrow ligatures and more! (#9088)
  • If you completely delete settings.json while WT is running, it will now generate a new one (#9012)

Bug Fixes

  • The window titlebar, once a sacred place, will now be updated correctly when terminal titles and tabs change (thanks @sarim!) (#9054)

Reliability and Performance

  • The "Open Windows Terminal Here" shell extension will no longer throw a cryptic error about servers (thanks @hereafter!) (#8977)
  • The terminal should no longer crash if you close a tab while it's printing text [whoops] (thanks @j4james!) (#8982)
  • schemes:[] or schemes:[{}] should no longer cause a crash on launch (#8995)
    • (There were a few scenarios that would cause this, but this is the easiest to write a release note about.)
  • We had to disable the "Close..." submenu because of a platform issue that resulted in a crash (#9102)

Windows Terminal Preview v1.6.10272.0

28 Jan 18:00
v1.6.10272.0
96e0232
Compare
Choose a tag to compare
Pre-release

Features

  • IN PREVIEW TODAY: Terminal now has an optional graphical settings editor! Until it's ready for prime time, it's hidden behind a NON-DEFAULT key binding. (#8048)
    • To bind the settings UI to Ctrl+Shift+,, add the following to your keybindings/actions.
{ "command": { "action": "openSettings", "target": "settingsUI" }, "keys": "ctrl+shift+," },
    • The settings editor will become the default action for the Settings menu item and key binding in a future release.
    • Follow along at #6800 for completion stats and community feedback!
  • Terminal now supports "Startup Actions" (thanks @Don-Vito!) (#8770)
    • The startupActions settings key can be filled out with a WT commandline execute on launch.
    • That commandline will be run if no arguments are provided to WT.
    • You can use this to start with multiple tabs, multiple panes, or any combination of the above.
    • Examples:
      • Start with multiple tabs: "startupActions": "new-tab; new-tab"
      • Start with multiple panes: "startupActions": "split-pane -p PowerShell ; split-pane -p Ubuntu"
  • Terminal 1.6 has gained experimental support for HLSL pixel shaders (thanks @mrange!) (#8565)
    • For a profile, set "experimental.pixelShaderPath" to the path to an hlsl file.
    • There are some shader examples in the samples/PixelShaders directory of our repository.
    • Like the experimental "retro terminal effects" flag, using pixel shaders has a nonzero performance cost.
    • For the price of lower performance, you can have sick visual effects.
  • We've gained support for application progress reports on OSC 9;4 (originally offered by ConEmu) (#8055)
    • Application-reported progress will be displayed in the taskbar and a new progress ring displayed in the tab (#8133)
  • Terminal has gained two new visual bell features (available when bellStyle is set to audible or all):
    • ... flashing the taskbar (#8215)
    • ... displaying a small bell icon in the tab until you interact with it (#8637)
  • The italic graphic rendition (SGR 3) is now supported (thanks @j4james!) (#8580)
    • Fonts that do not offer an italic variant will be digitally enhanced, like the bicentennial man (though with admittedly less sentience)
  • Terminal has learned a new cursor style: double underscore (thanks @rhorber!) (#7827)
  • @Hegunumo taught us the scrollToTop and scrollToBottom key binding actions (#8459)
    • By default, they are bound to Ctrl+Shift+Home and Ctrl+Shift+End (respectively.)
  • The moveFocus pane move action has gained a new power: the ability to move to the last-used pane (#8183)
    • This is achieved by setting "direction": "previous".
  • Tabs can now be moved left/right with the keyboard with action binding moveTab (thanks @Don-Vito!) (#8338)
    • moveTab accepts a direction argument (enum "forward", "backward")
    • This action is not bound by default.
  • We now support ConEmu's OSC 9;9 ("set current working directory"), which a shell can use to communicate its current location (thanks @skyline75489!) (#8330)
    • When you duplicate a tab or pane with a known working directory, the new terminal will start in that directory.
  • You can now specify a tab color for each new tab or pane on the commandline with --tabColor #rrggbb (thanks @Don-Vito!) (#8102)
  • For those of you hacking on Terminal, we've added a new breakIntoDebugger action (not bound by default) (#8498)
    • breakIntoDebugger only works when debugFeatures are enabled.
    • If you activate this action and no debugger is present, Terminal will exit. I don't recommend doing that.

Changes

  • Our annoying "keyboard/handwriting service" dialog is now a slightly less annoying info bar (#8524)
  • We're finally on Microsoft.UI.Xaml 2.5.0, not a prerelease! (#8500)
  • When you paste multiple lines, we'll give you a preview before making you decide to continue/cancel (#8744)
  • Hyperlinks will now reveal themselves on hover even when the window isn't focused (thanks @Hegunumo!) (#8615)
  • The "Open Windows Terminal here" menu item will now (finally!) show up inside directories (thanks @hereafter!) (#8638)
    • There was a Windows bug preventing this from working properly, but @hereafter stepped up with a VERY CLEVER workaround.
  • Manually-renamed tabs can no longer have names >1024 chars in length (thanks @Don-Vito!) (#8433)
    • This prevents an issue where the tab renaming field would get cut off on the top/bottom (?) while renaming.
    • If you want one of these, you are free to e-mail me a 1024-word essay on why you need a tab title this long.
      • I will ignore it, but you are still free to do so.
  • You can now drag/drop more types of things on Terminal: files, links, weird VS Code tab items (?) (thanks @skyline75489!) (#8461)
    • This also fixes a crash in drag/drop caused by those weird VS code tab items
  • No longer will your mouse cursor hang around while you're typing (thanks @Don-Vito!) (#8629)
  • The tooltip that appears when you hover over a tab now displays a switching keyboard shortcut (thanks @Don-Vito!) (#8810)
  • wt has learned move-focus, which lets you change pane focus while building a commandline (#8546)
  • splitPane and wt split-pane have grown support for "size" (float 0.0 - 1.0) and --size respectively (#8543)
  • Shift+click now supports single-character selection so that you can set your selection endpoints separately (thanks @Don-Vito!) (#8611)
  • When most-recently-used tab switching is enabled, closing a tab will move you to the previously-used tab (thanks @Don-Vito!) (#8610)
  • Block copy (Alt + copy) will now try harder to preserve the spacing characteristics of the copied region (thanks @Don-Vito!) (#8579)
  • We'll now give a more accurate error message when we can't handle a bad mixed-type field in your settings (thanks @Don-Vito!) (#8558)
  • In focus mode, closing a tab will no longer result in an unusable terminal (thanks @Don-Vito!) (#8549)
  • We've updated the iconography in the menus to better match its purpose (thanks @Hegunumo!) (#8424)
  • Starting a search with text selected will now copy that text into the search field (thanks @Don-Vito!) (#8521)
  • Non-existent color schemes will no longer be silently ignored in color scheme-changing actions (thanks @mpela!) (#8147)
  • We will now warn you when you select an invalid font instead of silently using Consolas (#8207)
    • You'd be surprised at how many reports we got from confused users who thought their flashy new fonts were simply boring.
  • The command palette, in commandline mode, will now parse and validate commands you've typed and display recent commands (thanks @Don-Vito!) (#8515) (#8317)
  • The command palette now supports "launchMode", which can be set to "action" or "commandLine" (thanks @Don-Vito!) (#8382)
  • The command palette now treats Home and End more predictable (thanks @Hegunumo!) (#8194)
  • Some setting fields that used to tolerate null no longer do so (#8175)
  • We now respond to DECID (thanks @j4james!) (#8864)

Bug Fixes

General

  • Terminal now tries harder to scroll tabs into view when you navigate (thanks @Don-Vito!) (#8832)
  • Right-click paste now clears any active selection (thanks @Don-Vito!) (#8742)
  • Pastes containing \n are now properly normalized to \r (#8634)
  • The buttons in the title bar have been cajoled into being the right colors when the app theme doesn't match the system theme (thanks @satken2!) (#8649)
  • The initialRows/initialCols settings should work more reliably in the presence of padding (thanks @Hegunumo!) (#8584)
    • (Are we bad at math? You'd never be able to tell after this pull request!)
  • Commandline arguments to wt that conflict with wt new-tab should now be detected properly (thanks @Don-Vito!) (#8315)
  • The tab close button now matches the tab text when you override the tab color (whoops) (thank #dcheatha!) (#8209)
  • There were apparently still ways to make the terminal window too small. NO LONGER! (thanks @Don-Vito!) (#8066)
  • The profile menu and command palette will now prefer your shortcut keys over the inbuilt ones (thanks @Don-Vito!) (#8725)
  • @Don-Vito contributed an absolute heap of fixes for tab switching, the command palette, etc. (#8653) (#8655) (#8609)

Performance

  • We've greatly reduced the number of transient allocations the console host (and therefore Terminal) do when printing large amounts of text (#8617)
  • We've done likewise for text buffer initialization, startup, attribute storage, and the default conhost steady state (thanks @Austin-Lamb!) (#8489)

Command Palette

  • @Don-Vito did a whole heap of work to make the command palette better:
    • Cleaned up the ownership of tab switching/search (#8656)
    • Cleaned up the ownership of commandlines and tabs (#8420)
    • Removed action dispatch from the command palette to make it more reusable (#8628)
    • Made the palette dismiss on focus change, action dispatch, etc. so it doesn't stay on screen (#8377)
    • Made sort case-insensitive (#8432)

VT

  • It turns out that we had the modifier key encodings wrong for VT mouse mode for, like, four years. Now they're right (#8379)

Reliability

  • Terminal no longer leaks pty process handles when you close tabs (thanks to @vefatica for discovering this!) (#8707)
  • There was a race condition in pane animation that broke pane sizes. The race has been cancelled (thanks @Don-Vito!) (#8241)
  • There was also an access violation in animated pane closure, which has also been cancelled (thanks @Don-Vito!) (#8218)
  • We will no longer leak a smal lamount of memory while parsing VT (#8618)
  • Some command palette/tab switcher navig...
Read more

Windows Terminal v1.5.10271.0

28 Jan 18:00
v1.5.10271.0
Compare
Choose a tag to compare

This release brings all of the preview changes in Windows Terminal 1.5 to the stable channel. Notable changes include:

  • Support for automatic detection of URLs
  • A tab switching UI that supports in-order navigation and most recently used navigation.

Please see the following release notes for additional details:

A preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.

We've also backported the following changes and bug fixes from Windows Terminal Preview v1.6.10272.0:

Changes

  • We're finally on Microsoft.UI.Xaml 2.5.0, not a prerelease! (#8500)
  • Our annoying "keyboard/handwriting service" dialog is now a slightly less annoying info bar (#8524)
  • The "Open Windows Terminal here" menu item will now (finally!) show up inside directories (thanks @hereafter!) (#8638)
  • You can now drag/drop more types of things on Terminal: files, links, weird VS Code tab items (?) (thanks @skyline75489!) (#8461)
  • We've updated the iconography in the menus to better match its purpose (thanks @hegenumo!) (#8424)

Bug Fixes

General

  • Terminal now tries harder to scroll tabs into view when you navigate (thanks @Don-Vito!) (#8832)
  • Right-click paste now clears any active selection (thanks @Don-Vito!) (#8742)
  • Pastes containing \n are now properly normalized to \r (#8634)
  • The buttons in the title bar have been cajoled into being the right colors when the app theme doesn't match the system theme (thanks @satken2!) (#8649)
  • The initialRows/initialCols settings should work more reliably in the presence of padding (thanks @hegenumo!) (#8584)
    • (Are we bad at math? You'd never be able to tell after this pull request!)
  • Commandline arguments to wt that conflict with wt new-tab should now be detected properly (thanks @Don-Vito!) (#8315)
  • The tab close button now matches the tab text when you override the tab color (whoops) (thank #dcheatha!) (#8209)
  • There were apparently still ways to make the terminal window too small. NO LONGER! (thanks @Don-Vito!) (#8066)
  • The profile menu and command palette will now prefer your shortcut keys over the inbuilt ones (thanks @Don-Vito!) (#8725)

VT

  • It turns out that we had the modifier key encodings wrong for VT mouse mode for, like, four years. Now they're right (#8379)

Reliability

  • Terminal no longer leaks pty process handles when you close tabs (thanks to @vefatica for discovering this!) (#8707)
  • There was a race condition in pane animation that broke pane sizes. The race has been cancelled (thanks @Don-Vito!) (#8241)
  • There was also an access violation in animated pane closure, which has also been cancelled (thanks @Don-Vito!) (#8218)
  • @j4james fixed an out-of-bounds exceptions in Set...{Buffer,Screen}Size (thanks!) (#8309)

WPF Control

  • The WPF control now better validates its size during resize operations (#8792)

Windows Terminal Preview v1.5.3242.0

20 Nov 21:47
v1.5.3242.0
Compare
Choose a tag to compare
Pre-release

This is a quick servicing release to address a couple annoying issues in the 1.5 preview release.

Bugs fixed in this release:

  • We reverted the tab switcher to in-order, but visible, by default, because we changed your defaults on you so that tab switching was both enabled and in most-recently-used order. I'm sorry about that. (#8326)
    • To turn the switcher back to MRU order, add the global setting "tabSwitcherMode": "mru".
  • We'd previously said the default value for backgroundImageStretch was uniformToFill, but it was actually fill. We've updated the code to make it uniformToFill. (#8280)
  • The tab switcher used to occasionally eat custom key bindings and break, but @Don-Vito came through and helped it not do that. Thanks! (#8250)
  • We accidentally left pane animations enabled sometimes, so we've gone and let you disable them for real (thanks @Don-Vito!) (#8237)
  • Our schema document was super busted because of a stray comma, but @slopra came through and fixed it. Thanks! (#8257)
  • The [x] button and mouse-based text selection were horked in the command palette. Now they are not. (thanks @bhaskarshankarling!) (#8279)

Windows Terminal v1.4.3243.0

20 Nov 21:43
v1.4.3243.0
Compare
Choose a tag to compare

This is a quick servicing release to address a couple glaring issues in the 1.4 stable release.

A preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.

Bugs fixed in this release:

  • We reverted the tab switcher to off by default, because we changed your defaults on you so that tab switching was both enabled and in most-recently-used order. I'm sorry about that. (#8325)
    • To turn the switcher back on, in MRU order, add the global setting "useTabSwitcher": true.
  • We'd previously said the default value for backgroundImageStretch was uniformToFill, but it was actually fill. We've updated the code to make it uniformToFill. (#8280)
  • The tab switcher used to occasionally eat custom key bindings and break, but @Don-Vito came through and helped it not do that. Thanks! (#8250)

Windows Terminal Preview v1.5.3142.0

11 Nov 18:04
v1.5.3142.0
0c0830b
Compare
Choose a tag to compare
Pre-release

Features

  • URL auto-detection is here! Terminal will now detect URLs (of a certain limited vocabulary) and let you launch them by holding down Ctrl and clicking (#7691)
    • When we first authored this feature, we forgot to account for double-width glyphs. @comzyh made sure we didn't make this colossal (double-width) mistake (thanks!) (#8124)
  • The tab switcher is now more flexible: you can use it in Most-Recently Used (MRU) order, in tabstrip order, or not at all (#8076)
    • There's a new global setting, tabSwitcherMode, which supports the following enumerated values:
      • mru - most-recently used (MRU) order (default)
      • inOrder - in-order order (the order that the tabs at the top of the window are already in)
      • disabled - do not use the tab switcher
    • This setting supersedes (but does not invalidate) useTabSwitcher (boolean)
  • You can now zoom a split pane to be the only pane visible in its tab using the togglePaneZoom action (#6989) (#7973)
  • launchMode has been taught about focus and maximizedFocus, which will allow you to start up in focus mode (thanks @Don-Vito!) (#7873)
    • (you can now launch directly to focus/max focus mode with wt -f and wt -Mf. wt -F continues to indicate a request for "fullscreen" mode)
  • The openTabRenamer action is now available. It does roughly what it says (thanks @Coridyn!) (#7462)
  • The scrollUp and scrollDown actions have learned about rowsToScroll (thanks @Don-Vito!) (#7924)
  • backgroundImage now supports desktopWallpaper, which will make Terminal use your desktop wallpaper (thanks @bennetnicholas!) (#7849)
  • Terminal now supports the BEL sequence (thanks @j4james!) (#7679)
    • Belling can be configured with the profile setting bellStyle (enum, audible/none) (#7793)

Changes

  • The tab switcher now defaults to Most-Recently Used (MRU) order (#7952)
  • While you're using the tab switcher, you can now actually see the tab you'll be switching to! (#7796)
  • We will now warn you if the keyboard service is disabled (#8095), because that makes it impossible to type into Terminal
  • Double-middle-clicking on the taskbar preview will now close Terminal, even if it is asking you if you really are sure (thanks @rhorber!) (#7871)
  • We will now inform you, using a tooltip, that holding Alt while selecting a profile opens a new pane (#7866)
  • The hyperlink underline is now far less obtrusive than it was before (#8148)
  • The "Open Windows Terminal Here" shell extension will now use WT's icon (#8068)
  • Pane actions are now animated! You can disable these animations with the global setting disableAnimations (boolean, default false) (#7364)
  • Right-clicking on a tab will now yield a Close... submenu with some fun stuff in it (thanks @mpela81!) (#7728) (#7961)
  • Our glyph measurements are now up-to-date as of Unicode 13 (#8035)
  • You can now use emoji and Segoe MDL2 Assets glyphs as icons for profiles (and not just commands) (#7830)
  • Terminal will now display the correct icon for the system's contrast mode and whether it's a preview build or not (#7971)

Command Palette

  • The command palette now uses > to indicate action mode and (nothing) to indicate command mode (#7935)
    • To get from Action to Command mode, press backspace to delete the leading >.
  • The substring match in the command palette will now be highlighted in bold (thanks @Don-Vito!) (#7977) (#8188) (#8168)
  • PgUp/PgDown and Home/End now work more reasonably in the command palette (thanks @Hegunumo!) (#7835) with a bugfix from @Don-Vito (#8190)
  • We've added a back button to the command palette that will appear when you're looking at a nested command (thanks @Hegunumo!) (#8051)

VT support

  • OSC 10/11/12 now have support for the 600+ X.Org color names (like "antique white" and "lemon chiffon") (thanks @skyline75489!) (#7578) (#7929)
  • We've refactored our VT parser to make it far easier to maintain (thanks @j4james!) (#7799)
  • Terminal (and console) now supports DECREQTPARM (thanks @j4james!) (#7939)

Code Hygiene

  • We've removed some dead code pertaining to Telnet support and shrunk our binary by a few hundred kilobytes (#7840)
  • We have hooked up some more robust error reporting so we can help diagnose crashes more quickly (#7864)
  • We've done some deep refactoring on the settings model (#7667)
    • All overridden settings are now available to the app (in preparation for the Settings UI in #1564) (#7923)
    • Hidden profiles are no longer deleted, which means you can use one as your default profile (#8070)
  • All of the images in our repository have been optimized, which should save a couple tens of kilobytes on disk (thanks @WSLUser!) (#8169)

Bug Fixes

  • Keyboard keys that are not generated by actual keyboards (hi AutoHotKey and PowerToys) will no longer be ignored (thanks @lhecker!) (#7900)
  • The tab color picker should no longer get stuck if you enter #000000 (thanks @alannt777!) (#7963)
    • Bonus: you can now more easily set the brightness!
  • The top border should no longer disappear when you're in focus mode (thanks @Don-Vito!) (#8140)
  • PrintScreen should no longer clear your text selection (which was an entirely silly thing for it to do) (thanks @Don-Vito!) (#7883)
  • We will no longer force all your terminal windows to activate when you save your settings file (thanks @Don-Vito!) (#7887)
  • alwaysOnTop actually works now. Yeah, I know how that sounds. (thanks @Don-Vito!) (#8125)
  • It should be more difficult to get floating context menus when you drag the window (thanks @mpela81!) (#8010)
  • Resizing the window should no longer cause us to recycle hyperlink IDs (#8074)
  • Failure to write to your settings file is no longer considered fatal (#7950)
  • Some of you reported that clicking on links made Terminal hang! You may be surprised to find that that was not our intent. We've fixed that. (#8087)
  • Key bindings will now consume dead keys, which means that you can now bind them to do more important things (as in #5784) (thanks @lhecker!) (#7686)
  • We've improved the contrast ratio of the shortcut text in the command palette (#7937)
  • The jump list will now display profile icons even if they have forward slashes in them (#7711)
  • The Azure Cloud Shell connector will no longer fail and blame you for some sort of "Key not found" if you have an old shell configuration (thanks @Don-Vito!) (#8197)
  • Accessibility: we should no longer crash when a screen reader or UIA client expands a text range at the end of the buffer (#7677) (#7792) or when it moves back to a previous word sometimes (#7770) or when it's scrolled into view (#7868)
  • Accessibility: out-of-bounds text should no longer cause a crash (thanks @codeofdusk!) (#8052)

VT fixes

  • The unfortunate combination of OSC 52 (the mechanism used by tmux et al. to set the clipboard) and high Unicode should no longer result in utterly garbled text (thanks @amaya382!) (#7870)
  • Empty cells covered by an app-defined hyperlink will now no longer be ignored when rendering (#7738)
  • App-defined hyperlinks with the same ID but different URLs are now actually considered to be different links (#7940)

Performance

  • Opening and closing tabs when you have far too many profiles should no longer send the Terminal out for a coffee break (#7993)
  • Launching Terminal with embarrassingly many profiles should only take about half as long now, as we'll populate the jumplist more conservatively (#7978)
  • Accessibility: moving to the next word using a screen reader should be much faster (#7789)

Changes to the WPF Control

  • The WPF control now supports AutoFill, which allows the control container to resize without resizing the terminal itself (#7853) (#7983) (#7892)

Windows Terminal v1.4.3141.0

11 Nov 18:04
v1.4.3141.0
Compare
Choose a tag to compare

This release brings all of the preview changes in Windows Terminal 1.4 to the stable channel. Notable changes include:

  • Jump list support! You can now right-click Terminal in the taskbar and launch a profile directly.
  • Applications can now generate hyperlinks that you'll actually be able to click on.
    • This is NOT the same thing as automatic hyperlink detection! Automatic detection is available in Windows Terminal 1.5 (Preview).

For more information, see the 1.4 preview release notes.

A preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.

We've also backported the following changes and bug fixes from Windows Terminal Preview v1.5.3142.0:

Changes

  • The tab switcher now defaults to Most-Recently Used (MRU) order (#7952)
  • While you're using the tab switcher, you can now actually see the tab you'll be switching to! (#7796)
  • We will now warn you if the keyboard service is disabled (#8095), because that makes it impossible to type into Terminal
  • You can now zoom a split pane to be the only pane visible in its tab using the togglePaneZoom action (#6989) (#7973)
  • Double-middle-clicking on the taskbar preview will now close Terminal, even if it is asking you if you really are sure (thanks @rhorber!) (#7871)
  • We will now inform you, using a tooltip, that holding Alt while selecting a profile opens a new pane (#7866)
  • The hyperlink underline is now far less obtrusive than it was before (#8148)
  • The "Open Windows Terminal Here" shell extension will now use WT's icon (#8068)

Command Palette

  • PgUp/PgDown and Home/End now work more reasonably in the command palette (thanks @Hegunumo!) (#7835) with a bugfix from @Don-Vito (#8190)

Code Hygiene

  • We've removed some dead code pertaining to Telnet support and shrunk our binary by a few hundred kilobytes (#7840)
  • We have hooked up some more robust error reporting so we can help diagnose crashes more quickly (#7864)

Bug Fixes

  • Keyboard keys that are not generated by actual keyboards (hi AutoHotKey and PowerToys) will no longer be ignored (thanks @lhecker!) (#7900)
  • The tab color picker should no longer get stuck if you enter #000000 (thanks @alannt777!) (#7963)
    • Bonus: you can now more easily set the brightness!
  • The top border should no longer disappear when you're in focus mode (thanks @Don-Vito!) (#8140)
  • PrintScreen should no longer clear your text selection (which was an entirely silly thing for it to do) (thanks @Don-Vito!) (#7883)
  • We will no longer force all your terminal windows to activate when you save your settings file (thanks @Don-Vito!) (#7887)
  • alwaysOnTop actually works now. Yeah, I know how that sounds. (thanks @Don-Vito!) (#8125)
  • It should be more difficult to get floating context menus when you drag the window (thanks @mpela81!) (#8010)
  • Resizing the window should no longer cause us to recycle hyperlink IDs (#8074)
  • Failure to write to your settings file is no longer considered fatal (#7950)
  • Some of you reported that clicking on links made Terminal hang! You may be surprised to find that that was not our intent. We've fixed that. (#8087)
  • Key bindings will now consume dead keys, which means that you can now bind them to do more important things (as in #5784) (thanks @lhecker!) (#7686)
  • We've improved the contrast ratio of the shortcut text in the command palette (#7937)
  • The jump list will now display profile icons even if they have forward slashes in them (#7711)
  • Accessibility: we should no longer crash when a screen reader or UIA client expands a text range at the end of the buffer (#7677) (#7792) or when it moves back to a previous word sometimes (#7770) or when it's scrolled into view (#7868)
  • Accessibility: out-of-bounds text should no longer cause a crash (thanks @codeofdusk!) (#8052)

VT fixes

  • The unfortunate combination of OSC 52 (the mechanism used by tmux et al. to set the clipboard) and high Unicode should no longer result in utterly garbled text (thanks @amaya382!) (#7870)
  • Empty cells covered by an app-defined hyperlink will now no longer be ignored when rendering (#7738)
  • App-defined hyperlinks with the same ID but different URLs are now actually considered to be different links (#7940)

Performance

  • Opening and closing tabs when you have far too many profiles should no longer send the Terminal out for a coffee break (#7993)
  • Launching Terminal with embarrassingly many tabs should only take about half as long now, as we'll populate the jumplist more conservatively (#7978)
  • Accessibility: moving to the next word using a screen reader should be much faster (#7789)

Changes to the WPF Control

  • The WPF control now supports AutoFill, which allows the control container to resize without resizing the terminal itself (#7853) (#7983) (#7892)

Windows Terminal Preview v1.4.2652.0

22 Sep 16:00
v1.4.2652.0
Compare
Choose a tag to compare
Pre-release

This is the latest preview release of Windows Terminal!

Features

  • Jumplist support has finally landed! (#7515)
  • Applications can now generate hyperlinks that you'll actually be able to click on! (#7251) (#7420) (#7523) (#7608)
    • This is NOT the same thing as automatic hyperlink detection! We're still working on that one, and didn't want to ship it until it was darn good and ready.

Changes

  • Windows Terminal 1.4 ships with an updated version of Cascadia Code with support for the Salishan languages of the Pacific Northwest
    • Cascadia Code 2009.21 is not currently available outside of Terminal because of some cross-platform font rendering troubles
  • We made some behind-the-scenes changes to settings handling in support of our eventual Settings UI (#7283) (#7349) (#7457) (#7576) (#7537)
  • The Azure Cloud Shell profile no longer defaults to having acrylic enabled (thanks @KnapSac!) (#7573)
  • We now have support for fancy blinking text (SGR 5) for those of you who are just super excited about BBSes (thanks @j4james!) (#7490)

VT Support

  • We now support DECSCUSR with the parameter value 0 (\e[0 q) to restore your cursor to the profile's default (thanks @skyline75489!) (#7379)
  • C1 control characters, which aren't really UTF-8-clean, are now better-supported (see below for attribution)
  • Terminal will now ignore SOS, APC and PM sequences that it does not understand (which is all of them) (thanks @skyline75489!) (#7340)

Bug Fixes

Console Basics

  • We fixed that weird issue where Vim would occasionally start in REPLACE mode by moving all DSR responses to the tail of the input queue instead of the head (#7583)
  • Calling FillConsoleOutputCharacterA with an invalid character in codepage 50220 should now return the right error status more often than not (#7391)

Accessibility

  • Degenerate ranges should stay degenerate, even when they're moved (thanks @codeofdusk!) (#7530)

Reliability

  • Selecting an out-of-bounds text range through Narrator or NVDA should no longer take Terminal to a nice quiet farm upstate (thanks @codeofdusk!) (#7504)
  • An occasional deadlock on shutdown has been unlocked, and shutdown should proceed as planned (#7575)

Windows Terminal v1.3.2651.0

22 Sep 16:00
v1.3.2651.0
Compare
Choose a tag to compare

This release brings all of the preview changes in Windows Terminal 1.3 to the stable channel. Notable changes include:

  • A new tab switching experience, on by default. Opt out with "useTabSwitcher": false.
  • The command palette is now bound to Ctrl+Shift+P by default
  • All other changes, except those below, from Windows Terminal Preview v1.3.2382.0

A preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.

We've also backported the following changes from Windows Terminal Preview v1.4.2652.0:

  • 1.3 ONLY: We've disabled the togglePaneZoom action for the stable release; see #7252 for more information
  • 1.3 ONLY: We've disabled the creation of a new process environment block due to a regression in Windows PowerShell
    (x86); see #7418 for further details
  • Windows Terminal 1.3 ships with an updated version of Cascadia Code with support for the Salishan languages of the Pacific Northwest
    • Cascadia Code 2009.21 is not currently available outside of Terminal because of some cross-platform font rendering troubles
  • Degenerate ranges should stay degenerate, even when they're moved (thanks @codeofdusk!) (#7530)
  • Selecting an out-of-bounds text range through Narrator or NVDA should no longer take Terminal to a nice quiet farm upstate (thanks @codeofdusk!) (#7504)
  • The Azure Cloud Shell profile no longer defaults to having acrylic enabled (thanks @KnapSac!) (#7573)
  • An occasional deadlock on shutdown has been unlocked, and shutdown should proceed as planned (#7575)
  • We fixed that weird issue where Vim would occasionally start in REPLACE mode by moving all DSR responses to the tail of the input queue instead of the head (#7583)

Windows Terminal Preview v1.3.2382.0

26 Aug 17:00
v1.3.2382.0
Compare
Choose a tag to compare
Pre-release

Features

  • We're trying out a new tab switching experience! (#6732), followups: (#7263) (#7280) (#7321)
    • The nextTab and prevTab bindings will now display an ephemeral UI that can be navigated with the mouse or keyboard
    • If you would like to fall back to the original tab-switching UI (or lack thereof), set new useTabSwitcher (global, boolean, default true) to false.
      • We'd love feedback on why the new tab switcher didn't work for you!
  • Building on the infrastructure from the tab switcher, we're also flighting support for a new tab search/jump experience
    • Bind the "tabSearch" action ({"command": "tabSearch", "keys": ...}) to open up a filterable list of open tabs!
  • The "command palette" introduced in 1.2 is now bound to Ctrl+Shift+P by default (#7384)
    • It has gained support for nested/repeated commands (#7299) (#6856) that can iterate over profiles and color schemes (#7329)
    • We've shipped a couple convenience commands, like "set color scheme to ..." and "open split pane with ... in direction ..." (#7348)
    • By starting your command with >, you can enter "commandline" mode and run any wt startup script, like > new-tab ; split-pane (#7293)
    • It now has support for command icons! (#7368)
  • We've added support for a new action, wt, that lets you run any WT commandline in your current session (#6537)
    • Example: { "command": { "action": "wt", "commandline": "split-pane -p Ubuntu; new-tab; split-pane" }, "keys": ... }
  • We've added a new action, sendInput, that can emit text directly into the terminal (thanks @lhecker!) (#7249)
    • Example: you can bind a so that it sends the VT sequence for "up arrow"
    • { "command": { "action": "sendInput", "input": "\u001B[A" }, "keys": "a" }
  • You can now zoom one pane to temporarily take up the entire terminal with the togglePaneZoom action! (#6989) (#7273)
  • You can now override the active color of the terminal using the setColorScheme action (#6993)
  • A profile can now specify its default tabColor (profile setting, hex color, default unset) (#7162)
  • Two actions have been added, closeOtherTabs and closeTabsAfter, to facilitate better tab management (#7176)
  • The copyFormatting option and the copy.copyFormatting action argument have been taught finer-grained control
    over the copied formats (#6004)
    • You can now specify an array of formats, [ "rtf", "html" ], a string "html", "all", or a boolean to indicate
      which formats to copy. true maps to all and false maps to none.

Changes

  • Windows Terminal 1.3 ships with Cascadia Code v2008.25
  • The bindings keyword in settings has been replaced with actions in preparation for improvements to the action
    binding experience (#7332)
  • All processes spawned under Terminal will be given a fresh new environment block (#7243)
    • WARNING This may break some workflows, as environment variables from without Terminal will no longer be
      inherited. If you have a broken workflow, please reach out.
  • Terminal is now a little more strict about parsing your settings (#6590), but it will now actually tell you why
    something couldn't be understood (#7241)
  • Key bindings can now use the app or menu key (thanks @MichelleTanPY!) (#7328)

UI

  • Clicking in the scrollbar track will now jump up/down by a whole screenful (#7385)
  • The color picker is now more visually consistent, having learned to round its buttons (thanks @MichelleTanPY!) (#7305)

Terminal Basics

  • We now have very basic support for DCS sequences (thanks @skyline75489!) (#6328)
    • Even if we can't support sixels, the least we could do is not dump their raw data to the screen!
      • If you really wanted their raw data dumped to the screen, why??
  • Underlines are now rendered consistent with the font's metrics (thanks @j4james!) (#7148)
  • We now have support for SGR 21, doubly-underlined (thanks @j4james!) (#7223)
  • We now have support for SGR 9, crossed out (thanks @j4james!) (#7143)
  • Our underline/strikethrough renderer has been refactored to be easier to work with (thanks @j4james!) (#7107)
  • Our VT parser has been refactored to be easier to work with (thanks @j4james!) (#7304)
  • Scroll locking should now work more reliably when the scrollback is at maximum length (#7247)

Bug Fixes

  • The command palette now has a gutter so that it stops overlapping the scrollbar (thanks @jtippet!) (#6965)
  • F7 will no longer not work after our "null scancode" change (whoops!) (#7298)
  • altGrAliasing: false will no longer actually break AltGr (thanks @lhecker!) (#7400)
  • Profiles whose indices are greater than 9 will now properly display their shortcuts in the menu (thanks
    @MichelleTanPY!) (#7344)

Performance

  • Miscellaneous performance improvements for handling incoming data:
    • "Set memory order on slow atomics" (#6920)
    • "Commit attr runs less frequently by accumulating length of color run" (#6919)
    • "Skip DX invalidation if we've already scrolled an entire screen worth of height" (#6922)