Skip to content

Releases: microsoft/terminal

Windows Terminal v1.16.1026 (1.16.10261.0 and 1.16.10262.0)

27 Jan 20:15
Compare
Choose a tag to compare

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
  • Microsoft.WindowsTerminal_Win11_1.16.10262.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
    • SHA256 17C03963403EF72244E85AD097022B109D9A8502A73F76C8D034DAEDB9D123C4
  • Microsoft.WindowsTerminal_Win10_1.16.10261.0_8wekyb3d8bbwe.msixbundle
    • SHA256 BA6FC6854E713094B4009CF2021E8B4887CFF737AB4B9C4F9390462DD2708298
  • Microsoft.WindowsTerminal_Win10_1.16.10261.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
    • SHA256 14A7C5D6743D0FF22397B9CFA43576F7193A29F1727C04C49652CDCBFA168634

Windows Terminal Preview v1.17.1023

24 Jan 18:15
Compare
Choose a tag to compare
Pre-release

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 are 1.17.10234.0 and 1.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.
  • You can now set the scroll bar to be "always" displayed (thanks @sotteson1!) (#14047)
    • JSON field $profile.scrollbarState has learned the new enum value always.
  • 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!)
    • Set $profile.colorScheme to an object containing the keys light and dark, ala { "light": "Scheme One", "dark": "Scheme Two" }.
    • When first implemented, this may have crashed; it no longer does so! (#14653) (thanks @jboelter!)
  • 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 and dll resources for icon paths, as in C:\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.)
  • 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
  • Microsoft.WindowsTerminalPreview_Win11_1.17.10235.0_8wekyb3d8bbwe.msixbundle
    • SHA256 4E5C4E1BBE226B02817B7DED321F09CFCE582803800CCDB224236C98682ED643

Windows Terminal v1.16.1023 (10231 and 10232)

24 Jan 18:15
Compare
Choose a tag to compare

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, default false)

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:

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
  • Microsoft.WindowsTerminal_Win10_1.16.10231.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
    • SHA256 0719A0E024E0E4ED37A9434308D7A0FC5A86769F209F9F68F7B744D7154390D5
  • Microsoft.WindowsTerminal_Win11_1.16.10232.0_8wekyb3d8bbwe.msixbundle
    • SHA256 786FE246C30F672D8464A1303917F9166B4809F8589C51B95B4DF33388FCA3AD
  • Microsoft.WindowsTerminal_Win11_1.16.10232.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
    • SHA256 3DD84940EBEA9F5BE0F69AEE326DB902116F9F8E5DE55DD5EDE966C4323C1F0E

Windows Terminal v1.15.3465.0 and v1.15.3466.0

14 Dec 20:41
Compare
Choose a tag to compare

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 handle C1 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 supporting null (#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

14 Dec 20:41
Compare
Choose a tag to compare

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 will now attempt to better scale block and box drawing glyphs (#14099)
    • It will no longer crash with a heap overflow when presented with a malformed DBCS sequence (#14275)
    • We've adjusted how glyphs are scaled when they are way outside their bounding boxes in poorly-behaved fonts (#14085)
  • 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 into wsl --cd (#14093) REMOTE CODE EXECUTION CVE-2022-44702
    • OSC 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 handle C1 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 supporting null (#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

18 Oct 21:50
Compare
Choose a tag to compare

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 into wsl --cd (#14093) REMOTE CODE EXECUTION CVE-2022-44702
    • OSC 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

23 Sep 16:55
Compare
Choose a tag to compare
Pre-release

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

  • Tabs should no longer take up to infinity seconds to close (#14041)
    • If you see any instances of OpenConsole.exe hanging around after you close a tab (or a whole Terminal), please let us know!
  • The "Open in Terminal ..." context menu item should now show up and disappear more reliably (#14048)

Windows Terminal Preview v1.16.252

13 Sep 17:01
Compare
Choose a tag to compare
Pre-release

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 and experimental.retroTerminalEffect settings... (#13885)
      • ... with a further optimization: shaders that do not use the time component will not trigger a redraw every frame! (#13903)
    • It now supports...
      • experimental.rendering.software (#13886)
      • intenseTextStyle bold (#13458)
      • underline/overline/hyperlink lines (#13587)
    • 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 the experimental. 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 (enum never, indexed, always; default never)
  • 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 (enum afterLastTab (default), afterCurrentTab)
  • 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, default false) 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 via ITextPattern::GetText.

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)
  • 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

13 Sep 17:01
Compare
Choose a tag to compare

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:

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 via ITextPattern::GetText.

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)
  • Terminal should now more reliably appear in the context menu

With additional thanks to our documentation and code health contributors @jsoref and @LitoMore.

Windows Terminal Preview v1.15.228

17 Aug 23:28
Compare
Choose a tag to compare
Pre-release

This is another servicing release for the Preview channel of Windows Terminal! We fixed that Alt+Tab issue!

Note
People in the Beta channel of the Windows Insider program will receive 1.15 as a Stable channel update while we test out coming features for the next version of Windows. It is roughly equivalent to the build included here, but it does not include the experimental text rendering engine.

It contains the following other things as well:

Bug Fixes

Usability

  • We've restored the ability for Alt+Tab to restore the Terminal after it was minimized with the taskbar icon (#13624)
  • Terminal will no longer replace colored backgrounds with blank spaces on first launch (#13665)
  • We will once again display underlines, hyperlinks, and more to the end of the line instead of getting tired and stopping early (#13661)
  • Sessions handed off from the Windows Console will no longer stick around with an ominous and annoying "process exited with code ..." message, unless you explicitly configure them to.
    • To accomplish this, we've changed the default value of closeOnExit to a new value, automatic. Automatic close-on-exit determines whether
      to close based on whether the process exited gracefully and whether the process was spawned by Terminal. (#13560) (#13649)
  • Select All and Mark Mode will now trigger scrolling to make sure that one of the selection endpoints is visible. (#13660)
  • SendInput with high unicode characters will no longer fail (#13667)
  • Text input in Japanese, Vietnamese, Korean and Chinese should be more reasonably switch between alphanumeric modes (#13678) (#13677)

Reliability

  • We've upgraded to XAML 2.7.3 to fix a crash in closing the Settings page (#13761)
  • The "Open Terminal Here" context menu item should show up more reliably (and crash less) (reverted PR #13206)
  • We've solved--or at least, reduced the incidence of--one source of deadlocks in rendering (#13758)
  • We'll try much harder to defibrillate a Terminal session that can't talk to the "primary" Terminal session to improve reliability (#13604)
  • We will now listen to signals the OS sends us telling us that it's taking us down for an update. It's not going to help us stop it form happening,
    but it puts us in a better position to handle it later (#13614)

Performance

  • We're preparing to fix an issue with jump list generation that results in a slower-than-expected launch (but we aren't there yet) (#13688)
  • There is now only one tab color picker in the world, and all users terminal tabs now have to share it (to improve performance) (#13736