Skip to content

Releases: microsoft/terminal

Windows Terminal v1.1.2233.0

13 Aug 18:53
v1.1.2233.0
Compare
Choose a tag to compare

This is a small servicing release for Windows Terminal's stable channel.

As is custom for all stable channel releases after v1.1, a preinstallation kit is available for system integrators and OEMs interested in prepackaging Windows Terminal with a Windows image. More information is available in the DISM documentation on preinstallation. Users who do not intend to preinstall Windows Terminal should continue using the msixbundle distribution.

Bug Fixes

  • Some of you like to use arrow keys instead of H, J, K and L, so we made sure that they are properly sent to applications in W32 mode (#7106)
  • When you're connected to a mouse mode application, drags that exit the window will still generate release events properly (#7166)
  • We've fixed an unfortunate crash on launch caused by @DHowett and his meddling in profile resolution (#7237)

Windows Terminal Preview v1.2.2022.0

22 Jul 16:18
Compare
Choose a tag to compare
Pre-release

Features

  • We're flighting very early support for a "command palette", which will provide quick access to every Terminal feature (#6635)
    • If you bind commandPalette (I recommend Ctrl+Shift+P), you can open a filterable list
      of every action Terminal can perform.
    • This is a great way to find "focus mode" and "always on top" mode! (see below)
  • We've added two window management features, "focus mode" and "always on top" (#6804) (#6903)
    • Focus mode removes the tab bar and caption buttons, and always on top mode always-on-tops the window.
    • Right now, they're accessible via the toggleFocusMode and toggleAlwaysOnTop action bindings. They are not bound to keys by default.
  • Terminal has learned to pop up warning dialogs about clipboard content (thanks @greg904!) (#6631)
    • Pasting content over 5 KiB in length will result in a confirmation dialog.
      • This can be disabled with the global setting largePasteWarning (boolean, default true)
    • Pasting content that contains newline characters will result in a confirmation dialog.
      • This can be disabled with the global setting multiLinePasteWarning (boolean, default true)
  • There is a handful of new action bindings, none of which are bound by default:
    • renameTab (activates the tab title text field) (thanks @ggadget6) (#6557)
    • toggleRetroEffect (#6691)
    • setTabColor and openTabColorPicker (#6567)
  • This version of Windows Terminal ships with Cascadia Code 2007.15.

Changes

  • The rowsToScroll setting has been removed (#6891).
    • It was added to work around precision touchpad scrolling issues, which we fixed correctly before 1.0
    • Terminal will now follow the system's "lines to scroll" setting.
    • In addition, it will no longer scroll backwards when the system setting is set to "one page at a time"
  • The terminal will no longer jump to the bottom when you're scrolled up or when you have a selection (#6062)
  • Holding down Shift while clicking has always expanded your selection. Now, however, you can take it two or three steps further by holding down Shift and double- or triple-clicking (#6322)
  • You can now double-click a tab to rename it (thanks @greg904!) (#6628)
  • wt will now accept shorthand nt, sp, ft versions of new-tab, split-pane, and focus-tab on the commandline (#6576)
  • Our window borders will now always be unobtrusive, even when your system theme is light (thanks @greg904!) (#6624)
  • The Solarized color schemes have been updated to fix "bright black" and "normal black" having been swapped (thanks @M-Pixel!) (#6985).
    • PowerShell's PSReadline prefers bright black to render command parameters, which rendered (!) them totally unreadable on Solarized Dark
  • We can now hot reload a bunch of renderer settings like the experimental retro terminal effect and the software rendering flag (#6551)

UI

  • Thanks to @jtippet, Terminal's UI is now fives of times more accessible in high contrast mode (#6833) (#6910)
    • This includes beautiful new icons (Medium Terminal Icon in Black) (#6915)
  • Thanks again to @jtippet, our "new tab" button now looks much closer to the rest of the tab strip in shape and color (#6766) (#6812)
  • You can now start selections from the padding area (#6343)

Terminal Basics

  • Color representation has been significantly improved (thanks @j4james!)
    • In the old days (read: before 1.2), Terminal would try to map colors coming out of applications to their
      nearest paletted color index. This was inherently lossy.
    • The pseudoconsole will now forward colors and styles emitted by applications with higher fidelity (#6506)
    • We've added heuristic detection for applications using the traditional Win32 console API to set "defaulted" background/foreground colors (#6698)
    • This required us to break and then somewhat fix DECSCNM (full screen inversion) (#6809)
  • We can now render additional graphical attributes (thanks @j4james!)
    • SGR 4, "faint" (#6873)
      • Faint text will be rendered at roughly half intensity.
    • SGR 8, "concealed" (#6907)
      • Concealed text will not be visible, but it will be copyable to the clipboard and read out by screen readers.
    • SGR 53, "overline" (#6754)
      • It's like an underline, but not so much "under" as "over".
    • Care about SGRs a lot? Follow #6879 for yet more SGRs.
  • Commandline applications can now put text on the clipboard using OSC 52 (thanks @uzxmx!) (#5823)
  • Terminal (and conhost) will now be able to answer queries for further device attributes (DA2, DA3) (thanks @j4james!) (#6850)

Bug Fixes

  • You can now run wt as an Administrator from the Run dialog with Ctrl+Shift+Enter (#6860)
    • This is a workaround for MSFT:25907286.
    • This change also fixes the issue where running wt from powershell would render your existing session inoperable.
      • App execution aliases aren't real executables, so they've got all sorts of fun caveats!
  • Precision touchpads have been reined in and will no longer dispatch untold many VT mouse events on scroll (#6843)
  • The hard reset sequence will now properly result in the entire terminal being reset (thanks @j4james!) (#6763)
  • Terminal should no longer crash when you read its contents with Narrator's "scan mode" (#6447)

Performance

  • We've made a good number of behind-the-scenes performance improvements:
    • "Improved ATTR_ROW::ReplaceAttrs performance" (thanks @lhecker!) (#6573)
    • "Improve bitmap::_calculateArea performance" (thanks @lhecker!) (#6572)
    • "Recycle assorted rendering components to accelerate drawing" (#6483)
    • "Restore simple text runs, correct for crashes" (#6695)
    • "Avoid copying the bitmap on the way into the tracing function" (#6839)
    • "Cache VT buffer line string to avoid (de)alloc on every paint" (#6840)
    • "Cache the size viewport structure inside TextBuffer" (#6841)
    • "Cache the viewport to make invalidation faster" (#6918)

Windows Terminal v1.1.2021.0

22 Jul 16:18
Compare
Choose a tag to compare

This release brings all of the preview changes in Windows Terminal 1.1 to the stable channel.

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.

Please see the following release notes for additional details:

We've also backported the following bug fixes from Windows Terminal Preview v1.2.2022.0:

  • Scrolling inside a mouse-enabled application should now be 98% less wild when you use a precision touchpad (#6843)
  • Terminal should no longer crash when you read its contents with Narrator's "scan mode" (#6447)
  • You may now double-click a tab to rename it (thanks @greg904!) (#6628)
  • The buttons in the tab color picker now have tooltips (thanks @garciaolais!) (#6498)
  • A hard reset will now fully reset the terminal instead of failing out halfway through (thanks @j4james!) (#6763)
  • The shapes and colors of the new tab button have been updated to better match the rest of the OS (thanks @jtippet!) (#6766) (#6812)
  • Terminal now ships with high contrast icons (thanks @jtippet!) (#6915)
  • We've improved the performance of rendering by reducing unnecessary copies (thanks C++!) (#6839)
  • The Solarized color schemes have been updated to fix "bright black" and "normal black" having been swapped (thanks @M-Pixel!) (#6985).
    • PowerShell's PSReadline prefers bright black to render command parameters, which rendered (!) them totally unreadable on Solarized Dark.
  • This version of Windows Terminal ships with Cascadia Code v2007.15 (#6958)

Windows Terminal Preview v1.1.1812.0

30 Jun 19:00
Compare
Choose a tag to compare
Pre-release

This is a small servicing update to the Windows Terminal Preview release train.

Windows Terminal Preview now ships with Cascadia Code 2007.01. This version offers a variable weight axis ranging from ExtraLight (200) to Bold (700) as well as some metrics tweaks and ligature fixes.

Bug Fixes

  • Compact tab sizing should now work more reliably (and not only apply to tabs that were open when you first switched into compact mode. oops!) (#6670)
  • We've reverted a glyph shaping-related performance improvement that caused a bunch of applications to look downright strange (#6665)
  • Terminal will no longer rely on PATH lookup for cmd and powershell. They ship as part of Windows, so we should know exactly where they are. (#6684)

Windows Terminal v1.0.1811.0

30 Jun 18:59
Compare
Choose a tag to compare

This is the first servicing release to the Windows Terminal stable release train.

Each of these is a backport from the preview train (v1.1). Thanks for selfhosting the preview and helping us determine what to backport!

Windows Terminal now ships with Cascadia Code 2007.01. This version offers a variable weight axis ranging from ExtraLight (200) to Bold (700) as well as some metrics tweaks and ligature fixes.

Bug Fixes

  • The cursor will no longer obscure text, unless that text is the same color as the cursor (#6337)
    • Known issue: underlines are now drawn on top of the cursor. Follow #6499 for updates.
  • Win32-OpenSSH 7.7 is here to stay, so we decided to fix the issue that allowed it to break mouse input (#6485)
  • Our caption buttons now fade like everyone else's when you hover over them (thanks @AnuthaDev!) (#6303)
  • Text copied from the File Explorer's "Copy Address" option will now be pasteable (thanks @aldahick!) (#6146)
  • Every time the window was resized, we'd lose track of another GDI handle. Now, we don't (#6229)
  • Maximized terminal windows will finally put their tab strips right at the top of the screen. Unrelatedly, Paul Fitts called to let us know about this one weird law (#5881)
  • The maximize/restore button now more accurately tracks the state of the window (#5988)
  • Right-clicking the negative space between the tabs and the caption buttons will now open the system menu (#6443)
  • Some of you thought it would be a good idea to close a tab while dragging it around. I couldn't figure out why you wanted to do that, but it will at least now not do something strange... (#5883)
  • You can now drag and drop snippets of text onto the Terminal and it'll do roughly what you'd expect (#5865)
  • The keen-eyed among you may have noticed that the 6x6x6 xterm color cube was totally horked. Thanks to @j4james, this egregious sin has been corrected (#5999)
  • Terminal will no longer rely on PATH lookup for cmd and powershell. They ship as part of Windows, so we should know exactly where they are. (#6684)

Performance

  • We've added a couple fast paths to things that the profiler told us were taking more time than we expected. (#6493) (#6501) (#6420) (#4608)

Windows Terminal Preview v1.1.1671.0

18 Jun 17:00
c1076a8
Compare
Choose a tag to compare
Pre-release

Preview has finally diverged from Stable! Rejoice!

Features

  • Terminal can now pass raw modifier keys and other raw Windows input through to the connected application (#6309), bug fixes (#6431) (#6442) (#6461) (#6516) (#6517)
    • This enables a number of PSReadline key bindings and the modifier-hold behavior of FAR Manager, ZTreeWin, and tens of other applications that were using traditional Win32 input records.
    • COMPATIBILITY We have specified and implemented a new optional terminal input mode (specification)
      • Terminal emulators on Windows (VSCode, PuTTY, ...) can implement the feature as specified and produce full-fidelity Win32 input messages
      • Terminals that do not do so will not be impacted and should continue to function as normal.
  • You can now right-click on a directory and choose "Open Windows Terminal here"! (#6100)
    • However, due to a bug that's fixed in insider builds you can't do that from the "background" of that directory... (#6415)
      • We're hoping that once this bug fix is tested, we can get it out in earlier versions of Windows.
  • We've added a context menu that will appear when you right-click a tab!
    • You can now assign a color to a tab (thanks @gbaychev!) (#3789)
    • Tabs can now be renamed! (#5775)
      • Tab names override application titles and will be durable until cleared or closed.
  • You can now open a split pane from the menu by holding down Alt when you click it (#5928)

Settings

  • You can now specify the default profile by name (!) (#5706)
    • With this change, you no longer need to visit the GUID recycler to make a new profile. GUIDs are (pretty much) an implementation detail.
  • Terminal will no longer complain if you leave trailing commas in your "JSON" settings (#6312)
    • What even is JSON anymore?
    • Yes, we perhaps chose a poor configuration format given that we expected users to have to hand-edit it.
  • openSettings learned a new argument, target (per-binding, enum "defaultsFile", "settingsFile") (#6299)
    • target defaults to settingsFile
    • We've added a new default binding (finally) to open the defaults: Ctrl+Alt+,
  • You can now opt in to automatic startup with the startOnUserLogin setting (global, boolean, default false) (thanks @jelster!) (#4908)
    • The first time you toggle this to true, Terminal will ask again for your permission to become a startup task
    • If you're one of the 0% of people running terminal unpackaged, this won't work for you.
  • launchMode now supports "fullscreen" (#6060)
  • We've added support for a new tabWidthMode, "compact" (#5787)
    • When compact sizing is enabled, only the focused tab will display its title.
  • AltGr/Ctrl+Alt aliasing can now be toggled with the altGrAliasing setting (profile, boolean, default true) (thanks @lhecker!) (#6212)
    • We learned that while some people want Ctrl+Alt to act like AltGr, others don't. If you're one of the ones that doesn't: rejoice!
  • We now support fontWeight (profile, integer or enum, default "medium"/400) (#6048)

Command-line invocation, wt.exe

  • Terminal can now be launched (through the wt execution alias) --fullscreen or --maximized (#6139)
  • new-tab and split-pane now support --title (which predictably overrides the application title) (#6296)
  • wt learned the --version argument (#5501)

Terminal Basics

  • conhost (and therefore, to an extent, Terminal) is now a more faithful VT52 emulator (thanks @j4james!) (#4789)
    • We've added support for DECANM and a great number of VT52 input encodings.
  • conhost now supports 31 VT character sets (up from 2) and the DOCS sequence to switch to ISO-2022 mode (thanks @j4james!) (#4496)
    • There was also a persistent bug where tmux would occasionally Shift In/Shift Out for what appeared to be no reason, corrupting the display
      • Better support for character sets = better support for SI/SO = no more tmux graphical corruption!
  • You can now drag and drop snippets of text onto the Terminal and it'll do roughly what you'd expect (#5865)

Changes

UI

  • Right-clicking the negative space between the tabs and the caption buttons will now open the system menu (#6443)
  • Windows Terminal (Preview) is now Windows Terminal Preview ¯\_(ツ)_/¯ (#6418)

Internal/VT/Conhost

  • We've changed the internal representation for 256-color text (thanks @j4james!) (#5834)
    • COMPATIBILITY It is no longer possible to combine VT and the legacy console API to "brighten" text.
    • If you're going to brighten dark colors, do it with FOREGROUND_INTENSITY or go full-VT.
  • Color conversions (24-bit/256->16) are now more efficient but do not take into account the active palette (thanks @j4james!) (#6358)
    • It turns out that color conversion was utterly broken for ReadConsoleOutputAttribute and nobody ever noticed, but that's also fixed now too. I expect that of the 0 people who noticed it was broken, 100% of them will rejoice that it's been fixed.
  • The dispatching of SGR sequences has been improved (thanks @j4james!) (#5758)
  • Internal work is underway to support a "command palette" (#6351)

Bug Fixes

  • The cursor will no longer obscure text, unless that text is the same color as the cursor (#6337)
    • Known issue: underlines are now drawn on top of the cursor. Follow #6499 for updates.
  • Text copied from the File Explorer's "Copy Address" option will now be pasteable (thanks @aldahick!) (#6146)
  • Win32-OpenSSH 7.7 is here to stay, so we decided to fix the issue that allowed it to break mouse input (#6485)
  • All tabs will now be created with a title so they stop looking so empty and vengeful (thanks @greg904!) (#6433)
  • The keen-eyed among you may have noticed that the 6x6x6 xterm color cube was totally horked. Thanks to @j4james, this egregious sin has been corrected (#5999)
  • Maximized terminal windows will finally put their tab strips right at the top of the screen. Unrelatedly, Paul Fitts called to let us know about this one weird law (#5881)
  • The maximize/restore button now more accurately tracks the state of the window (#5988)
  • Some of you thought it would be a good idea to close a tab while dragging it around. I couldn't figure out why you wanted to do that, but it will at least now not do something strange... (#5883)
  • Every time the window was resized, we'd lose track of another GDI handle. Now, we don't (#6229)
  • Our caption buttons now fade like everyone else's when you hover over them (thanks @AnuthaDev!) (#6303)

Performance

I'm going to let these changelog entries speak for themselves, as they've done the problem better justice than I could:

  • (@skyline75489) "Skip glyph shaping analysis when the entire text is simple" (#6206)
  • (@greg904) "Add fast path to til::bitmap::translate using bitshifts" (#6493) (#6501)
  • (@greg904) "Reduce latency with DXGI 1.3 GetFrameLatencyWaitableObject" (#6435)
  • (@greg904) "Throttle scrollbar updates in TermControl to ~one per 8ms" (#4608)
  • "Improve perf by avoiding vector reallocation in renderer clusters and VT output graphics options" (#6420)

Bug Fixes in conhost

A number of bugs were fixed in the traditional Windows Console Host--you won't see them in Terminal, but they'll be coming soon to a Windows Insider Build near you.

  • Cursor visibility will be restored when you're done with your IME (thanks @j4james!) (#6207)
  • The IME will no longer draw lines (underlines, overlines, leftlines, etc.) incorrectly (#6223)
  • If you launch conhost through a shortcut without an icon, we'll now go digging to find one for you (thanks @malxau!) (#6277)

Windows Terminal v1.0.1401.0

19 May 16:08
Compare
Choose a tag to compare

Changes

  • Windows Terminal now ships with Cascadia Code 2005.15.
  • All emoji are now sized as recommended by Unicode 13.0. You will see some emoji that are smaller than you want them to be. That's just a fact of life. (#5934)
  • Documentation for Windows Terminal has moved to docs.microsoft.com!
    • Existing user documentation in this repository will be moving to a nice farm upstate in short order.

It will not escape your notice that there are two packages in this release:

  • WindowsTerminal is the stable build of Terminal.
  • WindowsTerminalPreview is the preview version, which can be installed side-by-side with the stable version.

Windows Terminal Release Candidate v0.11.1333.0 (1.0rc2)

13 May 17:11
Compare
Choose a tag to compare

Changes

  • Some of you reported that text would literally melt, so we added two new rendering options to help congeal your terminal experience (#5853)
    • You can use the following (global!) settings to control various aspects of our rendering engine:
      • experimental.rendering.software (boolean): when your graphics drivers won't stay in their lane, you can opt in for software rendering.
      • experimental.rendering.forceFullPaint (boolean): you can turn off the differential drawing optimization that we added--at the cost of speed, you can have full determinism.
  • We're now shipping the latest version of Cascadia Code (and Cascadia Mono), 2004.30 (#5867)

Bug Fixes

Terminal Competence

  • git log (and other paged applications) should now copy with their lines wrapped (#5771) (#5870)
  • We should no longer leave old search result highlights laying around for you to step on like a small plastic block toy in the dark (#5798)
  • CSI 2 J (the non-destructive "clear screen") will now correctly push the screen into the scrollback (#5683)

Rendering

  • Box and line drawing glyphs now appear at the right sizes (and actually connect with each other) (#5743)
    • This works in almost all fonts, but ones that do not actually have glyphs for that range will still have some unusual visual artifacting.
  • Hundreds of emoji should now appear to be the correct width (#5795)
    • A special exception was made for characters in WGL4, the old codepage 437 glyphs everybody knows and loves and also hates. They're still narrow.

Reliability

  • Dragging a selection while resizing the terminal is not a reasonable thing to do, but it was even less reasonable for us to crash when you did so. We now don't. (#5855)
  • We'll no longer crash when the clipboard gives us the classic "high five! too slow!" (#5856)
  • Terminal is now more robust in the face of you trying to close the same tab multiple times (#5742)
  • Closing a tab in fullscreen mode will no longer cause terminal to stop responding (#5809)

Windows Terminal Release Candidate v0.11.1251.0 (1.0rc1)

05 May 22:25
48617b7
Compare
Choose a tag to compare

Changes

This is the first release of Terminal whose name doesn't have "(Preview)" in it!
That doesn't necessarily mean we're done, but it does mean that this is the first release candidate.

Rendering (Performance!)

  • Terminal no longer renders the entire screen when something changes (#5345) (#5185) (#5092)
    • This saves 30-40% of the time it took to print out your huge synthetic test files from #1064 and it makes cmatrix run even faster.
  • RTL text should now be slightly more reliable (possibly readable! not necessarily "working" to any great degree) (thanks @schorrm!) (#5734)

Accessibility

  • Narrator and NVDA should once again be able to read out search results (#5478)

Input & Interaction

  • We've reworked how we handle titlebar dragging to not require us to cut a giant hole in the window (thanks @greg904!) (#5485)

Miscellaneous

  • Terminal now ships with the CRT embedded, so it can be deployed in places where the Store doesn't exist (#5661)
  • The terminal now has a minimum width (#5599)
    • If that width is too big for you, I'd love to learn why you want our beautiful child to be so tiny.
  • You can now click "Third-Party Notices" in our About dialog to see which OSS we're using (#5508)
  • cls (cmd) and Clear-Host (powershell) will now properly clear Terminal's scrollback (#5627)
    • This required some ingenuity. These two applications "clear" by printing a bunch of spaces down on top of the screen or "scrolling" the buffer to an absurd location.
    • The pseudoconsole host now detects these requests, only when they come from CMD or PowerShell, and translates them into the intended modern format of clear.
  • New tab/min/max/close buttons now have tooltips (thanks @Chips1234!) (#5484)

Bug Fixes

  • We fixed the bug where terminal wouldn't always scroll down to the bottom (and pretend it hadn't seen any lines below it) (#5630)
  • Pasting HTML-formatted buffer contents into Outlook Web/Gmail no longer includes a stray "WINDOWS TERMINAL !!!" (#5595)
  • When you request cleartype antialiasing over translucency, your text will now remain visible (#5277)
    • This comes at a performance cost. cleartype AA costs more when we have to compose it.
  • For those of you who like to use Ctrl+Alt as AltGr, that works again (thanks @lhecker!) (#5552)
  • The emoji picker should be better-aligned with your text (#5609)

VT & Translation

  • Lines that begin with blocks of color no longer sometimes have their colors stripped (#5550)

Performance

Reliability

  • Terminal would, for some people, always crash on exit. An exit is an exit, but a crash is also a crash, and that made our reliability numbers stink. That's fixed. (#5629)
  • The backing console should no longer crash when you resize it when CMD is running (#5620)
  • A selection crash has been fixed (#5551)
  • Some accessibility scenarios involving the alternate buffer no longer cause crashes (#5399)

Windows Terminal Preview v0.11.1191.0

28 Apr 23:21
Compare
Choose a tag to compare
Pre-release

This is the first servicing release in the 0.11 line.

Bug Fixes

  • When your settings need migrating (which they almost certainly will if you're coming from 0.10), we'll give you a more informative error message (#5597)
  • The default font, which was once Cascadia Code, is now Cascadia Mono for those of you for whom default-on ligatures were the end of the world (#5505)
  • We re-fixed the fixed crash you'd run into dragging tabs around as an Administrator. It turns out that's the one thing admins aren't allowed to do. (#5542)
  • PowerShell can now read Ctrl+C when you set IncludeKeyUp (#5431)
  • Terminal will now respect Ctrl+C even if the application that launched it doesn't (#5472) (thanks @eryksun!)
  • Control Flow Guard is now enabled for all Terminal components (#5453)
  • The Tango Light/Dark color schemes have an improved contrast ratio (#5598)
  • We've made various improvements to the schema (#5304) (#5549)