Skip to content
TheBinaryShadowPublic
forked from rprichard/winpty

About

WinPTY-derived user-mode console backend for Windows, focused on fidelity, reliability, and future VT7 integration. Inspired by ConPTY.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

625 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VT7Pty

A modern WinPTY-derived console backend for Windows 7 and later, built for VT7.

VT7Pty is a user-mode PTY project whose goal is to improve the fidelity and reliability of Windows console applications and prepare a better backend for VT7.

Our foundation is WinPTY, created by Ryan Prichard and developed with its contributors. Microsoft's ConPTY and Windows Terminal work provides architectural inspiration and a reference for modern terminal behavior. We are building on years of engineering by both communities.

Project status

Milestone 0 is complete. The first baseline, VT7Pty 0.5.0, is published. It established the WinPTY baseline, modern VS2022/MSBuild and C++20 native foundation, VT7Pty identity, diagnostic and security boundaries, permanent test system, and manual release process. The exact 0.5.0 package passed three-tier release acceptance: all 30 cases and the full 120-minute soak on each accepted Windows 7 SP1 x64 machine, including a PowerShell 2.0 installation without KB3191566. The publication record verifies the published tag and assets. Each future release build must pass its own exact-package Windows 7 acceptance before publication. See the compatibility contract for the tested scope.

The development foundation and roadmap record the approved product and engineering direction. The diagnostic collection guide and native boundary review define the Step 0.7 support and security baseline.

Milestone 0 replaced the inherited toolchain, removed the Unix adapter and pre-Windows 7 compatibility, established the VT7Pty 0.5.x identity, modernized the retained C++ code, and created the permanent local build, test, diagnostic, and manual release systems.

Milestone 1 is next: measure and improve application-facing fidelity against a defined corpus. The VT7-facing API and standalone integration host follow in Milestone 2, then a versioned handoff in Milestone 3. No VT7 integration or ConPTY compatibility is claimed by the 0.5.0 release.

The Cygwin/MSYS adapter and superseded GYP, GNU Make, Python 2 packaging, and hosted-build infrastructure have been removed. Active binaries, headers, exports, environment variables, named endpoints, diagnostics, and tests use the VT7Pty identity. The technical naming map records every intentional compatibility break.

VT7Pty targets x64 Windows 7 SP1 and later. Windows XP, Windows Vista, and x86 are outside the maintained product. Historical WinPTY support claims and release notes describe upstream behavior; they are not acceptance results for future VT7Pty builds. Milestone and release candidates are validated on non-ESU, ESU, and PowerShell 2.0 Windows 7 SP1 x64 machines, with the recorded machine-environment dispositions in the validation evidence.

What we are working toward

  • More faithful console output, keyboard input, Unicode handling, resizing, and screen restoration.
  • Predictable process and session lifetimes, clean teardown, and useful diagnostics.
  • A modern Visual Studio/MSBuild and C++20 codebase with reproducible local build, verification, packaging, and physical Windows 7 acceptance.
  • A documented API that makes eventual VT7 integration straightforward, using ConPTY conventions where they fit the legacy-console backend.

VT7 is the primary intended consumer. Compatibility for other consumers, including a possible ConPTY user-mode shim, is a later objective. VT7Pty does not currently provide a drop-in ConPTY replacement. A kernel driver is not part of the project direction.

How the current backend works

The client library starts an agent that owns a hidden Windows console. The agent launches console applications, translates terminal input into Windows console events, and turns observed screen-buffer changes into VT output.

Terminal host
    |
    | VT7Pty C API
    v
Client DLL <---- control and I/O ----> Agent
                                      |
                                      v
                               Hidden Windows console
                                      |
                                      v
                               Console applications

This preserves the legacy-console foundation that makes WinPTY useful on Windows 7. Backend improvements will be guided by reproducible application failures and tests, with proven behavior retained where it meets our needs.

Building and exploring

See Building for the supported local build, verify, and package commands. The original WinPTY README is preserved for historical build, adapter, embedding, and debugging details.

Useful starting points:

Contributing and community

Read Contributing before opening a pull request. Report ordinary bugs and discuss proposals in the VT7Pty issue tracker.

The Code of Conduct applies to project spaces. For vulnerabilities, use the private reporting instructions in our Security Policy.

Credits and license

Thank you to Ryan Prichard and the WinPTY contributors for the legacy console bridge on which this project is based, and to Microsoft's Console, ConPTY, and Windows Terminal teams and community contributors for the work that informs its future direction. See Credits for acknowledgements and the distinction between inherited code and design references.

VT7Pty is distributed under the MIT License. Original copyright notices and upstream history are retained. VT7Pty is an independent project and is not an official Microsoft product or an upstream WinPTY release.

About

WinPTY-derived user-mode console backend for Windows, focused on fidelity, reliability, and future VT7 integration. Inspired by ConPTY.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages