Skip to content

Releases: microsoft/terminal

Windows Terminal Preview v1.19.2682.0

26 Sep 19:04
Compare
Choose a tag to compare
Pre-release

It's finally here: Windows Terminal Preview 1.19! We've been heads-down, working on a new input buffer, new output buffer, shell suggestions, and a bunch of other stuff that we're excited to finally release.

Buckle up! This release might be a little more Preview than you've come to expect . . . but that's the fun of the preview channel!

Why are there so many packages? How do I choose?

Please visit our page documenting the different [Windows Terminal Distributions]!

Features

  • We've added support for a new opt-in and shell-driven suggestions UI (#14938) (#15848)
    • The protocol for suggestions is not finalized, and will change before final release.
    • You can find more information on the Experimental Shell Completion Menu wiki page
    • Suggestions can take into account...
      • ... the command you've already typed on the input line (#15027)
      • ... commands you have recently submitted (#14943)
      • ... any sendInput actions you have in your settings file, to be used as a sort of "snippet" (#15664)
  • The search box will now display a count of found results, and--if scrollbar marks are enabled--display graphical indicators for every match (#14045) (thanks @Don-Vito and @zadjii-msft!)
  • You can now enable broadcast mode via the Command Palette, which will broadcast input to all panes in a tab (#14393) (#15993)
  • You can now launch a profile via wt and keep its built-in command line with the --appendCommandLine flag (#15822) (thanks @hanpuliu-charles!)
    • For example, if your PowerShell profile specifies pwsh.exe, you can run wt --appendCommandLine -p PowerShell -- -Command echo Hello, which will run pwsh.exe -Command echo Hello. That's a lot of dashes. Wow.
  • You can now search the web with your selected text via... (#15539) (thanks @mpela81!)
    • ...the experimental right-click context menu!
    • ...the searchWeb action!
      • You can customize each action to launch any search engine by specifying the queryUrl. %s will be replaced with your query.
    • You can customize the default search engine for both of these by specifying the global setting searchWebDefaultQueryUrl. %s will be replaced with your query.
  • If you have shell integration enabled, you can enable using the mouse to reposition the text cursor (#15758)
    • {profile}.experimental.repositionCursorWithMouse (the dot is part of the name, sorry) (boolean, default false)

Theming and Scheming

  • You can now set the window border color on Windows 11 via the {theme}.window.frame and {theme}.window.unfocusedFrame color entries (#15441)
    • For more fun, you can set {theme}.window's experimental.rainbowFrame to true 🙂
  • You can now (finally!) enable support for using the acrylic material in an unfocused window (#15923) (#15944) (thanks @Jaswir!)
    • Set useAcrylic to true in {profile}.unfocusedAppearance
    • You can turn unfocused acrylic off globally with the global setting compatibility.enableUnfocusedAcrylic (boolean, default false)
  • Themes can now indicate whether tab icons should be shown in color or monochrome or hidden entirely (#15948) (thanks @bundgaard!)
    • Set {theme}.tab.iconStyle (enum default, hidden, monochrome; default default (default))

Changes

  • wt -- foo will once again inherit the environment from its parent (#15897)
    • You can customize this behavior with wt --inheritEnvironment or wt --reloadEnvironment on a per-tab/per-pane basis.
    • You can also override this behavior with the profile setting {profile}.compatibility.reloadEnvironmentVariables (boolean, default true)
  • We have rewritten "cooked read", the input line used by Command Prompt, Python, and a whole host of other applications (#15930) (#15780) (#15782) (#15783) (#15880)
    • This includes changes to command history, popups (F7 and the like), and how input is echoed to the display.
    • This may have a wide-ranging impact, so please file any unexpected input issues in Win32 applications!
  • Input event record handling has been rewritten to support wide encodings like UTF-8, to be more maintainable, and to be much simpler to read (#15671) (#15606) (#15605) (#15611) (#15673) (#15672)
  • Console applications can now more reliably print characters composed of surrogate pairs (aka "We've been trying to reach you about your WriteCharsLegacy's extended Emoji support") (#15567)
  • We've added an action that opens the about dialog (openAbout) (#15990)
  • conhost will now ignore key events with an invalid virtual keycode and a scan code of 0 (such as those emitted by strange software keyboards) (#15753) (thanks @tusharsnx!)
  • We will no longer generate WINDOW_BUFFER_SIZE_EVENT when the viewport moves, confusing applications that translate it into a destructive operation (#15935)
  • You can now configure any copy action to dismiss or keep the selection after it runs (dismissSelection, boolean, default true) (#15552) (thanks @gonzalo-garcian!)
  • The text buffer has been reorganized to be (1) faster (2) smaller (3) harder, better, etc.
    • Rows are initialized lazily in chunks of 128 or so; we no longer spend memory on blank space you'll never see (#15524) (#15582)
    • Reading, writing, initialization, etc. has been cleaned up and vectorized (#15501) (#15498) with fast passes and other optimizations (#15499) (#15879) (#15541) (#15497)
    • We've rewritten resize with reflow so it's like a billion times faster and more correct (#15701)
      • If you see any issues when resizing (other than "bash prints the prompt 600 times every frame" (that's apparently just how bash works)), please file them!
  • We no longer load the Settings editor library on launch, saving you tens of kilobytes of memory (#15628) (#15631)
  • We will now display an indicator in the tab of any disconnected/closed/crashed application. You can right-click the tab to restart it! (#15760) (thanks @mpela81!)
  • You can now run profiles as Admin from the new tab menu by right-clicking them (#15679) (thanks @jamespack!)
  • The profile preview in settings now shows you what a "powerline" font will look like when one is selected (#15365)
  • We actually did fix the homoglyph thing this time; hovering a URL that is pretending to be someone else through funny characters will see right through it (#15488)
  • You can now right-click a tab and move it to a new window (#15376) (thanks @Jaswir!)
  • All text search now uses ICU, and is like blazing fast. URL detection, Search, everything is covered! (#15858) (#15998) (#15892)
  • For those of you debugging Terminal/the console with ETW, you can now group all API calls by originating process (#15737)
  • Also for debugging purposes, you can now add the debugTerminalCwd action to display a pop-up with Terminal's current "virtual" working directory (#15282)
  • If you are using Preview, Canary or Dev we will now set an appropriate JSON $schema so you can auto-complete new settings (#15856)

VT

  • We now support Erase Color Mode (DECECM) (#15469) (thanks @j4james!)
  • The horizontal scrolling sequences DECIC, DECDC, DECBI and DECFI finally work! (#15368) (thanks @j4james!)
  • @tusharsnx put a lot of work into making ITU T.416 color sequences work! He...
    • ... added support for sub-parameters separated with : (#15648)
    • ... added support for ODA SGR sequences (38:2::R:G:B, 48:...) (#15729) (#15844)
  • We will now pass through kitty's underline color (58:...) and style (4:...) sequences (we won't render them yet! but maybe soon! 🤞) (#15795) (thanks @tusharsnx!)

Bug Fixes

Accessibility

  • We've added automation property names to the 'Delete Color Scheme' button (#15994)
  • The key chord indicator in the command palette now has a background color (#15677) (thanks @RickleAndMortimer!)
  • Settings now groups elements in their containers for screen readers (#15756)
  • Screen reader users can now determine which color scheme is the current default (#15486)
  • Default Terminal and Color Scheme ComboBoxes no longer crop at 200% text scale (#15762)
  • Screen readers will now announce successful pane and tab moves (#15771)

VT and terminal emulation

  • Hard Reset (RIS) no longer disables Win32 input mode or focus event mode for pty clients (like Terminal) (#15476) (thanks @j4james!)
  • We no longer log traces or telemetry about aggregated VT sequence use (#15494) (thanks @j4james!)
    • We started to do this in ~2016 or so when we were trying to figure out what VT sequences applications were using. We're way beyond needing that now!
  • The Terminal will now enter mouse mode immediately when a Win32 console app enables it (among other output flushing changes! If you see any flickering in modern VT applications, let us know!) (#15991)
  • Scrollbar marks will now be cleared by clear (and friends) (#15686)

Usability and UI

  • We will no longer reload the settings as often when various OS knobs and switches change (#16004)
  • The tab right-click menu now remembers which terminal pane was active when it was invoked... (#15999)
  • You can once again restart the first pane in a split with Enter after it exits (#16001)
  • All actions now remember which pane originated them, so things like "export text" and "Move tab to new window" and "Duplicate" no longer summon one of the Old Ones (#15773)
  • The about dialog no longer tells you that you've got an update available to the same version you already have (#15378)
  • When the tab close button is disabled, it will no longer randomly reappear to taunt you (#15914)
  • Duplicated tabs now consider the existing configuration option for where to put tabs (#15972) (thanks @codecruisedor!)
  • The launch parameters (position, size) now properly support negative numbers (#15941) (thanks @codecruisedor!)

New R...

Read more

Windows Terminal v1.18.2681.0

26 Sep 18:49
Compare
Choose a tag to compare

Windows Terminal 1.18 is here, and with it comes the coolest set of features ever:

  • You can finally pull tabs out of Terminal windows! You can also put other tabs back into other Terminal
    windows. It's a whole thing.
  • A new new rendering engine that supports arbitrary glyph overhangs (including some new fixes backported from
    1.19!)
  • An experimental (opt-in) right-click context menu (profile setting {profile}.rightClickContextMenu)

Please see the following release notes for additional details.

Note that scrollbar marks and shell integration features are still considered experimental and
are not included in this stable release!

Note
This version began rolling out to the Dev and Canary Windows Insider channels on 2023-09-26. Other channels will be released
as our reliability numbers indicate that we haven't broken anything. If you want to update to this release directly, download it below!

Why are there so many packages? How do I choose?

Please visit our page documenting the different Windows Terminal Distributions!

This release also includes the following changes and bug fixes backported from Preview 1.19:

Changes

  • wt -- foo will once again inherit the environment from its parent (#15897)
    • You can customize this behavior with wt --inheritEnvironment or wt --reloadEnvironment on a per-tab/per-pane basis.
    • You can also override this behavior with the profile setting {profile}.compatibility.reloadEnvironmentVariables (boolean, default true)
  • We no longer load the Settings editor library on launch, saving you tens of kilobytes of memory (#15628) (#15631)
  • You can now run profiles as Admin from the new tab menu by right-clicking them (#15679) (thanks @jamespack!)
  • The profile preview in settings now shows you what a "powerline" font will look like when one is selected (#15365)
  • We actually did fix the homoglyph thing this time; hovering a URL that is pretending to be someone else through funny characters will see right through it (#15488)
  • For those of you debugging Terminal/the console with ETW, you can now group all API calls by originating process (#15737)
  • If you are using Preview, Canary or Dev we will now set an appropriate JSON $schema so you can auto-complete new settings (#15856)

Bug Fixes

Accessibility

  • We've added automation property names to the 'Delete Color Scheme' button (#15994)
  • The key chord indicator in the command palette now has a background color (#15677) (thanks @RickleAndMortimer!)
  • Settings now groups elements in their containers for screen readers (#15756)
  • Screen reader users can now determine which color scheme is the current default (#15486)
  • Default Terminal and Color Scheme ComboBoxes no longer crop at 200% text scale (#15762)
  • Screen readers will now announce successful pane and tab moves (#15771)

VT and terminal emulation

  • Hard Reset (RIS) no longer disables Win32 input mode or focus event mode for pty clients (like Terminal) (#15476) (thanks @j4james!)

Usability and UI

  • We will no longer reload the settings as often when various OS knobs and switches change (#16004)
  • You can once again restart the first pane in a split with Enter after it exits (#16001)
  • All actions now remember which pane originated them, so things like "export text" and "Move tab to new window" and "Duplicate" no longer summon one of the Old Ones (#15773)
  • The about dialog no longer tells you that you've got an update available to the same version you already have (#15378)
  • When the tab close button is disabled, it will no longer randomly reappear to taunt you (#15914)
  • The launch parameters (position, size) now properly support negative numbers (#15941) (thanks @codecruisedor!)

New Rendering Engine

  • We no longer leave cursors all over the place (#15904)
  • Fonts like JetBrains Mono that render their ligatures in reverse now appear in the right colors (#15810)
  • We no longer invalidate more of the screen than we need to (#15929)
  • It now works properly on Windows versions earlier than 10.0.14393.0 (#15485)
  • Font features and axes work once again! (#15912)
  • We no longer crash when trying to render to a 0x0 surface (#15615)
  • DRCS soft fonts that are invalid (or have disappeared, or were never enabled) no longer crash the Terminal (#15889)
  • Both rendering engines have been prepared for horizontal scrolling (???) (#15707)

Reliability

  • We will no longer crash when checking for updates without a network (#16002)
  • If you're the one person who marks HKCU\Console as read-only, we won't crash during save for you (#15916)
  • Actions with an empty keys array no longer cause unexpected kinetic disassembly (#16003)
  • Duplicating elevate: true tabs has been fixed to not blast terminal off into space (#15548)
  • The backing console no longer hangs when resizing while scrolling (#15618)
  • Instead of leaking memory for each window on Windows 10, we'll cache old windows and recycle them as needed (#15424)
    • We introduced the leak to fix a crash in closing windows on Windows 10; this allows us to still leak the window but still be able to reclaim them.

Schema

  • No longer is there a multiple schema conflict on "colorScheme" (#15748) (thanks @brandondong!)

Miscellaneous

  • The WPF control now delay-loads UIAutomationCore.dll because it's incomplete in Windows RS1 (#15614)

With additional thanks to @floh96, @daverayment, @ushuz, and @LitoMore for documentation updates and @tusharsnx,
@Jvr2022, @Dan-Albrecht, @ebarnabas644, @jamespack for build system, project config, and compiler compatibility fixes.


Binary files inside the unpackaged distribution archive bear the version number 1.18.230925001.

Asset Hashes

  • Microsoft.WindowsTerminal_1.18.2681.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
    • SHA256 BCAB5079B9F4E2ADBDA4B81D7482BA20BCBDA83B7BB77D7FFDBFF006234CE2A3
  • Microsoft.WindowsTerminal_1.18.2681.0_8wekyb3d8bbwe.msixbundle
    • SHA256 33A931384373DEEAF0E11F3E7BA985349FD2C32137DED81F9770F428558A76ED
  • Microsoft.WindowsTerminal_1.18.2681.0_arm64.zip
    • SHA256 C4D3D18A184FD0B6A246F2307A0D3FA6B869F9D5670B3161E490F2E520F569E7
  • Microsoft.WindowsTerminal_1.18.2681.0_x64.zip
    • SHA256 F4FE48C51B96B591B56B60A437ACDF73AA2797A01B77360660BDB47E1A9ED184
  • Microsoft.WindowsTerminal_1.18.2681.0_x86.zip
    • SHA256 7BF1A048FED827D8638DE934F5DE8EB711CEF42E0CE46E0A638E0AC87AE56D64

Windows Terminal Preview v1.18.1462.0

29 May 16:20
Compare
Choose a tag to compare
Pre-release

Wow, it looks like 1.18 had a bunch of issues. Thanks for bearing with us and using the Preview channel!

  • Bug fixes for the new rendering engine:
    • Glyphs that extend above or below the screen (like certain NerdFont varieties) no longer cause rendering failures (#15403)
    • There should be 100% fewer leftover cursor pieces during scrolling (#15427)
    • DRCS soft fonts no longer cause crashes (#15419)
    • We've improved scrolling and device invalidation (#15425)
  • wt --help now no longer emits a crash log after it exits (oops) (#15445)
  • In general (outside of the --help case,) Terminal should crash even less on exit (#15451)
  • We've stamped out some crashes on resize during shutdown (#15457)
  • The new environment variable support will now always expand PATH, even if it is not a REG_EXPAND_SZ (#15444) (thanks @sotteson1!)
  • OpenConsole: block selection now properly records line breaks (#15423)
  • The "Developer Command Prompt" profiles are no longer totally busted (#15439)
  • Terminal no longer crashes when you have focusFollowMouse mode enabled (#15420)

Asset Hashes

  • Microsoft.WindowsTerminalPreview_1.18.1462.0_8wekyb3d8bbwe.msixbundle
    • SHA256 60BF2D35DAC57DC2878C71C581CC3F000E1875A08AF318615E8FA6DD9288BCDA
  • Microsoft.WindowsTerminalPreview_1.18.1462.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
    • SHA256 17D30178FD2EA39B3DC91E874435025E74C676EF918F5BF79CDF789FE554EC99
  • Microsoft.WindowsTerminalPreview_1.18.1462.0_arm64.zip
    • SHA256 62FD69046CAF504C456BEB3004CF4E83207D25FD7A03B75D8B2D2A8175630D1D
  • Microsoft.WindowsTerminalPreview_1.18.1462.0_x64.zip
    • SHA256 C63E631EDBC8211E48EA299A33A5E0ACF713F3115258E8594EDCC402D2F7A093
  • Microsoft.WindowsTerminalPreview_1.18.1462.0_x86.zip
    • SHA256 B7D47EFA7862800D5CAC6CF75D7EFE2014ED1D0FAAC6B381DEB85F6F186DE915

Windows Terminal v1.17.11461.0

29 May 16:14
Compare
Choose a tag to compare

Enjoy this quick bug fix release!

  • The "Developer Command Prompt" profiles are no longer totally busted (#15439)
  • Terminal no longer crashes when you have focusFollowMouse mode enabled (#15420)

Asset Hashes

  • Microsoft.WindowsTerminal_1.17.11461.0_8wekyb3d8bbwe.msixbundle
    • SHA256 E3A5A581F2A404D9D97F6826890BE9FD7BFC827498035D6C45E1C12F9D2D4E8F
  • Microsoft.WindowsTerminal_1.17.11461.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip
    • SHA256 2BB87BC4EA358F58D1F1BF69486B133DB09EC509BF07A7BD740F9ABBE2F25CB5
  • Microsoft.WindowsTerminal_1.17.11461.0_arm64.zip
    • SHA256 2CB999CC7AF12245E08D57D5472571C126A411C38E20F8D66E2110650FD0D757
  • Microsoft.WindowsTerminal_1.17.11461.0_x64.zip
    • SHA256 F2B1539649D17752888D7944F97D6372F8D48EB1CEB024501DF8D8E9D3352F25
  • Microsoft.WindowsTerminal_1.17.11461.0_x86.zip
    • SHA256 6A052D0501680EEADF7971B72734AC0084ECBD65B0A420E3C49014BE1860E070

Windows Terminal Preview v1.18.1421.0

23 May 16:59
Compare
Choose a tag to compare
Pre-release

Welcome to the Q2 release of Windows Terminal! Since we moved to a quarterly release cycle, these release notes have
really gotten out of control. Buckle up!

Note Well, 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!

Why are there so many packages? How do I choose?

Please visit our page documenting the [Windows Terminal Distributions]!

Features

  • You can now drag tabs between windows or drop them off in space to make a new window! (#14866) (#14901) (#14935)
    • All instances of Windows Terminal now run in the same process (#14843); please know that this may expose some
      reliability issues. This is a preview build! It might break! Please let us know if it does.
    • Terminal has learned to (optionally) keep running without any windows open (#14944)
      • Enable global setting compatibility.allowHeadless (boolean, default false).
      • This will allow you to summon a "Quake mode" window even if there aren't any other Terminal windows open!
    • You can move tabs or panes individually to new windows with a new action in the command palette, as well (#15258)
      • We have extended the moveTab and movePane actions with support for a window parameter; the format is the
        same as that of the -w command line argument.
    • As a side effect of this work, Terminal no longer locks the directory from which it was spawned (rejoice!)
    • Please note: Due to a bug in Windows 10, every window you close will leak about 15MiB of memory. This is
      intentional and prevents a crash (yeah, not amazing. We're tracking a fix!) (#15397)
  • The experimental new text rendering engine AtlasEngine is now newer and still experimental!. It has been
    nearly completely rewritten with support for overlapping text! (#14959)
    • Practically speaking, this means that it will no longer cut off italic text, Emoji, or "complex" scripts. It
      will continue to clip box drawing glyphs to ensure that they look great. (#15343)
    • We've ensured that it still supports animated shaders (#15353), Han unification (#15358), and locl glyph variants (#15278)
    • It will now be used to display the Appearance preview in the Settings UI for profiles for which it is enabled (#15355)
  • Terminal now offers an experimental, optional right-click context menu (#14775) (#14252) (#15079)
    • Enable the menu with the profile setting experimental.rightClickContextMenu (boolean, default false)
    • You can invoke the menu--even if it is disabled--with action showContextMenu (#14254)
    • When you have shell integration enabled (FTCS marks, mentioned below), you can use the menu to select a command or
      its output (#15020)
  • You can now customize the height (and width) of character cells in the terminal (#14255)
    • See the "line height" setting in Profile -> Appearance
    • Configurable via JSON in $profile.font.cellWidth and $profile.font.cellHeight (string, see below, default
      automatically calculated for optimal rightness)
      • Valid units include:
        • 1.0, 100%: multiplier or percent of font size
        • 12px: raw size in device independent pixels (supports fractional pixels)
        • 12pt: raw size in font points (1/72 of an inch; supports fractional points)
        • 1ch: multiplier of font advance width (supports fractional multiplier)
  • Thanks to @ianjoneill, Terminal is now way better at handling environment variables.
    • New tabs/panes will now automatically reload the system environment (#14999) (#14839)
      • You can disable this feature with the global JSON setting compatibility.reloadEnvironmentVariables (bool,
        default true)
    • Profiles can now contain environment variables! (#15082)
      • Set JSON setting environment (map string -> string; default null)
        • As an example, "environment": { "COOL": "very", "HOW_COOL_IS_THIS": "it is %COOL% cool" }
  • The "About" dialog will now inform you when an update is available (if you are using the "MSIX bundle" or
    "preinstallation kit" distributions; see below) (#13437)
  • "Open Terminal Here" now supports Ctrl+Shift to launch an elevated session (#15137) (thanks @jamespack!)
  • If you are using the FTCS "start of command", "start of output" and "end of output" marks (OSC 133), you can now use
    the selectCommand and selectOutput actions to select the command or output as demarcated by those sequences (#14807)
  • You can now enable or disable read-only mode, rather than just toggling it, with the enableReadOnly and
    disableReadOnly actions (#14995) (thanks @Swinkid!)
  • You can now immediately restart a connection via the restartConnection action (#15241)
  • 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)
  • $theme.tab.showCloseButton now supports activeOnly, to display the x only on the active tab (#15237) (thanks @kovdu!)

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!
  • Terminal will now send individual key down and key up events to console applications (#15130) (thanks @j4james!)
  • We've refactored how Unicode input works for the ReadConsoleInput APIs in the Console and Terminal (#14745)
  • 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

  • Terminal has updated to Microsoft.UI.Xaml 2.8 (#15078) (#15183) (#15280) (#15313) (#15217)
  • We have added a Close Pane action to the tab context menu (#15198) (thanks @joadoumie!)
  • Since we have so many Close-related actions in the tab context menu, they've moved into a Close... submenu (#15250)
  • 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!)
  • Connection restarting with Enter (after hangup) or via the new action above is now safer and more reliable (#15240)

Performance

  • We have refactored text output to achieve a roughly 4x speedup in the common case (#14821)
  • 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)

VT and Compatibility

  • Thanks to @j4james, we now support a whole new heap of control sequences! Thank you!
    • ... horizontal margins via DECSLRM (requires `DECSLRM) (#15084)
    • ... LNM (Line Feed/New Line Mode) (#15261)
    • ... DECAC queries via DECRQSS (#14990)
    • ... DECRQCRA, to checksum a region of the screen (#14989)
    • ... presentation state reports, via DECRQPSR and DECRSPS (#14998)
    • ... a more detailed Device Attributes report DA (#14906)
    • (with additional thanks to @al20878 for hands-on validation against the original hardware ❤️)
  • The VT engine will now filter out control characters that don't do anything (#15075) (thanks @j4james!)
  • In addition, @michalnpl added support for querying the window size in cells via CSI 18 t! (#15295) (thanks @michalnpl!)
  • Merge the LineFeed functionality into AdaptDispatch (#14874) (thanks @j4james!)

Bug Fixes

  • centerOnLaunch no longer overrides the restoration of window positions (#15179)
  • Indirect icon references (like foo.exe,-123) now work in the jump list (#15221) (thanks @jamespack!)
  • The command palette should no longer flee in terror when you activate it from the dropdown menu (#15340)
  • We believe we have staked the DesktopWindowXamlSource window that would sometimes appear through the heart like a
    vampire (#15165)
  • start /min wt and friends should now work properly (#13838) (#15213)
  • 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 / PowerShe...
Read more

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