Releases: microsoft/terminal
Windows Terminal Preview v1.11.2731.0
This release brings some assorted top-hitting bug fixes into the preview channel from the main development trunk.
There's also a breaking change included here to ensure our consistency as we move into 1.12. We were alerted that the terminology "tray" is inappropriate for Taskbar Notification Area. This means that the minimizeToTray
setting is now the minimizeToNotificationArea
setting and the alwaysShowTrayIcon
setting is now the alwaysShowNotificationIcon
setting. There is no automatic migration of these settings as this terminology was only ever used in preview channel. Preview users will have to fix their settings files manually. (#11219)
Bug Fixes
Accessibility
- Resolves hang on launch for Windows Server 2022 (and similar client Windows versions) when tablet input keyboard is activated (#11312)
- Selecting text in the terminal while Narrator is open will no longer hang (#11386)
Reliability
- Fix KeyChord constructor assertion failure during tab dragging (#11306)
Terminal Emulation
- Fixes alignment of the mouse coordinates when the viewport is scrolled for all events, not just mouse button pressed event. (#11290)
User Interface
JSON Settings
- Fix serialisation of findMatch action to persist the direction (#11233) (thanks @ianjoneill!)
Windows Terminal v1.10.2714.0
This release brings some assorted top-hitting bug fixes into the stable channel from the main development trunk.
If this looks very similar to the preview channel, you're correct. These were heavy hitters, so we're rolling out to the whole population as quickly as we can.
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.
Bug Fixes
Accessibility
- Resolves hang on launch for Windows Server 2022 (and similar client Windows versions) when tablet input keyboard is activated (#11312)
Reliability
- Fix KeyChord constructor assertion failure during tab dragging (#11306)
Terminal Emulation
- Fixes alignment of the mouse coordinates when the viewport is scrolled for all events, not just mouse button pressed event. (#11290)
User Interface
JSON Settings
- Fix serialisation of findMatch action to persist the direction (#11233) (thanks @ianjoneill!)
Windows Terminal Preview v1.11.2421.0
It's that time of year again: Terminal day!
You probably wouldn't have guessed that this was supposed to be a stabilization release, with a big focus on performance and bug fixes. Our beloved community, however made sure that we had
more than enough features to go around! Thanks everyone!
This version of Terminal ships with Cascadia Code 2108.26, which contains fixes for some ligature issues, Hebrew glyph positioning and more.
Features
- You can now delete autogenerated profiles. That just about says it all. Sorry for taking so long on this one! (#11007) (#10910)
- Terminal will now optionally present a tray icon and minimize windows to it (#10368) (#10980) (#10938)
- See
alwaysShowTrayIcon
(boolean, defaultfalse
) andminimizeToTray
(boolean, defaultfalse
) in the settings JSON file - This feature is not yet present in the settings UI, which is an oversight we hope to rectify before 1.12.
- See
- You can now set special font features and custom axis values! (#10525) with bug fix (#10863)
- This works great with Cascadia Code's new alternate italic style.
"font": { "face": "Cascadia Code", "features": { "salt": 1 } }
- You can also disable ligatures in any font that supports them by setting the
calt
,clig
ordlig
features to0
. Consult your font's printed manual for more information.
- This works great with Cascadia Code's new alternate italic style.
- Bold or "intense" text can now be displayed as bright colors, a bold font, or both (#10759)
- We released 1.10 with the new default set to both bold and bright, but have reset it to just bright until we work out some text rendering issues (#10958)
- Set
intenseTextStyle
(flag enum, defaultbright
, optionsbold
,bright
,all
) in any profile
- There is a new "Split Tab" item in each tab's context menu, which will split the active profile (#10832)
- Terminal now supports displaying the titlebar¹ or tab row with the acrylic material (#10864) (thanks @matthew4850!)
- Settings key:
useAcrylicInTabRow
(boolean, defaultfalse
) - ¹That is, if you have disabled "show tabs in the title bar"
- Settings key:
- There's a new "unfocused appearance" editor at the bottom of the Appearance page (per profile) (#10317)
- Key bindings now support the browser keys found on some keyboards newer than, say, 2000? (#10801) (thanks @FWest98!)
browser_back
,browser_forward
,browser_refresh
,browser_stop
,browser_search
,browser_favorites
andbrowser_home
- You can now open a new tab by dropping a folder on the
+
button (!) (#10073) (#10160) (thanks @Daniel599) with implementation fixes in (#10842) and tooltip help in (#10841) thanks to @ianjoneill! - Those of you with international keyboards can now specify very particular key bindings to "virtual key" codes or scancodes (#10666) (#10917) (#10945)
- Use
vk(xxx)
orsc(xxx)
to (in the darkness) bind these keys. The Settings UI will also produce them from time to time. - The "Quake Mode" key binding has been changed from
windows+backtick
towindows+sc(41)
, which is "the key where backtick is on the US-104 keyboard"
- Use
Pane Management
Of particular note, Schuyler Rosefield spent a lot of time working on panes this release. Thank you, @Rosefield!
- Pane navigation with
moveFocus
now uses the visual, instead of the (il)logical layout (#10756) (#11023) - You can now swap the positions of two panes by using the
swapPane
action or theswap-pane
command line argument (#10638)- Search the Command Palette (Ctrl+Shift+P by default) for "Swap" to learn more!
- You can now move the active pane to any tab (or even a new tab!) with the
movePane
action or themove-pane
/mp
command (#10780) (#11039)- Search the Command Palette (Ctrl+Shift+P by default) for "move pane"!
- The
moveFocus
andswapPane
actions have been taught thenextInOrder
andpreviousInOrder
directions, which will walk the pane tree in creation order (#10927) - The
moveFocus
andswapPane
actions have also been taught thefirst
direction, which targets the first pane in the tab (#11044)- This is good for DWM-style split screen layouts where you have an active work pane and a set of auxiliary side panes!
- There is a new
toggleSplitOrientation
action that will switch a pair of panes from vertical to horizontal layout (#10713)
Changes
- Terminal will now use no profile for incoming commandline commands and command-line applications launched via "default terminal" (#11022)
- The settings that you'll see are dictated by the contents of the "Defaults" section in settings, or
profiles.defaults
in settings.json - It didn't make any sense for
wt cmd
to launch a profile with the PowerShell icon! - If you really want to run a command in a specific profile, use
wt -p Profile command
- The title of the new tab/pane will be derived from the command itself (#10998) (#11029)
- The settings that you'll see are dictated by the contents of the "Defaults" section in settings, or
- Terminal will now try to launch WSL by moving the
startingDirectory
to the command line (#9223)- If you are on a newer version of Windows, you will be able to set the starting directory to
~
or any Linux path!
- If you are on a newer version of Windows, you will be able to set the starting directory to
- The Actions page in the Settings now has a live "key chord" editor -- you no longer need to type shortcuts like
c t l r + e
(and inevitably get them wrong) (#10652) - You can now un-bind
alt+space
from opening the system menu (#10799) (thanks @FWest98!) - The
focusTab
action will now always focus a tab, even if there aren't as many as you thought (#10651)- We have re-bound Ctrl+Shift+9 to "jump to final tab", as opposed to "jump to tab 9", as Edge, Firefox and other browsers do.
- The settings will now reload when you change your active keyboard layout (#10876)
- This is to support keyboard layouts that define different display keys for
vk()
andsc()
codes.
- This is to support keyboard layouts that define different display keys for
- In the settings UI, we've changed a number of tooltips to replace "checked" (as in, a checkbox) with "enabled" because they're toggle switches now (#10885)
- We have done some internal work to prepare for tab tearoff (#10051) (#10874)
- We've reworked how some of the settings UI values are generated and displayed (#10846) (thanks @chingucoding!)
Performance
The changelog messages in this section are
- The console (and terminal) will no longer hold on to large memory allocations after large I/O requests (#10738)
- Terminal now loads WSL distributions in a different way, and will not hang on startup waiting for them (#10967)
- Settings reload will no longer visit each pane once per profile (#10997)
- The UTF-16 <-> UTF-8 converter has been refactored to not waste memory (like, at all) (#10966) (thanks @german-one!)
- We have made a number of changes to improve I/O and rendering performance (#10921) (#10653) (#10923)
- More, thanks to @skyline75489 (#10621) (#10685)
Bug Fixes
Accessibility
- An issue where opening a tab with Narrator running resulted in no output has been fixed (#10971)
- Moving your screen reader cursor by line, character and document is now more reliable (#10991)
- ...and should no longer cause an occasional deadlock. (#10937)
"Default Terminal"
- Command-line applications launched through "Default Terminal" now follow the windowing behavior setting (#10823)
- Applications launched into terminal no longer erroneously believe the screen to be 9001 lines tall (#10772)
- We fixed an issue resulting in Ctrl+C never reaching handoff applications (#10751)
"Quake" Mode
- The "quake" window's borders will no longer appear on adjacent monitors (#10676)
- Dismissing the "quake" window and summoning it on another display will now properly update its size (#10674)
- Snapping the "quake" window to another display will also properly update its size (#10744)
Reliability
- Saving your settings will no longer destroy them if
settings.json
is a symbolic link (#10908) (thanks @Don-Vito!) - When you attempt to use Alt+Arrow Keys with no panes, we will now send those keys to the connected client (#10806) (thanks @FWest98!)
focus-tab --previous/next
now ignores tab switcher order (#10947) (thanks @Don-Vito!)- Duplicating a pane hosting a deleted profile will no longer result in ~ ~ weird behavior ~ ~ (#10982)
- We will also spend a lot less time looking up profiles by their IDs (oops)
- A crash during startup/commandline execution regarding moving focus to a new pane has been quashed (#11040) (thanks @Rosefield!)
Terminal Emulation
- You can no longer erroneously interact with mouse-mode applications at bad coordinates when they are scrolled away (#10642)
- Selected text will no longer move off of its selected line as more text is output... (#10749)
- ... until it no longer fits on screen, at which point it absolutely will.
- The alternate buffer now inherits its cursor state from the main buffer (#10843) (#10878) (thanks @j4james!)
- We've put a sock in a very loud exception handler (#10901)
- We will no longer try to resize the display if the size hasn't changed, and no longer clear your selection (#10895) (thanks @Don-Vito!)
- C1 control characters in
SetConsoleTitle
will no longer cause Terminal to lose sanity (#10847) (thanks @j4james!) - The terminal will no longer scroll vertically if you have a horizontal wheel (#10979)
RIS
no longer even has a chance of failing (thanks to @amie42 for spotting this after the PR merged!) (#10661)
User Interface
- No longer will dropdown menus and combo boxes fly wildly off the screen if you scroll or drag the window! Rejoice! (#10922)
- Progress bars: multiple panes and tabs displaying progress indicators will be merged for the taskbar (#10755)
- Restoring from fullscreen no longer accidentally counts the window border as part of the new size (#10737)
- The window border is likewise ignored when calculating the initial position of the window (#10902)
- We h...
Windows Terminal v1.10.2383.0
This release brings many of the preview changes in Windows Terminal 1.10 to the stable channel. Notable changes include:
- You can now select a different display language in the "Appearance" settings.
- Terminal will now present an icon in the system notification area when "Quake" mode is enabled.
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 features, changes and bug fixes from Windows Terminal Preview 1.11.2421.0:
Features
- You can now delete autogenerated profiles. That just about says it all. Sorry for taking so long on this one! (#11007) (#10910)
- Bold or "intense" text can now be displayed as bright colors, a bold font, or both (#10759)
- We released 1.10 with the new default set to both bold and bright, but have reset it to just bright until we work out some text rendering issues (#10958)
- Set
intenseTextStyle
(flag enum, defaultbright
, optionsbold
,bright
,all
) in any profile
Changes
- This version of Terminal ships with Cascadia Code 2108.26, which contains fixes for some ligature issues, Hebrew glyph positioning and more.
- In the settings UI, we've changed a number of tooltips to replace "checked" (as in, a checkbox) with "enabled" because they're toggle switches now (#10885)
Performance
- The console (and terminal) will no longer hold on to large memory allocations after large I/O requests (#10738)
- Terminal now loads WSL distributions in a different way, and will not hang on startup waiting for them (#10967)
Bug Fixes
Accessibility
- An issue where opening a tab with Narrator running resulted in no output has been fixed (#10971)
- Moving your screen reader cursor by line, character and document is now more reliable (#10991)
- ...and should no longer cause an occasional deadlock. (#10937)
"Default Terminal"
note: the default terminal functionality is not enabled in this release. These are just the bugfixes related to that functionality which happen to be in this release. For more details, see #11415
- Command-line applications launched through "Default Terminal" now follow the windowing behavior setting (#10823)
- Applications launched into terminal no longer erroneously believe the screen to be 9001 lines tall (#10772)
- We fixed an issue resulting in Ctrl+C never reaching handoff applications (#10751)
"Quake" Mode
- The "quake" window's borders will no longer appear on adjacent monitors (#10676)
- Dismissing the "quake" window and summoning it on another display will now properly update its size (#10674)
- Snapping the "quake" window to another display will also properly update its size (#10744)
Reliability
- Saving your settings will no longer destroy them if
settings.json
is a symbolic link (#10908) (thanks @Don-Vito!) - When you attempt to use Alt+Arrow Keys with no panes, we will now send those keys to the connected client (#10806) (thanks @FWest98!)
- A crash during startup/commandline execution regarding moving focus to a new pane has been quashed (#11040) (thanks @Rosefield!)
Terminal Emulation
- You can no longer erroneously interact with mouse-mode applications at bad coordinates when they are scrolled away (#10642)
- Selected text will no longer move off of its selected line as more text is output... (#10749)
- ... until it no longer fits on screen, at which point it absolutely will.
- The alternate buffer now inherits its cursor state from the main buffer (#10843) (#10878) (thanks @j4james!)
- We've put a sock in a very loud exception handler (#10901)
- We will no longer try to resize the display if the size hasn't changed, and no longer clear your selection (#10895) (thanks @Don-Vito!)
- C1 control characters in
SetConsoleTitle
will no longer cause Terminal to lose sanity (#10847) (thanks @j4james!) - The terminal will no longer scroll vertically if you have a horizontal wheel (#10979)
RIS
no longer even has a chance of failing (thanks to @amie42 for spotting this after the PR merged!) (#10661)
User Interface
- No longer will dropdown menus and combo boxes fly wildly off the screen if you scroll or drag the window! Rejoice! (#10922)
- Restoring from fullscreen no longer accidentally counts the window border as part of the new size (#10737)
- The window border is likewise ignored when calculating the initial position of the window (#10902)
- We have removed a double scrollbar from the settings UI, which was a fix for another issue, which has now been fixed properly (#10716) (thanks @mimvdb!)
- We've fixed some focus tracking bugs that occur during complicated command line handling (#10978)
- There is no longer an annoying issue where some people on non-100%-scaling displays would not be able to use the tab bar when maximized (#10746)
- The settings UI animations are now slightly less obnoxious (#10934) (thanks @Don-Vito!)
Windows Terminal Preview v1.10.1933.0
This version of Terminal comes with Cascadia Code 2106.17. This version of the Cascadia family of fonts refines the "cursive" italic letter forms to have more universally-acceptable shapes and introduces support for Hebrew and Arabic glyphs.
Features
- ALPHA FEATURE We had to update the interface in Windows that allows Terminal to act as the default console host.
Due to the change, 1.10+ is required with Windows 22000.65 and above.- We can now hand off WSL sessions, and Ctrl+C now works in handoff sessions (#10415)
- We've reintroduced the UI that allows you to edit default settings that apply to all profiles, as well as arrow
buttons that let you revert individual settings (#10588) - You can now select a different default display language for Terminal in the Appearance settings (#10309)
- JSON field
preferredLanguage
- JSON field
- On the Actions page, you can now edit existing actions and add new ones (#10550) (#10220)
- Terminal will now present a tray icon when the "Quake mode" window is in use (#10179)
- The
closeTab
action has to close tabs by index via theindex
field (#10447) (thanks @ianjoneill) - Screen reader users can now navigate the contents of the screen by attribute (color, font, underline...) (#10336)
- Terminal will now render SGR 1 ("intensity") in glorious chonky bold (#10498) (#9201) (#10521) (thanks @skyline75489)
Changes
- Terminal windows launched via "Open Here" will open new tabs in the same directory (#10546) (thanks @ianjoneill)
- The "quake mode" action is now named "Summon Quake window" instead of "Global summon something something window _quake" (#10641)
- JSON settings: font options are now specified in a single
"font": {}
group in each Profile (#10433)- Your settings will automatically migrate to the new format when you press Save.
- We've promoted the Command Palette to the main dropdown menu to improve its discoverability (#10297) (thanks @KnapSac)
- The terminal tab color picker's UI is now much more refined, thanks to @gabrielconl (#10219)
- The opacity slider will now display a
%
sign like it should have to begin with (#10369) (thanks @chingucoding)
Bug Fixes
- An accessibility issue that resulted in misshapen selection regions has been fixed (#10544)
- Terminal will no longer minimize itself when targeted by a commandline application (#10389)
- ... or when you target it with
-w
(#10396)
- ... or when you target it with
- We will no longer destroy commands using
iterateOn
when you press Save (#10373) - Nested commands now dismiss more reliably when using the command palette (#10392) (thanks @kovdu)
- We will not attempt to not un-toggle the command palette if you choose to toggle it while it is open (#10423) (thanks @kovdu)
- When we encounter a malformed fragment document, we will no longer fail to read any future fragment documents (#10601)
- The action editor should now be more usable in Light theme (#10412)
- "Open Windows Terminal Here" will now appear in your language (#10446)
- Terminal will no longer exit unceremoniously when your
startingDirectory
cannot be found (#10263)- We made a change to how starting directories are processed that may expose issues in your configuration. This change was made to improve launch performance and reliability.
- A window that receives an incoming console application will now spring to the foreground (#10217)
Performance
- During heavy output load, we will spend a lot less time ...
- formatting VT strings (#10426) (thanks @skyline75489!)
- creating temporary
string_view
s (#10471) (thanks @skyline75489!) - notifying an accessibility channel that has been disconnected (#10537) (#10569)
- emitting debugging information (#10533)
Reliability
- Terminal should crash less often when you are closing a tab (#10549)
- We've fixed a crash in reloading the settings with the Settings page open (#10390)
- An application setting the Terminal background should probably not crash it, huh? (#10357)
- If our packaged fonts cannot be found, we will now be more robust and less likely to faceplant on launch (#10260)
- The "default terminal" feature no longer causes crashes on OS versions where it is unavailable (#10238)
- If we can't accept handoff ("default terminal") connections when we start, we'll no longer crash on launch (#10261)
- The settings UI will no longer overflow its frame on launch/reload (#10619) (thanks @mimvdb)
- Terminal will try to do a better job recovering the profile you were looking at when the settings reload (#10618) (thanks @mimvdb)
- The "default terminal" dropdown has been fixed for High Contrast users (#10185)
VT Support
RIS
will now reset mouse mode and encoding (#10602)DECSET 12
(enable/disable cursor blink) is no longer ignored (#10589)
WPF Control
- We've fixed an issue in the WPF control's 64-bit build that resulted in hilarious colors (#10486)
Documentation, Schema and Code Health
Thank you to @j4james, @Ayushman16, @onerandomusername, @ealap, @LuanVSO and
@WSLUser for contributions to the documentation, code health, build scripts and
JSON schema document.
Additional thanks to @jsoref for maintaining the check-spelling action and
keeping Terminal's spell checker up to date!
Refactoring and Internal Improvements
Individual commit messages
- Multiple conhost changes (coming to a Windows version near (but not too near) you)
- #10477: Handle things above U+FFFF in GDI renderer (#10580) (thanks @alabuzhev)
- #10497: Do not force the font on output codepage change (#10591) (thanks @alabuzhev)
- Replace PolyTextOutW with ExtTextOutW (#10478) (thanks @alabuzhev)
- Replicate winrt::make<> changes in ScratchIslandApp SampleAppLib (#10494) (thanks @BreeceW)
- Throttle cursor redrawing in outputStream.cpp (#10394) (thanks @skyline75489)
- Update Xaml Toolkit App Host to 6.1.3 (#10640)
- Work around an ARM64 compiler crash by splitting a coroutine up (#10306)
- Remove CONSOLE_API_MSG::UpdateUserBufferPointers hack (#10326)
- Spec for font features and axes of variation (#10457)
- Use WinRT VirtualKeyModifiers instead of a custom enum (#10603) (thanks @mimvdb)
- Introduce til/latch.h, til/mutex.h and til/throttled_func.h (#10403)
Windows Terminal v1.9.1942.0
This release brings many of the preview changes in Windows Terminal 1.9 to the stable channel.
You may not yet see this release in the Store. We are trying a new "slow rollout" system that follows the Windows Insider program. You can always install a new build from this repository!
Notable changes include:
- Terminal now supports pinning an instance to the top of the screen that you can summon at any time (colloquially referred to as "Quake Mode") (#9785) (#9956) (#9977) (#10108) (#10113) (#10150)
- It is bound by default to Win+` (#10122)
- Terminal now supports mouse input for Windows console applications! (#9970) (#10138)
- The Appearance page will now show you a (tiny) preview of the Terminal (#9527)
Please note that the following features are not included in the 1.9 stable release:
- The ability to set Windows Terminal (stable) as the default console application host
- The live action editor in the Settings UI
Please see the following release notes for additional details:
- Windows Terminal Preview v1.9.1445.0
- This release includes changes from an undocumented v1.9.1523.0 release. These changes will be indicated below.
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 1.10.1933.0:
Changes
- This version of Terminal comes with Cascadia Code 2106.17. This version of the Cascadia family of fonts refines the "cursive" italic letter forms to have more universally-acceptable shapes and introduces support for Hebrew and Arabic glyphs.
- Terminal windows launched via "Open Here" will open new tabs in the same directory (#10546) (thanks @ianjoneill)
- The "quake mode" action is now named "Summon Quake window" instead of "Global summon something something window _quake" (#10641)
- The opacity slider will now display a
%
sign like it should have to begin with (#10369) (thanks @chingucoding)
Bug Fixes
- An accessibility issue that resulted in misshapen selection regions has been fixed (#10544)
- Terminal will no longer minimize itself when targeted by a commandline application (#10389)
- ... or when you target it with
-w
(#10396)
- ... or when you target it with
- We will no longer destroy commands using
iterateOn
when you press Save (#10373) - Nested commands now dismiss more reliably when using the command palette (#10392) (thanks @kovdu)
- We will not attempt to not un-toggle the command palette if you choose to toggle it while it is open (#10423) (thanks @kovdu)
- When we encounter a malformed fragment document, we will no longer fail to read any future fragment documents (#10601)
- The action editor should now be more usable in Light theme (#10412)
- "Open Windows Terminal Here" will now appear in your language (#10446)
- 1.9.1523.0 Terminal will no longer exit unceremoniously when your
startingDirectory
cannot be found (#10263) - 1.9.1523.0 A window that receives an incoming console application will now spring to the foreground (#10217)
Performance
- During heavy output load, we will spend a lot less time ...
- formatting VT strings (#10426) (thanks @skyline75489!)
- creating temporary
string_view
s (#10471) (thanks @skyline75489!) - notifying an accessibility channel that has been disconnected (#10537) (#10569)
- emitting debugging information (#10533)
Reliability
- Terminal should crash less often when you are closing a tab (#10549)
- We've fixed a crash in reloading the settings with the Settings page open (#10390)
- An application setting the Terminal background should probably not crash it, huh? (#10357)
- 1.9.1523.0 If our packaged fonts cannot be found, we will now be more robust and less likely to faceplant on launch (#10260)
- 1.9.1523.0 The "default terminal" feature no longer causes crashes on OS versions where it is unavailable (#10238)
- 1.9.1523.0 If we can't accept handoff ("default terminal") connections when we start, we'll no longer crash on launch (#10261)
- The settings UI will no longer overflow its frame on launch/reload (#10619) (thanks @mimvdb)
- Terminal will try to do a better job recovering the profile you were looking at when the settings reload (#10618) (thanks @mimvdb)
- 1.9.1523.0 The "default terminal" dropdown has been fixed for High Contrast users (#10185)
VT Support
RIS
will now reset mouse mode and encoding (#10602)DECSET 12
(enable/disable cursor blink) is no longer ignored (#10589)
WPF Control
- We've fixed an issue in the WPF control's 64-bit build that resulted in hilarious colors (#10486)
Documentation, Schema and Code Health
Thank you to @j4james, @Ayushman16, @onerandomusername, @ealap, @LuanVSO and
@WSLUser for contributions to the documentation, code health, build scripts and
JSON schema document.
Additional thanks to @jsoref for maintaining the check-spelling action and
keeping Terminal's spell checker up to date!
Windows Terminal Preview v1.9.1445.0
Features
- ALPHA FEATURE Windows Terminal Preview can now be set as the default console host on Windows Insider Dev builds (#9907) (#10170)
- There are some known issues with this support; please see this query for the list of known bugs.
- One such known bug is that you will need to resize the window before an application that spawned in Terminal becomes aware of its size. #9811
- Another is that WSL doesn't work. At all. Sorry! #10134
- If you still want to opt in, head over to the "Startup" section of the settings, or the "Terminal" section of the legacy console property sheet.
- If you really need to run the traditional Windows Console, you can start it with
conhost cmd
orconhost powershell
. 😄 - FINALLY: This feature will only work if you've installed Terminal via the MSIX. Unpackaged installations, such as the one offered by Scoop, are not supported.
- Terminal now supports pinning an instance to the top of the screen that you can summon at any time (colloquially referred to as "Quake Mode") (#9785) (#9956) (#9977) (#10108) (#10113) (#10150)
- It is bound by default to Win+` (#10122)
- You can rebind this shortcut with the
quakeMode
action.
- You can rebind this shortcut with the
- This behavior will be granted to any window whose name is
_quake
. You can usewt -w _quake
to target the quake window with commands. - You can add a custom binding to summon any Terminal window with the
globalSummon
action! (#9854) (#9954) (#10092) (#10025) (#9963)- See the documentation on
globalSummon
for more details. This is a very flexible command!
- See the documentation on
- It is bound by default to Win+` (#10122)
- This version of Terminal comes with Cascadia Code 2105.24, which has an italic variant.
- We're so excited to finally show this off!
- Due to an issue, only the italic variant will display as version 2105.24.
- Terminal now supports mouse input for Windows console applications! (#9970) (#10138)
- To the Far Manager folks (@alabuzhev et al): thank you for being a good model application.
- You can now edit key bindings for existing actions on the Actions page (#9949) and actually save them, too! (#9926) (#9621)
- The Appearance page will now show you a (tiny) preview of the Terminal (#9527)
- We've added a new treatment for visual (#9270)
- We have added a new "Add a new profile" page to the Settings UI, where you can choose to duplicate an existing profile (#9352)
- We've added support for a
focusPane
action (focus by index) an thefocus-pane/fp
subcommand (#10142) - When you use the "Set color scheme..." action in the command palette, we will now show you a live preview of the new color scheme (#9794)
Changes
- We have added support for the Windows (Super) key in key bindings (keyword
win
) (#9783) - There is now an experimental setting to disable URL detection (#10022)
- At global scope, set
experimental.detectURLs
tofalse
, or visit the Interaction page in the settings.
- At global scope, set
- When you rename a window, we will now acknowledge that we actually did it (#9808)
- Terminal will now show a more scrutable error message when your starting directory cannot be found (#10045)
- Whitespace trimming in block selection can now be configured (#9807) (thanks @Don-Vito!)
- Use the
trimBlockSelection
global property (boolean, defaultfalse
) or visit the Interaction page in the settings.
- Use the
Performance
- Terminal is now built with profile-guided optimization for a bunch of common use cases (#10071)
VT Support
- Terminal now has support for tab stops (which you will not notice, as it already had support for tab stops sorta) (#9597) (thanks @skyline75489!)
Refactoring and Internal Improvements
- We have split
TermControl
into a Core, Interactivity, and Control layer (#9820) (#9980)- This will set us up very nicely for some of our vaguely menacing future plans.
- Conhost now has a mechanism for passing through DCS data strings (#9307) (thanks @j4james!)
- We've replaced our attribute run storage with a new RLE vector that performs slightly better and is far, far more reusable (#10099)
Bug Fixes
- There was an issue that would result in blank profiles or profiles containing just one setting; it is now fixed (#9964)
- The only known cause of this issue was editing the settings of a profile the first time you ever launch Terminal
- If you have profiles named
Default
in your dropdown, this is probably why. - We will now attempt to heal settings files broken by this bug (#10143)
- If you did have a profile that you actually liked that didn't have a name or a GUID or any settings, it will now be broken.
- (Why? That's just a Command Prompt profile with no useful identifying information in it...)
- If you did have a profile that you actually liked that didn't have a name or a GUID or any settings, it will now be broken.
- We've fixed a bunch of instances of the terminal losing focus (#10048) (#10114)
- We will no longer close a tab on middle-click down (because up is much more reasonable) (#9842) (thanks @Don-Vito!)
- The "close tabs to the right" and "close other" options have finally returned, thanks to some quick out-of-the-box thinking (#9859) (thanks @mpela81!)
- Nested commands will no longer interfere with deleting the
>
command palette mode character (#10164) (thanks @kovdu!) - The "new tab" dropdown will no longer go up when it used to go down; we no longer live in topsy turvy-land (#10009) (thanks @mpela81!)
- Terminal will no longer create a new profile with the name "Profile 13" if you're weird enough to add a new profile called "Profile 13" yourself (as an example) (#9816) (thanks @Don-Vito!)
- The window rename action will no longer also pop keys into the terminal (#9809) (thanks @Don-Vito!)
- You can now navigate better using your key bindings in the Settings UI (focus mode, fullscreen, etc.) (#10121)
- Terminal will no longer let an application emit more than one bell per second (#9812) (thanks @Don-Vito!)
- In other news, a 1-second delay we accidentally introduced before a bell has been resolved (#10133)
- The command palette will now respect your locale when you do a case-insensitive search (#9943) (thanks @Don-Vito!)
- The "discard" button will try harder to keep you looking at the profile you're on (#10147) (thanks @Don-Vito!)
- Terminal will try to keep the last selected pivot active when you move between profile pages (#10047) (thanks @kovdu!)
- We fixed a bug that resulted in certain CJK punctuation characters being deleted (66b9b9d)
- Duplicating a tab will now attempt to copy its title, when that title was provided by you, the user (#9813) (thanks @Don-Vito!)
- The "Use parent process working directory" and starting directory settings have learned to stop fighting back (#9862)
- The various long tooltips in the application will now be wrapped more ~ ~ AESTHETICALLY ~ ~ (#9913) (thanks @Don-Vito!)
VT Support
- We fixed some places where we deviated with the informal OSC 9;4 specification (#10024)
- The text buffer will be initialized with the default attributes on a resize (#5792)
- This should mostly fix the issue where when you resize it floods with one color. Mostly.
Reliability
- We should no longer crash on exit nearly as often -- either exiting a shell or the application (#10115) (#10042) (#10031)
- Typing
--tabColor
into the command palette now has a 100% reduced chance of crashing (#10096) - Pressing Save in the Settings window twice will no longer launch Terminal into the great beyond (#10148)
- We fixed a rare crash, which mostly impacted conhost, when there were multiple client applications sending API requests at the same time (c0ab9cb)
Performance
- Some of our debug logging was being enabled by accident, so we've restricted its activation further (#10098)
- This bug caused a significant reduction in rendering throughput!
WPF Control
- The WPF control can now have a background that varies from the terminal background (#10026)
Documentation and Code Health
Thank you to @unrealapex, @hms5232, @akkaygin, @jBarrineau, @ghost1372 and @cliffkoh for documentation updates that keep this repository in fighting trim.
Additional thanks to @jsoref for maintaining the check-spelling action and keeping Terminal's spell checker up to date!
Windows Terminal v1.8.1444.0
This release brings all of the preview changes in Windows Terminal 1.8 to the stable channel. Notable changes include:
- Windows can now be named for automation and scripting purposes
- With the
-w
parameter, as inwt -w razzle
andwt -w dazzle
(#9300)
- With the
- A profile can now specify how it will appear when it's not focused via the
unfocusedAppearance
settings.json key (#8392)- Supported settings:
foreground
,background
,selectionBackground
,cursorColor
,cursorShape
,cursorHeight
,backgroundImage
,colorScheme
,backgroundImageOpacity
,backgroundImageStretchMode
,backgroundImageAlignment
,experimental.retroTerminalEffect
, andexperimental.pixelShaderPath
- Supported settings:
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 1.9.1445.0:
Changes
- When you rename a window, we will now acknowledge that we actually did it (#9808)
- Terminal will now show a more scrutable error message when your starting directory cannot be found (#10045)
Bug Fixes
- There was an issue that would result in blank profiles or profiles containing just one setting; it is now fixed (#9964)
- The only known cause of this issue was editing the settings of a profile the first time you ever launch Terminal
- If you have profiles named
Default
in your dropdown, this is probably why. - We will now attempt to heal settings files broken by this bug (#10143)
- If you did have a profile that you actually liked that didn't have a name or a GUID or any settings, it will now be broken.
- (Why? That's just a Command Prompt profile with no useful identifying information in it...)
- If you did have a profile that you actually liked that didn't have a name or a GUID or any settings, it will now be broken.
- We've fixed a bunch of instances of the terminal losing focus (#10048) (#10114)
- We will no longer close a tab on middle-click down (because up is much more reasonable) (#9842) (thanks @Don-Vito)
- The "close tabs to the right" and "close other" options have finally returned, thanks to some quick out-of-the-box thinking (#9859) (thanks @mpela81)
- Nested commands will no longer interfere with deleting the
>
command palette mode character (#10164) (thanks @kovdu) - The "new tab" dropdown will no longer go up when it used to go down; we no longer live in topsy turvy-land (#10009) (thanks @mpela81)
- Terminal will no longer create a new profile with the name "Profile 13" if you're weird enough to add a new profile called "Profile 13" yourself (as an example) (#9816) (thanks @Don-Vito)
- The window rename action will no longer also pop keys into the terminal (#9809) (thanks @Don-Vito)
- You can now navigate better using your key bindings in the Settings UI (focus mode, fullscreen, etc.) (#10121)
- Terminal will no longer let an application emit more than one bell per second (#9812) (thanks @Don-Vito)
- In other news, a 1-second delay we accidentally introduced before a bell has been resolved (#10133)
- The command palette will now respect your locale when you do a case-insensitive search (#9943) (thanks @Don-Vito)
Reliability
- We should no longer crash on exit nearly as often -- either exiting a shell or the application (#10115) (#10042) (#10031)
- Typing
--tabColor
into the command palette now has a 100% reduced chance of crashing (#10096)
Performance
- Some of our debug logging was being enabled by accident, so we've restricted its activation further (#10098)
- This bug caused a significant reduction in rendering throughput!
WPF Control
- The WPF control can now have a background that varies from the terminal background (#10026)
Windows Terminal Preview v1.8.1092.0 (Scoop Compatibility)
This version of Windows Terminal exists only to address compatibility issues with the Scoop package manager.
The only change in this release addresses a crash that was introduced in the 1.7 stable and 1.8 preview releases, encountered when Terminal was run outside of its application package.
This release is not intended for store installation (though store installation will work.)
We will not be releasing this version to the Microsoft Store.
Bug Fixes
- We fixed a crash on launch that you would encounter when running terminal unpackaged (#9893)
As a note: unpackaged activation receives only best-effort support. A package manager that is relying on it is not using a fully-supported activation path for Terminal.
Windows Terminal v1.7.1091.0 (Scoop Compatibility)
This version of Windows Terminal exists only to address compatibility issues with the Scoop package manager.
The only change in this release addresses a crash that was introduced in the 1.7 stable and 1.8 preview releases, encountered when Terminal was run outside of its application package.
This release is not intended for store installation (though store installation will work.)
We will not be releasing this version to the Microsoft Store.
This release does not come with a preinstallation kit (unlike the prior stable release.)
Bug Fixes
- We fixed a crash on launch that you would encounter when running terminal unpackaged (#9893)
As a note: unpackaged activation receives only best-effort support. A package manager that is relying on it is not using a fully-supported activation path for Terminal.