Releases: microsoft/terminal
Windows Terminal v1.17.11391.0
Windows Terminal 1.17 is finally out of preview! It includes...
- The ability to customize the order and contents of the New Tab menu!
scrollbarState
always
, for those of you who want to have a scrollbar constantly.- Last-chance profile restarting with Enter after it exits! Excellent for those IoT devices you SSH into!
Please see the following release notes for additional details:
Note The change from v1.17.1073 where we would munge our version number didn't live much longer than a single release. We finally rejoined the Windows 10 and Windows 11 packages!
Note that the new scrollbar mark feature is still not included in this Stable build (?)
Why are there so many packages? How do I choose?
Please visit our page documenting the Windows Terminal Distributions!
Features
- We have made some changes to the officially supported list of Terminal distributions!
- The "unpackaged" distribution of Terminal is now officially supported on Windows 10 (10.0.19041.1 and higher) and
Windows 11 (10.0.22000.1 and higher)! (#15034) - We now offer support for running in portable mode, where settings are saved into a directory alongside the
app (#15051) - If you have multiple unpackaged or portable installations of Terminal, they will now properly isolate from
eachother (#15118) - LEARN MORE at our new documentation page for Windows Terminal Distributions!
- In 1.18 and above: We've removed any runtime dependency on the "desktop" C++ Runtime Library (#14733) (#15010) (#15097)
- If you are installing 1.17 or below, you still need to install a VC++ runtime. Even in portable mode. Sorry.
- The "unpackaged" distribution of Terminal is now officially supported on Windows 10 (10.0.19041.1 and higher) and
- We have added another way of detecting whether "Default Terminal" is available on your OS 👀 (#15040)
Changes
file:
URIs emitted byOSC 8
now supportwsl$
; URIs emitted byOSC 8
now support all valid schemas (#14993)- The "Adjust Indistinguishable Text" feature now uses the Oklab color space (by Björn Ottosson) (#15283)
- It no longer has a measurable performance impact, either, so feel free to turn it on!
- Any WSL distributions named
rancher-desktop
orrancher-desktop-data
will now be ignored (#15166) (thanks @jamespack!)- Really sorry if you were using those for your day-to-day WSLing, but... what?
User Interface and Usability
- The Profile Appearance preview now displays a more relevant and interesting preview (#15363)
- We rewrote a bunch of the subtitles in the Settings UI for diction and flow (#15362) (#15361)
- Rejoice! We have reintroduced the original Windows Terminal UI themes under the names
Dark (Legacy)
,Light (Legacy)
andSystem (Legacy)
(#15108) - You will now be reprimanded
harshlyfor choosing a proportional font (#15195) (thanks @jamespack!)
Performance
- The "Azure Cloud Shell" connection no longer depends on "cpprestsdk", the removal of which shrinks our package
by about 3MB per architecture! (#14776)- Due to differences in credential storage, this will require you to go through the Device Code authentication flow
again.
- Due to differences in credential storage, this will require you to go through the Device Code authentication flow
- Terminal no longer needs to shell out to
reg.exe
to manipulate the registry to work around a platform limitation
(#15028) (#15050)
Bug Fixes
- Starting Terminal with an
elevate:true
profile should no longer cause an admin elevation loop (oops) (#14946) - "Open in Terminal" no longer shows up in ZIP files (???) (#15236) (thanks @jamespack!)
- The "Developer Command Prompt / PowerShell" profiles no longer override your starting directory (#15035)
- Copying HTML to your clipboard no longer results in reeeeeally tiny text on high-DPI displays (#15046)
- On very wide monitors, the
Outlines
shader sample no longer looks quite bad (#14971)
Accessibility
- The about dialog heading is now read out properly to a screen reader (#15200) (thanks @BenConstable9!)
- The "reset color" button in the tab color picker is now more visible to screen readers (#15257) (thanks @BenConstable9!)
UI and stuff like it
- @jamespack has added epxlanatory text to "Always Show Tabs" explaining why it can't be turned off sometimes (#15154) (thanks @jamespack!)
- Opening a profile from a submenu no longer yeets keyboard focus off into space (#15077) (thanks @kkostrzewa>!)
- When you're hovering over a URL, we now display it in a partially-encoded form to help you avoid homoglyph attacks (#15095)
Reliability and Performance
- Animations are disabled during startup so as to make Terminal start a bit faster (#15204)
- The system menu now opens when you press
<kbd>Alt+Space</kbd>
in the Settings UI (#15189) (thanks @jamespack!) with bugfixes (#15253)
VT and Compatibility
Code Health, WPF and Windows Console
These changes impact the Terminal developer experience or the Windows Console Host. Changes to conhost will be released
in a coming Windows update.
- We have removed all traces of the UWP Terminal (which was an internal build for Windows 10X) (#15222)
- The WPF control now defaults to a history length of 9001 (#15129)
Asset Hashes
- Microsoft.WindowsTerminal_1.17.11391.0_8wekyb3d8bbwe.msixbundle
- SHA256
2C46A63C764C37DD602250F9173E30603F708780CB3D55C7381EE8126311B828
- SHA256
- Microsoft.WindowsTerminal_1.17.11391.0_8wekyb3d8bbwe_Windows10_PreinstallKit.zip
- SHA256
BB943E0CAA7569993DB906C7A9B386E122B95DC1074BD47BE363802450DD1DF6
- SHA256
- Microsoft.WindowsTerminal_1.17.11391.0_arm64.zip
- SHA256
F483D0D77097402DBCB3F40C60124A735D8E5FF30F7F1E2DA5412A17E0666A6A
- SHA256
- Microsoft.WindowsTerminal_1.17.11391.0_x64.zip
- SHA256
061E019C311592212C4A8C36ABDBDACACB2D875DE055FB3E28602900A35EE617
- SHA256
- Microsoft.WindowsTerminal_1.17.11391.0_x86.zip
- SHA256
5BFD0E7E0EC3BBC54201836F316AC6484E0EC9D192A77C1E24A34C4EC95C28CB
- SHA256
Windows Terminal v1.16.1026 (1.16.10261.0 and 1.16.10262.0)
This release of Windows Terminal addresses a crash in self-elevation.
Huge thanks to @jboelter for fixing it in 1.17 (#14637).
Asset Hashes
- Microsoft.WindowsTerminal_Win11_1.16.10262.0_8wekyb3d8bbwe.msixbundle
- SHA256
229ABC77AE04FC47037F1050C6971E967C840B368CFB92468A2E0EAA78245501
- SHA256
- Microsoft.WindowsTerminal_Win11_1.16.10262.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
- SHA256
17C03963403EF72244E85AD097022B109D9A8502A73F76C8D034DAEDB9D123C4
- SHA256
- Microsoft.WindowsTerminal_Win10_1.16.10261.0_8wekyb3d8bbwe.msixbundle
- SHA256
BA6FC6854E713094B4009CF2021E8B4887CFF737AB4B9C4F9390462DD2708298
- SHA256
- Microsoft.WindowsTerminal_Win10_1.16.10261.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
- SHA256
14A7C5D6743D0FF22397B9CFA43576F7193A29F1727C04C49652CDCBFA168634
- SHA256
Windows Terminal Preview v1.17.1023
Happy New Year! Unwrap the first Preview build of Terminal in 2023, and find inside . . .
a bunch of cool stuff! Our community really proverbially killed it last year, so we're proud to get their work (and ours, of course) out to the world.
Note From this version forward, we are dropping some of the more clutter-y parts of our version number in our git tag and about dialog.
For deployment purposes, however, the packages will retain all four version components. The package versions for this release are1.17.10234.0
and1.17.10235.0
.
Features
- You can now customize the order and contents of the New Tab menu (#13763) (thanks @FWest98!) (#14629)
- Right now, you can only do this with JSON; check out the docs for
newTabMenu
- The first time you save your settings in 1.17, we'll convert your existing menu to the new format. This is
lossless. - This feature includes support for adding folders, separators, and profiles that meet certain criteria in addition
to the standard/built-in default menu layout.
- Right now, you can only do this with JSON; check out the docs for
- You can now set the scroll bar to be "always" displayed (thanks @sotteson1!) (#14047)
- JSON field
$profile.scrollbarState
has learned the new enum valuealways
.
- JSON field
- After a process terminates, you can press Ctrl+D to close its pane or Enter to relaunch it (#14060)
- Terminal now supports the remaining FinalTerm mark types (command input start, command executed and command finished) (#14341)
Themes
- Terminal now supports using Mica as a background material on Windows 11 (#13935) (#14675) (#14567) (#14540) (#14644) (#14708)
-
Note As a reminder, theme settings are only available via JSON.
- To use Mica, set up a new theme with the following settings:
{"window": {"useMica": true}, "tabRow": {"background": "#00000000"}}
-
- You can now configure a color scheme (per profile) to apply in System Light theme and System Dark theme (#14064) (thanks @bennettnicholas!)
- Likewise, you can do the same thing for the application theme (#14497)
Changes
Fundamentals
- The backing buffer now stores surrogate pairs inline, and measures columns differently (#13626) with bug fixes from @j4james (thanks!) (#14650)
- Please report any unusual behavior regarding Unicode characters, including selection, copy, paste and display.
- The contents of the Terminal package are now code-signed, so those of you who deploy it unzipped will no longer
get in trouble with your IT folks (#14710)
UI
- We have changed how we display our version numbers, opting to hide "bookkeeping" information such as the final
digit of the version number. Those numbers will still be noted in the package release notes and are still germane to
deployment scenarios. (#14660) - You can now configure all of the launch position parameters in the Startup section of the Settings UI (#14569) (#14518) (#14186) (#14190) (#13605) plus community bug fixes (#14522) (thanks @ianjoneill!)
- We've revamped the color schemes page for ease of understanding and sheer coolness (#14470) (#14706) (#14631) (#14550) (#14704)
- When configuring a profile's color scheme, you will now see a tiny preview of that color scheme before you
select it (#14587) (#14572)
Usability
wt
now supports the--pos
and--size
commandline arguments to control the position and size of the new
window (#13730) (thanks @ianjoneill!)- When you duplicate a tab, the new will open next to the current tab (#14521) (thanks @vamsiikrishnaak!)
- You can now use
exe
anddll
resources for icon paths, as inC:\Windows\system32\shell32.dll,41
(#14107)- However, it looks like we have an off-by-one error (that should be
42
above, but whoops. We'll fix that.)
- However, it looks like we have an off-by-one error (that should be
- The context menu now has tooltips (#14058)
VT and Output
@j4james did approximately a hundred things, so I'm going to summarize them in brief here:
- ... added support for DEC macro operations (#14402)
- ... added support for
DECARM
(Auto Repeat Mode) (#13981) - ... added support for
IRM
(Insert Replace Mode), which will be of particular interest to @vixie (sorry for the
delay, Paul!) (#14700) - ... added support for private options in
DSR
queries (#14290) - ... added support for selective erase operations (
DECSED
) (#14046) - ... added support for the
DECRQM
escape sequence (#14444) - ... added support for the rectangular area operations (
DEC*RA
) (#14285) - ... merged the legacy and extended attributes (#14036)
- ... rewrote how we handled text embedded in a stream of VT, which closed like 8 bugs (seriously) (#14640)
- ... added support for line rendition attributes (
DECDHL
) over ConPTY (#13933) - ... added support for soft fonts over (
DECDLD
) ConPTY as well (#13965)
Bug Fixes
- The Export and Find context menu items work on unfocused tabs (#14673) (#14379) (thanks @ianjoneill!)
- We've retooled how we launch Terminal elevated when you use an
elevate: true
profile (or
Ctrl+Shift-click a profile in the dropdown menu.) (#14637) (thanks @jboelter!) - The about dialog (and other dialogs) will finally block the entire window even if you resize it (#14722)
- We now attempt to account for transparent tab backgrounds when calculating the text foreground color (#14643)
- You can now drag/drop more than 16 items directly out of 7-Zip (and some other applications) (#14648) (thanks @jiejasonliu!)
- Malformed settings objects will no longer cause an "Application error 0x%" settings warning (#14668)
- Note that "Use Acrylic in Tab Row" no longer requires a relaunch (#14478)
- Terminal now more reliably handles text selections in very scrolly environments (#14636)
- Split pane borders no longer display in the wrong theme color (#14486)
- We've updated the JSON schema to contain
theme
objects (#14672) (#14666) - In separate titlebar mode, Terminal will now default to a dark title bar when you are using a dark theme (#14536)
Reliability
- Voice Access will no longer crash Terminal (#14534)
- We've removed a leading cause of crashes closing panes and tabs while screen reading was active (#14714)
- Input will no longer (rarely) trigger a crash when a screen reader is enabled (#14694)
- wpf: stop dereferencing null pointers already! come on, it's 2023! (#14678)
Performance
- We've reworked how the locking around each terminal pane works (#13746)
- We have removed our dependency on Microsoft.Toolkit.Win32.UI.XamlApplication.dll (#14520)
Accessibility
- The "Add Appearance" button will now be read out properly by screen readers (#14564)
- ... so will the search box (#14519)
- Our internal management window will no longer appear as an empty pane to screen readers (#14541)
Compatibility
- We will now properly track console handle inheritance so that
cmd /c start /b cmd
(et al) can properly
reattach to the existing session (#14544)
VT
- Wide characters will no longer cause weird cursor leavings (#14661) (thanks @j4james!)
- VT reports once again work when DECARM is disabled (#14216) (thanks @j4james!)
conhost
Note These changes will be released to the vintage console in a future version of Windows.
- When the alternate buffer is in use, the scroll bar will no longer overlap the content (#14329) (thanks @j4james!)
With additional documentation, code health, grammar, spelling, workflow security and maintenance help from @AtariDreams,
@musvaage, @sashashura, @grammar-police, @Dan-Albrecht, @d-caldasCaridad and @ianjoneill, @jsoref. Thanks so much!
Asset Hashes
- Microsoft.WindowsTerminalPreview_Win10_1.17.10234.0_8wekyb3d8bbwe.msixbundle
- SHA256
8829BF4A1ECFFA384F2DBED1496C39DD291DB44D0D0FB3F81845AE76EB174484
- SHA256
- Microsoft.WindowsTerminalPreview_Win11_1.17.10235.0_8wekyb3d8bbwe.msixbundle
- SHA256
4E5C4E1BBE226B02817B7DED321F09CFCE582803800CCDB224236C98682ED643
- SHA256
Windows Terminal v1.16.1023 (10231 and 10232)
After a long wait, many of the features in Terminal Preview 1.16 are making their way to the stable channel:
- Themes: Terminal now has support for themes!
- We have a new experimental text rendering engine, which is off by default. It's faster and handles some situations better (and some much worse, like certain fonts that don't have a true "italic" style). You can enable it in the Rendering settings.
- This release marks the triumphant return of the "adjust brightness of indistinguishable colors" feature
- For the old conhost fans in the room, you can now set
experimental.enableColorSelection
(global, bool, defaultfalse
)
After this release, Terminal Stable is moving to a quarterly feature release cycle. Since we're the default console host in Windows 11 October 2022 Update, some care is required in how quickly we distribute updates. That having been said: there will still be servicing updates and Preview channel updates, so stay tuned!
Please see the following release notes for additional details:
- Windows Terminal Preview v1.16.252
- Windows Terminal Preview v1.16.264
- Windows Terminal Preview v1.16.346
Note that the new scrollbar mark feature is not included in this Stable build. Yet.
IMPORTANT
This version was made available to the Dev External flighting ring (Windows Insiders) first, and will be
released to general availability later depending on its reliability.
Preinstallation Kit info
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.
Why are there so many packages? How do I choose?
This version of Windows Terminal is distributed in two bundles, one of which works on Windows 10-11 and the other of which only works on Windows 11.If you intend on using Terminal as an unpackaged application--that is, extracting the msix
file--we recommend that
you use the Win10
bundle. You will need the Visual C++ runtime redistributable.
In addition, if you install the packaged version on either Windows 10 or Windows 11, it now depends on the Visual C++ Universal Runtime Package.
Despite these distributions having different version numbers, they are built from the same code and there is no
functional difference between them.
If you install the Windows 10 version on Windows 11, it will probably automatically upgrade itself to the Windows 11
version. It turns out that it is impossible to have two bundles with the same version number, so it has to be this
way.
In addition to the above, we've backported the following changes and bugfixes from Windows Terminal Preview 1.16:
Changes
Fundamentals
- The contents of the Terminal package are now code-signed, so those of you who deploy it unzipped will no longer get in
trouble with your IT folks (#14710)
Bug Fixes
- We now attempt to account for transparent tab backgrounds when calculating the text foreground color (#14643)
- You can now drag/drop more than 16 items directly out of 7-Zip (and some other applications) (#14648) (thanks @jiejasonliu!)
- Malformed settings objects will no longer cause an "Application error 0x%" settings warning (#14668)
- We've updated the JSON schema to contain
theme
objects (#14672) (#14666)
Reliability
- We've removed a leading cause of crashes closing panes and tabs while screen reading was active (#14714)
- Input will no longer (rarely) trigger a crash when a screen reader is enabled (#14694)
- wpf: stop dereferencing null pointers already! come on, it's 2023! (#14678)
Performance
- We have removed our dependency on Microsoft.Toolkit.Win32.UI.XamlApplication.dll (#14520)
Accessibility
- Our internal management window will no longer appear as an empty pane to screen readers (#14541)
With additional documentation, code health, grammar, spelling, workflow security and maintenance help from @AtariDreams,
@musvaage, @sashashura, @grammar-police, @Dan-Albrecht, @d-caldasCaridad and @ianjoneill, @jsoref. Thanks so much!
Asset Hashes
- Microsoft.WindowsTerminal_Win10_1.16.10231.0_8wekyb3d8bbwe.msixbundle
- SHA256
66856D96BB62AFB175ED9C1C267C145F494549F02416CD5CF33C194790D9C9BC
- SHA256
- Microsoft.WindowsTerminal_Win10_1.16.10231.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
- SHA256
0719A0E024E0E4ED37A9434308D7A0FC5A86769F209F9F68F7B744D7154390D5
- SHA256
- Microsoft.WindowsTerminal_Win11_1.16.10232.0_8wekyb3d8bbwe.msixbundle
- SHA256
786FE246C30F672D8464A1303917F9166B4809F8589C51B95B4DF33388FCA3AD
- SHA256
- Microsoft.WindowsTerminal_Win11_1.16.10232.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
- SHA256
3DD84940EBEA9F5BE0F69AEE326DB902116F9F8E5DE55DD5EDE966C4323C1F0E
- SHA256
Windows Terminal v1.15.3465.0 and v1.15.3466.0
v1.15.3465.0 (Windows 10) and v1.15.3466.0 (Windows 11) are servicing updates to Windows Terminal Stable v1.15.
Warning
As a reminder, Terminal 1.12 was the last version of Windows Terminal that supports Windows 19H1 or 19H2.
Those versions of Windows went out of support in May 2022, so you really may want to consider upgrading.This message will self-destruct before the next release.
Preinstallation Kit info
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.
Why are there so many packages? How do I choose?
This version of Windows Terminal is distributed in two bundles, one of which works on Windows 10-11 and the other of which only works on Windows 11. The Windows 11 version is much smaller because we no longer need to work around a platform issue related to our dependencies.If you intend on using Terminal as an unpackaged application--that is, extracting the msix
file--we recommend that
you use the Win10
bundle. You will need the Visual C++ runtime redistributable.
In addition, if you install the packaged version on either Windows 10 or Windows 11, it now depends on the Visual C++ Universal Runtime Package.
Despite these distributions having different version numbers, they are built from the same code and there is no
functional difference between them.
If you install the Windows 10 version on Windows 11, it will probably automatically upgrade itself to the Windows 11
version.
It includes the following fixes (backported from 1.16 and https://github.com/microsoft/terminal/tree/main).
Changes
- Vintage transparency now works on Windows 10! Turn off
useAcrylic
to use it! (#14481) - Using the mouse wheel to turn off transparency will now disable the acrylic material effect (#14193) (thanks @JerBast!)
Bug Fixes
- Bracketed paste, forced titles, and the default cursor shape are no longer randomly initialized (#14345)
- This fixes an issue where pasted text would occasionally be incorrectly mangled (as opposed to correctly mangled...)
RIS
will no longer utterly tank Terminal's ability to handleC1
control characters (#13969) (thanks @j4james!)- Console applications will now be correctly identified as the owners of their associated "pseudo-console" window (#14196)
- Ctrl+C will now skip any currently-playing
DECPS
sounds (thanks @dgl for reporting) (#14214) - Applications should more reliably receive close signals when you close a tab, and we will no longer unceremoniously terminate their console sessions (#14282)
- JSON Schema:
startingDirectory
is now correctly identified as supportingnull
(#14408)
Accessibility & Usability
- Text boxes in the settings UI have been made more discoverable by screen readers (#14178)
- There will no longer no longer not be redundant tooltips in the Settings UI (#14244)
Reliability
- We've fixed one source of deadlocks in windowing management for console applications (such as hanging when they're exiting...) (#14463)
- Launching thousands of instances of
cmd.exe
back to back will no longer take down your console session (MSFT PR !8072712, 86928bb) - We've worked around a miscompilation in Visual Studio 2022 Update 4 that results in an out-of-bounds read (MSFT PR !8189936, 3c10444)
- wpf: it is no longer possible to call
WriteString
with a null terminal instance (#14515) - wpf: It is now no longer possible to resize the terminal down to 0x0 (#14467)
Code Hygiene
Dependency Updates
brought to you by @AtariDreams
Windows Terminal Preview v1.16.3463.0 and v1.16.3464.0
Finally, a servicing update for our beloved Preview users! Sorry we left you on read for so long... but we think you'll like the changes in this update. Hope they're worth the wait!
Windows Terminal v1.16.346{3,4}.0 contain the following backports from https://github.com/microsoft/terminal/tree/main:
Changes
- Vintage transparency now works on Windows 10! Turn off
useAcrylic
to use it! (#14481) - You can now configure whether you are warned before you close more than one tab (#14419) (thanks @leejy12!) (with wording improvements (#14473) thanks to @crazo7924!)
- Multiple changes to the new text rendering engine:
- We've started collecting information on how often FTCS marks and themes are used (#14356)
- We've tweaked the layout of the color schemes page to address some issues on Windows 10 (#14223)
- Using the mouse wheel to turn off transparency will now disable the acrylic material effect (#14193) (thanks @JerBast!)
Bug Fixes
- Windows Terminal once again works on Windows N (no media) SKUs
- We've fixed the following issues that could lead to a local denial of service or worse (with many thanks to @dgl for reporting):
OSC 9;9
will now reject malformed paths and not further propagate them intowsl --cd
(#14093) REMOTE CODE EXECUTION CVE-2022-44702OSC 8
URIs will be limited to 2MB in length, following iTerm2 (and only 1024 bytes will be displayed in the tooltip) (#14198)
- We will no longer leak
OpenConsole
processes when they're running a Visual Studio Developer Shell (#14160) experimental.useBackgroundImageForWindow
has 50% fewer rendering bugs! (#14456)- We will no longer clip the progress ring in tab when the tab title is too long (#14167) (thanks @JonathanMeier!)
START /MAX
should now more reliably maximize the Terminal window when Terminal is set as the default console host (#14222)--pos
will now override the "center on launch" setting when specified on the command line (#14229) (thanks @ianjoneill!)- Bracketed paste, forced titles, and the default cursor shape are no longer randomly initialized (#14345)
- This fixes an issue where pasted text would occasionally be incorrectly mangled (as opposed to correctly mangled...)
RIS
will no longer utterly tank Terminal's ability to handleC1
control characters (#13969) (thanks @j4james!)- Console applications will now be correctly identified as the owners of their associated "pseudo-console" window (#14196)
- Ctrl+C will now skip any currently-playing
DECPS
sounds (thanks @dgl for reporting) (#14214) - Applications should more reliably receive close signals when you close a tab, and we will no longer unceremoniously terminate their console sessions (#14282)
- You can now duplicate unfocused tabs (#13964) (thanks @JerBast!)
- The Open in Terminal shell extension should appear more reliably on the Desktop context menu (#14048) (#14211)
intenseTextStyle
is now included properly in the JSON schema (whoops) (#14210) (thanks @neersighted!)- JSON Schema:
startingDirectory
is now correctly identified as supportingnull
(#14408)
Accessibility & Usability
- Alt+Space will now open the system menu in the Settings UI and Command Palette (#14221)
- Text boxes in the settings UI have been made more discoverable by screen readers (#14178)
- There will no longer no longer not be redundant tooltips in the Settings UI (#14244)
- The WPF control now supports accessibility notifications (#14097)
- The Settings UI title/breadcrumb bar is now readable by screen readers (#14180)
Reliability
- An application calling
system()
on its main thread will no longer deadlock itself and Terminal (when Terminal is set as default) (#14195) - We've fixed one source of deadlocks in windowing management for console applications (such as hanging when they're exiting...) (#14463)
- Launching thousands of instances of
cmd.exe
back to back will no longer take down your console session (MSFT PR !8072712, 86928bb) - We've worked around a miscompilation in Visual Studio 2022 Update 4 that results in an out-of-bounds read (MSFT PR !8189936, 3c10444)
- wpf: it is no longer possible to call
WriteString
with a null terminal instance (#14515) - wpf: It is now no longer possible to resize the terminal down to 0x0 (#14467)
Code Hygiene
ConsoleProcessList
has been given some love and modernized to improve some of our ConPTY infrastructure (#14421)
Dependency Updates
brought to you by @AtariDreams
Windows Terminal v1.15.2874 and v1.15.2875
v1.15.2874 (Windows 10) and v1.15.2875 (Windows 11) are servicing updates to Windows Terminal Stable v1.15. It is highly recommended that you install this version if you're using Windows 11 22H2 (October Update).
As a reminder, Terminal 1.12 was the last version of Windows Terminal that supports Windows 19H1 or 19H2.
Those versions of Windows went out of support in May, so you really may want to consider upgrading.
Preinstallation Kit info
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.
Why are there so many packages? How do I choose?
This version of Windows Terminal is distributed in two bundles, one of which works on Windows 10-11 and the other of which only works on Windows 11. The Windows 11 version is much smaller because we no longer need to work around a platform issue related to our dependencies.If you intend on using Terminal as an unpackaged application--that is, extracting the msix
file--we recommend that
you use the Win10
bundle. You will need the Visual C++ runtime redistributable.
In addition, if you install the packaged version on either Windows 10 or Windows 11, it now depends on the Visual C++ Universal Runtime Package.
Despite these distributions having different version numbers, they are built from the same code and there is no
functional difference between them.
If you install the Windows 10 version on Windows 11, it will probably automatically upgrade itself to the Windows 11
version.
This servicing release supersedes the v1.15.2712.0 release (not uploaded to GitHub) and contains the following bug fixes and changes:
Changes
- Terminal will now detect the title of a LNK or EXE as the default terminal (backport from 1.16) (#13570)
Bug Fixes
Stability and Security
- Windows Terminal once again works on Windows N (no media) SKUs
- We've fixed the following issues that could lead to a local denial of service or worse (with many thanks to @dgl for reporting):
OSC 9;9
will now reject malformed paths and not further propagate them intowsl --cd
(#14093) REMOTE CODE EXECUTION CVE-2022-44702OSC 8
URIs will be limited to 2MB in length, following iTerm2 (and only 1024 bytes will be displayed in the tooltip) (#14198)
- We've fixed some lag and deadlocking that would happen when you close a tab (#14041)
- We will no longer leak
OpenConsole
processes when they're running a Visual Studio Developer Shell (#14160) - An application calling
system()
on its main thread will no longer deadlock itself and Terminal (when Terminal is set as default) (#14195) - We've fixed a potential race condition causing a crash on tab close (#13882)
Accessibility
- The WPF control now supports accessibility notifications (#14097)
- The Settings UI title/breadcrumb bar is now readable by screen readers (#14180)
Usability
- You can now duplicate unfocused tabs (#13964) (thanks @JerBast!)
- The Open in Terminal shell extension should appear more reliably on the Desktop context menu (#14048) (#14211)
- "Export Text" will no longer suggest illegal filenames (#13693) (thanks @eliaschiavon!)
- Alt+Space will now open the system menu in the Settings UI and Command Palette (#14221)
intenseTextStyle
is now included properly in the JSON schema (whoops) (#14210) (thanks @neersighted!)
Windows Terminal Preview v1.16.264
Here on this day of September 2022, we've quashed a number of bugs in the 1.16 preview release and added some new features to boot.
Enjoy!
Changes
- Terminal now understands the sizes of characters newly-added in Unicode 15.0 (#14001)
- We've added support for fractional font sizes (surprise! on a point release!) (#14013) (#14040)
- If you're using the new text rendering engine plus the Terminus TTF font, you can now select a font size that perfectly matches a bitmap strike . . . and it works!
Bug Fixes
New Rendering Engine
- Bitmap fonts should look much better now (#14014)
- As a side effect, we are now intentionally ignoring the typographic line gap. We have found that monospaced terminal fonts have a line gap of zero, and the ones that don't should.
- See above. Some bitmap fonts require fractional point sizes . . . so now you can see them in their full glory!
- On devices that don't support Shader Model 4.0 but do support DirectX 10, we will no longer try to use the glyph atlas (#13994)
- ... and if we did, we would no longer tell you about the error 10,000 times (#13995) (thanks to @Its-Nevmo and @noinkling for testing!)
- No longer should there be streaks of cursor left all over the left side of the screen (#14038)
- If you were to specify
\e#3
, we might have crashed before, but now we will not (#13966) - You can once again use shaders for
experimental.pixelShaderPath
that are not technically perfect (that is, ones that compile with warnings) (#13998) (thanks @mrange!) - Some text (especially that which requires fake italics) should now look less like
a RaNsOm nOtE
(#14039)- It might still look a little bit like a ransom note, sorry. Just less so.
Reliability
Windows Terminal Preview v1.16.252
This one almost speaks for itself. Dang. Welcome to Terminal: Really Long Release Notes Edition!
Features
- Themes: Terminal now has support for themes! (#12992) (#13049) (#13178) (#13348) (#13465) (#13689) (#13702) (#13871)
- To celebrate this, we've changed the default theme to Windows Dark. If you are not happy about that, you can change it back to light or anything you like (#13743)
- New Text Rendering Engine
- The new text rendering engine is now enabled by default in Preview builds (#13752)
- We've added support for the
experimental.pixelShaderPath
andexperimental.retroTerminalEffect
settings... (#13885)- ... with a further optimization: shaders that do not use the
time
component will not trigger a redraw every frame! (#13903)
- ... with a further optimization: shaders that do not use the
- It now supports...
- Glyphs that have not been used in some time will be aged out and replaced (#13458) (#13607) (#13784) (#13477)
- Performance over RDP to a machine that has no GPU has been improved (#13816)
- (at the cost of some fidelity)
experimental.rendering.software
will enable this fallback mode as a last resort for compatibility
- Glyphs that do not fit in a cell will be scaled up or down as appropriate (#13549), including "Powerline" glyphs (#13650)
- We've added a setting in the Rendering section, and promoted
useAtlasEngine
out of theexperimental.
compartment (#13939) - Fonts whose cell sizes were borderline are now rounded instead of clamped to the next pixel size up (#13833)
- We've made some other correctness and compatibility fixes, far too minute to name (#13956) (#13496) (#13906) (#13530) (#13608)
- Somewhat as a side effect of all this, you may notice that you're seeing an inverted cursor where you had not previously seen one!
- This release marks the triumphant return of the "adjust brightness of indistinguishable colors" feature... (#13343)
- ...and it's brought friends: you can now enable it for all color pairs (#13512)
- You can enable it with the profile setting
adjustIndistinguishableColors
(enumnever
,indexed
,always
; defaultnever
)
- We've redesigned the color schemes page (#13269) and made updates all over the settings UI (#13179) (#13390) (#13378) (#13377) (#13391)
- New in this release: color scheme previews, and an easy-access "Set as default color scheme" button!
- You can now configure Terminal to hide when it loses focus (#13478) (thanks @davidegiacometti!)
- You can now close all panes other than the focused one with the
closeOtherPanes
action! (#13547) (thanks @JerBast!) - There's a new option that lets you configure where new tabs appear: next to the current one, or at the end (#13421) (#13602) (#13469) (thanks @serd2011!)
- JSON setting
newTabPosition
(enumafterLastTab
(default),afterCurrentTab
)
- JSON setting
- Tab and Shift+Tab now navigate between hyperlinks in Mark Mode. You can open the selected link with Ctrl+Enter. (#13405) (#13494)
- You can now
expandSelectionToWord
, which will... well, you know. (#13765) - We will now try to detect the title when Terminal is launched by default from an LNK file (#13570)
- For the old conhost fans in the room, you can now set
experimental.enableColorSelection
(global, bool, defaultfalse
) to add 31 new actions that will highlight search results in the colors of the rainbow (#13429)- This conhost feature used to be hidden behind a registry key. If you know about it, I think I'm supposed to say you're "one of the real ones?"
Changes
Interaction
- When in mark mode, its built in key bindings Ctrl+A and the modified arrow keys will take precedence over your key bindings (#13659)
- We've polished how existing selections interact with mark mode (#13893)
- @AdamSotak has added quick access buttons for the source code and filing feedback to the About dialog (#13510) (thanks!)
- When your pane is in a light color scheme, the bell flash will now be dark (#13707) (thanks @Fyrebright!)
- Inverted cursors (which you might find lying around) will now be slightly modulated to account for accidental color overlaps (#13748) (thanks @alabuzhev!)
- When you Select All, we'll scroll to the top of the screen (#13656)
- Multi-line paste will no longer strip newlines if there are other newlines in the content (#13698) (thanks @serd2011!)
- This is to aid in the pasting (after confirmation, of course!) of multi-line commands.
UI
- @dansmor7 figured out that we don't need to draw our caption buttons ourselves; now they look great on all versions of Windows! (#13341) (thanks!)
Console Compatibility
- We will now discard empty command histories before discarding LRU non-empty ones (#13869) (thanks @serd2011!)
ReadConsoleOutput
will no longer return nonsense if you wrote nonsense to the text buffer (API BREAKING CHANGE) (#13321)
VT Support
- We now support
DECBKM
(Backarrow Key Mode) (#13894) (thanks @j4james!) - The slow march to soft font support in Terminal continues . . . (#13362) (thanks @j4james!)
Bug Fixes
Interaction
- Terminal will now use the tab's active title for
Export Text
(#13915) (thanks @serd2011!) - The Emoji picker, PinYin IME or any other IME will no longer drift off the bottom of the screen (oops) (#13785)
- The settings UI will now disable "Always show tabs" when "Hide the title bar" is enabled (#13694) (thanks @leejy12!)
- We'll no longer helpfully offer to put things like
\\
and:
in your filenames for Export Text (oops) (#13693) (thanks @eliaschiavon!) - We've fixed command line argument parsing when there was a one-letter argument followed by a
;
(#13706) (thanks @serd2011!) - In the command palette, the 'go back' button will finally returns to the previously selected action (#13504) (thanks @JerBast!)
UI
- No longer is there a 1-pixel gap under inactive tabs (#13897)
Accessibility
- The Command Palette has become much chattier, announcing (to a screen reader) the name of the selected item (#13519)
- Asking for
INT_MAX
characters via UIA will no longer wig us out or try to send you multiple gigabytes of null bytes (#13779)- However, it remains impolite to ask for
INT_MAX
characters viaITextPattern::GetText
.
- However, it remains impolite to ask for
Performance
- Terminal is now 1.2 megabytes smaller on disk (uncompressed) thanks to not using RTTI (#13947) (thanks RTTI!)
- Updating the jumplist used to happen on every launch. Now it will only happen if you've actually changed your settings (#13692)
Reliability
- Fixed a number of crashes, not all of which were common or user-impacting:
- Attempted a fix for the
SignalTextChanged
crash (#13876) - Attempted another fix, this time for the
_refreshSizeUnderLock
crash (#13857) - Fixed a crash in
_WritePseudoWindowCallback
(#13777) - Fixed a crash on exit with the command palette open (#13778)
- Fixed a race condition in UpdatePatternLocations (#13859)
- Fixed two race conditions around pseudo window visibility (#13832)
- Fixed a crash in NVDA, caused by us considering a specific text range invalid (#13907)
- Fixed a ControlCore race condition on connection close (#13882)
- Fixed a crash on settings reload (#13644)
- Fixed a crash when showTabsInTitlebar:false (#13561)
- Fixed crash on save in rejuv'd Color Schemes page (#13902)
- Attempted a fix for the
- Terminal should now more reliably appear in the context menu
- We've stopped conhost from buying the farm when it got
--headless
without--signal
(#13950)
With additional thanks to our documentation and code health contributors @jsoref and @LitoMore.
Windows Terminal v1.15.252
This release migrates some awesome features, changes and bug fixes from Terminal 1.15 Preview into the stable channel!
- Terminal now supports "Mark Mode", a keyboard-first text selection and navigation mode. The name is an homage to the traditional Windows Console Host!
- It is bound by default to Ctrl+Shift+M
Please see the following release notes for additional details:
- Windows Terminal Preview v1.15.228
- Windows Terminal Preview v1.15.200
- Windows Terminal Preview v1.15.186
Note that the new text rendering engine and scrollbar mark feature is not included in this Stable build. Yet.
IMPORTANT
This version was made available to the Dev External flighting ring (Windows Insiders) first, and will be
released to general availability one or two weeks later depending on its reliability.
As a reminder, Terminal 1.12 was the last version of Windows Terminal that supports Windows 19H1 or 19H2.
That version of windows is going out of support soon, so you may want to consider upgrading.
Preinstallation Kit info
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.
Why are there so many packages? How do I choose?
This version of Windows Terminal is distributed in two bundles, one of which works on Windows 10-11 and the other of which only works on Windows 11. The Windows 11 version is much smaller because we no longer need to work around a platform issue related to our dependencies.If you intend on using Terminal as an unpackaged application--that is, extracting the msix
file--we recommend that
you use the Win10
bundle. You will need the Visual C++ runtime redistributable.
In addition, if you install the packaged version on either Windows 10 or Windows 11, it now depends on the Visual C++ Universal Runtime Package.
Despite these distributions having different version numbers, they are built from the same code and there is no
functional difference between them.
If you install the Windows 10 version on Windows 11, it will probably automatically upgrade itself to the Windows 11
version. It turns out that it is impossible to have two bundles with the same version number, so it has to be this
way.
In addition to the above, we've backported the following changes and bugfixes from Windows Terminal Preview 1.16:
Changes
Interaction
- When in mark mode, its built in key bindings Ctrl+A and the modified arrow keys will take precedence over your key bindings (#13659)
- We've polished how existing selections interact with mark mode (#13893)
UI
- @dansmor7 figured out that we don't need to draw our caption buttons ourselves; now they look great on all versions of Windows! (#13341) (thanks!)
Bug Fixes
Interaction
- Terminal will now use the tab's active title for
Export Text
(#13915) (thanks @serd2011!) - The Emoji picker, PinYin IME or any other IME will no longer drift off the bottom of the screen (oops) (#13785)
Accessibility
- The Command Palette has become much chattier, announcing (to a screen reader) the name of the selected item (#13519)
- Asking for
INT_MAX
characters via UIA will no longer wig us out or try to send you multiple gigabytes of null bytes (#13779)- However, it remains impolite to ask for
INT_MAX
characters viaITextPattern::GetText
.
- However, it remains impolite to ask for
Performance
- Terminal is now 1.2 megabytes smaller on disk (uncompressed) thanks to not using RTTI (#13947) (thanks RTTI!)
Reliability
- Fixed a number of crashes (smaller number than that in Preview), not all of which were common or user-impacting:
- Attempted a fix for the
SignalTextChanged
crash (#13876) - Attempted another fix, this time for the
_refreshSizeUnderLock
crash (#13857) - Fixed a crash in
_WritePseudoWindowCallback
(#13777) - Fixed a crash on exit with the command palette open (#13778)
- Fixed a race condition in UpdatePatternLocations (#13859)
- Fixed two race conditions around pseudo window visibility (#13832)
- Fixed a crash in NVDA, caused by us considering a specific text range invalid (#13907)
- Attempted a fix for the
- Terminal should now more reliably appear in the context menu
With additional thanks to our documentation and code health contributors @jsoref and @LitoMore.