Repository navigation
v3.1.1
- Pin the ConPTY NuGet package to 1.25.260930003 rather than resolving
latestat build time, so an upstream ConPTY release can no longer change
what the wheels contain without a pywinpty release. - Require winpty-rs 1.0.7, which fixes three user-facing bugs: a teardown
deadlock against ConPTY 1.25 that made closing a PTY hang and left the child
process orphaned, the loss of the first argument on the WinPTY backend, and
PTY.write()returning 0 for payloads the child received in full. - Correction, 2026/10/28. These notes originally claimed that large ConPTY
output was no longer truncated after the child exits, and that such output
now reaches EOF. Both halves were wrong and nothing in 3.1.1 changed either.
The truncation reported in
#565 is
cpython#86210, where an
unbuffered_textiowrapper_writeflushignores a partial write and silently
drops the remainder - a producer-side CPython bug, not a pywinpty one. The
measurement behind the original claim used a buffered producer writing
line-sized chunks, so it never exercised the reported condition. EOF
detection was also still broken on the ConPTY backend in 3.1.1:
PTY.iseof()could never returnTrue. That half is fixed in 3.1.2 by
winpty-rs 1.0.8; the CPython bug remains upstream. - Stop publishing the vendored NuGet CPython inside the source distribution.
The 3.0.5 and 3.1.0 sdists were ~16.2 MB because thepythonarm64NuGet
install landed in the same checkout thatmaturin sdistarchives, and
twine checknever inspects archive contents. The sdist is back to ~30 KB
and a content check now gates the upload.
Issues Closed
In this release 1 issue was closed.
Pull Requests Merged
- PR 591 - Require winpty-rs 1.0.7, by @andfoy (518)
- PR 590 - Pin the ConPTY NuGet version, by @andfoy
In this release 2 pull requests were closed.