← All reportsPublic report

microsoft/terminal

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

105k stars C++ View on GitHubprofiled 11d ago
Try GitZoid
25PRs this week
13Contributors
0Deps scanned
0Issues found
01 · Repo overview

How terminal is put together

This is the Microsoft Windows Terminal / OpenConsole repository, a Windows-native terminal emulator and console host written primarily in C++ with C++/WinRT and XAML for the UI layer. The visible index covers repo-root build orchestration: an MSBuild-based solution (OpenConsole.slnx) with shared Directory.Build.props/targets, common pre/post build property sheets under src/, and a vcpkg-based C++ dependency manager. Supporting infrastructure includes Azure DevOps YAML pipelines (CI, fuzzing, PGO, release/one-branch nightlies) under build/pipelines/, PowerShell developer tooling under tools/, vendored open-source headers under oss/, and conhost/console driver interop protocol headers under dep/Console/. Data flow is typical of a terminal app: a terminal UI front-end exchanges console API messages (conmsg levels 1-3, ConIoSrv) with a console host backend over defined wire protocols declared in dep/Console/.

Languages

C++C#PowerShellXAML

Frameworks

MSBuildC++/WinRTWindows App SDK / XAML (implied by XamlStyler.json and wap project props)Windows Driver/Console APIs (dep/Console protocol headers)

Infrastructure

Azure DevOps Pipelines (build/pipelines/*.yml)1ES PT templates (1espt-nightly.yml)Microsoft-hosted release signing via ESRP configs (build/config/esrp.build.batch.*.json)Helix test harness (build/Helix/)PGO build database (build/pgo/)winget VS configuration (.config/configuration.winget)Group Policy ADMX (policies/WindowsTerminal.admx)Microsoft Store submission packaging (build/StoreSubmission/)

Major components

OpenConsole / conhost core (src/, dep/Console/)

The console host and terminal engine whose interop wire protocol (conapi.h, conmsgl1-l3.h, ConIoSrv.h, condrv.h) is shared via headers in dep/Console/.

Shared build system (Directory.Build.props/.targets, src/common.build.*.props, common.openconsole.props)

Centralizes compiler settings, C++/WinRT integration (cppwinrt.build.pre/post.props), unit-test props, and NuGet version management for all projects.

Feature staging (src/features.xml, tools/Generate-FeatureStagingHeader.ps1, build/rules/GenerateFeatureFlags.proj)

Declares experimental features in XML and generates staged feature-flag headers at build time.

CI/CD pipelines (build/pipelines/ including ci.yml, fuzz.yml, pgo.yml, ob-release.yml, 1espt-nightly.yml)

Defines Azure DevOps builds, fuzzing runs, PGO training, localization submissions, and signed release builds.

Developer tooling (tools/ including razzle.cmd, bcz.cmd, bx.ps1, OpenConsole.psm1, runut/runft/runuia cmdlets)

PowerShell/cmd wrapper scripts for building, running unit/functional/UIA tests, debugging, and generating code from JSON/XML sources.

Vendored third-party code (oss/ - chromium, interval_tree, pcg, stb, wyhash, xorg_apps_rgb)

Pinned external header-only libraries tracked via cgmanifest.json for upstream attribution.

Test infrastructure (build/Helix/, src/unit.tests.*.runsettings, src/common.build.tests.props, dep/WinAppDriver/)

Helix-based distributed test execution helpers plus UI automation testing via bundled WinAppDriver binaries.

Policy & localization (policies/WindowsTerminal.admx, build/config/LocConfig.xml, daily-loc-submission.yml, tools/ConvertTo-PseudoLocalization.ps1)

Group Policy template definitions and localization string management/submission workflows.

Over the past five weeks the Windows Terminal team has focused on improving keyboard and text-input reliability (especially for East Asian input methods), hardening ConPTY's startup and communication behavior, and modernizing internal code. A notable theme is preparation for per-window settings, including porting reusable settings UI components. Housekeeping work like compiler cleanups, tooling updates, and localization refreshes rounds out each week.

Week by week

2026-08-24This week centered on refreshing the settings screen with a new card-based design plus routine compiler-warning cleanup.latest2 changes

Feature

New settings cards

The settings interface now uses redesigned 'card' components that can expand to show more options, giving it a cleaner look.

Chore

Compiler warning cleanup

Removed some no-longer-needed instructions that told the compiler to ignore certain warnings, keeping the codebase tidy.

2026-08-17A quieter week with targeted fixes to internal reporting tools and performance testing.2 changes

Fix

Keyboard reporting fixes

Corrected two issues in how the keyboard layer reports events internally.

Chore

Performance test fixes

Repaired automated tests that measure program performance so they run correctly again.

2026-08-10A busy week of robustness work: security hardening enabled everywhere, smoother handling of Chinese input methods, and small visual polish.6 changes

Refactor

Per-window settings groundwork

Internal changes were made to prepare for letting each terminal window have its own settings.

Fix

Chinese IME visual fix

Fixed stray visual glitches that appeared when typing with the QQ Wubi Chinese input method.

Fix

Spelling checker workaround

Added a workaround for a bug in the automated spelling-checking tool used by the project.

Chore

Security hardening in all builds

Enabled extra memory-safety protections in every version of the app, including early 'canary' builds.

Refactor

Faster ConPTY startup

Terminal sessions started through automation now launch faster because the app no longer waits for an optional handshake at startup.

Refactor

Removed new-tab animation

Removed the little animation when opening a new tab to simplify the code.

2026-08-03ConPTY reliability was the focus, with timeouts added so embedded terminals can't hang forever, alongside dependency updates and keyboard fixes.5 changes

Feature

Startup timeout for embedded terminals

If another app embeds a terminal session and something stalls, the connection now times out after five seconds instead of hanging.

Chore

Toolchain requirement cleanup

Removed an old compatibility setting that's no longer needed since the build requires the newest Visual Studio.

Chore

Updated bundled package manager

Bumped the version of the package-management tooling the project bundles.

Fix

No more pointless retries

Stopped retrying a status check when the host application on the other end never responds.

Fix

Key auto-repeat fix

Fixed a problem where holding down a key didn't produce the expected repeated keystrokes.

2026-07-27A broad week covering keyboard encoding fixes for international users, groundwork for saving window layouts, and general code hygiene.6 changes

Fix

Keyboard encoding fixes

Resolved several issues with how special keystrokes are encoded so international layouts behave correctly.

Docs

Settings schema additions

Added a new saved setting option ('persistedLayoutAndContent') with documentation describing what it does.

Refactor

Untangled includes

Cleaned up circular file dependencies in the settings code to make maintenance easier.

Chore

Localization updates

Refreshed translated text for supported languages from the latest localization batch.

Fix

Composition timing fix

Fixed an issue where finishing a text composition (like pinyin input) delivered characters out of order.

Refactor

Code style improvements

Applied a standard C++ idiom for initializing settings values directly where they're declared.

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required