Windows Terminal Preview v1.19.2682.0
It's finally here: Windows Terminal Preview 1.19! We've been heads-down, working on a new input buffer, new output buffer, shell suggestions, and a bunch of other stuff that we're excited to finally release.
Buckle up! This release might be a little more Preview than you've come to expect . . . but that's the fun of the preview channel!
Why are there so many packages? How do I choose?
Please visit our page documenting the different Windows Terminal Distributions!
Features
- We've added support for a new opt-in and shell-driven suggestions UI ( #14938) ( #15848)
- The protocol for suggestions is not finalized, and will change before final release.
- You can find more information on the Experimental Shell Completion Menu wiki page
- Suggestions can take into account...
- The search box will now display a count of found results, and--if scrollbar marks are enabled--display graphical indicators for every match ( #14045) (thanks @Don-Vito and @zadjii-msft!)
- You can now enable broadcast mode via the Command Palette, which will broadcast input to all panes in a tab ( #14393) ( #15993)
- You can now launch a profile via
wt
and keep its built-in command line with the--appendCommandLine
flag ( #15822) (thanks @hanpuliu-charles!)
- For example, if your PowerShell profile specifies
pwsh.exe
, you can runwt --appendCommandLine -p PowerShell -- -Command echo Hello
, which will runpwsh.exe -Command echo Hello
. That's a lot of dashes. Wow.- You can now search the web with your selected text via... ( #15539) (thanks @mpela81!)
- ...the experimental right-click context menu!
- ...the
searchWeb
action!
- You can customize each action to launch any search engine by specifying the
queryUrl
.%s
will be replaced with your query.- You can customize the default search engine for both of these by specifying the global setting
searchWebDefaultQueryUrl
.%s
will be replaced with your query.- If you have shell integration enabled, you can enable using the mouse to reposition the text cursor ( #15758)
{profile}
.experimental.repositionCursorWithMouse
(the dot is part of the name, sorry) (boolean, defaultfalse
)Theming and Scheming
- You can now set the window border color on Windows 11 via the
{theme}.window.frame
and{theme}.window.unfocusedFrame
color entries ( #15441)
- For more fun, you can set
{theme}.window
'sexperimental.rainbowFrame
totrue
- You can now (finally!) enable support for using the acrylic material in an unfocused window ( #15923) ( #15944) (thanks @Jaswir!)
- Set
useAcrylic
totrue
in{profile}.unfocusedAppearance
- You can turn unfocused acrylic off globally with the global setting
compatibility.enableUnfocusedAcrylic
(boolean, defaultfalse
)- Themes can now indicate whether tab icons should be shown in color or monochrome or hidden entirely ( #15948) (thanks @bundgaard!)
- Set
{theme}.tab.iconStyle
(enumdefault
,hidden
,monochrome
; defaultdefault
(default))Changes
wt -- foo
will once again inherit the environment from its parent ( #15897)
- You can customize this behavior with
wt --inheritEnvironment
orwt --reloadEnvironment
on a per-tab/per-pane basis.- You can also override this behavior with the profile setting
{profile}.compatibility.reloadEnvironmentVariables
(boolean, defaulttrue
)- We have rewritten "cooked read", the input line used by Command Prompt, Python, and a whole host of other applications ( #15930) ( #15780) ( #15782) ( #15783) ( #15880)
- This includes changes to command history, popups (F7 and the like), and how input is echoed to the display.
- This may have a wide-ranging impact, so please file any unexpected input issues in Win32 applications!
- Input event record handling has been rewritten to support wide encodings like UTF-8, to be more maintainable, and to be much simpler to read ( #15671) ( #15606) ( #15605) ( #15611) ( #15673) ( #15672)
- Console applications can now more reliably print characters composed of surrogate pairs (aka "We've been trying to reach you about your WriteCharsLegacy's extended Emoji support") ( #15567)
- We've added an action that opens the about dialog (
openAbout
) ( #15990)- conhost will now ignore key events with an invalid virtual keycode and a scan code of 0 (such as those emitted by strange software keyboards) ( #15753) (thanks @tusharsnx!)
- We will no longer generate
WINDOW_BUFFER_SIZE_EVENT
when the viewport moves, confusing applications that translate it into a destructive operation ( #15935)- You can now configure any
copy
action to dismiss or keep the selection after it runs (dismissSelection
, boolean, defaulttrue
) ( #15552) (thanks @gonzalo-garcian!)- The text buffer has been reorganized to be (1) faster (2) smaller (3) harder, better, etc.
- Rows are initialized lazily in chunks of 128 or so; we no longer spend memory on blank space you'll never see ( #15524) ( #15582)
- Reading, writing, initialization, etc. has been cleaned up and vectorized ( #15501) ( #15498) with fast passes and other optimizations ( #15499) ( #15879) ( #15541) ( #15497)
- We've rewritten resize with reflow so it's like a billion times faster and more correct ( #15701)
- If you see any issues when resizing (other than "bash prints the prompt 600 times every frame" (that's apparently just how bash works)), please file them!
- We no longer load the Settings editor library on launch, saving you tens of kilobytes of memory ( #15628) ( #15631)
- We will now display an indicator in the tab of any disconnected/closed/crashed application. You can right-click the tab to restart it! ( #15760) (thanks @mpela81!)
- You can now run profiles as Admin from the new tab menu by right-clicking them ( #15679) (thanks @jamespack!)
- The profile preview in settings now shows you what a "powerline" font will look like when one is selected ( #15365)
- We actually did fix the homoglyph thing this time; hovering a URL that is pretending to be someone else through funny characters will see right through it ( #15488)
- You can now right-click a tab and move it to a new window ( #15376) (thanks @Jaswir!)
- All text search now uses ICU, and is like blazing fast. URL detection, Search, everything is covered! ( #15858) ( #15998) ( #15892)
- For those of you debugging Terminal/the console with ETW, you can now group all API calls by originating process ( #15737)
- Also for debugging purposes, you can now add the
debugTerminalCwd
action to display a pop-up with Terminal's current "virtual" working directory ( #15282)- If you are using Preview, Canary or Dev we will now set an appropriate JSON
$schema
so you can auto-complete new settings ( #15856)VT
- We now support Erase Color Mode (DECECM) ( #15469) (thanks @j4james!)
- The horizontal scrolling sequences
DECIC
,DECDC
,DECBI
andDECFI
finally work! ( #15368) (thanks @j4james!)- @tusharsnx put a lot of work into making ITU T.416 color sequences work! He...
- We will now pass through kitty's underline color (
58:...
) and style (4:...
) sequences (we won't render them yet! but maybe soon! ) ( #15795) (thanks @tusharsnx!)Bug Fixes
Accessibility
- We've added automation property names to the 'Delete Color Scheme' button ( #15994)
- The key chord indicator in the command palette now has a background color ( #15677) (thanks @RickleAndMortimer!)
- Settings now groups elements in their containers for screen readers ( #15756)
- Screen reader users can now determine which color scheme is the current default ( #15486)
- Default Terminal and Color Scheme ComboBoxes no longer crop at 200% text scale ( #15762)
- Screen readers will now announce successful pane and tab moves ( #15771)
VT and terminal emulation
- Hard Reset (
RIS
) no longer disables Win32 input mode or focus event mode for pty clients (like Terminal) ( #15476) (thanks @j4james!)- We no longer log traces or telemetry about aggregated VT sequence use ( #15494) (thanks @j4james!)
- We started to do this in ~2016 or so when we were trying to figure out what VT sequences applications were using. We're way beyond needing that now!
- The Terminal will now enter mouse mode immediately when a Win32 console app enables it (among other output flushing changes! If you see any flickering in modern VT applications, let us know!) ( #15991)
- Scrollbar marks will now be cleared by
clear
(and friends) ( #15686)Usability and UI
- We will no longer reload the settings as often when various OS knobs and switches change ( #16004)
- The tab right-click menu now remembers which terminal pane was active when it was invoked... ( #15999)
- You can once again restart the first pane in a split with Enter after it exits ( #16001)
- All actions now remember which pane originated them, so things like "export text" and "Move tab to new window" and "Duplicate" no longer summon one of the Old Ones ( #15773)
- The about dialog no longer tells you that you've got an update available to the same version you already have ( #15378)
- When the tab close button is disabled, it will no longer randomly reappear to taunt you ( #15914)
- Duplicated tabs now consider the existing configuration option for where to put tabs ( #15972) (thanks @codecruisedor!)
- The launch parameters (position, size) now properly support negative numbers ( #15941) (thanks @codecruisedor!)
New Rendering Engine
- We no longer leave cursors all over the place ( #15904)
- Fonts like JetBrains Mono that render their ligatures in reverse now appear in the right colors ( #15810)
- We no longer invalidate more of the screen than we need to ( #15929)
- It now works properly on Windows versions earlier than 10.0.14393.0 ( #15485)
- Font features and axes work once again! ( #15912)
- We no longer crash when trying to render to a 0x0 surface ( #15615)
- DRCS soft fonts that are invalid (or have disappeared, or were never enabled) no longer crash the Terminal ( #15889)
- Both rendering engines have been prepared for horizontal scrolling (???) ( #15707)
Performance
- Having thousands of scrollbar marks no longer causes thousands of dropped frames ( #16006)
- conhost: the GDI engine has reduced input latency ( #15608)
Reliability
- We no longer use the modern clipboard API, opting instead to use the much more reliable (and faster!) Win32 one ( #15360)
- We've refined the locking around a bunch of internal terminal control operations ( #15894)
- One infinite loop (async, so it never hung anything) has been stomped out ( #15335)
- Any active dialogs will be closed during close to avoid crashing during close ( #15387)
- We will no longer crash when checking for updates without a network ( #16002)
- If you're the one person who marks
HKCU\Console
as read-only, we won't crash during save for you ( #15916)- Actions with an empty
keys
array no longer cause unexpected kinetic disassembly ( #16003)- Duplicating
elevate: true
tabs has been fixed to not blast terminal off into space ( #15548)- The backing console no longer hangs when resizing while scrolling ( #15618)
- Instead of leaking memory for each window on Windows 10, we'll cache old windows and recycle them as needed ( #15424)
- We introduced the leak to fix a crash in closing windows on Windows 10; this allows us to still leak the window but still be able to reclaim them.
Schema
- No longer is there a multiple schema conflict on "colorScheme" ( #15748) (thanks @brandondong!)
Miscellaneous
- We've merged the WPF control's code into the UWP control's DLL ( #15992)
- This is the first step on the road to merging their functionality, too!
- The WPF control now delay-loads UIAutomationCore.dll because it's incomplete in Windows RS1 ( #15614)
[2] With additional thanks to @floh96, @daverayment, @ushuz, and @LitoMore for documentation updates and @tusharsnx,
[2] @Jvr2022, @Dan-Albrecht, @ebarnabas644, @jamespack for build system, project config, and compiler compatibility fixes.Release Windows Terminal Preview v1.19.2682.0 · microsoft/terminal
A new preview release of Windows Terminal is now available.