NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1528 most downloaded on crates.io
a library for running child processes
Last release 1 months ago
03 Sep 2026
Release timing varies
gaps range from 3 weeks to 1.8 years
Some releases are documented
notes for 11 of 29 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
29 releases · first in 2016
Document the pre-existing panic in wait_timeout if Instant::now() + timeout overflows.
Changes since 1.1.1:
wait_timeout ifInstant::now() + timeout overflows.Duct now uses a global Mutex to prevent pipe inheritance bugs caused by the lack of pipe2 on macOS. (The Python version of Duct relies on close_fds=Tr
Changes since 1.1.0:
Mutex to prevent pipe inheritance bugs causedpipe2 on macOS. (The Python version of Duct relies onclose_fds=True instead, but the Rust standard library has noOne column per quarter.
Added the Handle::wait_timeout and Handle::wait_deadline methods. These are gated by the timeout feature, which is enabled by default. Windows support
Changes since 1.0.0:
Handle::wait_timeout and Handle::wait_deadline methods.timeout feature, which is enabled by default.SIGCHLD.The API is stabilized as-is, and most callers won't need to make any changes.
Changes since 0.13.7:
Handle::try_wait could block indefinitely if astdin_bytes, stdout_capture, or stderr_capture). Commit 04c2c8c.Handle now does lazy cleanup of leaked zombie children. If a childHandle is dropped, that child getssubprocessReaderHandle contains a Handle internally and does theHandle::kill andReaderHandle::kill no longer wait on child processes to exit. ThisSIGKILL could still block indefinitely..kill(). Previously Duct would kill childReaderHandle, or in rare pipe spawningAvoid unnecessarily dup'ing standard file descriptors. This unbreaks some use cases where those descriptors might not exist at all, like Windows servi
Changes since 0.13.6:
Changes since 0.13.5: Dependency updates only.
Changes since 0.13.5:
Changes since 0.13.4: Doc changes only.
Changes since 0.13.4:
The duct_sh crate is now versioned in lockstep with duct .
Changes since 0.13.3:
duct_sh crate is now versioned in lockstep with duct.Added Handle::pids and ReaderHandle::pids.
Changes since 0.13.2:
Debug output for Expression is more concise.
Changes since 0.13.1:
ReaderHandle::try_wait.Expression is more concise.ReaderHandle now supports kill().
Changes since 0.13.0:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →