Highlights
- Eliminate data loss on child exit (#120): event-driven teardown with grace period replaces the CPU-spinning
CancelIoExloop inPTYProcess::Drop. The reader now drains naturally when modern ConPTY closes the output pipe, withCancelIoExas a bounded fallback. No more lost output when the child exits quickly. - Fix infinite Drop loop (#119 by @XY0797):
reader_ready/spinlock_cloneare now stored unconditionally in the reader thread, so Drop never spins forever when the process handle isn't received. Also adds drop-duration tests for both backends. - Fix
get_error_message(#113 by @chmxy1213): previously always returned"Success"even for real errors. - Build for Windows target on non-Windows hosts (#111 by @chmxy1213).
- windows-bindgen 0.66 (#122): pinned with
--no-depsso generated bindings keep resolvingNTSTATUStowindows::Win32::Foundation::NTSTATUS. Sidesteps the unreleasedwindows-corelayout that bindgen 0.66 expects. - CI caching (#123): caches cargo, grcov, and the conda env. Warm-cache runs drop from ~4m → ~2m (stable) and ~7m → ~3-4m (nightly).
Plus dependabot bumps: codecov-action 5→7 (#118), setup-miniconda 3→4 (#115), setup-nuget 3→4 (#114).
See CHANGELOG.md for the full list. 9 PRs in this release.
The windows_release.yml workflow will publish to crates.io automatically.