Skip to content

Releases: microsoft/terminal

Windows Terminal v1.17.11391.0

23 May 16:59
Compare
Choose a tag to compare

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.
  • We have added another way of detecting whether "Default Terminal" is available on your OS 👀 (#15040)

Changes

  • file: URIs emitted by OSC 8 now support wsl$; URIs emitted by OSC 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 or rancher-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) and System (Legacy) (#15108)
  • You will now be reprimanded harshly for 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.
  • 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

  • We'll no longer crash when VTParameters::subspan is out of range (#15235) (thanks @j4james!)

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
  • Microsoft.WindowsTerminal_1.17.11391.0_8wekyb3d8bbwe_Windows10_PreinstallKit.zip
    • SHA256 BB943E0CAA7569993DB906C7A9B386E122B95DC1074BD47BE363802450DD1DF6
  • Microsoft.WindowsTerminal_1.17.11391.0_arm64.zip
    • SHA256 F483D0D77097402DBCB3F40C60124A735D8E5FF30F7F1E2DA5412A17E0666A6A
  • Microsoft.WindowsTerminal_1.17.11391.0_x64.zip
    • SHA256 061E019C311592212C4A8C36ABDBDACACB2D875DE055FB3E28602900A35EE617
  • Microsoft.WindowsTerminal_1.17.11391.0_x86.zip
    • SHA256 5BFD0E7E0EC3BBC54201836F316AC6484E0EC9D192A77C1E24A34C4EC95C28CB

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.