Summary
Merge upstream changes to the Windows Terminal and conhost codebases, including console API I/O refactoring, TSF integration, synchronized output support, wrapped-line selection, build configuration updates, resource management policy refinements, and ServicingPipeline scripting enhancements.
New Features:
- Integrate TSF support into HwndTerminal via a new TsfDataProvider implementation.
- Add DECSET synchronized output (2026) support in RenderSettings, AdaptDispatch, and Renderer.
- Extend PowerShell ServicingPipeline script with a ServicingCard model and item categorization for cherry-picking.
- Enable triple-click selection to expand across wrapped lines in TerminalSelection.
- Introduce cell width and height percentage settings in TermControl.
- Add GroupPolicy asset classification to Draft-TerminalReleases script.
Bug Fixes:
- Correct SGR mouse sequence generation to use button release semantics instead of press.
Enhancements:
- Refactor console I/O API waiting logic to use CONSOLE_API_MSG and simplify DoWriteConsole signature.
- Revise ImageSlice erasure logic to handle multi-line erasures and signal deletion when fully cleared.
- Clean up BaseWindow template by removing pure virtual destructors and using static_cast for event callbacks.
- Update GitHub resource management policy descriptions for stale/triage labeling and auto-closing rules.
- Adjust vcpkg paths, defines, and linker inputs (ext-ms-win-imm-l1.lib, ntdll.lib, syscolors) in project and sources.inc.
Build:
- Include ntdll.lib, ext-ms-win-imm-l1.lib, and syscolors in linker inputs; remove obsolete fmt header-only define.
- Update project.inc to align vcpkg include paths and CRT defines.
Tests:
- Adapt host and VT I/O unit tests to the new API signatures and wait handling.
- Add unit test for wrapped-line triple-click selection behavior in SelectionTest.
Chores:
- Expand Draft-TerminalReleases script with GroupPolicy asset handling and adjust version parsing.
Summary 2
Refactor console I/O to use a unified wait message protocol, integrate TSF and synchronized output support, enhance selection and release scripting, and update build and CI configurations
New Features:
- Integrate TSF support into HwndTerminal via a new IDataProvider and TSF handle
- Add DECSET 2026 synchronized output mode support in RenderSettings, Renderer, and dispatch logic
- Enable triple-click selection expansion across wrapped lines in TerminalSelection
- Add configurable cell width and height percentage settings in TermControl
- Introduce ServicingCard model and item categorization in ServicingPipeline script for cherry-picking
- Classify GroupPolicy assets in Draft-TerminalReleases script and add pipeline packaging step for GPO templates
Bug Fixes:
- Correct SGR mouse sequences to report button release instead of press
Enhancements:
- Refactor console I/O API signatures and waiting logic to use CONSOLE_API_MSG and simplify IApiRoutines
- Improve ImageSlice erasure logic to handle multi-line ranges and signal deletion of empty slices
- Clean up BaseWindow and IslandWindow templates by removing pure virtual destructors and using static_cast for callbacks
- Revise GitHub resource management policy descriptions in .github/policies
- Adjust vcpkg include paths, CRT defines, and linker inputs in project and sources files
Build:
- Update build scripts to remove fmt header-only define and add ntdll.lib, ext-ms-win-imm-l1.lib, and syscolors libraries
- Add pipeline step to package GroupPolicyTemplates zip
CI:
- Refine resource management workflow in .github/policies to update issue and PR auto-labeling and closure rules
Tests:
- Adapt host and VT I/O unit tests to new API signatures and wait handling
- Add unit test for wrapped-line triple-click selection behavior
Chores:
- Enhance Draft-TerminalReleases script with GroupPolicy asset handling and version parsing improvements