Releases: ZelAnton/ProcessKit-rs
Releases · ZelAnton/ProcessKit-rs
Release list
v2.3.0
Added
- Add hermetic tests for pump oversized-line skip/guard paths, mark equivalent mutants
- Add scoped retry controller for mutants shard runner reclaims
- Add auto-retry controller for mutants-shard runner reclaims
Changed
- Consolidate one-shot-stdin predicate on Command::effective_stdin_source
- Pin surviving mutation-test boundaries in error.rs redaction/truncation
- Pin surviving capacity-boundary mutants in pump.rs with boundary tests
- Pin surviving capacity-boundary mutants in buffer.rs with boundary tests
- Initialize integration workspace for batch B-20260716T110651Z
- Pin surviving capacity-boundary mutants in buffer.rs with boundary tests
- Pin surviving capacity-boundary mutants in pump.rs with boundary tests
- Pin surviving mutation-test boundaries in error.rs redaction/truncation
- Consolidate one-shot-stdin predicate on Command::effective_stdin_source
- Align record_oversized_line with discarding-contract of SharedLines::push
- Initialize integration workspace for batch B-20260716T223538Z
- Align record_oversized_line with the discarding contract of SharedLines::push
- Substitute resolved path for non-.exe PATHEXT bare-name matches on Windows
- Route DryRunRunner stdin validation through take_stdin_for_run
- Reject invalid stdin configs in DryRunRunner via take_stdin_for_run
- Substitute resolved path for non-.exe PATHEXT bare-name matches on Windows
- Mirror stdin_inherit into Command::effective_stdin_source
- Initialize integration workspace for batch B-20260717T012348Z
- Mirror stdin_inherit into Command::effective_stdin_source
- Gate mutants CI on missed.txt content instead of cargo-mutants exit code
- Validate outcome files before tolerating exit codes 2/3, enforce generous timeouts
- Replace timing-based mutant proofs with deterministic assertions
- ci(deps): bump actions/deploy-pages from 4 to 5 (#15)
- ci(deps): bump actions/cache from 4 to 6
- ci(deps): bump actions/upload-artifact from 4 to 7
- ci(deps): bump actions/upload-pages-artifact from 3 to 5
- Initialize integration workspace for batch B-20260717T123847Z (re-anchored on updated main)
- Close remaining MISSED mutants in pump.rs/buffer.rs mutation scope
- Gate mutants CI on MISSED only, tolerate TIMEOUT
- Start integration branch for batch B-20260718T103516Z
Fixed
- Fix outdated Pipeline crate-doc: per-stage sub-groups, not one shared group
- Fix outdated Pipeline crate-doc: per-stage sub-groups, not one shared group
v2.2.5
Added
- Add Command::effective_stdin_source to unify what stdin the child gets
Changed
- Deduplicate FNV-1a hashing behind cassette match keys
- Consolidate line-handler panic isolation into a shared helper
- Deduplicate /proc//stat starttime parsing into sys::procfs
- Align rustdoc for stdout_lines/wait_for/wait_for_port with actual retention
- Only treat backslash as a path separator in is_bare_name on Windows
- Only treat backslash as a path separator in is_bare_name on Unix
- Align rustdoc for stdout_lines/wait_for/wait_for_port with actual retention
- Deduplicate /proc//stat starttime parsing into sys::procfs
- Consolidate line-handler panic isolation into a shared helper
- Deduplicate FNV-1a hashing behind cassette match keys
- Unify effective stdin source across command, doubles, and cassette
v2.2.4
Added
- Spawn-free program resolution (a doctor / preflight check): the crate-level
Command::inherit_stdin()— give the child the parent's own standard input- CI now runs the real-subprocess test suite inside a real Alpine/musl
- CI now also runs the
testandclippymatrices on a nativeubuntu-24.04-arm
v2.2.3
Changed
- Settle the trap before signalling in matching_identity_group_is_kept_and_signalled
v2.2.2
Fixed
- Close a re-arm race between a non-escalating
ProcessGroup::shutdown/
v2.2.1
Changed
- Unhide and reformat doctest boilerplate in GitHub-facing docs
Fixed
- Fix factual errors in documentation
v2.2.0
Added
Command::prefer_local(dir)— a directory to probe before the systemProcessStdin::send_control(char)— validates and writes a single control
Fixed
Prioritydocs — the Unix privilege caveat ("loweringnicebelow its- Windows
ProcessGroup::{suspend, resume}no longer risk freezing an unrelated wait_for/wait_for_portnow background-drain the child's piped
v2.1.1
Added
Error::{spawn, not_found, stdin}— the remaining#[doc(hidden)]insulated
v2.1.0
Added
Command::timeout_opt(Option<Duration>)— a composable timeout verb forCommand::retry_never()— an explicit per-command opt-out of a clientError::stdout_bytes() -> Option<&[u8]>— the exact captured stdout bytesLimitKind/LimitReason(limitsfeature) — classify animpl IntoCommand<R> for &[S; N]— a reference to a fixed-size argumentCommand::priority(Priority)/Priority— launch a child at a lower (orCommand::umask(u32)— set the child's file-mode creation maskLineTerminator(Newline/CarriageReturn) plustesting::DryRunRunner— aProcessRunnerdouble that never spawns: ittesting::Reply::with_stderr(text)— attach stderr to a scripted reply,Supervisor::give_up_when(classifier)/GiveUpAttempt/- Cassette (
recordfeature) now records a failed invocation too: an
Changed
- Breaking: the data-carrying struct variants of
Error—Exit,Timeout, - Breaking:
Error::Exit,Error::Timeout, andError::Signalledeach gain - Breaking:
Error::ResourceLimit { message: String }(limitsfeature) is - Breaking: an API-consistency batch —
- Breaking: the 1.1.0-deprecated forwarding aliases are removed: fix
- Breaking:
RunProfile::exit_code(the field) is removed — it duplicated - Breaking: the flat crate-root re-exports of two
0.xdependencies' - Breaking:
output_bytesnow honors theOutputBufferPolicybyte RecordReplayRunner(recordfeature) no longer matches oncwd: a
Fixed
ScriptedRunner's bulk verbs (output_stringand the helpers over it) nowRecordingRunner::output_bytesno longer falls through to the trait's- Pipeline stages now each spawn into their own kill-on-drop
- A pipeline's checked stage failure now tears the rest of the chain down
- A bare
finish()(no precedingstdout_lines()) no longer pumps stdout - A shared-group streaming deadline watchdog's final
SIGKILLno longer
v1.3.0
Added
Command::timeout_opt(Option<Duration>)— a composable timeout verb forCommand::retry_never()— an explicit per-command opt-out of a clientError::stdout_bytes() -> Option<&[u8]>— the exact captured stdout bytesLimitKind/LimitReason(limitsfeature) — classify an
Changed
- Breaking: the data-carrying struct variants of
Error—Exit,Timeout, - Breaking:
Error::Exit,Error::Timeout, andError::Signalledeach gain - Breaking:
Error::ResourceLimit { message: String }(limitsfeature) is - Breaking: an API-consistency batch —
- Breaking: the 1.1.0-deprecated forwarding aliases are removed: fix
- Breaking:
RunProfile::exit_code(the field) is removed — it duplicated - Breaking: the flat crate-root re-exports of two
0.xdependencies' - Breaking:
output_bytesnow honors theOutputBufferPolicybyte RecordReplayRunner(recordfeature) no longer matches oncwd: a
Fixed
ScriptedRunner's bulk verbs (output_stringand the helpers over it) now