The new Windows Terminal and the original Windows console host, all in the same place!

Overview

Welcome to the Windows Terminal, Console and Command-Line repo

This repository contains the source code for:

Related repositories include:

Installing and running Windows Terminal

🔴 Note: Windows Terminal requires Windows 10 1903 (build 18362) or later

Microsoft Store [Recommended]

Install the Windows Terminal from the Microsoft Store. This allows you to always be on the latest version when we release new builds with automatic upgrades.

This is our preferred method.

Other install methods

Via GitHub

For users who are unable to install Windows Terminal from the Microsoft Store, released builds can be manually downloaded from this repository's Releases page.

Download the Microsoft.WindowsTerminal_.msixbundle file from the Assets section. To install the app, you can simply double-click on the .msixbundle file, and the app installer should automatically run. If that fails for any reason, you can try the following command at a PowerShell prompt:

# NOTE: If you are using PowerShell 7+, please run
# Import-Module Appx -UseWindowsPowerShell
# before using Add-AppxPackage.

Add-AppxPackage Microsoft.WindowsTerminal_<versionNumber>.msixbundle

🔴 Note: If you install Terminal manually:

  • Terminal will not auto-update when new builds are released so you will need to regularly install the latest Terminal release to receive all the latest fixes and improvements!

Via Windows Package Manager CLI (aka winget)

winget users can download and install the latest Terminal release by installing the Microsoft.WindowsTerminal package:

winget install --id=Microsoft.WindowsTerminal -e

Via Chocolatey (unofficial)

Chocolatey users can download and install the latest Terminal release by installing the microsoft-windows-terminal package:

choco install microsoft-windows-terminal

To upgrade Windows Terminal using Chocolatey, run the following:

choco upgrade microsoft-windows-terminal

If you have any issues when installing/upgrading the package please go to the Windows Terminal package page and follow the Chocolatey triage process

Via Scoop (unofficial)

Scoop users can download and install the latest Terminal release by installing the windows-terminal package:

scoop bucket add extras
scoop install windows-terminal

To update Windows Terminal using Scoop, run the following:

scoop update windows-terminal

If you have any issues when installing/updating the package, please search for or report the same on the issues page of Scoop Extras bucket repository.


Windows Terminal 2.0 Roadmap

The plan for delivering Windows Terminal 2.0 is described here and will be updated as the project proceeds.

Project Build Status

Project Build Status
Terminal Terminal Build Status
ColorTool Colortool Build Status

Terminal & Console Overview

Please take a few minutes to review the overview below before diving into the code:

Windows Terminal

Windows Terminal is a new, modern, feature-rich, productive terminal application for command-line users. It includes many of the features most frequently requested by the Windows command-line community including support for tabs, rich text, globalization, configurability, theming & styling, and more.

The Terminal will also need to meet our goals and measures to ensure it remains fast and efficient, and doesn't consume vast amounts of memory or power.

The Windows Console Host

The Windows Console host, conhost.exe, is Windows' original command-line user experience. It also hosts Windows' command-line infrastructure and the Windows Console API server, input engine, rendering engine, user preferences, etc. The console host code in this repository is the actual source from which the conhost.exe in Windows itself is built.

Since taking ownership of the Windows command-line in 2014, the team added several new features to the Console, including background transparency, line-based selection, support for ANSI / Virtual Terminal sequences, 24-bit color, a Pseudoconsole ("ConPTY"), and more.

However, because Windows Console's primary goal is to maintain backward compatibility, we have been unable to add many of the features the community (and the team) have been wanting for the last several years including tabs, unicode text, and emoji.

These limitations led us to create the new Windows Terminal.

You can read more about the evolution of the command-line in general, and the Windows command-line specifically in this accompanying series of blog posts on the Command-Line team's blog.

Shared Components

While overhauling Windows Console, we modernized its codebase considerably, cleanly separating logical entities into modules and classes, introduced some key extensibility points, replaced several old, home-grown collections and containers with safer, more efficient STL containers, and made the code simpler and safer by using Microsoft's Windows Implementation Libraries - WIL.

This overhaul resulted in several of Console's key components being available for re-use in any terminal implementation on Windows. These components include a new DirectWrite-based text layout and rendering engine, a text buffer capable of storing both UTF-16 and UTF-8, a VT parser/emitter, and more.

Creating the new Windows Terminal

When we started planning the new Windows Terminal application, we explored and evaluated several approaches and technology stacks. We ultimately decided that our goals would be best met by continuing our investment in our C++ codebase, which would allow us to reuse several of the aforementioned modernized components in both the existing Console and the new Terminal. Further, we realized that this would allow us to build much of the Terminal's core itself as a reusable UI control that others can incorporate into their own applications.

The result of this work is contained within this repo and delivered as the Windows Terminal application you can download from the Microsoft Store, or directly from this repo's releases.


Resources

For more information about Windows Terminal, you may find some of these resources useful and interesting:


FAQ

I built and ran the new Terminal, but it looks just like the old console

Cause: You're launching the incorrect solution in Visual Studio.

Solution: Make sure you're building & deploying the CascadiaPackage project in Visual Studio.

Note: OpenConsole.exe is just a locally-built conhost.exe, the classic Windows Console that hosts Windows' command-line infrastructure. OpenConsole is used by Windows Terminal to connect to and communicate with command-line applications (via ConPty).


Documentation

All project documentation is located at aka.ms/terminal-docs. If you would like to contribute to the documentation, please submit a pull request on the Windows Terminal Documentation repo.


Contributing

We are excited to work alongside you, our amazing community, to build and enhance Windows Terminal!

BEFORE you start work on a feature/fix, please read & follow our Contributor's Guide to help avoid any wasted or duplicate effort.

Communicating with the Team

The easiest way to communicate with the team is via GitHub issues.

Please file new issues, feature requests and suggestions, but DO search for similar open/closed pre-existing issues before creating a new issue.

If you would like to ask a question that you feel doesn't warrant an issue (yet), please reach out to us via Twitter:

Developer Guidance

Prerequisites

Building the Code

This repository uses git submodules for some of its dependencies. To make sure submodules are restored or updated, be sure to run the following prior to building:

git submodule update --init --recursive

OpenConsole.sln may be built from within Visual Studio or from the command-line using a set of convenience scripts & tools in the /tools directory:

Building in PowerShell

Import-Module .\tools\OpenConsole.psm1
Set-MsBuildDevEnvironment
Invoke-OpenConsoleBuild

Building in Cmd

.\tools\razzle.cmd
bcz

Running & Debugging

To debug the Windows Terminal in VS, right click on CascadiaPackage (in the Solution Explorer) and go to properties. In the Debug menu, change "Application process" and "Background task process" to "Native Only".

You should then be able to build & debug the Terminal project by hitting F5.

👉 You will not be able to launch the Terminal directly by running the WindowsTerminal.exe. For more details on why, see #926, #4043

Coding Guidance

Please review these brief docs below about our coding practices.

👉 If you find something missing from these docs, feel free to contribute to any of our documentation files anywhere in the repository (or write some new ones!)

