diff --git a/CHANGELOG.md b/CHANGELOG.md index 472d059d..e9d6fc8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 4.10.15 — ConPTY sidecar console-host tracking + +- Tracks `OpenConsole.exe` alongside `conhost.exe` when assigning ConPTY hosts + to kill-on-close Jobs and scanning for orphaned hosts. Orphan reports retain + the actual host image name (zackees/clud#1367). + ## 4.10.14 — Windows owner-death containment under nested Jobs - Gives each `kill_when_owner_dies` child its own kill-on-close Job. A single diff --git a/Cargo.lock b/Cargo.lock index 764f69f6..3ab4dce4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2060,7 +2060,7 @@ dependencies = [ [[package]] name = "running-process" -version = "4.10.14" +version = "4.10.15" dependencies = [ "anyhow", "blake3", @@ -2098,7 +2098,7 @@ dependencies = [ [[package]] name = "running-process-platform-internal" -version = "4.10.14" +version = "4.10.15" dependencies = [ "blake3", "dirs", @@ -2127,7 +2127,7 @@ dependencies = [ [[package]] name = "running-process-probe" -version = "4.10.14" +version = "4.10.15" dependencies = [ "blake3", "crash-handler", @@ -2150,7 +2150,7 @@ dependencies = [ [[package]] name = "running-process-probe-daemon" -version = "4.10.14" +version = "4.10.15" dependencies = [ "axum", "blake3", @@ -2184,21 +2184,21 @@ dependencies = [ [[package]] name = "running-process-probe-interposer-linux" -version = "4.10.14" +version = "4.10.15" dependencies = [ "libc", ] [[package]] name = "running-process-probe-interposer-macos" -version = "4.10.14" +version = "4.10.15" dependencies = [ "libc", ] [[package]] name = "running-process-probe-interposer-windows" -version = "4.10.14" +version = "4.10.15" dependencies = [ "retour", "windows-sys 0.61.2", @@ -2206,7 +2206,7 @@ dependencies = [ [[package]] name = "running-process-probe-worker" -version = "4.10.14" +version = "4.10.15" dependencies = [ "addr2line", "lzma-rs", @@ -2224,7 +2224,7 @@ dependencies = [ [[package]] name = "running-process-protocol" -version = "4.10.14" +version = "4.10.15" dependencies = [ "prost", "prost-build", @@ -2234,7 +2234,7 @@ dependencies = [ [[package]] name = "running-process-py" -version = "4.10.14" +version = "4.10.15" dependencies = [ "libc", "prost", @@ -2250,7 +2250,7 @@ dependencies = [ [[package]] name = "running-process-win-gnu-bridge" -version = "4.10.14" +version = "4.10.15" dependencies = [ "windows-sys 0.61.2", ] diff --git a/Cargo.toml b/Cargo.toml index 60656934..8d0b1990 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ members = [ exclude = ["testbins-tokio"] [workspace.package] -version = "4.10.14" +version = "4.10.15" edition = "2021" rust-version = "1.95" license = "BSD-3-Clause" diff --git a/crates/running-process-platform-internal/Cargo.toml b/crates/running-process-platform-internal/Cargo.toml index 6ba64619..edf9a7d4 100644 --- a/crates/running-process-platform-internal/Cargo.toml +++ b/crates/running-process-platform-internal/Cargo.toml @@ -45,7 +45,7 @@ conpty-sidecar = [ [dependencies] prost = { version = "0.14", optional = true } -running-process-protocol = { version = "=4.10.14", path = "../running-process-protocol", optional = true } +running-process-protocol = { version = "=4.10.15", path = "../running-process-protocol", optional = true } tokio = { version = "1", default-features = false, features = ["io-util", "macros", "process", "rt"], optional = true } sysinfo = { version = "0.30", optional = true } interprocess = { version = "2", optional = true } diff --git a/crates/running-process-probe-daemon/Cargo.toml b/crates/running-process-probe-daemon/Cargo.toml index e4bffe1b..acf13040 100644 --- a/crates/running-process-probe-daemon/Cargo.toml +++ b/crates/running-process-probe-daemon/Cargo.toml @@ -24,11 +24,11 @@ path = "src/bin/rpprobe.rs" # Broker primitives reused as libraries: framing codec, peer-cred/owner-only # ACL, privilege refusal, SID hashing, private-dir hardening. The probe daemon # is NOT a broker backend — it borrows the plumbing, not the wire. -running-process = { path = "../running-process", version = "4.10.14", default-features = false, features = [ +running-process = { path = "../running-process", version = "4.10.15", default-features = false, features = [ "client", ] } # probe_diag.v1 schema (S1 / #630). -running-process-probe = { path = "../running-process-probe", version = "4.10.14" } +running-process-probe = { path = "../running-process-probe", version = "4.10.15" } interprocess = "2" prost = "0.14" diff --git a/crates/running-process-py/Cargo.toml b/crates/running-process-py/Cargo.toml index 219c887b..08e8c901 100644 --- a/crates/running-process-py/Cargo.toml +++ b/crates/running-process-py/Cargo.toml @@ -20,7 +20,7 @@ crate-type = ["cdylib", "lib"] libc = "0.2" pyo3 = { workspace = true } regex = "1" -running-process = { path = "../running-process", version = "4.10.14", features = ["async-process", "client", "originator-scan", "probe", "pty"] } +running-process = { path = "../running-process", version = "4.10.15", features = ["async-process", "client", "originator-scan", "probe", "pty"] } pyo3-async-runtimes = { version = "0.29", features = ["tokio-runtime"] } tokio = { version = "1", default-features = false, features = ["sync"] } sysinfo = "0.30" @@ -29,4 +29,4 @@ prost = "0.14" # Supplies the probe_diag.v1 prost enums and the all-thread snapshot API. # default-features = false keeps the crate's injection vehicles (gated on its # embed-helper feature) out of the extension module entirely. -running-process-probe = { path = "../running-process-probe", version = "4.10.14", default-features = false } +running-process-probe = { path = "../running-process-probe", version = "4.10.15", default-features = false } diff --git a/crates/running-process/Cargo.toml b/crates/running-process/Cargo.toml index 6c42c4f1..76d3eb1c 100644 --- a/crates/running-process/Cargo.toml +++ b/crates/running-process/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "running-process" -version = "4.10.14" +version = "4.10.15" edition = "2021" rust-version = "1.95" license = "BSD-3-Clause" @@ -260,14 +260,14 @@ sha2 = { version = "0.10", optional = true } getrandom = { version = "0.4", optional = true } # #633: schema-only dependency for the probe client facade. default-features # off keeps the interposer/injection machinery out — see the `probe` feature. -running-process-probe = { path = "../running-process-probe", version = "4.10.14", default-features = false, optional = true } -running-process-protocol = { path = "../running-process-protocol", version = "4.10.14", optional = true } +running-process-probe = { path = "../running-process-probe", version = "4.10.15", default-features = false, optional = true } +running-process-protocol = { path = "../running-process-protocol", version = "4.10.15", optional = true } # Preserve the long-standing `process_tree::kill_tree` path for 4.x # `default-features = false` consumers. The current Phase 0.5 containment # primitive is sysinfo-backed, so the root selects this narrow private # platform capability unconditionally while keeping public inspection APIs # behind `process-inspection`. Other platform capabilities stay opt-in. -running-process-platform-internal = { path = "../running-process-platform-internal", version = "4.10.14", default-features = false, features = ["process-inspection"] } +running-process-platform-internal = { path = "../running-process-platform-internal", version = "4.10.15", default-features = false, features = ["process-inspection"] } # Wave 5 of #165: daemon-feature deps. All optional. # tokio: `client-async` (#414) only needs the `rt` (spawn_blocking) # and `time` (`tokio::time::timeout`) features; the `daemon` feature diff --git a/pyproject.toml b/pyproject.toml index 7c87e128..f4082e5e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "soldr" [project] name = "running_process" -version = "4.10.14" +version = "4.10.15" description = "A Rust-backed subprocess wrapper with split stdout/stderr streaming" readme = "README.md" requires-python = ">=3.10" diff --git a/src/running_process/__init__.py b/src/running_process/__init__.py index cbb176f1..a063725d 100644 --- a/src/running_process/__init__.py +++ b/src/running_process/__init__.py @@ -1,6 +1,6 @@ from __future__ import annotations -__version__ = "4.10.14" +__version__ = "4.10.15" # Imported first: turns a free-threaded interpreter loading the GIL-runtime # extension into an ImportError instead of a segfault (#1142). diff --git a/uv.lock b/uv.lock index 59e1bba9..747cf9f2 100644 --- a/uv.lock +++ b/uv.lock @@ -272,7 +272,7 @@ wheels = [ [[package]] name = "running-process" -version = "4.10.14" +version = "4.10.15" source = { editable = "." } [package.dev-dependencies]