Skip to content

Windows Terminal Preview v1.13.10336.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@DHowett DHowett released this 03 Feb 18:01
· 1598 commits to main since this release

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)