This is a work in progress as we learn what we'll need to provide people in order to be effective contributors to our project.


Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Issues
  • Guide for build and installation

    Guide for build and installation

    Tools needed

    1. VS2017 or higher with the following packages ("Workloads" tab in Visual Studio Installer) : 1.1 Desktop Development with C++. 1.2 Universal Windows Platform Development. 1.3 Windows 10 SDK (10.0.18362.0). 1.4 If you're running VS2019, you'll also need to install either v141 Toolset or v142 Toolset.
    2. Git command-line tool.
    3. Nuget.exe (Needed in build step 3, can be found in Terminal/dep/nuget).

    Build Steps

    1. git clone this repository, not download .zip file.
    2. Run git submodule update --init --recursive in Terminal folder.
    3. Run nuget restore OpenConsole.sln (This step can be skipped, then Visual Studio should warn you that there are packages to restore - then restore).
    4. Open OpenConsole.sln with Visual Studio.
    5. Build whole solution(F7) with your platform(x86/x64) and release mode, you may need to fix some build errors: 5.1 C2220 and code page warnings: All errors and warnings are encoding error of unicode characters, a helpful workaround is to modify corresponding file encoding to UTF-8 BOM (Notepad++ is recommended). 5.2 Errors in src/tools/vtpipeterm/main.cpp: In addtion, you should also add u8 prefix before string literals with unicode characters, e.g. line 395, 398, 401 and 404.

    Workaround

    Try build with PR 458 or PR 549, both of them can build successfully.

    Installation

    Unfortunately, the generated .appx doesn't have any certificates, so it cannot be installed via double-click or powershell, the only way to install is to deploy the solution in VS.

    1. Open Windows Settings - Upgrade & Security - For Developers, switch App sources to Developer mode.
    2. Right click on CascadiaPackage project (under Solution/Terminal), select Deploy Solution to install, then you'll find Windows Terminal (Preview) in start menu.

    Settings

    After open the terminal, you can't see any menu buttons.

    Just press Ctrl + T to open a new tab, and you'll see a drop-down button in the tab bar.

    Click it and select Settings, then you can modify the configuration via opened profiles.json.

    Add WSL

    1. Create a new session in profiles, with content copied from profiles/cmd.
    2. Give it a new guid.
    3. Give it a new name, such as WSL.
    4. Specify its commandline to wsl.exe.

    Then you'll find WSL in the drop-down menu of tab bar.

    Here're sample codes:

    {
        "guid": "{09dc5eef-6840-4050-ae69-21e55e6a2e62}",
        "name": "WSL",
        "colorscheme": "Campbell",
        "historySize": 9001,
        "snapOnInput": true,
        "cursorColor": "#FFFFFF",
        "cursorShape": "bar",
        "commandline": "wsl.exe",
        "fontFace": "Consolas",
        "fontSize": 12,
        "acrylicOpacity": 0.75,
        "useAcrylic": true,
        "closeOnExit": false,
        "padding": "0, 0, 0, 0"
    }
    
    Issue-Docs Area-Build Product-Terminal Needs-Tag-Fix 
    opened by ZgblKylin 262
  • Add

    Add "open Windows terminal here" into right-click context menu

    Add "open Windows terminal here" to right-click context menu?

    We know that, for windows 7, by default when we click "shift + right click with mouse" when we enter into a folder without selecting anything, we can see the option "open command window here".

    image

    While for windows 10, by default when we click "shift + right click with mouse", we can see the option "open powershell window here".

    So for Windows 10 (version later than 1903), how can we make the following three options available in right-click context menu?

    • open command window here
    • open powershell window here
    • open Windows terminal here

    Looking forward to your reply, thanks a lot~

    Issue-Feature Resolution-Fix-Committed Help Wanted Area-User Interface Product-Terminal 
    opened by yanglr 235
  • [Question] Configuring Windows Terminal profile to always launch elevated

    [Question] Configuring Windows Terminal profile to always launch elevated

    Hi! Is there a way to configure a profile so that the commandLine it launches always starts with elevated (admin) permissions?

    Currently, you can launch the entire application as Administrator, but then every single commandLine runs as Administrator, which is not ideal.

    Issue-Feature Area-Settings Product-Terminal 
    opened by pingzing 212
  • Feature request: hot key drop down ala quake/guake/tilda

    Feature request: hot key drop down ala quake/guake/tilda

    The petty thing I miss most when I pop into Windows is having a separate hot key terminal for each of my three monitors. The closest i've ever been to believing in god was when I realized that was obtainable and if you could make that happen in Windows I just might have to kiss you.

    Issue-Feature Resolution-Fix-Committed Help Wanted Area-User Interface Product-Terminal Needs-Tag-Fix 
    opened by NOFUNEVER 147
  • AltGR SEQUENCES DO NOT WORK -- Can't type any AltGr combinations in Windows Terminal

    AltGR SEQUENCES DO NOT WORK -- Can't type any AltGr combinations in Windows Terminal

    Your Windows build number: 10.0.18362.86

    What you're doing and what's happening: Trying to enter the @ sign on a Swedish keyboard in a PowerShell console using Alt Gr + 2.
    See animated gif:

    terminal

    What's wrong / what should be happening instead: Windows terminal shows digit-argument instead of outputting the @ sign as expected.

    It's possible this is a PEBKAC error somehow but the problem doesn't show up in the normal PowerShell console... 😓

    Resolution-Fix-Committed Resolution-Fix-Available Help Wanted Issue-Bug Area-TerminalControl Product-Terminal 
    opened by patriksvensson 143
  • No keyboard input

    No keyboard input

    You may experience an issue with Windows Terminal where keyboard input does not work. By and large, we've determined that this is caused by the "Touch Keyboard and Handwriting Service" being disabled.

    If you're hitting this issue, make sure that the "Touch Keyboard and Handwriting Service" is not disabled. Certain "de-bloating" software (and apparently MSI Afterburner) likes to disable it or suppress it in the name of making your machine less understandable and "faster".

    If you're experiencing an input issue that is not helped by exiting MSI Afterburner or re-enabling the "Touch Keyboard and Handwriting Service", please file a new issue.

    Original issue content Latest version of Windows Terminal.

    Tried clean installing multiple times, keyboard input works on everything else (as I am typing with it here ...) yes that includes powershell.exe and cmd.exe.

    What gives?

    Needs-Repro Area-Input Issue-Bug Product-Terminal Priority-2 Tracking-External 
    opened by privacyguy123 131
  • Feature Request: Standard Opacity options like the traditional console.

    Feature Request: Standard Opacity options like the traditional console.

    Perhaps I overlooked it browsing through the json file but i didn't see another means to achieve transparency and i'm not a fan of the acrylic effects blurring factor or the fact that it turns off when the window is not selected. The traditional console provides for a static opacity just like in most nix envs, i'd hope it's just a matter of time before it's implemented here?

    Issue-Feature Resolution-Fix-Committed Area-User Interface Product-Terminal 
    opened by NOFUNEVER 113
  • [Conpty] Add support for mouse input

    [Conpty] Add support for mouse input

    On: Microsoft Windows [Version 10.0.17763.134]

    I have implemented conpty in my terminal emulator: https://github.com/wez/wezterm

    I can successfully run target\debug\wezterm.exe to spawn console applications such as cmd.exe powershell.exe and bash.

    The issue I'm seeing is that when I launch bash, either indirectly via cmd.exe or directly via the bash launcher, conpty seems to swallow the mouse reporting escape sequences; I don't see them being received by my terminal parser, and thus vim has no effective mouse support despite being configured with set mouse=a.

    Running the same WSL install via wsl-terminal does have working mouse support, and wezterm has been my daily driver on Linux for about a year with working mouse support, so we can rule out an obvious misconfiguration with vim and the parser in wezterm.

    I've also tried echo -e "\e[?1000h" to manually enable mouse reporting from the shell; normally (on linux and via wsl-terminal) this causes clicks in the terminal to send data to the shell (which appears as garbage input), but when running my terminal with conpty, these are also swallowed up somewhere.

    Is there something special needed for the apps that I spawn into my pty to be able to work with the mouse?

    In case you want to double check the key portion of the code, the relevant file is: https://github.com/wez/wezterm/blob/master/src/winpty.rs The flow is to CreatePipe a pair of pipes, CreatePseudoConsole, and then pass that to a spawned child via the threadproc attributes, as the samples in the MSDN docs and this repo also do.

    Issue-Feature Area-Interop Product-Conpty Needs-Tag-Fix 
    opened by wez 100
  • Terminal hangs when opening new windows or new tabs on Windows Server 2022

    Terminal hangs when opening new windows or new tabs on Windows Server 2022

    After installing either Terminal 1.10 or Terminal Preview 1.11 (after its dependencies and winget), opening it the first time (or subsequent times) causes the window to hang indefinitely (the process shows as 'Not Responding' in Task Manager). A similar problem happens when clicking the + to open a new tab.

    The problem happens regardless if the default terminal is either Powershell or others (like Command Prompt).

    A partial workaround is to launch a second copy of the app while the instance is hung, then use Task Manager to kill the hung app. Once the hung process closes, the application opens as expected. The workaround does not address the new tab problem, but just the initial window opening.

    If there is any logging or debug that can be enabled, please let me know.

    Resolution-Fix-Committed Issue-Bug Area-TerminalControl Needs-Triage Product-Terminal Severity-Blocking Priority-0 
    opened by wkbrd 75
  • Changing Ubuntu WSL starting directory keeps it set to the defualt

    Changing Ubuntu WSL starting directory keeps it set to the defualt

    When editing the the settings, I have tried to chang the default starting directory for the Ubuntu WSL Terminal profile as follows "startingDirectory": "/mnt/D/Folder/SubFolder/", and while it doesnt cause any issues or causes the Terminal to resort to default configuration, it does not set the default starting directory to the specified path.

    Also it seems that most settings for the profile do literally nothing when changing them, from color, to acrylic or scheme settings.

    Note: changing the setting for power shell, cmd, of Kali-Linux does work and change things respectively

    Resolution-Fix-Committed Issue-Docs Area-Settings Product-Terminal Needs-Tag-Fix 
    opened by AlikanakelaKarwowski 74
  • MEGATHREAD: Breaking settings changes in version 0.11!

    MEGATHREAD: Breaking settings changes in version 0.11!

    BREAKING SETTINGS CHANGES IN 0.11

    • BREAKING CHANGE We've deleted a lot of legacy settings handling (#5190)
      • Please see our blog post and our most recent status update for more information.
      • If you had settings hanging out in the globals dictionary, you'll want to move them out.
        • REMEDIATION: move everything from globals to the root of your settings file and delete the empty globals object.
        • Failure to do so will cause us to ignore your default profile, launch mode, etc., etc.
        • THIS INCLUDES defaultProfile
      • requestedTheme has been renamed to theme (#5265)
    • profiles.json has been renamed to settings.json. This should be transparent to you as we'll rename it on first launch (#5199)
      • As a side effect, we'll finally stop resurrecting old pre-version-0.3 roaming profiles.
    • If you don't specify a splitPane split mode, it'll default to automatic (#5194)
    • copy's original and poorly-understood trimWhitespace argument is now called singleLine to indicate that it will, in fact, copy text as a single line (#5216)
    • The default font for any profiles that don't specify a font is now Cascadia Mono (#5121)

    Do your settings look like this?

    {
        "globals": {
            "defaultProfile": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "initialCols": 200,
            "initialRows": 65,
            "initialPosition": "0,0",
            "wordDelimiters" : " ()\"'-:,;<>[email protected]#$%^&*|+=[]{}~?\u2502",
            "confirmCloseAllTabs": true,
            "keybindings": [
                ...
            ]
        },
        "profiles": {
            ...
        }
    }
    

    Then change them to look like this:

    {
        "defaultProfile": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
        "initialCols": 200,
        "initialRows": 65,
        "initialPosition": "0,0",
        "wordDelimiters" : " ()\"'-:,;<>[email protected]#$%^&*|+=[]{}~?\u2502",
        "confirmCloseAllTabs": true,
        "keybindings": [
            ...
        ],
        "profiles": {
            ...
        }
    }
    

    Or even better, make a backup of your settings file, and delete the contents entirely. We'll re-generate the file with some better formatting and more sane defaults, and you can copy the modifications you want back in.

    Issue-Question Area-Settings Product-Terminal Needs-Tag-Fix 
    opened by DHowett-MSFT 72
  • 文件夹下右键在终端打开,希望从当前目录下打开wsl,Ubuntu

    文件夹下右键在终端打开,希望从当前目录下打开wsl,Ubuntu

    Windows Terminal version

    1.12.10982.0

    Windows build number

    10.0.19044.1682

    Other Software

    No response

    Steps to reproduce

    image 比如我在D:\test目录下右键点击在终端打开, image 打开wsl Ubuntu后,是根目录,并非windows下的目录

    Expected Behavior

    No response

    Actual Behavior

    请问该怎么设置才能是当前目录下打开

    Issue-Bug Needs-Triage Needs-Tag-Fix 
    opened by shuohao 0
  • Add an accelerator key for the shell extension

    Add an accelerator key for the shell extension

    Summary of the Pull Request

    Adds an accelerator key for the shell extension: T for stable, I for preview and D for dev. I was chosen for preview so that it doesn't clash with paste (all the other letters in preview are already used by something).

    PR Checklist

    • [x] Closes #13061
    • [x] CLA signed. If not, go over here and sign the CLA
    • [ ] Tests added/passed
    • [ ] Documentation updated. If checked, please file a pull request on our docs repo and link it here: #xxx
    • [ ] Schema updated.
    • [x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #13061

    Validation Steps Performed

    Ran a dev build and saw the keyboard accelerator assigned.

    Issue-Bug Product-Terminal Priority-3 Area-ShellExtension 
    opened by ianjoneill 2
  • Extreme sluggishness and CPU usage when using Atlas inside a VM

    Extreme sluggishness and CPU usage when using Atlas inside a VM

    Windows Terminal version

    1.13.10983.0

    Windows build number

    10.0.19044.1645

    Other Software

    None

    Steps to reproduce

    • Use Terminal inside a typical VM
    • Switch to the experimental Atlas engine
    • Observe CPU load
    • Try to type and experience sluggishness and even higher CPU load etc. There's a decent amount of lag and output from long commands tends to stutter into view; it's not very smooth

    Expected Behavior

    Was expecting that Atlas, in default/easy cases, would perform better than the old engine.

    Looking ahead: IF atlas becomes the default and IF Terminal replaces all old cmd windows, then using this inside VMs is going to be a non-starter.

    Actual Behavior

    Extreme CPU usage and general sluggishness. Witness the firepower of this fully operational battle... I mean barely affordable Azure VM displaying nothing but the flashing cursor inside a blank Terminal window:

    atlas-perf atlas-dxdiag

    Issue-Bug Needs-Triage Needs-Tag-Fix Area-AtlasEngine 
    opened by jessey-git 1
  • Another case of the virtual bottom being miscalculated

    Another case of the virtual bottom being miscalculated

    Windows Terminal version

    Commit ec726e7ba70b760f98eb1e1ea1d71124536783c0

    Windows build number

    10.0.19041.1415

    Other Software

    vttest

    Steps to reproduce

    1. Open a bash shell in conhost.
    2. Immediately run vttest.
    3. Select test 4 (Test of double-sized characters).
    4. Press enter twice until it gets to the 132-column test.

    Expected Behavior

    It should display a 132-column version of the test output with examples of double width and double height content.

    Actual Behavior

    The page appears mostly blank, but if you scroll back in the buffer, you can see the test content has rendered on the page above (partially overwriting the previous test). This doesn't seem to happen (at least not consistently) if you've already scrolled down in the buffer when you start the test.

    I believe this is another victim of PR #12972. And it looks like the source of the problem is again in the ResizeWithReflow code, which picks a position for the virtual bottom that isn't far enough down. I think this is because the majority of the page is blank at the time of the resize.

    Product-Conhost Area-Output Issue-Bug Priority-2 Impact-Correctness 
    opened by j4james 2
  • vim alt key behaviour

    vim alt key behaviour

    Windows Terminal version

    1.11.3471.0

    Windows build number

    10.0.22000.613

    Other Software

    VIM - Vi IMproved 8.1 (2018 May 18, compiled Feb 01 2022 09:16:32)

    Steps to reproduce

    Windows Terminal JSON config

            {
                "command": "unbound",
                "keys": "alt+j"
            },
            {
                "command": "unbound",
                "keys": "alt+k"
            },
    

    Vim key bindings

      1 nnoremap <A-k> :m .-2<CR>==
      2 inoremap <A-j> <Esc>:m .+1<CR>==gi
      3 inoremap <A-k> <Esc>:m .-2<CR>==gi
      4 vnoremap <A-j> :m '>+1<CR>gv=gv
      5 vnoremap <A-k> :m '<-2<CR>gv=gv
    

    Expected Behavior

    I tried to unbound ALT key in Windows Terminal by adding json config to move lines up or down in vim. Unfortunatlly, unbound feature looks like not working for me.

    Actual Behavior

    Normal j/k cursor move

    Issue-Bug Needs-Triage Needs-Attention Needs-Tag-Fix 
    opened by seongbin 2
  • 3-line commands that scrolled the window in powershell visually duplicate if partially deleted

    3-line commands that scrolled the window in powershell visually duplicate if partially deleted

    Windows Terminal version

    1.12.10982.0

    Windows build number

    10.0.19044.0

    Other Software

    No response

    Steps to reproduce

    1. Open Windows Terminal
    2. Open a Powershell terminal
    3. Press the enter key repeatedly, until the content of the window begins to scroll (so that the active prompt is at the bottom of the window.)
    4. Type a command that wraps onto three lines, but do not hit enter. (The command doesn't have to be valid, you can just hold down the q key.)
    5. Start deleting characters with the backspace key, until the command should fit onto two lines. (Go slightly past it fitting exactly; make some empty space on the end of the second line.)

    Expected Behavior

    You should see a two-line-long command after your prompt.

    Actual Behavior

    Once you delete enough characters to fit exactly on two lines, the window scrolls up for some reason... And then, once you delete one character MORE than that, the first two lines visually mash up to create a command that appears to still be three lines long! (The command actually still runs normally, it's just very confusing to edit...)

    Here is an example, where I filled the first line with as, the second line with bs, and the third line with cs, and then deleted the third line and some of the second:

    Before deleting anything: image

    After pressing backspace several times: image

    Also, note that this happens in Powershell running inside Windows Terminal, but NOT when attempted in the standalone Powershell prompt.

    Issue-Bug Needs-Triage Needs-Tag-Fix 
    opened by omgitsraven 0
Releases(v1.13.10983.0)
  • v1.13.10983.0(Apr 19, 2022)

    This is an update to fix a number of issues identified in 1.13.1073x.

    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 verison 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.

    Since 1.12 is the final release that supports Windows 19H1, we're including a final update to 1.12 on the preview channel, just so that the four of you stuck on that version get the latest fixes. 😄 Install that manually at your own peril.

    Bug Fixes

    Appearance

    • Our Maximize/Restore button is now a fine round boi (#12660)

    Accessibility

    • The profile list in the Settings UI now offers tooltips for long profile names (#12448)
    • We'll automatically focus the window renamer textbox when it opens (#12798)
    • High contrast will no longer result in a ridiculous and bad titlebar color (#12839)
    • When you delete a color scheme, we'll move focus back to the color scheme list (#12841)
    • Two instances of huge debug log spam with a screen reader connected have been stamped out (#12698) (#12723)

    Usability

    • We've added some text to the color schemes page indicating that it is for editing--not setting--color schemes (#12663)
      • We're working to refine how color schemes are set and edited, so stay tuned for future improvements!
    • The retro terminal effect (as well as other shaders) will now work on pre-D3D11 hardware! (#12677)
    • Terminal will once again render properly when you move between different-DPI displays (#12713) (#12749)
    • Resizing the window while a background color or underline is displayed will no longer smear it across the whole screen (#12637) plus a fix for a huge crash that PR introduced (#12853)
    • It took us three releases to get it right, but we've finally solved the issue where we'd punch a hole straight through the Terminal when a dialog appeared (#12840)

    Reliability

    • There was an issue on Windows 11 where Terminal would queue up billions of animations while the screen was off; it will now no longer do so (#12820)
    • We've fixed crashes in ProposeCommandline (#12838), Monarch::_GetPID (#12856) and other parts of WT's RPC infrastructure (#12825)
    • On Windows 10, the settings UI will no longer sometimes crash on close (we've updated to a new build of WinUI 2 for the fix!) (#12847)

    Miscellaneous

    • Windows will no longer reject certain Terminal updates/reinstalls due to "differing package content" (#12779)
    • Fragments can once again override the names of generated profiles (#12627)
    • An issue from the 1073 series, where you could not upgrade the bundle using DISM, has been resolved (#12819)
      • As a result, our bundle version is now over three thousand!
    • @dmezh contributed some wording changes to the text about transparency/opacity (#12592) (#12727) (thanks!)
    • Some trailing commas that broke the JSON Schema document are no longer trailing, or present at all (#12644) (thanks @sowmya-hub!)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_Old_Win10_1.12.10984.0_8wekyb3d8bbwe.msixbundle(37.27 MB)
    Microsoft.WindowsTerminalPreview_Win10_1.13.10983.0_8wekyb3d8bbwe.msixbundle(37.57 MB)
    Microsoft.WindowsTerminalPreview_Win11_1.13.10984.0_8wekyb3d8bbwe.msixbundle(18.23 MB)
  • v1.12.10982.0(Apr 19, 2022)

    This release was made available to insiders in the Dev and Beta channels on April 11 and is now generally available.

    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 verison 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.

    Changes

    • The refreshed Windows 11 UI from the 1.13 preview builds is now available in 1.12!

    Bug Fixes

    Appearance

    • Our Maximize/Restore button is now a fine round boi (#12660)

    Accessibility

    • The profile list in the Settings UI now offers tooltips for long profile names (#12448)
    • We'll automatically focus the window renamer textbox when it opens (#12798)
    • High contrast will no longer result in a ridiculous and bad titlebar color (#12839)
    • When you delete a color scheme, we'll move focus back to the color scheme list (#12841)
    • When you delete a profile, we will re-focus the delete button automatically (#12558)
    • Two instances of huge debug log spam with a screen reader connected have been stamped out (#12698) (#12723)

    Usability

    • We've added some text to the color schemes page indicating that it is for editing--not setting--color schemes (#12663)
      • We're working to refine how color schemes are set and edited, so stay tuned for future improvements!
    • The retro terminal effect (as well as other shaders) will now work on pre-D3D11 hardware! (#12677)
    • Terminal will once again render properly when you move between different-DPI displays (#12713) (#12749)
    • Resizing the window while a background color or underline is displayed will no longer smear it across the whole screen (#12637) plus a fix for a huge crash that PR introduced (#12853)
    • It took us three releases to get it right, but we've finally solved the issue where we'd punch a hole straight through the Terminal when a dialog appeared (#12840)

    Reliability

    • Typing an invalid background image path into the Settings UI will no longer send Terminal to a farm upstate (#11542) (thanks @serd2011!)
    • There was an issue on Windows 11 where Terminal would queue up billions of animations while the screen was off; it will now no longer do so (#12820)
    • We've fixed crashes in ProposeCommandline (#12838), Monarch::_GetPID (#12856) and other parts of WT's RPC infrastructure (#12825)
    • On Windows 10, the settings UI will no longer sometimes crash on close (we've updated to a new build of WinUI 2 for the fix!) (#12847)

    Miscellaneous

    • Windows will no longer reject certain Terminal updates/reinstalls due to "differing package content" (#12779)
    • Fragments can once again override the names of generated profiles (#12627)
    • An issue from the 1073 series, where you could not upgrade the bundle using DISM, has been resolved (#12819)
      • As a result, our bundle version is now over three thousand!
    • @dmezh contributed some wording changes to the text about transparency/opacity (#12592) (#12727) (thanks!)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_Win10_1.12.10982.0_8wekyb3d8bbwe.msixbundle(36.89 MB)
    Microsoft.WindowsTerminal_Win10_1.12.10982.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(65.40 MB)
    Microsoft.WindowsTerminal_Win11_1.12.10983.0_8wekyb3d8bbwe.msixbundle(17.56 MB)
    Microsoft.WindowsTerminal_Win11_1.12.10983.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(64.60 MB)
  • v1.13.10733.0(Mar 25, 2022)

    This is a servicing release to fix a number of big issues in 1.13 preview.

    Changes

    This version of Windows Terminal is now 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 verison 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.

    Bug Fixes

    Usability

    • Terminal can once again be configured as a startup application, and can be detected by tools like PowerToys (#12491)
    • We are once again usable on N (non-media) SKUs of Windows (#12463)
    • There was a puzzling "Element not found" error during settings loading; there is no longer such an error (#12687)
    • Terminal will no longer mix up profiles when it is launched in response to a console application spawning (#12484)
    • Formatted copy will now try harder to preserve Unicode charatcers in RTF (#12586) (thanks @ianjoneill!)
    • Displaying multiple dialogs will no longer punch a giant hole in the Terminal (???) (#12625) (#12517)
    • You spoke up about the scroll bars being WAY TOO THIN, so we chonked them up (#12608)
    • We have replaced the word "Summon" with "Show/Hide" in the command palette for improved localization (#12603)
    • Our confidence in the settings UI's Save button has led to us no longer backing up the settings JSON file (#12652)
      • We won't be deleting the 61,000 backups we did leave on your hard drive, but what's a couple thousand kilobytes between friends?

    Appearance

    • We've improved the contrast of the tab strip (#12635) (#12529)
    • Our iconography has been updated to the Windows 11 style (#12469)
    • We have given the issue where acrylic in the titlebar looked weird the heave-ho (#12460)
    • Good good new UI fonts have been enabled (Segoe UI Variable) (#12462)

    Accessibility

    • Terminal now announces newly-printed text to any attached screen reader (#12358)
    • When you delete a profile, we will re-focus the delete button automatically (#12558)
    • Command palette search now tries to announce the number of results to the screen reader (#12429)

    Reliability

    • We won't crash any longer if you give us a command line that is a directory (#12538) (thanks @ianjoneill!)
    • Fixed a crash setting the hotkey during teardown (#12580)
    • Fixed a different pair of crashes, also likely related to default terminal handoff (#12666)
    • ScrollConsoleScreenBuffer no longer takes the console upstate (#12669)
    • Pressing Page Up or Page Down with an empty command palette, which seemed like a reasonable thing to do, was taught to not crash the Terminal (#12528)

    Rendering

    • Font axes/features once again work across a DPI change (#12492)
    • AtlasEngine: Fix ConstBuffer invalidation for background color changes (#12667)
    • AtlasEngine: Fix inverted cursor alpha (#12548)
    • On Windows 10, you should see fewer "couldn't find Cascadia Mono, even though it is RIGHT NEXT TO US" dialogs (#12554)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_Win10_1.13.10733.0_8wekyb3d8bbwe.msixbundle(37.73 MB)
    Microsoft.WindowsTerminalPreview_Win11_1.13.10734.0_8wekyb3d8bbwe.msixbundle(18.31 MB)
  • v1.12.10732.0(Mar 25, 2022)

    This is a significant servicing release to fix a number of huge issues in 1.12.

    This release was made available to insiders in the Dev and Beta channels on March 25, and will be generally available to everyone once it is considered stable. You can always install the update from this release page or using winget.

    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.

    Changes

    This version of Windows Terminal is now 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 verison 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.

    Bug Fixes

    Usability

    • Terminal can once again be configured as a startup application, and can be detected by tools like PowerToys (#12491)
    • There was a puzzling "Element not found" error during settings loading; there is no longer such an error (#12687)
    • Terminal will no longer mix up profiles when it is launched in response to a console application spawning (#12484)
    • Formatted copy will now try harder to preserve Unicode charatcers in RTF (#12586) (thanks @ianjoneill!)
    • We have replaced the word "Summon" with "Show/Hide" in the command palette for improved localization (#12603)
    • Our confidence in the settings UI's Save button has led to us no longer backing up the settings JSON file (#12652)
      • We won't be deleting the 61,000 backups we did leave on your hard drive, but what's a couple thousand kilobytes between friends?

    Accessibility

    • Terminal now announces newly-printed text to any attached screen reader (#12358)
    • Command palette search now tries to announce the number of results to the screen reader (#12429)

    Reliability

    • We won't crash any longer if you give us a command line that is a directory (#12538) (thanks @ianjoneill!)
    • A crash on launch related to multi-windowing and the default terminal setting has been quashed (subset of #12205)
    • Fixed a crash setting the hotkey during teardown (#12580)
    • Fixed a different pair of crashes, also likely related to default terminal handoff (#12666)
    • ScrollConsoleScreenBuffer no longer takes the console upstate (#12669)
    • Pressing Page Up or Page Down with an empty command palette, which seemed like a reasonable thing to do, was taught to not crash the Terminal (#12528)

    Rendering

    • Font axes/features once again work across a DPI change (#12492)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_Win10_1.12.10732.0_8wekyb3d8bbwe.msixbundle(36.91 MB)
    Microsoft.WindowsTerminal_Win10_1.12.10732.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(65.41 MB)
    Microsoft.WindowsTerminal_Win11_1.12.10733.0_8wekyb3d8bbwe.msixbundle(17.50 MB)
    Microsoft.WindowsTerminal_Win11_1.12.10733.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(64.54 MB)
  • v1.13.10395.0(Feb 11, 2022)

    This is a quick servicing release to fix a couple of big issues in the initial 1.12 stable drop.

    As with the previous 1.13 release, it is shipping alongside a 1.12 release for anybody who is stuck on 19H1, 19H2 or 19H3.

    Bug Fixes

    • Terminal is once again localized (#12375)
      • We encountered an issue in automatic language detection, which resulted in our package's languages being ignored.
    • "Default Terminal" profile matching now works better for profiles containing unquoted whitespace (#12348)
    • We believe we have fixed an unusual crash on launch in constructing the taskbar Jump List (#12430)
    • Symbols are now published to the public symbol server! Woot! (#12441)
    • We've fixed a crash that used to surface while Magnifier or other assistive technologies were running (#12436)
    • Ubuntu users with overridden commandlines will no longer see a confusing "~ could not be found" error (#12437)
    • Toggle switches in the settings UI now fit longer languages (like Polish) (#12381)
    • More of the settings UI is centered horizontally (#12374)
    • The breadcrumbs have been picked up and will no longer navigate you to strange cottages (#12376)
    • The color schemes page no longer has a strange focus rectangle (#12439)
    • vifm can no longer trigger a race condition in cursor visibility (#12434)
    • The reset arrow icon is no longer a strange box containing only "hope" (#12438)
    • OSC 9;9 with an empty path will no longer send Terminal to a farm upstate (#12432)
    • When Terminal is set as your default terminal, autoelevation will no longer cause all handoffs to crash (#12442)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.12.10394.0_8wekyb3d8bbwe.msixbundle(39.43 MB)
    Microsoft.WindowsTerminalPreview_1.13.10395.0_8wekyb3d8bbwe.msixbundle(39.83 MB)
  • v1.12.10393.0(Feb 11, 2022)

    This is a quick servicing release to fix a couple of big issues in the initial 1.12 stable drop.

    This release was made available to insiders in the Dev and Beta channels on February 10, and will be generally available to everyone shortly afterwards. You can always install the update from this release page or using winget.

    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.

    Bug Fixes

    • Terminal is once again localized (#12375)
      • We encountered an issue in automatic language detection, which resulted in our package's languages being ignored.
    • "Default Terminal" profile matching now works better for profiles containing unquoted whitespace (#12348)
    • We believe we have fixed an unusual crash on launch in constructing the taskbar Jump List (#12430)
    • Symbols are now published to the public symbol server! Woot! (#12441)
    • We've fixed a crash that used to surface while Magnifier or other assistive technologies were running (#12436)
    • Ubuntu users with overridden commandlines will no longer see a confusing "~ could not be found" error (#12437)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.12.10393.0_8wekyb3d8bbwe.msixbundle(39.04 MB)
    Microsoft.WindowsTerminal_1.12.10393.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(38.56 MB)
  • v1.13.10336.0(Feb 3, 2022)

    Happy New Year! It's Terminal time once again! This is our first release of 2022, and it's a big one.

    Announcements

    • Windows Terminal Preview is now named Terminal Preview! It will, of course, still be called wt under the hood. (#12264)
      • Right now, you will not be able to find Windows Terminal _ (that is, with the "Windows" part) in the start menu. We are working with the search team to add a keyword match! Follow #12344 for updates._
      • Sorry about your muscle memory. :(
    • 1.12 is the last version of Terminal that will support Windows 19H1 or 19H2 (#12129)
      • Folks who are on the Preview channel on these versions of Windows will get a one-time upgrade to the last servicing release of 1.12.
      • This version of windows is going out of support soon, so you may want to consider upgrading.
      • You only need to install 1.12.10335.0 if you are on Windows 19H1 or 19H2; it is included here for completeness.

    Features

    • Terminal now follows the Windows 11 UI guidelines (#12241) (#12144) (#12208) (#12287) (#12326) (#11720) (#12321)
      • This will make it look a little out of place on Windows 10; we're sorry
    • We're testing out a new experimental text rendering engine, "AtlasEngine" (#11623) (#12304) (#12225) (#12189) (#12307) (#12278) (#12242) (#12227) (#12226)
      • You can enable it with the experimental.useAtlasEngine profile field or the "Use experimental text rendering engine" in Profile -> Advanced
      • We're tracking bugs, parity with the existing renderer, and future advancements in #9999.
    • You can now configure a profile to always launch elevated (in a separate window)! (#12137) (#12257)
      • This is controlled by the profile setting elevate (bool, default false).
      • Read more in our docs.
    • Terminal learned to restore the last closed pane or tab! (#11471) (thanks @Rosefield!)
      • NOTE: This action, accessible through the command palette, will launch a new tab that has the same settings as the previous tab. It cannot bring ~protagonists~ processes back from the dead!
    • You can now change the bell sound with profile.bellSound setting! (#11511)
      • bellSound takes a path to an audio file to play as the audible bell or an array of paths.
      • If you provide an array of paths, Terminal will choose one at random every single time it bells.
      • If you're a fan of Untitled Goose Game, this is an excellent opportunity to get your HONK on!
    • Dropping a file on a WSL instance will now insert the WSL converted path (!) (#11625) (thanks @petrsnm!)
    • You now have the option to strip trailing whitespace on paste (trimPaste global setting, bool, default true) (#11473) (thanks @lovef!)

    Changes

    • We're reworking how Terminal handles environment variables, starting with reverting the changes we made in Preview that broke PowerShell x86 (#12140)
    • The "adjust lightness of indistinguishable text" feature, present in 1.12 preview, has been disabled pending some bug fixes (#12160)
    • The "Open in Terminal" context menu is now localized in, like, 88 languages (#12090)
    • There is a new adjustOpacity action, which can be previewed live with the command palette (#12092)
    • Terminal will now store elevated window state separately from non-elevated window state (#11222)
    • You can now export the buffer with an action, exportBuffer (#12097)
    • There is now a "Settings" menu item in the title bar menu (#11404) (thanks @serd2011!)
    • You can now Ctrl-click on a profile in the dropdown to launch it as Administrator (in a separate window) (#12209)
    • Terminal (and conhost) will no longer accept C1 control codes by default (#11690) (thanks @j4james!)
    • The PowerShell profile generator now generates fully quoted paths (#12086) (thanks @ianjoneill!)
    • WSL instances now default to starting in ~ (or throwing an Invalid Parameter error) (#12315)
    • We've reworked how settings get into the individual terminal panes to prepare for tearoff and merge (#11619) (#12255) (#12095)

    Bug Fixes

    • The cursor should now start/stop blinking more reliably when Terminal is started without window focus (#12094)
    • Copying the "Azure Cloud Shell" profile will no longer result in a normal boring profile that tries to run Azure.exe (lol) (#12147)
    • The default "Command Prompt" and "Windows PowerShell" profiles have been updated to have fully qualified paths (again) (#12149)
    • Cursor movement will now more reliably update the IME/emoji picker/input line/cursor highlight for Accessibility (#12210)
    • HTML/RTF copy now respects the active background color instead of just the default one (#11991) (thanks @j4james!)
    • Session save/restore will now remember tab titles and maximize/focus/restore state (#12073) (thanks @Rosefield!)
    • The "Duplicate Profile" button will no longer be enabled when you don't actually have a profile selected (#12096) (thanks @DavideGiacometti!)
    • //wsl$ paths will no longer result in you being unceremoniously dumped in / (in WSL) (#12102)
    • ~ now works as a starting directory for wsl.exe (#12050) (thanks @LuanVSO!)
    • Application-controlled titles will be sanitized for control sequences even if they are set with the SetConsoleTitle API (#12211) (thanks @j4james!)

    Accessibility

    • The command palette will now announce if any suggestions were found to screen readers (#12266)
    • ... so will the search box! (#12301)
    • The tab row/titlebar have stopped acting as a keyboard input/focus trap -- you can use keyboard shortcuts up there now (#12260)
    • We've done a pass over the controls in the settings UI and given them accessible names for screen reader users (#12299) (#12324)
    • The "Default Terminal" section will now properly read out terminal names to Narrator (#12259)
    • "Open JSON File" is now a better accessibility citizen as well (#12286)

    Performance and Reliability

    • We've fixed a (small) binary size regression in OpenConsole, which was more than eclipsed by all the new features above (#11727)
    • Improved:
      • base64 decode performance (#11467)
      • conhost CPU usage during text selection (#11634)
      • performance and binary size of til::enumset (#11493)
      • responsiveness of conhost/ConPTY for large inputs (#11890)
    • Removed wasteful virtuals according to SizeBench (#11889)
    • Typing an invalid background image path into the Settings UI will no longer send Terminal to a farm upstate (#11542) (thanks @serd2011!)
    • "Export Text" is more worky and less crashy (#12180) (thanks @ianjoneill!)

    Documentation Changes

    We'd like to thank @eltociear, @BlakeHeimann, @ghost1372, @Schweinepriester, and @ianjoneill for their contributions to our documentation, roadmap, specs and schema.

    Behind the Scenes

    Over the holidays, we had an "Engineering Improvement" milestone! We chose to allocate it to improving our build system, remove some dead code, etc. and our excellent community stepped up and did the same!

    Here's some of the highlights
    • Enable Software Bill of Materials generation for Windows Terminal (#11908)
    • Enable Security and Compliance tasks in our Release pipeline (#11849)
    • Add noexcept to all FontInfo structs (#11640)
    • Consolidate the color palette APIs (#11784) (thanks @j4james!)
    • Consolidate the interfaces for setting VT input modes (#11384) (thanks @j4james!)
    • Delete RendererTests.cpp (#11872) (thanks @j4james!)
    • Enable /permissive- and remaining /Zc flags (#11816)
    • fix build error at 74d21af (#11691) (thanks @serd2011!)
    • Fix for missing CopyComplete files in TerminalConnection.vcxproj (#11804)
    • Misc pane refactoring (#11373) (thanks @Rosefield!)
    • Move the common render settings into a shared class (#12127) (thanks @j4james!)
    • Prepare til wrappers for migrating off of SMALL_RECT (#11902)
    • Rename the "Bold" SGR attribute as "Intense" (#12270) (thanks @j4james!)
    • Replace GetDefaultBrushColors with hardcoded default attributes (#11982) (thanks @j4james!)
    • Replaced the sizeof parameter of the if statement with ARRAYSIZE (#12273) (thanks @abdoulkkonate!)
    • Simplify the handling of alpha values in the color table (#11900) (thanks @j4james!)
    • Simplify the IStateMachineEngine interface (#12277) (thanks @j4james!)
    • Standardize the color table order (#11602) (thanks @j4james!)
    • Update RGB values when selecting a conhost color property (#12099) (thanks @j4james!)
    • Use the til::enumset type for the SgrSaveRestoreStackOptions enum (#11888) (thanks @j4james!)

    Finally -- if you want to see some of the wild stuff batch files are capable of, check out ansi-color, contributed by @rbeesley as a test validation tool. (#11932)

    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.12.10335.0_8wekyb3d8bbwe.msixbundle(39.40 MB)
    Microsoft.WindowsTerminalPreview_1.13.10336.0_8wekyb3d8bbwe.msixbundle(39.81 MB)
  • v1.12.10334.0(Feb 3, 2022)

    Happy New Year!

    This release brings many of the preview changes in Windows Terminal 1.12 to the Stable channel. Notably:

    • On Windows 11, Terminal now supports non-acrylic transparency
    • Terminal will now automatically create profiles for Visual Studio Developer shells
    • Terminal will now try to guess which profile to open when it is launched as the ‘default terminal’ for an application
    • You can now update the endpoint of an existing selection using the keyboard

    Please see the following release notes for additional details:

    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.

    This release was made available to insiders in the Dev and Beta channels on February 3, and will be generally available to everyone shortly afterwards. You can always install the update from this release page or using winget.

    We've also backported the following features, changes and bug fixes from Windows Terminal Preview v1.13.10336.0:

    Announcements

    • Windows Terminal is now named Terminal! It will, of course, still be called wt under the hood. (#12264)
      • Right now, you will not be able to find Windows Terminal _ (that is, with the "Windows" part) in the start menu. We are working with the search team to add a keyword match! Follow #12344 for updates._
      • Sorry about your muscle memory. :(
    • 1.12 is the last version of Terminal that will support Windows 19H1 or 19H2 (#12129)
      • Folks who are on the Preview channel on these versions of Windows will get a one-time upgrade to the last servicing release of 1.12.
      • This version of windows is going out of support soon, so you may want to consider upgrading.

    Changes

    • We're reworking how Terminal handles environment variables, starting with reverting the changes we made in Preview that broke PowerShell x86 (#12140)
    • The "adjust lightness of indistinguishable text" feature, present in 1.12 preview, has been disabled pending some bug fixes (#12160)
    • The "Open in Terminal" context menu is now localized in, like, 88 languages (#12090)
    • The PowerShell profile generator now generates fully quoted paths (#12086) (thanks @ianjoneill!)
    • WSL instances now default to starting in ~ (or throwing an Invalid Parameter error) (#12315)

    Bug Fixes

    • The cursor should now start/stop blinking more reliably when Terminal is started without window focus (#12094)
    • Copying the "Azure Cloud Shell" profile will no longer result in a normal boring profile that tries to run Azure.exe (lol) (#12147)
    • The default "Command Prompt" and "Windows PowerShell" profiles have been updated to have fully qualified paths (again) (#12149)
    • Cursor movement will now more reliably update the IME/emoji picker/input line/cursor highlight for Accessibility (#12210)
    • HTML/RTF copy now respects the active background color instead of just the default one (#11991) (thanks @j4james!)
    • The "Duplicate Profile" button will no longer be enabled when you don't actually have a profile selected (#12096) (thanks @DavideGiacometti!)
    • //wsl$ paths will no longer result in you being unceremoniously dumped in / (in WSL) (#12102)
    • ~ now works as a starting directory for wsl.exe (#12050) (thanks @LuanVSO!)
    • Application-controlled titles will be sanitized for control sequences even if they are set with the SetConsoleTitle API (#12211) (thanks @j4james!)

    Accessibility

    • The command palette will now announce if any suggestions were found to screen readers (#12266)
    • ... so will the search box! (#12301)
    • The tab row/titlebar have stopped acting as a keyboard input/focus trap -- you can use keyboard shortcuts up there now (#12260)
    • We've done a pass over the controls in the settings UI and given them accessible names for screen reader users (#12299) (#12324)
    • The "Default Terminal" section will now properly read out terminal names to Narrator (#12259)
    • "Open JSON File" is now a better accessibility citizen as well (#12286)

    Documentation Changes

    We'd like to thank @eltociear, @BlakeHeimann, @ghost1372, @Schweinepriester, and @ianjoneill for their contributions to our documentation, roadmap, specs and schema.

    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.12.10334.0_8wekyb3d8bbwe.msixbundle(39.03 MB)
    Microsoft.WindowsTerminal_1.12.10334.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(38.54 MB)
  • v1.12.3472.0(Dec 14, 2021)

    This release brings some assorted top-hitting bug fixes into the preview channel from the main development branch.

    For the holiday season, enjoy the following:

    Changes

    • This version of Windows Terminal ships with Cascadia Code 2111.01.
      • The hinting on the brace ligatures was incorrect in the Italic style, which looked downright hilarious. See microsoft/cascadia-code#595 for more details.
    • On Windows 11, the Terminal now supports the "snap layouts" feature (#11680)

    Bug Fixes

    • The Default Terminal option will now work on machines that do not have the Visual C++ Redistributable (#11610)
    • Splitting a non-focused tab will no longer blast Terminal into outer space (#11635)
    • All of the alternative character set slots have been defaulted to ASCII (#11658) (thanks @j4james!)
      • This is in line with other terminals, and should reduce the incidence of a stray escape character turning your screen into soup.
    • We were seeing some crashes on window painting in the synthetic test lab, which we think we've addressed (#11674)
    • The background image path should once again be displayed in the settings UI (#11580) (thanks @ianjoneill!)
    • AltGr should once again work in the Settings UI (#11808) (#11814)
    • GetConsoleCommandHistoryLengthA will now respond with the correct length (???) (#11897)
    • Fragments that update multiple profiles will no longer confuse and enrage us (#11598)
    • There will once again be a window border when you use Win+↓ in fullscreen mode (#11653) (thanks @serd2011!)
    • Launching additional applications in "default terminal" windows has been made more reliable (#11646)
    • The opacity slider once again appears when it should (and disappears when it shouldn't), rather than the other way around (#11643)
    • Our informational tips will no longer obscure the tabs when showTabsInTitleBar is false (#11609)
    • We made the mistake of printing hex error codes with negative signs (oops); we've fixed that (#11667)
    • Shutdown has been made slightly more reliable (#11857) (thanks @Rosefield!)
    • Detected URLs will no longer be offset by complex unicode characters on the same line (#11915) (thanks @comzyh!)
    • On Windows Server, Terminal will no longer render the display in "ransom note" style (#11764)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.12.3472.0_8wekyb3d8bbwe.msixbundle(39.33 MB)
  • v1.11.3471.0(Dec 14, 2021)

    This release brings some assorted top-hitting bug fixes into the stable channel from the main development branch.

    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.

    This release was made available to insiders in the Dev and Beta channels on December 14, and will be generally available to everyone shortly afterwards. You can always install the update from this release page or using winget.

    For the holiday season, enjoy the following:

    Changes

    • This version of Windows Terminal ships with Cascadia Code 2111.01.
      • The hinting on the brace ligatures was incorrect in the Italic style, which looked downright hilarious. See microsoft/cascadia-code#595 for more details.

    Bug Fixes

    • The Default Terminal option will now work on machines that do not have the Visual C++ Redistributable (#11610)
    • Splitting a non-focused tab will no longer blast Terminal into outer space (#11635)
    • All of the alternative character set slots have been defaulted to ASCII (#11658) (thanks @j4james!)
      • This is in line with other terminals, and should reduce the incidence of a stray escape character turning your screen into soup.
    • We were seeing some crashes on window painting in the synthetic test lab, which we think we've addressed (#11674)
    • The background image path should once again be displayed in the settings UI (#11580) (thanks @ianjoneill!)
    • AltGr should once again work in the Settings UI (#11808) (#11814)
    • GetConsoleCommandHistoryLengthA will now respond with the correct length (???) (#11897)
    • There will once again be a window border when you use Win+↓ in fullscreen mode (#11653) (thanks @serd2011!)
    • Launching additional applications in "default terminal" windows has been made more reliable (#11646)
    • Our informational tips will no longer obscure the tabs when showTabsInTitleBar is false (#11609)
    • Detected URLs will no longer be offset by complex unicode characters on the same line (#11915) (thanks @comzyh!)
    • On Windows Server, Terminal will no longer render the display in "ransom note" style (#11764)
    • AltGr+Space should once again work (#11832)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.11.3471.0_8wekyb3d8bbwe.msixbundle(29.21 MB)
    Microsoft.WindowsTerminal_1.11.3471.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(28.77 MB)
  • v1.12.2931.0(Oct 21, 2021)

  • v1.12.2922.0(Oct 20, 2021)

    Terminal v1.12 is here! It includes upgrades to our CascadiaCode, MUX and C++/WinRT versions, and also includes our first step to true session restoration! Here’s the full changelog:

    Features

    • Window/pane layouts can now be saved upon closing, and will be restored upon relaunch (#10972) (#10978) (#11083) (#11374) (thanks @Rosefield!)
      • Right now, Terminal will only save/restore active tabs, not screen contents or command history
      • This is our first step towards true session restoration
      • You can configure this with the firstWindowPreference global setting (an enum setting with possible values persistedWindowLayout or defaultProfile) in the settings.json file, or configure it in the Settings UI; the default value for this setting is defaultProfile
    • First-time Windows 11 users will receive an information popup about changing their default terminal to WT, along with a link to their settings (#11397) (#11491)
    • You can now update the endpoint of an existing selection using the keyboard (#10824)
      • Please note: Right now, this only works if you’ve already started a selection with the mouse. You can move the selection range using Shift + the arrow keys
    • Terminal now supports actions that can run multiple other actions (we heard you like actions, so we put actions in your actions so you can perform actions while you perform actions) (#11045) (thanks @Rosefield!)
      • For example, something like this:
        "action": "multipleActions",
        "name": "Move right->down",
        "actions": [
          {"action":  "moveFocus", "direction": "right" },
          {"action":  "moveFocus", "direction": "down" }]
        }
      
    • Terminal will now automatically create profiles for Visual Studio Developer shells (#7774) (thanks @trippwill and @heaths!)
    • Terminal will now try to guess which profile to open when it is launched as the ‘default terminal’ for an application (#11390)
    • You can now interact with subtrees of panes (instead of only the leaves) (#11153) (thanks @Rosefield!)
    • On Windows 11, Terminal now supports non-acrylic transparency (#11180)
      • Opacity has moved to a new setting named opacity (an integer with possible values in the range 0-100; defaults to 100)
      • Transparency is no longer configured with the useAcrylic option. If you set opacity <100 or acrylicOpacity <1.0, the terminal will become transparent
    • You can now always target the first pane in the tree for your swapping/moving focus purposes (#11044) (thanks @Rosefield!)
    • The tab row will now contain a helpful shield icon when Terminal is in elevated mode (#11224)
      • You can configure the visibility of the admin shield with the showAdminShield global setting (a Boolean setting that defaults to true)
    • We added an action that allows you to quit all terminal instances at once (#11143) (thanks @Rosefield!)
    • New panes can now be created to the left or above the existing pane, instead of only to the right or bottom (#11145) (thanks @Rosefield!)
      • The splitPane action can now take in directional arguments (left, right, down, up) and treats horizontal as right and vertical as down
    • The contents of the screen can now be exported into a file via the tab context menu (#11062) (thanks @Don-Vito!)
    • We added an action to manually clear the Terminal buffer (#10906)
    • There is now a setting that will automatically adjust your foreground color's lightness if it is nigh-imperceivable on the background (#11095)
      • This should help users of Solarized Dark to have an easier time using PowerShell
      • This can be turned off by setting "adjustIndistinguishableColors": "false" in your settings.json, or from the Settings UI
    • The command palette has been taught several neat tricks (thanks @Don-Vito!)
      • Hitting the right-arrow key will automatically fill in the currently selected command into the text box (#11069)
      • The command palette now filters out duplicate command lines (#11116)
      • The command palette now persists recent command lines (#11030)
    • We will now tell you how to get rid of “process exited with code xxx” errors and automatically close tabs with a new info bar, which can be permanently dismissed (#11139) (thanks @Don-Vito!)
    • Tabs can now be reordered in elevated mode if UAC is disabled (#11221)
    • The system menu can now be opened with its very own keybinding: openSystemMenu(#11086)
      • As a result, you can also disable the system menu by binding Alt+Space to unbound.

    Changes

    • We have updated to the new version of WinUI - 2.7 (#11240)
    • Autocorrect has now been disabled for our command, path and find text fields (#11137) (thanks @ianjoneill!)
    • The exit code now shows up as hexadecimal in addition to decimal (#11123)
    • You can now navigate focus between panes even while zoomed (#11046) (thanks @Rosefield!)
    • We now make sure to fully clean up state after closing a peasant Terminal session (#11217) (thanks @Rosefield!)
    • We’ve adjusted the padding between tabs in the titlebar (#11115) (thanks @gabrielconl!)
    • The Tray Icon's context menu now shows the names of the open tabs (#11043)
    • We made some sleek visual tweaks to our search box (#11105) (thanks @gabrielconl!)
    • "TrayIcon" and "Tray" have been renamed to "NotificationIcon" and "NotificationArea" (#11219)
      • This includes the JSON setting names.
    • Ctrl+numpad_0 will now also reset the font size (previously it was only ctrl+0) (#11243) (thanks @BenConstable9!)

    VT sequences

    • Terminal now supports the 'Request Selection or Setting' (DECRQSS) VT sequence (#11152) (thanks @j4james!)

    Bug Fixes

    • Opening the debug tap no longer crashes the terminal (#11445)
    • Moving the window after opening a dialog box no longer does strange things to the window (#11485) (thanks @mpela81)
    • All mouse events now get sent correctly even after the viewport is scrolled (#11290)
    • Pasting text now correctly clears the current selection (#11286) (thanks @serd2011!)
    • We fixed various compatibility issues with the profiles schema (#11360)
    • Fixed a typo that was causing us to fail to save the dropdown duration on the summon window action (#11401) (thanks @NotWearingPants!)
    • The tab background color is now applied correctly when the tab is unfocused (#11413)
    • wt command-lines are now escaped properly when used from the Open Terminal Here menu item (#11314) (thanks @ianjoneill!)
    • Terminal’s multi-process model should now be more robust (#11189) (thanks @Rosefield!)

    Settings UI

    • Fixed a crash that would occur when adding an action with the same key chord as an existing action (#11427)
    • The "Reset to inherited value" button for opacity now works correctly (#11391) (thanks @ianjoneill!)
    • There is no longer a nameless action in the actions dropdown (#11427)
    • The minimizeToTray and alwaysShowTrayIcon settings can now be configured in the settings UI (#11070)
    • Fixed various typos (#11362)

    Accessibility

    • Fixed a hang in narrator that would occur upon selecting some text in Terminal (#11386)
    • We now make sure the text buffer is present before we try to interact with it (#11312)
    • We treat the last character as the end of the buffer now, significantly improving the performance of word navigation (#11122)
    • Several previously nameless controls now have names! (#11364)
    • Fixed RadioButton content not showing up properly in UIA (#11442)

    Documentation, Schema and Code Health

    Thank you to @j4james, @ghost1372, @NotWearingPants, @heysujal and @saintmalik for contributions to the documentation, code health and JSON schema document.

    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.12.2922.0_8wekyb3d8bbwe.msixbundle(39.29 MB)
  • v1.11.2921.0(Oct 20, 2021)

    This release brings many of the preview changes in Windows Terminal 1.11 to the stable channel. Please see the following release notes for additional details:

    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.

    We've also backported some features, changes and bug fixes from Windows Terminal Preview 1.12.2922.0 and earlier versions:

    Features

    • On Windows 11, Windows Terminal can now be set as the default console host (#9907) (#10170)
      • First-time Windows 11 users will receive an information popup about changing their default terminal to WT, along with a link to their settings (#11397) (#11491)
      • This only applies to Store and msixbundle installs of Terminal; scoop installs and other "extraction-based" installs cannot be registered as the default terminal.
    • We've reintroduced the UI that allows you to edit default settings that apply to all profiles, as well as arrow buttons that let you revert individual settings (#10588)
    • On the Actions page, you can now edit existing actions and add new ones (#10550) (#10220)
    • The keyboard service warning info bar can now be permanently dismissed (#11139) (thanks @Don-Vito!)

    Bug Fixes

    • Moving the window after opening a dialog box no longer does strange things to the window (#11485) (thanks @mpela81)

    Accessibility

    • Fixed RadioButton content not showing up properly in UIA (#11442)
    • Fixed a hang in narrator that would occur upon selecting some text in Terminal (#11386)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.11.2921.0_8wekyb3d8bbwe.msixbundle(29.19 MB)
    Microsoft.WindowsTerminal_1.11.2921.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(28.75 MB)
  • v1.11.2731.0(Oct 4, 2021)

    This release brings some assorted top-hitting bug fixes into the preview channel from the main development trunk.

    There's also a breaking change included here to ensure our consistency as we move into 1.12. We were alerted that the terminology "tray" is inappropriate for Taskbar Notification Area. This means that the minimizeToTray setting is now the minimizeToNotificationArea setting and the alwaysShowTrayIcon setting is now the alwaysShowNotificationIcon setting. There is no automatic migration of these settings as this terminology was only ever used in preview channel. Preview users will have to fix their settings files manually. (#11219)

    Bug Fixes

    Accessibility

    • Resolves hang on launch for Windows Server 2022 (and similar client Windows versions) when tablet input keyboard is activated (#11312)
    • Selecting text in the terminal while Narrator is open will no longer hang (#11386)

    Reliability

    • Fix KeyChord constructor assertion failure during tab dragging (#11306)

    Terminal Emulation

    • Fixes alignment of the mouse coordinates when the viewport is scrolled for all events, not just mouse button pressed event. (#11290)

    User Interface

    • Clear selection on paste (#11286) (thanks @serd2011!)

    JSON Settings

    • Fix serialisation of findMatch action to persist the direction (#11233) (thanks @ianjoneill!)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.11.2731.0_8wekyb3d8bbwe.msixbundle(29.52 MB)
  • v1.10.2714.0(Oct 4, 2021)

    This release brings some assorted top-hitting bug fixes into the stable channel from the main development trunk.

    If this looks very similar to the preview channel, you're correct. These were heavy hitters, so we're rolling out to the whole population as quickly as we can.

    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

    Accessibility

    • Resolves hang on launch for Windows Server 2022 (and similar client Windows versions) when tablet input keyboard is activated (#11312)

    Reliability

    • Fix KeyChord constructor assertion failure during tab dragging (#11306)

    Terminal Emulation

    • Fixes alignment of the mouse coordinates when the viewport is scrolled for all events, not just mouse button pressed event. (#11290)

    User Interface

    • Clear selection on paste (#11286) (thanks @serd2011!)

    JSON Settings

    • Fix serialisation of findMatch action to persist the direction (#11233) (thanks @ianjoneill!)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.10.2714.0_8wekyb3d8bbwe.msixbundle(28.75 MB)
    Microsoft.WindowsTerminal_1.10.2714.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(28.32 MB)
  • v1.11.2421.0(Aug 31, 2021)

    It's that time of year again: Terminal day!

    You probably wouldn't have guessed that this was supposed to be a stabilization release, with a big focus on performance and bug fixes. Our beloved community, however made sure that we had more than enough features to go around! Thanks everyone!

    This version of Terminal ships with Cascadia Code 2108.26, which contains fixes for some ligature issues, Hebrew glyph positioning and more.

    Features

    • You can now delete autogenerated profiles. That just about says it all. Sorry for taking so long on this one! (#11007) (#10910)
    • Terminal will now optionally present a tray icon and minimize windows to it (#10368) (#10980) (#10938)
      • See alwaysShowTrayIcon (boolean, default false) and minimizeToTray (boolean, default false) in the settings JSON file
      • This feature is not yet present in the settings UI, which is an oversight we hope to rectify before 1.12.
    • You can now set special font features and custom axis values! (#10525) with bug fix (#10863)
      • This works great with Cascadia Code's new alternate italic style.
        • "font": { "face": "Cascadia Code", "features": { "salt": 1 } }
      • You can also disable ligatures in any font that supports them by setting the calt, clig or dlig features to 0. Consult your font's printed manual for more information.
    • Bold or "intense" text can now be displayed as bright colors, a bold font, or both (#10759)
      • We released 1.10 with the new default set to both bold and bright, but have reset it to just bright until we work out some text rendering issues (#10958)
      • Set intenseTextStyle (flag enum, default bright, options bold, bright, all) in any profile
    • There is a new "Split Tab" item in each tab's context menu, which will split the active profile (#10832)
    • Terminal now supports displaying the titlebar¹ or tab row with the acrylic material (#10864) (thanks @matthew4850!)
      • Settings key: useAcrylicInTabRow (boolean, default false)
      • ¹That is, if you have disabled "show tabs in the title bar"
    • There's a new "unfocused appearance" editor at the bottom of the Appearance page (per profile) (#10317)
    • Key bindings now support the browser keys found on some keyboards newer than, say, 2000? (#10801) (thanks @FWest98!)
      • browser_back, browser_forward, browser_refresh, browser_stop, browser_search, browser_favorites and browser_home
    • You can now open a new tab by dropping a folder on the + button (!) (#10073) (#10160) (thanks @Daniel599) with implementation fixes in (#10842) and tooltip help in (#10841) thanks to @ianjoneill!
    • Those of you with international keyboards can now specify very particular key bindings to "virtual key" codes or scancodes (#10666) (#10917) (#10945)
      • Use vk(xxx) or sc(xxx) to (in the darkness) bind these keys. The Settings UI will also produce them from time to time.
      • The "Quake Mode" key binding has been changed from windows+backtick to windows+sc(41), which is "the key where backtick is on the US-104 keyboard"

    Pane Management

    Of particular note, Schuyler Rosefield spent a lot of time working on panes this release. Thank you, @Rosefield!

    • Pane navigation with moveFocus now uses the visual, instead of the (il)logical layout (#10756) (#11023)
    • You can now swap the positions of two panes by using the swapPane action or the swap-pane command line argument (#10638)
      • Search the Command Palette (Ctrl+Shift+P by default) for "Swap" to learn more!
    • You can now move the active pane to any tab (or even a new tab!) with the movePane action or the move-pane/mp command (#10780) (#11039)
      • Search the Command Palette (Ctrl+Shift+P by default) for "move pane"!
    • The moveFocus and swapPane actions have been taught the nextInOrder and previousInOrder directions, which will walk the pane tree in creation order (#10927)
    • The moveFocus and swapPane actions have also been taught the first direction, which targets the first pane in the tab (#11044)
      • This is good for DWM-style split screen layouts where you have an active work pane and a set of auxiliary side panes!
    • There is a new toggleSplitOrientation action that will switch a pair of panes from vertical to horizontal layout (#10713)

    Changes

    • Terminal will now use no profile for incoming commandline commands and command-line applications launched via "default terminal" (#11022)
      • The settings that you'll see are dictated by the contents of the "Defaults" section in settings, or profiles.defaults in settings.json
      • It didn't make any sense for wt cmd to launch a profile with the PowerShell icon!
      • If you really want to run a command in a specific profile, use wt -p Profile command
      • The title of the new tab/pane will be derived from the command itself (#10998) (#11029)
    • Terminal will now try to launch WSL by moving the startingDirectory to the command line (#9223)
      • If you are on a newer version of Windows, you will be able to set the starting directory to ~ or any Linux path!
    • The Actions page in the Settings now has a live "key chord" editor -- you no longer need to type shortcuts like c t l r + e (and inevitably get them wrong) (#10652)
    • You can now un-bind alt+space from opening the system menu (#10799) (thanks @FWest98!)
    • The focusTab action will now always focus a tab, even if there aren't as many as you thought (#10651)
      • We have re-bound Ctrl+Shift+9 to "jump to final tab", as opposed to "jump to tab 9", as Edge, Firefox and other browsers do.
    • The settings will now reload when you change your active keyboard layout (#10876)
      • This is to support keyboard layouts that define different display keys for vk() and sc() codes.
    • In the settings UI, we've changed a number of tooltips to replace "checked" (as in, a checkbox) with "enabled" because they're toggle switches now (#10885)
    • We have done some internal work to prepare for tab tearoff (#10051) (#10874)
    • We've reworked how some of the settings UI values are generated and displayed (#10846) (thanks @chingucoding!)

    Performance

    The changelog messages in this section are

    • The console (and terminal) will no longer hold on to large memory allocations after large I/O requests (#10738)
    • Terminal now loads WSL distributions in a different way, and will not hang on startup waiting for them (#10967)
    • Settings reload will no longer visit each pane once per profile (#10997)
    • The UTF-16 <-> UTF-8 converter has been refactored to not waste memory (like, at all) (#10966) (thanks @german-one!)
    • We have made a number of changes to improve I/O and rendering performance (#10921) (#10653) (#10923)
      • More, thanks to @skyline75489 (#10621) (#10685)

    Bug Fixes

    Accessibility

    • An issue where opening a tab with Narrator running resulted in no output has been fixed (#10971)
    • Moving your screen reader cursor by line, character and document is now more reliable (#10991)
      • ...and should no longer cause an occasional deadlock. (#10937)

    "Default Terminal"

    • Command-line applications launched through "Default Terminal" now follow the windowing behavior setting (#10823)
    • Applications launched into terminal no longer erroneously believe the screen to be 9001 lines tall (#10772)
    • We fixed an issue resulting in Ctrl+C never reaching handoff applications (#10751)

    "Quake" Mode

    • The "quake" window's borders will no longer appear on adjacent monitors (#10676)
    • Dismissing the "quake" window and summoning it on another display will now properly update its size (#10674)
    • Snapping the "quake" window to another display will also properly update its size (#10744)

    Reliability

    • Saving your settings will no longer destroy them if settings.json is a symbolic link (#10908) (thanks @Don-Vito!)
    • When you attempt to use Alt+Arrow Keys with no panes, we will now send those keys to the connected client (#10806) (thanks @FWest98!)
    • focus-tab --previous/next now ignores tab switcher order (#10947) (thanks @Don-Vito!)
    • Duplicating a pane hosting a deleted profile will no longer result in ~ ~ weird behavior ~ ~ (#10982)
      • We will also spend a lot less time looking up profiles by their IDs (oops)
    • A crash during startup/commandline execution regarding moving focus to a new pane has been quashed (#11040) (thanks @Rosefield!)

    Terminal Emulation

    • You can no longer erroneously interact with mouse-mode applications at bad coordinates when they are scrolled away (#10642)
    • Selected text will no longer move off of its selected line as more text is output... (#10749)
      • ... until it no longer fits on screen, at which point it absolutely will.
    • The alternate buffer now inherits its cursor state from the main buffer (#10843) (#10878) (thanks @j4james!)
    • We've put a sock in a very loud exception handler (#10901)
    • We will no longer try to resize the display if the size hasn't changed, and no longer clear your selection (#10895) (thanks @Don-Vito!)
    • C1 control characters in SetConsoleTitle will no longer cause Terminal to lose sanity (#10847) (thanks @j4james!)
    • The terminal will no longer scroll vertically if you have a horizontal wheel (#10979)
    • RIS no longer even has a chance of failing (thanks to @amie42 for spotting this after the PR merged!) (#10661)

    User Interface

    • No longer will dropdown menus and combo boxes fly wildly off the screen if you scroll or drag the window! Rejoice! (#10922)
    • Progress bars: multiple panes and tabs displaying progress indicators will be merged for the taskbar (#10755)
    • Restoring from fullscreen no longer accidentally counts the window border as part of the new size (#10737)
    • The window border is likewise ignored when calculating the initial position of the window (#10902)
    • We have removed a double scrollbar from the settings UI, which was a fix for another issue, which has now been fixed properly (#10716) (thanks @mimvdb!)
    • We've fixed some focus tracking bugs that occur during complicated command line handling (#10978)
    • There is no longer an annoying issue where some people on non-100%-scaling displays would not be able to use the tab bar when maximized (#10746)
    • The settings UI animations are now slightly less obnoxious (#10934) (thanks @Don-Vito!)
    • Dragging content over the terminal will no longer cause it to spontaneously scroll everywhichway (#10650)
    • The color picker's minimum width is now better (#10663) (thanks @gabrielconl!)

    JSON Settings Schema

    • The hidden setting experimental.input.forceVT has been added to the JSON schema (oops!) (#10715)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.11.2421.0_8wekyb3d8bbwe.msixbundle(29.50 MB)
  • v1.10.2383.0(Aug 31, 2021)

    This release brings many of the preview changes in Windows Terminal 1.10 to the stable channel. Notable changes include:

    • You can now select a different display language in the "Appearance" settings.
    • Terminal will now present an icon in the system notification area when "Quake" mode is enabled.

    Please see the following release notes for additional details:

    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.

    We've also backported the following features, changes and bug fixes from Windows Terminal Preview 1.11.2421.0:

    Features

    • You can now delete autogenerated profiles. That just about says it all. Sorry for taking so long on this one! (#11007) (#10910)
    • Bold or "intense" text can now be displayed as bright colors, a bold font, or both (#10759)
      • We released 1.10 with the new default set to both bold and bright, but have reset it to just bright until we work out some text rendering issues (#10958)
      • Set intenseTextStyle (flag enum, default bright, options bold, bright, all) in any profile

    Changes

    • This version of Terminal ships with Cascadia Code 2108.26, which contains fixes for some ligature issues, Hebrew glyph positioning and more.
    • In the settings UI, we've changed a number of tooltips to replace "checked" (as in, a checkbox) with "enabled" because they're toggle switches now (#10885)

    Performance

    • The console (and terminal) will no longer hold on to large memory allocations after large I/O requests (#10738)
    • Terminal now loads WSL distributions in a different way, and will not hang on startup waiting for them (#10967)

    Bug Fixes

    Accessibility

    • An issue where opening a tab with Narrator running resulted in no output has been fixed (#10971)
    • Moving your screen reader cursor by line, character and document is now more reliable (#10991)
      • ...and should no longer cause an occasional deadlock. (#10937)

    "Default Terminal"

    note: the default terminal functionality is not enabled in this release. These are just the bugfixes related to that functionality which happen to be in this release. For more details, see #11415

    • Command-line applications launched through "Default Terminal" now follow the windowing behavior setting (#10823)
    • Applications launched into terminal no longer erroneously believe the screen to be 9001 lines tall (#10772)
    • We fixed an issue resulting in Ctrl+C never reaching handoff applications (#10751)

    "Quake" Mode

    • The "quake" window's borders will no longer appear on adjacent monitors (#10676)
    • Dismissing the "quake" window and summoning it on another display will now properly update its size (#10674)
    • Snapping the "quake" window to another display will also properly update its size (#10744)

    Reliability

    • Saving your settings will no longer destroy them if settings.json is a symbolic link (#10908) (thanks @Don-Vito!)
    • When you attempt to use Alt+Arrow Keys with no panes, we will now send those keys to the connected client (#10806) (thanks @FWest98!)
    • A crash during startup/commandline execution regarding moving focus to a new pane has been quashed (#11040) (thanks @Rosefield!)

    Terminal Emulation

    • You can no longer erroneously interact with mouse-mode applications at bad coordinates when they are scrolled away (#10642)
    • Selected text will no longer move off of its selected line as more text is output... (#10749)
      • ... until it no longer fits on screen, at which point it absolutely will.
    • The alternate buffer now inherits its cursor state from the main buffer (#10843) (#10878) (thanks @j4james!)
    • We've put a sock in a very loud exception handler (#10901)
    • We will no longer try to resize the display if the size hasn't changed, and no longer clear your selection (#10895) (thanks @Don-Vito!)
    • C1 control characters in SetConsoleTitle will no longer cause Terminal to lose sanity (#10847) (thanks @j4james!)
    • The terminal will no longer scroll vertically if you have a horizontal wheel (#10979)
    • RIS no longer even has a chance of failing (thanks to @amie42 for spotting this after the PR merged!) (#10661)

    User Interface

    • No longer will dropdown menus and combo boxes fly wildly off the screen if you scroll or drag the window! Rejoice! (#10922)
    • Restoring from fullscreen no longer accidentally counts the window border as part of the new size (#10737)
    • The window border is likewise ignored when calculating the initial position of the window (#10902)
    • We have removed a double scrollbar from the settings UI, which was a fix for another issue, which has now been fixed properly (#10716) (thanks @mimvdb!)
    • We've fixed some focus tracking bugs that occur during complicated command line handling (#10978)
    • There is no longer an annoying issue where some people on non-100%-scaling displays would not be able to use the tab bar when maximized (#10746)
    • The settings UI animations are now slightly less obnoxious (#10934) (thanks @Don-Vito!)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.10.2383.0_8wekyb3d8bbwe.msixbundle(28.75 MB)
    Microsoft.WindowsTerminal_1.10.2383.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(28.31 MB)
  • v1.10.1933.0(Jul 14, 2021)

    This version of Terminal comes with Cascadia Code 2106.17. This version of the Cascadia family of fonts refines the "cursive" italic letter forms to have more universally-acceptable shapes and introduces support for Hebrew and Arabic glyphs.

    Features

    • ALPHA FEATURE We had to update the interface in Windows that allows Terminal to act as the default console host. Due to the change, 1.10+ is required with Windows 22000.65 and above.
      • We can now hand off WSL sessions, and Ctrl+C now works in handoff sessions (#10415)
    • We've reintroduced the UI that allows you to edit default settings that apply to all profiles, as well as arrow buttons that let you revert individual settings (#10588)
    • You can now select a different default display language for Terminal in the Appearance settings (#10309)
      • JSON field preferredLanguage
    • On the Actions page, you can now edit existing actions and add new ones (#10550) (#10220)
    • Terminal will now present a tray icon when the "Quake mode" window is in use (#10179)
    • The closeTab action has to close tabs by index via the index field (#10447) (thanks @ianjoneill)
    • Screen reader users can now navigate the contents of the screen by attribute (color, font, underline...) (#10336)
    • Terminal will now render SGR 1 ("intensity") in glorious chonky bold (#10498) (#9201) (#10521) (thanks @skyline75489)

    Changes

    • Terminal windows launched via "Open Here" will open new tabs in the same directory (#10546) (thanks @ianjoneill)
    • The "quake mode" action is now named "Summon Quake window" instead of "Global summon something something window _quake" (#10641)
    • JSON settings: font options are now specified in a single "font": {} group in each Profile (#10433)
      • Your settings will automatically migrate to the new format when you press Save.
    • We've promoted the Command Palette to the main dropdown menu to improve its discoverability (#10297) (thanks @KnapSac)
    • The terminal tab color picker's UI is now much more refined, thanks to @gabrielconl (#10219)
    • The opacity slider will now display a % sign like it should have to begin with (#10369) (thanks @chingucoding)

    Bug Fixes

    • An accessibility issue that resulted in misshapen selection regions has been fixed (#10544)
    • Terminal will no longer minimize itself when targeted by a commandline application (#10389)
      • ... or when you target it with -w (#10396)
    • We will no longer destroy commands using iterateOn when you press Save (#10373)
    • Nested commands now dismiss more reliably when using the command palette (#10392) (thanks @kovdu)
    • We will not attempt to not un-toggle the command palette if you choose to toggle it while it is open (#10423) (thanks @kovdu)
    • When we encounter a malformed fragment document, we will no longer fail to read any future fragment documents (#10601)
    • The action editor should now be more usable in Light theme (#10412)
    • "Open Windows Terminal Here" will now appear in your language (#10446)
    • Terminal will no longer exit unceremoniously when your startingDirectory cannot be found (#10263)
      • We made a change to how starting directories are processed that may expose issues in your configuration. This change was made to improve launch performance and reliability.
    • A window that receives an incoming console application will now spring to the foreground (#10217)

    Performance

    • During heavy output load, we will spend a lot less time ...
      • formatting VT strings (#10426) (thanks @skyline75489!)
      • creating temporary string_views (#10471) (thanks @skyline75489!)
      • notifying an accessibility channel that has been disconnected (#10537) (#10569)
      • emitting debugging information (#10533)

    Reliability

    • Terminal should crash less often when you are closing a tab (#10549)
    • We've fixed a crash in reloading the settings with the Settings page open (#10390)
    • An application setting the Terminal background should probably not crash it, huh? (#10357)
    • If our packaged fonts cannot be found, we will now be more robust and less likely to faceplant on launch (#10260)
    • The "default terminal" feature no longer causes crashes on OS versions where it is unavailable (#10238)
    • If we can't accept handoff ("default terminal") connections when we start, we'll no longer crash on launch (#10261)
    • The settings UI will no longer overflow its frame on launch/reload (#10619) (thanks @mimvdb)
    • Terminal will try to do a better job recovering the profile you were looking at when the settings reload (#10618) (thanks @mimvdb)
    • The "default terminal" dropdown has been fixed for High Contrast users (#10185)

    VT Support

    • RIS will now reset mouse mode and encoding (#10602)
    • DECSET 12 (enable/disable cursor blink) is no longer ignored (#10589)

    WPF Control

    • We've fixed an issue in the WPF control's 64-bit build that resulted in hilarious colors (#10486)

    Documentation, Schema and Code Health

    Thank you to @j4james, @ayushman16, @onerandomusername, @ealap, @LuanVSO and @WSLUser for contributions to the documentation, code health, build scripts and JSON schema document.

    Additional thanks to @jsoref for maintaining the check-spelling action and keeping Terminal's spell checker up to date!

    Refactoring and Internal Improvements

    Individual commit messages
    • Multiple conhost changes (coming to a Windows version near (but not too near) you)
      • #10477: Handle things above U+FFFF in GDI renderer (#10580) (thanks @alabuzhev)
      • #10497: Do not force the font on output codepage change (#10591) (thanks @alabuzhev)
      • Replace PolyTextOutW with ExtTextOutW (#10478) (thanks @alabuzhev)
    • Replicate winrt::make<> changes in ScratchIslandApp SampleAppLib (#10494) (thanks @BreeceW)
    • Throttle cursor redrawing in outputStream.cpp (#10394) (thanks @skyline75489)
    • Update Xaml Toolkit App Host to 6.1.3 (#10640)
    • Work around an ARM64 compiler crash by splitting a coroutine up (#10306)
    • Remove CONSOLE_API_MSG::UpdateUserBufferPointers hack (#10326)
    • Spec for font features and axes of variation (#10457)
    • Use WinRT VirtualKeyModifiers instead of a custom enum (#10603) (thanks @mimvdb)
    • Introduce til/latch.h, til/mutex.h and til/throttled_func.h (#10403)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.10.1933.0_8wekyb3d8bbwe.msixbundle(29.03 MB)
  • v1.9.1942.0(Jul 14, 2021)

    This release brings many of the preview changes in Windows Terminal 1.9 to the stable channel.

    You may not yet see this release in the Store. We are trying a new "slow rollout" system that follows the Windows Insider program. You can always install a new build from this repository!

    Notable changes include:

    • Terminal now supports pinning an instance to the top of the screen that you can summon at any time (colloquially referred to as "Quake Mode") (#9785) (#9956) (#9977) (#10108) (#10113) (#10150)
      • It is bound by default to Win+` (#10122)
    • Terminal now supports mouse input for Windows console applications! (#9970) (#10138)
    • The Appearance page will now show you a (tiny) preview of the Terminal (#9527)

    Please note that the following features are not included in the 1.9 stable release:

    • The ability to set Windows Terminal (stable) as the default console application host
    • The live action editor in the Settings UI

    Please see the following release notes for additional details:

    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.

    We've also backported the following changes and bug fixes from Windows Terminal Preview 1.10.1933.0:

    Changes

    • This version of Terminal comes with Cascadia Code 2106.17. This version of the Cascadia family of fonts refines the "cursive" italic letter forms to have more universally-acceptable shapes and introduces support for Hebrew and Arabic glyphs.
    • Terminal windows launched via "Open Here" will open new tabs in the same directory (#10546) (thanks @ianjoneill)
    • The "quake mode" action is now named "Summon Quake window" instead of "Global summon something something window _quake" (#10641)
    • The opacity slider will now display a % sign like it should have to begin with (#10369) (thanks @chingucoding)

    Bug Fixes

    • An accessibility issue that resulted in misshapen selection regions has been fixed (#10544)
    • Terminal will no longer minimize itself when targeted by a commandline application (#10389)
      • ... or when you target it with -w (#10396)
    • We will no longer destroy commands using iterateOn when you press Save (#10373)
    • Nested commands now dismiss more reliably when using the command palette (#10392) (thanks @kovdu)
    • We will not attempt to not un-toggle the command palette if you choose to toggle it while it is open (#10423) (thanks @kovdu)
    • When we encounter a malformed fragment document, we will no longer fail to read any future fragment documents (#10601)
    • The action editor should now be more usable in Light theme (#10412)
    • "Open Windows Terminal Here" will now appear in your language (#10446)
    • 1.9.1523.0 Terminal will no longer exit unceremoniously when your startingDirectory cannot be found (#10263)
    • 1.9.1523.0 A window that receives an incoming console application will now spring to the foreground (#10217)

    Performance

    • During heavy output load, we will spend a lot less time ...
      • formatting VT strings (#10426) (thanks @skyline75489!)
      • creating temporary string_views (#10471) (thanks @skyline75489!)
      • notifying an accessibility channel that has been disconnected (#10537) (#10569)
      • emitting debugging information (#10533)

    Reliability

    • Terminal should crash less often when you are closing a tab (#10549)
    • We've fixed a crash in reloading the settings with the Settings page open (#10390)
    • An application setting the Terminal background should probably not crash it, huh? (#10357)
    • 1.9.1523.0 If our packaged fonts cannot be found, we will now be more robust and less likely to faceplant on launch (#10260)
    • 1.9.1523.0 The "default terminal" feature no longer causes crashes on OS versions where it is unavailable (#10238)
    • 1.9.1523.0 If we can't accept handoff ("default terminal") connections when we start, we'll no longer crash on launch (#10261)
    • The settings UI will no longer overflow its frame on launch/reload (#10619) (thanks @mimvdb)
    • Terminal will try to do a better job recovering the profile you were looking at when the settings reload (#10618) (thanks @mimvdb)
    • 1.9.1523.0 The "default terminal" dropdown has been fixed for High Contrast users (#10185)

    VT Support

    • RIS will now reset mouse mode and encoding (#10602)
    • DECSET 12 (enable/disable cursor blink) is no longer ignored (#10589)

    WPF Control

    • We've fixed an issue in the WPF control's 64-bit build that resulted in hilarious colors (#10486)

    Documentation, Schema and Code Health

    Thank you to @j4james, @ayushman16, @onerandomusername, @ealap, @LuanVSO and @WSLUser for contributions to the documentation, code health, build scripts and JSON schema document.

    Additional thanks to @jsoref for maintaining the check-spelling action and keeping Terminal's spell checker up to date!

    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.9.1942.0_8wekyb3d8bbwe.msixbundle(28.33 MB)
    Microsoft.WindowsTerminal_1.9.1942.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(27.90 MB)
  • v1.9.1445.0(May 25, 2021)

    Features

    • ALPHA FEATURE Windows Terminal Preview can now be set as the default console host on Windows Insider Dev builds (#9907) (#10170)
      • There are some known issues with this support; please see this query for the list of known bugs.
      • One such known bug is that you will need to resize the window before an application that spawned in Terminal becomes aware of its size. #9811
      • Another is that WSL doesn't work. At all. Sorry! #10134
      • If you still want to opt in, head over to the "Startup" section of the settings, or the "Terminal" section of the legacy console property sheet.
      • If you really need to run the traditional Windows Console, you can start it with conhost cmd or conhost powershell. :smile:
      • FINALLY: This feature will only work if you've installed Terminal via the MSIX. Unpackaged installations, such as the one offered by Scoop, are not supported.
    • Terminal now supports pinning an instance to the top of the screen that you can summon at any time (colloquially referred to as "Quake Mode") (#9785) (#9956) (#9977) (#10108) (#10113) (#10150)
      • It is bound by default to Win+` (#10122)
        • You can rebind this shortcut with the quakeMode action.
      • This behavior will be granted to any window whose name is _quake. You can use wt -w _quake to target the quake window with commands.
      • You can add a custom binding to summon any Terminal window with the globalSummon action! (#9854) (#9954) (#10092) (#10025) (#9963)
    • This version of Terminal comes with Cascadia Code 2105.24, which has an italic variant.
      • We're so excited to finally show this off!
      • Due to an issue, only the italic variant will display as version 2105.24.
    • Terminal now supports mouse input for Windows console applications! (#9970) (#10138)
      • To the Far Manager folks (@alabuzhev et al): thank you for being a good model application.
    • You can now edit key bindings for existing actions on the Actions page (#9949) and actually save them, too! (#9926) (#9621)
    • The Appearance page will now show you a (tiny) preview of the Terminal (#9527)
    • We've added a new treatment for visual (#9270)
    • We have added a new "Add a new profile" page to the Settings UI, where you can choose to duplicate an existing profile (#9352)
    • We've added support for a focusPane action (focus by index) an the focus-pane/fp subcommand (#10142)
    • When you use the "Set color scheme..." action in the command palette, we will now show you a live preview of the new color scheme (#9794)

    Changes

    • We have added support for the Windows (Super) key in key bindings (keyword win) (#9783)
    • There is now an experimental setting to disable URL detection (#10022)
      • At global scope, set experimental.detectURLs to false, or visit the Interaction page in the settings.
    • When you rename a window, we will now acknowledge that we actually did it (#9808)
    • Terminal will now show a more scrutable error message when your starting directory cannot be found (#10045)
    • Whitespace trimming in block selection can now be configured (#9807) (thanks @Don-Vito!)
      • Use the trimBlockSelection global property (boolean, default false) or visit the Interaction page in the settings.

    Performance

    • Terminal is now built with profile-guided optimization for a bunch of common use cases (#10071)

    VT Support

    • Terminal now has support for tab stops (which you will not notice, as it already had support for tab stops sorta) (#9597) (thanks @skyline75489!)

    Refactoring and Internal Improvements

    • We have split TermControl into a Core, Interactivity, and Control layer (#9820) (#9980)
      • This will set us up very nicely for some of our vaguely menacing future plans.
    • Conhost now has a mechanism for passing through DCS data strings (#9307) (thanks @j4james!)
    • We've replaced our attribute run storage with a new RLE vector that performs slightly better and is far, far more reusable (#10099)

    Bug Fixes

    • There was an issue that would result in blank profiles or profiles containing just one setting; it is now fixed (#9964)
      • The only known cause of this issue was editing the settings of a profile the first time you ever launch Terminal
      • If you have profiles named Default in your dropdown, this is probably why.
      • We will now attempt to heal settings files broken by this bug (#10143)
        • If you did have a profile that you actually liked that didn't have a name or a GUID or any settings, it will now be broken.
          • (Why? That's just a Command Prompt profile with no useful identifying information in it...)
    • We've fixed a bunch of instances of the terminal losing focus (#10048) (#10114)
    • We will no longer close a tab on middle-click down (because up is much more reasonable) (#9842) (thanks @Don-Vito!)
    • The "close tabs to the right" and "close other" options have finally returned, thanks to some quick out-of-the-box thinking (#9859) (thanks @mpela81!)
    • Nested commands will no longer interfere with deleting the > command palette mode character (#10164) (thanks @kovdu!)
    • The "new tab" dropdown will no longer go up when it used to go down; we no longer live in topsy turvy-land (#10009) (thanks @mpela81!)
    • Terminal will no longer create a new profile with the name "Profile 13" if you're weird enough to add a new profile called "Profile 13" yourself (as an example) (#9816) (thanks @Don-Vito!)
    • The window rename action will no longer also pop keys into the terminal (#9809) (thanks @Don-Vito!)
    • You can now navigate better using your key bindings in the Settings UI (focus mode, fullscreen, etc.) (#10121)
    • Terminal will no longer let an application emit more than one bell per second (#9812) (thanks @Don-Vito!)
      • In other news, a 1-second delay we accidentally introduced before a bell has been resolved (#10133)
    • The command palette will now respect your locale when you do a case-insensitive search (#9943) (thanks @Don-Vito!)
    • The "discard" button will try harder to keep you looking at the profile you're on (#10147) (thanks @Don-Vito!)
    • Terminal will try to keep the last selected pivot active when you move between profile pages (#10047) (thanks @kovdu!)
    • We fixed a bug that resulted in certain CJK punctuation characters being deleted (66b9b9d6f)
    • Duplicating a tab will now attempt to copy its title, when that title was provided by you, the user (#9813) (thanks @Don-Vito!)
    • The "Use parent process working directory" and starting directory settings have learned to stop fighting back (#9862)
    • The various long tooltips in the application will now be wrapped more ~ ~ AESTHETICALLY ~ ~ (#9913) (thanks @Don-Vito!)

    VT Support

    • We fixed some places where we deviated with the informal OSC 9;4 specification (#10024)
    • The text buffer will be initialized with the default attributes on a resize (#5792)
      • This should mostly fix the issue where when you resize it floods with one color. Mostly.

    Reliability

    • We should no longer crash on exit nearly as often -- either exiting a shell or the application (#10115) (#10042) (#10031)
    • Typing --tabColor into the command palette now has a 100% reduced chance of crashing (#10096)
    • Pressing Save in the Settings window twice will no longer launch Terminal into the great beyond (#10148)
    • We fixed a rare crash, which mostly impacted conhost, when there were multiple client applications sending API requests at the same time (c0ab9cb5b)

    Performance

    • Some of our debug logging was being enabled by accident, so we've restricted its activation further (#10098)
      • This bug caused a significant reduction in rendering throughput!

    WPF Control

    • The WPF control can now have a background that varies from the terminal background (#10026)

    Documentation and Code Health

    Thank you to @UnrealApex, @hms5232, @AKKaygin, @jBarrineau, @ghost1372 and @CliffKoh for documentation updates that keep this repository in fighting trim.

    Additional thanks to @jsoref for maintaining the check-spelling action and keeping Terminal's spell checker up to date!

    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.9.1445.0_8wekyb3d8bbwe.msixbundle(27.93 MB)
  • v1.8.1444.0(May 25, 2021)

    This release brings all of the preview changes in Windows Terminal 1.8 to the stable channel. Notable changes include:

    • Windows can now be named for automation and scripting purposes
      • With the -w parameter, as in wt -w razzle and wt -w dazzle (#9300)
    • A profile can now specify how it will appear when it's not focused via the unfocusedAppearance settings.json key (#8392)
      • Supported settings: foreground, background, selectionBackground, cursorColor, cursorShape, cursorHeight, backgroundImage, colorScheme, backgroundImageOpacity, backgroundImageStretchMode, backgroundImageAlignment, experimental.retroTerminalEffect, and experimental.pixelShaderPath

    Please see the following release notes for additional details:

    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.

    We've also backported the following changes and bug fixes from Windows Terminal Preview 1.9.1445.0:

    Changes

    • When you rename a window, we will now acknowledge that we actually did it (#9808)
    • Terminal will now show a more scrutable error message when your starting directory cannot be found (#10045)

    Bug Fixes

    • There was an issue that would result in blank profiles or profiles containing just one setting; it is now fixed (#9964)
      • The only known cause of this issue was editing the settings of a profile the first time you ever launch Terminal
      • If you have profiles named Default in your dropdown, this is probably why.
      • We will now attempt to heal settings files broken by this bug (#10143)
        • If you did have a profile that you actually liked that didn't have a name or a GUID or any settings, it will now be broken.
          • (Why? That's just a Command Prompt profile with no useful identifying information in it...)
    • We've fixed a bunch of instances of the terminal losing focus (#10048) (#10114)
    • We will no longer close a tab on middle-click down (because up is much more reasonable) (#9842) (thanks @Don-Vito)
    • The "close tabs to the right" and "close other" options have finally returned, thanks to some quick out-of-the-box thinking (#9859) (thanks @mpela81)
    • Nested commands will no longer interfere with deleting the > command palette mode character (#10164) (thanks @kovdu)
    • The "new tab" dropdown will no longer go up when it used to go down; we no longer live in topsy turvy-land (#10009) (thanks @mpela81)
    • Terminal will no longer create a new profile with the name "Profile 13" if you're weird enough to add a new profile called "Profile 13" yourself (as an example) (#9816) (thanks @Don-Vito)
    • The window rename action will no longer also pop keys into the terminal (#9809) (thanks @Don-Vito)
    • You can now navigate better using your key bindings in the Settings UI (focus mode, fullscreen, etc.) (#10121)
    • Terminal will no longer let an application emit more than one bell per second (#9812) (thanks @Don-Vito)
      • In other news, a 1-second delay we accidentally introduced before a bell has been resolved (#10133)
    • The command palette will now respect your locale when you do a case-insensitive search (#9943) (thanks @Don-Vito)

    Reliability

    • We should no longer crash on exit nearly as often -- either exiting a shell or the application (#10115) (#10042) (#10031)
    • Typing --tabColor into the command palette now has a 100% reduced chance of crashing (#10096)

    Performance

    • Some of our debug logging was being enabled by accident, so we've restricted its activation further (#10098)
      • This bug caused a significant reduction in rendering throughput!

    WPF Control

    • The WPF control can now have a background that varies from the terminal background (#10026)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.8.1444.0_8wekyb3d8bbwe.msixbundle(26.90 MB)
    Microsoft.WindowsTerminal_1.8.1444.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(26.47 MB)
  • v1.8.1092.0(Apr 19, 2021)

    This version of Windows Terminal exists only to address compatibility issues with the Scoop package manager.

    The only change in this release addresses a crash that was introduced in the 1.7 stable and 1.8 preview releases, encountered when Terminal was run outside of its application package.

    This release is not intended for store installation (though store installation will work.) We will not be releasing this version to the Microsoft Store.

    Bug Fixes

    • We fixed a crash on launch that you would encounter when running terminal unpackaged (#9893)

    As a note: unpackaged activation receives only best-effort support. A package manager that is relying on it is not using a fully-supported activation path for Terminal.

    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.8.1092.0_8wekyb3d8bbwe.msixbundle(26.18 MB)
  • v1.7.1091.0(Apr 19, 2021)

    This version of Windows Terminal exists only to address compatibility issues with the Scoop package manager.

    The only change in this release addresses a crash that was introduced in the 1.7 stable and 1.8 preview releases, encountered when Terminal was run outside of its application package.

    This release is not intended for store installation (though store installation will work.) We will not be releasing this version to the Microsoft Store.

    This release does not come with a preinstallation kit (unlike the prior stable release.)

    Bug Fixes

    • We fixed a crash on launch that you would encounter when running terminal unpackaged (#9893)

    As a note: unpackaged activation receives only best-effort support. A package manager that is relying on it is not using a fully-supported activation path for Terminal.

    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.7.1091.0_8wekyb3d8bbwe.msixbundle(25.52 MB)
  • v1.8.1032.0(Apr 14, 2021)

    Welcome to the early spring (here in the northern hemisphere) preview release of Terminal!

    Features

    • A profile can now specify how it will appear when it's not focused via the unfocusedAppearance settings.json key (#8392)
      • Supported settings: foreground, background, selectionBackground, cursorColor, cursorShape, cursorHeight, backgroundImage, colorScheme, backgroundImageOpacity, backgroundImageStretchMode, backgroundImageAlignment, experimental.retroTerminalEffect, and experimental.pixelShaderPath
    • Windows can now be named for automation and scripting purposes
      • With the -w parameter, as in wt -w razzle and wt -w dazzle (#9300)
      • Via the renameWindow action (parameters: name, string, required), and the openWindowRenamer action (#9662)
      • Windows can be identified with the identifyWindow (or identifyWindows, not bound by default) action (#9523) (#9726)
    • You can now bind MRU-based and in-order tab switching to separate keys (#9507) (thanks @Don-Vito!)
      • For those of you for whom "most recent" Ctrl+Tab is really cool, but who also want Ctrl+Shift+[ to go in the logical direction!
      • Bind prevTab or nextTab with the tabSwitcherMode parameter (enum disabled (no UI), inOrder (tab UI, creation order), mru (tab UI, recency order))
    • We've added a Duplicate Tab item to the tab context menu (#9388) (thanks @Don-Vito!)
      • It works just like the duplicateTab action, which is to say that it works in unexpected ways.
      • Here in 2021, what it means is "duplicate the current terminal as its own tab"
      • We're tracking "duplicate the entire pane tree" in #4674.

    Changes

    • Ctrl+Numpad Plus and Ctrl+Numpad Minus are now bound to the font zoom controls (#9753) (thanks @hessedoneen!)
    • We will no longer warn you about a multi-line paste when the remote application tells us that it understands multi-line pastes (#9586) (thanks @skyline75489!)
    • Shift+Click on a profile in the dropdown will now open it in a new window (#9429)

    Accessibility

    • When navigating and searching the command palette, Terminal will now announce more status changes to Narrator/NVDA (#9582)

    Settings and Settings UI

    • We've decided to remove "base layer" from the Settings UI for its move into the stable channel so that we can nail its design (#9655)
      • Please direct feedback about this into #9539. It's closed, but it's an excellent discussion issue.
    • The vintage cursor height and history size boxes in the UI are now clamped to appropriate ranges (#9370) (thanks @eugenesmlv!)
    • The vintage cursor height is now represented as a slider and has been unlocked to shrink down to 1px (from the old minimum of 25%) (#9386) (thanks @eugenesmlv!)
    • We will now show you a beautiful dropdown for fonts in the Settings UI (#9275)
      • thanks to @kovdu, they'll appear in alphabetical order (#9653)

    Command-line arguments and action bindings

    • Commands new-tab and split-pane have learned the --colorScheme option (#9602)
    • Command split-pane has learned how to duplicate with -D (#9652) (thanks @Don-Vito!)
    • Bindings newTab, splitPane and newWindow have been taught how to handle suppressApplicationTitle (#9392) (thanks @Don-Vito!)

    Bug Fixes

    • You can now interact with hyperlinks when the application is in mouse mode (#9396) (thanks @Don-Vito!)
    • Terminal Stable, Preview and Dev will now use different shell extension IDs (#9510)
      • You may hate this one if you use a bunch of different Terminal installs...
    • scrollToBottom will no longer puzzlingly make the viewport jump to the ... top? That can't be right... (#9389) (thanks @Don-Vito!)
    • In preview 1.7, we broke pixel shader loading. We've now unbroken it. (#9371)
    • The read-only tab dialog no longer treats Escape to mean "please yes, kill the read-only tab" (#9573) (thanks @Don-Vito!)
    • You can now duplicate panes/tabs that have not yet told us their working directory (because we already know which one we started them in...) (#9397) (thanks @Don-Vito!)
    • The settings UI sidebar will no longer appear as floating text over a transparent background (#9752)
    • If you try to (with a key binding) switch to a tab that does not exist, we will no longer send the resulting control sequence into the terminal (#9781) (thanks @Don-Vito!)
    • The arrow keys will no longer dismiss the tab renamer (oops) (#9633) (thanks @Don-Vito!)
    • The tab close menu will no longer circumvent read-only panes (#9571) (thanks @Don-Vito!)
    • We now propagate taskbar progress state in more places, so they should be more reliable (#9779) (thanks @Don-Vito!)

    Reliability

    • The browse buttons will no longer cause a crash when you're running as Administrator (ugh) (#9760)
    • We're going to immediately cease and desist shouting at you about totally valid font names (#9734)
      • Font fallback used to be detected by string comparison, so "JetBrains Mono" and "Jetbrains Mono" were considered to be different...
      • Sometimes we couldn't find Cascadia, even though it's in our package...
      • We did not support localized names for fonts, so we thought that "MS ゴシック" and "MS Gothic" were two different fonts (they are not)
    • We've resolved a resource leak that resulted in Terminal slowing down, down, down over time (#9729)
      • This is @lhecker's first commit since he officially joined the team! Woo!
    • We will finally no longer crash when you display a bunch of wide glyphs and resize like crazy (MSFT !5903250) (#4907)
    • We've fixed a crash in the pattern buffer (thanks Miles O'Brien) (#9618)
    • App package fragments in invalid folders will no longer trip us up (#9477)
    • The shell extension lost 50% of its weight (yay!) (#9552)
    • We've shaved 120kb off OpenConsole.exe (#9581)
    • Terminal will no longer crash if you write weird empty nested commands in your settings.json file (#9495) (thanks @Don-Vito!)

    Selection

    We (well, @Don-Vito) fixed so many issues in selection that we're giving it its own subcategory.

    • Shift + multiple clicks will now work more reasonably (#9403); multi-click selection is now more reliable (#9455); selection start (#9727) and drag (#9790) have been vetted and fixed where appropriate.

    Visual fit and finish

    • The maximize/restore button will now actually display the right tooltip when maximized (#9412) (thanks @Chips1234!)
    • We've fixed the bug where the tab switcher/command palette displayed chevrons and icons in all the wrong places (#9487) (thanks @Don-Vito!)
    • The actions page no longer has a strange gap on the left (#9780) (thanks @Don-Vito!)
    • The settings tab's close menu item looked different from everyone else's; now it does not (#9324)
    • The close button now fades to the correct color (#9763) (thanks @BreeceW!)
    • The tab bar has been given some horizontal breathing room (#9575) (thanks @gabrielconl!)

    Code health and preparatory work

    These are changes we've made to prepare us better for future work.

    • Add a sample outline shader (#9646)
    • dx: add support for inverting all types of cursor (#9665)
    • Introduce MS.Term.Core.Color to replace W.U.Color for Core/Control/TSM (#9658)
    • Update {fmt} to 7.1.3 (#9580)
    • Separate between Close Tab Requested and Tab Closed flows (#9574) (thanks @Don-Vito!)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.8.1032.0_8wekyb3d8bbwe.msixbundle(26.19 MB)
  • v1.7.1033.0(Apr 14, 2021)

    This release brings all of the preview changes in Windows Terminal 1.7 to the stable channel. Notable changes include:

    • Terminal now has a UI that you can use to edit your settings!
      • If you prefer JSON, do not fear! You can, of course, still get at that JSON file you know and love.
    • Opt-in single-instancing and window remote control
      • You can run a command in the current active window with wt -w 0, or in a specific window with wt -w 1 (or 2, 3, ...)
      • NOTE: Even in single instance mode, Terminal windows are isolated based on elevation status or user identity.
    • Profile fragments, which app developers can use to provide additional information to Terminal

    Please see the following release notes for additional details:

    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.

    We've also backported the following changes and bug fixes from Windows Terminal Preview 1.8.1032.0:

    Changes

    Accessibility

    • When navigating and searching the command palette, Terminal will now announce more status changes to Narrator/NVDA (#9582)

    Settings and Settings UI

    • We've chosen to remove "base layer" from the Settings UI for its move into the stable channel so that we can nail its design (#9655)
      • Please direct feedback about this into #9539. It's closed, but it's an excellent discussion issue.
    • The vintage cursor height and history size boxes in the UI are now clamped to appropriate ranges (#9370) (thanks @eugenesmlv!)

    Bug Fixes

    • You can now interact with hyperlinks when the application is in mouse mode (#9396) (thanks @Don-Vito!)
    • Terminal Stable, Preview and Dev will now use different shell extension IDs (#9510)
      • You may hate this one if you use a bunch of different Terminal installs...
    • scrollToBottom will no longer puzzlingly make the viewport jump to the ... top? That can't be right... (#9389) (thanks @Don-Vito!)
    • In preview 1.7, we broke pixel shader loading. We've now unbroken it. (#9371)
    • The read-only tab dialog no longer treats Escape to mean "please yes, kill the read-only tab" (#9573) (thanks @Don-Vito!)
    • You can now duplicate panes/tabs that have not yet told us their working directory (because we already know which one we started them in...) (#9397) (thanks @Don-Vito!)
    • The settings UI sidebar will no longer appear as floating text over a transparent background (#9752)
    • If you try to (with a key binding) switch to a tab that does not exist, we will no longer send the resulting control sequence into the terminal (#9781) (thanks @Don-Vito!)
    • The arrow keys will no longer dismiss the tab renamer (oops) (#9633) (thanks @Don-Vito!)
    • The tab close menu will no longer circumvent read-only panes (#9571) (thanks @Don-Vito!)
    • We now propagate taskbar progress state in more places, so they should be more reliable (#9779) (thanks @Don-Vito!)

    Reliability

    • The browse buttons will no longer cause a crash when you're running as Administrator (ugh) (#9760)
    • We're going to immediately cease and desist shouting at you about totally valid font names (#9734)
      • Font fallback used to be detected by string comparison, so "JetBrains Mono" and "Jetbrains Mono" were considered to be different...
      • Sometimes we couldn't find Cascadia, even though it's in our package...
      • We did not support localized names for fonts, so we thought that "MS ゴシック" and "MS Gothic" were two different fonts (they are not)
    • We've resolved a resource leak that resulted in Terminal slowing down, down, down over time (#9729)
      • This is @lhecker's first commit since he officially joined the team! Woo!
    • We will finally no longer crash when you display a bunch of wide glyphs and resize like crazy (MSFT !5903250) (#4907)
    • We've fixed a crash in the pattern buffer (thanks Miles O'Brien) (#9618)
    • App package fragments in invalid folders will no longer trip us up (#9477)
    • The shell extension lost 50% of its weight (yay!) (#9552)
    • We've shaved 120kb off OpenConsole.exe (#9581)
    • Terminal will no longer crash if you write weird empty nested commands in your settings.json file (#9495) (thanks @Don-Vito!)

    Selection

    We (well, @Don-Vito) fixed so many issues in selection that we're giving it its own subcategory.

    • Shift + multiple clicks will now work more reasonably (#9403); multi-click selection is now more reliable (#9455); selection start (#9727) and drag (#9790) have been vetted and fixed where appropriate.

    Visual fit and finish

    • The maximize/restore button will now actually display the right tooltip when maximized (#9412) (thanks @Chips1234!)
    • We've fixed the bug where the tab switcher/command palette displayed chevrons and icons in all the wrong places (#9487) (thanks @Don-Vito!)
    • The actions page no longer has a strange gap on the left (#9780) (thanks @Don-Vito!)
    • The settings tab's close menu item looked different from everyone else's; now it does not (#9324)
    • The close button now fades to the correct color (#9763) (thanks @BreeceW!)
    • The tab bar has been given some horizontal breathing room (#9575) (thanks @gabrielconl!)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.7.1033.0_8wekyb3d8bbwe.msixbundle(25.52 MB)
    Microsoft.WindowsTerminal_1.7.1033.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(25.08 MB)
  • v1.7.572.0(Mar 1, 2021)

    Features

    • Terminal now supports single-instancing and remote control!
      • You can configure whether new instances of Terminal launch in a new window (#9118)
        • For now, the default is to launch in a new window. Available options include launching in "a new window", "a window on the same desktop", "any existing window", ~"a totally random window"~
          • I regret to inform you that the last option was a joke.
      • The newWindow action (bound to Ctrl+Shift+N by default) will create a new window (#9208)
      • wt can now run commands in any window that already exists with wt -w # (#8898)
        • You can specify wt -w -1 to force the creation of a new window even if you've disabled it with the Windowing Behaviors
        • Specifying a window that does not exist (wt -w 1048576) will result in a new window being created with that ID (!)
      • Windows that are activated through remote control will be pulled to the foreground (#9137)
    • The Settings UI, first released in 1.6 preview, is now the default settings experience (#9224)
      • The settings UI has been disabled in the stable release to give us more time to iterate on it.
    • Terminal now supports focus-follows-mouse mode among panes for that authentic X11 feeling (thanks @Don-Vito!) (#8965) (#9198)
    • You can now mark a pane as read-only—it can't be closed and will warn you if you type into it (thanks @Don-Vito!) (#8867) (#9107)
    • You can now bind the findNext and findPrev actions to move to the previous/next search (respectively) (thanks @Hegunumo!) (#8917)
    • There is a new global setting, centerOnLaunch (boolean, default false) that determines pretty much what it says on the tin (#9036)
    • We now have support for loading profiles and color schemes from auxiliary fragments provided by applications. See the fragment extension documentation for more details! (#7632)

    Changes

    • This version of Terminal comes with Cascadia Code 2102.25, which contains a number of bug fixes to the 2102.03 release.
    • You can now suppress that somewhat annoying "Touch Keyboard and Dialogs That Stop Me From Doing My Job" service warning with the inputServiceWarning global settings (boolean; default true) (thanks @WVVxm!) (#9015)
    • The tab bell icon will now show up even when visual belling is disabled (#9212)
    • The zoom, bell, read-only and progress indicators will now show up in the tab switcher (thanks @Don-Vito!) (#9041) (#9076)
    • A number of keys that did not properly report their Ctrl status now do so (thanks @lhecker!) (#8870)
    • Leonard's fixed Ctrl+Alt+2 to properly send ^[^@ (thanks @lhecker!) (#5272)
    • We've refactored how terminal settings propagate from your profile to a terminal, so please report any issues where your settings are lost/ignored/flicker/etc. (#8602)
    • URLs under the file scheme are no longer considered invalid (#7526)

    Settings UI

    • Overridden settings will now present a "revert" arrow that lets you clear the overriding value (#8919) (#9079)
    • You can now typeahead search in combo boxes (#9206)
    • The color schemes page has received a huge redesign (thanks @Chips1234, @mdtauk, @carlos-zamora!) (#9196)
    • We've added a simple read-only page to the Settings that shows your key bindings (#9253)

    VT Support

    • Terminal now supports "bracketed paste" mode (DECSET 2004) and will filter out all control characters even during non-bracketed ("plebian") paste (thanks @skyline75489!) (#9034)
    • We now support XTPUSHSGR and XTPOPSGR, sequences which will manipulate a 10-deep "SGR stack" (thanks @jazzdelightsme!) (#1978)
      • XTPUSH/POPSGR are intended to allow applications to better coordinate their colors. Instead of resetting to the default colors at the end of a run, an enlightened application can push a "stack frame" before it changes the colors, change them, then pop that frame when it is done.
      • This sequence first became available in xterm-334.
    • You can now "chain" OSC 10, 11 and 12 color changes (thanks @skyline75489!) (#8999)

    Bug Fixes

    • You can now navigate the tab color picker with the directional arrows (thanks @BenConstable9!) (#9144)
    • We will try not to dismiss the selection when you're using a Windows-key shortcut (thanks @imaginary-person!) (#9163)
    • We've ensured that hyperlinks de-underline when the pointer leaves the terminal (thanks @Don-Vito!) (#9195)
    • The arrow keys should work in the tab switcher once more (thanks @Don-Vito!) (#9140)
    • The build system was leaving a stray 600kb file in our package, which we've now removed (making the package smaller!) (#9153)
    • Focus should now return to the terminal after you dismiss the tab rename field (thanks @Don-Vito!) (#9162)

    Accessibility

    • Narrator will no longer repeat the key binding twice when reading the command palette (#9234)
    • Command palette items that open submenus now have an audible "help text" that mentions this fact (#9271)
    • 1.6 preview totally broke the command palette being read by Narrator; that is now fixed! (#9143)
    • 1.6 preview regressed tab headers being read by Narrator; this is also now fixed! (#9258)

    Performance and Reliability

    • We've further reduced the memory usage of the console host backing each terminal tab (#8621)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.7.572.0_8wekyb3d8bbwe.msixbundle(25.64 MB)
  • v1.6.10571.0(Mar 1, 2021)

    This release brings all of the preview changes in Windows Terminal 1.6 to the stable channel. Notable changes include:

    • Experimental support for HLSL pixel shaders
    • Italic text (SGR 3), OSC 9;4 progress reports and OSC 9;9 CWD reports

    Please see the following release notes for additional details:

    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.

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

    Changes

    • 1.6 stable only: The settings UI has been disabled for this stable release so that we can continue to iterate on it.
    • This version of Terminal comes with Cascadia Code 2102.25, which contains a number of bug fixes to the 2102.03 release.
    • The tab bell icon will now show up even when visual belling is disabled (#9212)

    Bug Fixes

    • You can now navigate the tab color picker with the directional arrows (thanks @BenConstable9!) (#9144)
    • We will try not to dismiss the selection when you're using a Windows-key shortcut (thanks @imaginary-person!) (#9163)
    • We've ensured that hyperlinks de-underline when the pointer leaves the terminal (thanks @Don-Vito!) (#9195)
    • The arrow keys should work in the tab switcher once more (thanks @Don-Vito!) (#9140)
    • The build system was leaving a stray 600kb file in our package, which we've now removed (making the package smaller!) (#9153)
    • Focus should now return to the terminal after you dismiss the tab rename field (thanks @Don-Vito!) (#9162)

    Accessibility

    • Narrator will no longer repeat the key binding twice when reading the command palette (#9234)
    • 1.6 preview totally broke the command palette being read by Narrator; that is now fixed! (#9143)
    • 1.6 preview regressed tab headers being read by Narrator; this is also now fixed! (#9258)
    • Command palette items that open submenus now have an audible "help text" that mentions this fact (#9262)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.6.10571.0_8wekyb3d8bbwe.msixbundle(24.72 MB)
    Microsoft.WindowsTerminal_1.6.10571.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(24.20 MB)
  • v1.6.10412.0(Feb 11, 2021)

    This is a quick servicing release to address a number of issues in the 1.6 preview release.

    Changes

    • This version of Windows Terminal comes with Cascadia Code 2102.03, which offers 23 bug fixes, support for new glyphs, control pictures, infinite arrow ligatures and more! (#9088)
    • If you completely delete settings.json while WT is running, it will now generate a new one (#9012)

    Bug Fixes

    • The window titlebar, once a sacred place, will now be updated correctly when terminal titles and tabs change (thanks @sarim!) (#9054)
    • Pixel shaders that rely on the time input will now actually work (thanks @Nacimota!) (#8994)
      • They'll also now update at 60fps (or whatever)! This will almost certainly tank your battery life, but you didn't sign up for pixel shaders because you like batteries (#9091)
    • Right-clicking in the tab renamer should no longer cause it to stop renaming (thanks @Don-Vito!) (#8979)
    • Right-clicking in the command palette should also no longer cause it to stop commanding (or paletting) (thanks @Don-Vito!) (#9057)
    • We now better track the hidden/shown state of the cursor when you're typing to prevent it from being lost forever(*) (thanks @Don-Vito!) (#8952)
      • (*) sometimes it still gets banished to the Land of Lost Things
    • Hyperlinks, which started to underline even with the window out of focus, should now properly de-underline when out of focus (thanks @Don-Vito!) (#9039)
    • We fixed an issue where we mis-parsed OSC 9;9 directories wrapped in double quotes (thanks @skyline75489!) (#8934)
    • You should now be able to use Ctrl+C and Ctrl+V in the command palette even if they're bound in your terminal (thanks @Don-Vito!) (#9056)

    Settings UI (Preview)

    • We've stopped accidentally deleting disabledProfileSources from your settings. Sorry! (#9038)
    • The "Launch Mode" and "Tab Switcher Mode" switches in the settings page now work properly (#8956)
    • Renaming a color scheme in use by the base layer will no longer corrupt all your other color schemes (#9103)

    Reliability and Performance

    • The "Open Windows Terminal Here" shell extension will no longer throw a cryptic error about servers (thanks @hereafter!) (#8977)
    • The terminal should no longer crash if you close a tab while it's printing text [whoops] (thanks @j4james!) (#8982)
    • We've stopped crashing or displaying random errors about a blank pixel shader path (#9092)
    • schemes:[] or schemes:[{}] should no longer cause a crash on launch (#8995)
      • (There were a few scenarios that would cause this, but this is the easiest to write a release note about.)
    • No longer will we crash when you right-click and close a tab containing multiple splits (#9028)
    • We had to disable the "Close..." submenu because of a platform issue that resulted in a crash (#9102)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.6.10412.0_8wekyb3d8bbwe.msixbundle(25.76 MB)
  • v1.5.10411.0(Feb 11, 2021)

    This is a quick servicing release to address a few issues in the 1.5 stable release.

    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.

    Changes

    • This version of Windows Terminal comes with Cascadia Code 2102.03, which offers 23 bug fixes, support for new glyphs, control pictures, infinite arrow ligatures and more! (#9088)
    • If you completely delete settings.json while WT is running, it will now generate a new one (#9012)

    Bug Fixes

    • The window titlebar, once a sacred place, will now be updated correctly when terminal titles and tabs change (thanks @sarim!) (#9054)

    Reliability and Performance

    • The "Open Windows Terminal Here" shell extension will no longer throw a cryptic error about servers (thanks @hereafter!) (#8977)
    • The terminal should no longer crash if you close a tab while it's printing text [whoops] (thanks @j4james!) (#8982)
    • schemes:[] or schemes:[{}] should no longer cause a crash on launch (#8995)
      • (There were a few scenarios that would cause this, but this is the easiest to write a release note about.)
    • We had to disable the "Close..." submenu because of a platform issue that resulted in a crash (#9102)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminal_1.5.10411.0_8wekyb3d8bbwe.msixbundle(22.60 MB)
    Microsoft.WindowsTerminal_1.5.10411.0_8wekyb3d8bbwe.msixbundle_Windows10_PreinstallKit.zip(22.09 MB)
  • v1.6.10272.0(Jan 28, 2021)

    Features

    • IN PREVIEW TODAY: Terminal now has an optional graphical settings editor! Until it's ready for prime time, it's hidden behind a NON-DEFAULT key binding. (#8048)
      • To bind the settings UI to Ctrl+Shift+,, add the following to your keybindings/actions.
    { "command": { "action": "openSettings", "target": "settingsUI" }, "keys": "ctrl+shift+," },
    
      • The settings editor will become the default action for the Settings menu item and key binding in a future release.
      • Follow along at #6800 for completion stats and community feedback!
    • Terminal now supports "Startup Actions" (thanks @Don-Vito!) (#8770)
      • The startupActions settings key can be filled out with a WT commandline execute on launch.
      • That commandline will be run if no arguments are provided to WT.
      • You can use this to start with multiple tabs, multiple panes, or any combination of the above.
      • Examples:
        • Start with multiple tabs: "startupActions": "new-tab; new-tab"
        • Start with multiple panes: "startupActions": "split-pane -p PowerShell ; split-pane -p Ubuntu"
    • Terminal 1.6 has gained experimental support for HLSL pixel shaders (thanks @mrange!) (#8565)
      • For a profile, set "experimental.pixelShaderPath" to the path to an hlsl file.
      • There are some shader examples in the samples/PixelShaders directory of our repository.
      • Like the experimental "retro terminal effects" flag, using pixel shaders has a nonzero performance cost.
      • For the price of lower performance, you can have sick visual effects.
    • We've gained support for application progress reports on OSC 9;4 (originally offered by ConEmu) (#8055)
      • Application-reported progress will be displayed in the taskbar and a new progress ring displayed in the tab (#8133)
    • Terminal has gained two new visual bell features (available when bellStyle is set to audible or all):
      • ... flashing the taskbar (#8215)
      • ... displaying a small bell icon in the tab until you interact with it (#8637)
    • The italic graphic rendition (SGR 3) is now supported (thanks @j4james!) (#8580)
      • Fonts that do not offer an italic variant will be digitally enhanced, like the bicentennial man (though with admittedly less sentience)
    • Terminal has learned a new cursor style: double underscore (thanks @rhorber!) (#7827)
    • @Hegunumo taught us the scrollToTop and scrollToBottom key binding actions (#8459)
      • By default, they are bound to Ctrl+Shift+Home and Ctrl+Shift+End (respectively.)
    • The moveFocus pane move action has gained a new power: the ability to move to the last-used pane (#8183)
      • This is achieved by setting "direction": "previous".
    • Tabs can now be moved left/right with the keyboard with action binding moveTab (thanks @Don-Vito!) (#8338)
      • moveTab accepts a direction argument (enum "forward", "backward")
      • This action is not bound by default.
    • We now support ConEmu's OSC 9;9 ("set current working directory"), which a shell can use to communicate its current location (thanks @skyline75489!) (#8330)
      • When you duplicate a tab or pane with a known working directory, the new terminal will start in that directory.
    • You can now specify a tab color for each new tab or pane on the commandline with --tabColor #rrggbb (thanks @Don-Vito!) (#8102)
    • For those of you hacking on Terminal, we've added a new breakIntoDebugger action (not bound by default) (#8498)
      • breakIntoDebugger only works when debugFeatures are enabled.
      • If you activate this action and no debugger is present, Terminal will exit. I don't recommend doing that.

    Changes

    • Our annoying "keyboard/handwriting service" dialog is now a slightly less annoying info bar (#8524)
    • We're finally on Microsoft.UI.Xaml 2.5.0, not a prerelease! (#8500)
    • When you paste multiple lines, we'll give you a preview before making you decide to continue/cancel (#8744)
    • Hyperlinks will now reveal themselves on hover even when the window isn't focused (thanks @Hegunumo!) (#8615)
    • The "Open Windows Terminal here" menu item will now (finally!) show up inside directories (thanks @hereafter!) (#8638)
      • There was a Windows bug preventing this from working properly, but @hereafter stepped up with a VERY CLEVER workaround.
    • Manually-renamed tabs can no longer have names >1024 chars in length (thanks @Don-Vito!) (#8433)
      • This prevents an issue where the tab renaming field would get cut off on the top/bottom (?) while renaming.
      • If you want one of these, you are free to e-mail me a 1024-word essay on why you need a tab title this long.
        • I will ignore it, but you are still free to do so.
    • You can now drag/drop more types of things on Terminal: files, links, weird VS Code tab items (?) (thanks @skyline75489!) (#8461)
      • This also fixes a crash in drag/drop caused by those weird VS code tab items
    • No longer will your mouse cursor hang around while you're typing (thanks @Don-Vito!) (#8629)
    • The tooltip that appears when you hover over a tab now displays a switching keyboard shortcut (thanks @Don-Vito!) (#8810)
      • ... and the profile name! (thanks @Don-Vito, again!) (#8883)
    • wt has learned move-focus, which lets you change pane focus while building a commandline (#8546)
    • splitPane and wt split-pane have grown support for "size" (float 0.0 - 1.0) and --size respectively (#8543)
    • Shift+click now supports single-character selection so that you can set your selection endpoints separately (thanks @Don-Vito!) (#8611)
    • When most-recently-used tab switching is enabled, closing a tab will move you to the previously-used tab (thanks @Don-Vito!) (#8610)
    • Block copy (Alt + copy) will now try harder to preserve the spacing characteristics of the copied region (thanks @Don-Vito!) (#8579)
    • We'll now give a more accurate error message when we can't handle a bad mixed-type field in your settings (thanks @Don-Vito!) (#8558)
    • In focus mode, closing a tab will no longer result in an unusable terminal (thanks @Don-Vito!) (#8549)
    • We've updated the iconography in the menus to better match its purpose (thanks @Hegunumo!) (#8424)
    • Starting a search with text selected will now copy that text into the search field (thanks @Don-Vito!) (#8521)
    • Non-existent color schemes will no longer be silently ignored in color scheme-changing actions (thanks @MPela!) (#8147)
    • We will now warn you when you select an invalid font instead of silently using Consolas (#8207)
      • You'd be surprised at how many reports we got from confused users who thought their flashy new fonts were simply boring.
    • The command palette, in commandline mode, will now parse and validate commands you've typed and display recent commands (thanks @Don-Vito!) (#8515) (#8317)
    • The command palette now supports "launchMode", which can be set to "action" or "commandLine" (thanks @Don-Vito!) (#8382)
    • The command palette now treats Home and End more predictable (thanks @Hegunumo!) (#8194)
    • Some setting fields that used to tolerate null no longer do so (#8175)
    • We now respond to DECID (thanks @j4james!) (#8864)

    Bug Fixes

    General

    • Terminal now tries harder to scroll tabs into view when you navigate (thanks @Don-Vito!) (#8832)
    • Right-click paste now clears any active selection (thanks @Don-Vito!) (#8742)
    • Pastes containing \n are now properly normalized to \r (#8634)
    • The buttons in the title bar have been cajoled into being the right colors when the app theme doesn't match the system theme (thanks @satken2!) (#8649)
    • The initialRows/initialCols settings should work more reliably in the presence of padding (thanks @Hegunumo!) (#8584)
      • (Are we bad at math? You'd never be able to tell after this pull request!)
    • Commandline arguments to wt that conflict with wt new-tab should now be detected properly (thanks @Don-Vito!) (#8315)
    • The tab close button now matches the tab text when you override the tab color (whoops) (thank #dcheatha!) (#8209)
    • There were apparently still ways to make the terminal window too small. NO LONGER! (thanks @Don-Vito!) (#8066)
    • The profile menu and command palette will now prefer your shortcut keys over the inbuilt ones (thanks @Don-Vito!) (#8725)
    • @Don-Vito contributed an absolute heap of fixes for tab switching, the command palette, etc. (#8653) (#8655) (#8609)

    Performance

    • We've greatly reduced the number of transient allocations the console host (and therefore Terminal) do when printing large amounts of text (#8617)
    • We've done likewise for text buffer initialization, startup, attribute storage, and the default conhost steady state (thanks @Austin-Lamb!) (#8489)

    Command Palette

    • @Don-Vito did a whole heap of work to make the command palette better:
      • Cleaned up the ownership of tab switching/search (#8656)
      • Cleaned up the ownership of commandlines and tabs (#8420)
      • Removed action dispatch from the command palette to make it more reusable (#8628)
      • Made the palette dismiss on focus change, action dispatch, etc. so it doesn't stay on screen (#8377)
      • Made sort case-insensitive (#8432)

    VT

    • It turns out that we had the modifier key encodings wrong for VT mouse mode for, like, four years. Now they're right (#8379)

    Reliability

    • Terminal no longer leaks pty process handles when you close tabs (thanks to @vefatica for discovering this!) (#8707)
    • There was a race condition in pane animation that broke pane sizes. The race has been cancelled (thanks @Don-Vito!) (#8241)
    • There was also an access violation in animated pane closure, which has also been cancelled (thanks @Don-Vito!) (#8218)
    • We will no longer leak a smal lamount of memory while parsing VT (#8618)
    • Some command palette/tab switcher navigation crashes have been fixed (thanks @Don-Vito!) (#8422)
    • @j4james fixed an out-of-bounds exceptions in Set...{Buffer,Screen}Size (thanks!) (#8309)
    • "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience."

    Behind the scenes

    These are other changes that should not impact your experience.

    • We've begun some infrastructural work for "remoting" (one Terminal instance controlling another) (#8607)
    • A number of conhost bugs have been fixed, which will be available with the next version of Windows
      • Bug in color selection + DBCS characters (thanks @j4james!) (#8577)
      • Rendering issue with DBCS characters that are scrolled horizontally offscreen (thanks @j4james!) (#8438)
      • Issue with horizontal viewport offset + application-mediated scrolling (thanks @j4james!) (#8434)
    • @PokeCodec (thanks!) fixed up some annoying code health issues, like our include paths using \ instead of / (#8205)
    • @rhorber put a little love into the close tab warning dialog to streamline its implementation (thanks!) (#8117)
    • We've lifted some of the common logic out of the tab header to make it more reusable (#8227)
      • @Hegunumo fixed a tooltip issue that fell out of this change (#8298)

    WPF Control

    • The WPF control now better validates its size during resize operations (#8792)
    Source code(tar.gz)
    Source code(zip)
    Microsoft.WindowsTerminalPreview_1.6.10272.0_8wekyb3d8bbwe.msixbundle(25.68 MB)
Owner
Microsoft
Open source projects and samples from Microsoft
Microsoft
Spitfire is a basic terminal language that can exicute code via the terminal.

Spitfire is a basic terminal language that can exicute code via the terminal. It is easy to learn and runs fast, considering that its just a 300 line c++ file.

jhomas tefferson 0 Nov 18, 2021
Free open-source modern C++17 / C++20 framework to create console, forms (GUI like WinForms) and unit test applications on Microsoft Windows, Apple macOS and Linux.

xtd Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applicat

Gammasoft 292 May 14, 2022
EAMain provides a multi-platform entry point used for platforms that don't support console output, return codes and command-line arguments.

EAMain provides a multi-platform entry point used for platforms that don't support console output, return codes and command-line arguments.

Electronic Arts 29 Dec 27, 2021
FastReport.Cloud console tool for Linux and perhaps some other OSes

FastReport Cloud console shell This is a simple console shell to FastReport Cloud service. Prerequests GNU packages for build shell: curl-development

Aleksey Mandrykin 2 Feb 10, 2022
Run commands with hidden console.

Minimal run This is a tiny C program for running Windows commands with a hidden console. It's suitable for use in Windows shortcuts, i.e. lnk files. I

Tavis Ormandy 19 Apr 10, 2022
cpp-progressbar is a small console program I wrote in c++. 3 themes are available

cpp-progressbar cpp-progressbar is a small console program I wrote in c++. 3 themes are available (this program only works on linux) Instalation Downl

Zielino 2 Sep 12, 2021
A C++ console tool to tracker baby actions.

BabyTracker This is a C++ console tool to tracker baby actions. Currently it supports adding Sleep Sessions Breast Feed Sessions Bottle Feed Sessions

YuchenPersonal 1 Oct 17, 2021
Terminal calculator made for programmers working with multiple number representations, sizes, and overall close to the bits

Programmer calculator The programmer calculator is a simple terminal tool designed to give maximum efficiency and flexibility to the programmer workin

romes 164 May 8, 2022
A C, C++ and Rust library to draw graphics with pixels in the terminal

A library to draw graphics with pixels in the terminal Who needs a GUI when you have a terminal ? Building To generate libpluto.a, run: $ make To ins

null 67 Apr 9, 2022
timg - Terminal Image and Video Viewer

timg - Terminal Image and Video Viewer

Henner Zeller 1.2k May 15, 2022
Small header only C++ library for writing multiplatform terminal applications

Terminal Terminal is small header only library for writing terminal applications. It works on Linux, macOS and Windows (in the native cmd.exe console)

Jupyter Xeus 198 May 14, 2022
:computer: C++ Functional Terminal User Interface. :heart:

FTXUI Functional Terminal (X) User interface A simple C++ library for terminal based user interface. Demo: Feature Functional style. Inspired by [1] a

Arthur Sonzogni 3k May 12, 2022
A little UNIX-inspired terminal application for the Numworks Calculator (not using escher).

L.E. Terminal (let for short) is a little UNIX-inspired terminal for the Numworks Calculator.

Cacahuète Sans Sel 18 Apr 27, 2022
Draw sequence diagram in text from terminal.

sequence-diagram-cli Draw seqence diagram from terminal.

null 42 Feb 28, 2022
X terminal emulator rendering through OpenGL ES Compute Shaders

Zutty is a terminal emulator for the X Window System, functionally similar to several other X terminal emulators such as xterm, rxvt and countless others

Tom Szilagyi 207 May 12, 2022
n³ The unorthodox terminal file manager

n³ The unorthodox terminal file manager

Mischievous Meerkat 14.1k May 17, 2022
Graphs the activity of a chia harvester in a linux terminal.

Chia Harvest Graph Monitor for Chia Harvesting Introduction The chiaharvestgraph tool will graph Chia Harvesting activity in a linux terminal. Use a 2

Bram Stolk 219 May 2, 2022
a simple to use linux terminal

a simple to use linux terminal

notaweeb 7 Feb 17, 2022
Collection of human friendly terminal interface for git.

A collection of human friendly terminal user interface for git.

Arthur Sonzogni 60 May 5, 2022