From b9c2d024d92ae1df99ac289143c8f87a540121c3 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Tue, 1 Sep 2026 12:55:44 +0700 Subject: [PATCH] chore(release): irtt-client 0.5.1, irtt-rs 0.7.0 irtt-client exposes a synchronous wait for managed target-set updates and keeps its packaged test dependency resolvable from crates.io. irtt-rs adds stdin-managed desired target sets and per-target HMAC configuration. --- CHANGELOG.md | 17 +++++++++++++++++ Cargo.lock | 4 ++-- Cargo.toml | 2 +- crates/irtt-app/Cargo.toml | 2 +- crates/irtt-client/Cargo.toml | 6 ++++-- 5 files changed, 25 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e571baa..3e4d86c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,12 @@ release. The format is loosely based on ## irtt-client +### 0.5.1 + +#### Added + +- `ManagedCommandReceipt::blocking_wait()` lets synchronous callers wait for a managed target-set update to be applied or rejected without entering an async runtime. + ### 0.5.0 #### Added @@ -102,6 +108,17 @@ release. The format is loosely based on ## irtt-rs +### 0.7.0 + +#### Added + +- Client target arguments now support per-target HMAC configuration: append `@hmac=KEY` to override the global `--hmac` value for that target, or use `@hmac=` to explicitly disable HMAC for it. The target syntax supports context-aware escaping for literal delimiters. +- Continuous client runs can now take complete desired target sets from standard input with `--targets-stdin`. Each non-empty record atomically replaces the current set, `[]` selects an empty set, and EOF requests a graceful stop. The controller retains only the newest unapplied record under transient replacement backpressure, with explicit bounds on record size, desired targets, and live target generations. + +#### Changed + +- A peer-initiated close is now target-local in stdin-controlled continuous runs: the controller and other desired targets keep running, and a later desired set can start that target again. + ### 0.6.2 #### Added diff --git a/Cargo.lock b/Cargo.lock index c4dc759..5e89a6d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -715,7 +715,7 @@ dependencies = [ [[package]] name = "irtt-client" -version = "0.5.0" +version = "0.5.1" dependencies = [ "irtt-proto", "irtt-server", @@ -749,7 +749,7 @@ dependencies = [ [[package]] name = "irtt-rs" -version = "0.6.2" +version = "0.7.0" dependencies = [ "clap", "crossterm", diff --git a/Cargo.toml b/Cargo.toml index 346d014..09de1d5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ homepage = "https://github.com/Lochnair/irtt-rs" [workspace.dependencies] irtt-proto = { version = "0.5.0", path = "crates/irtt-proto" } -irtt-client = { version = "0.5.0", path = "crates/irtt-client" } +irtt-client = { version = "0.5.1", path = "crates/irtt-client" } irtt-server = { version = "0.5.2", path = "crates/irtt-server" } irtt-stats = { version = "0.5.0", path = "crates/irtt-stats" } diff --git a/crates/irtt-app/Cargo.toml b/crates/irtt-app/Cargo.toml index cf605f2..2c56b4e 100644 --- a/crates/irtt-app/Cargo.toml +++ b/crates/irtt-app/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "irtt-rs" -version = "0.6.2" +version = "0.7.0" description = "IRTT-compatible client, TUI, and server applications" edition.workspace = true license.workspace = true diff --git a/crates/irtt-client/Cargo.toml b/crates/irtt-client/Cargo.toml index a01740f..9f29b7e 100644 --- a/crates/irtt-client/Cargo.toml +++ b/crates/irtt-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "irtt-client" -version = "0.5.0" +version = "0.5.1" description = "IRTT-compatible Rust client library" edition.workspace = true license.workspace = true @@ -44,6 +44,8 @@ required-features = ["tokio"] doc-scrape-examples = true [dev-dependencies] -irtt-server.workspace = true +# Keep the packaged client testable against the latest published server while +# workspace tests continue to exercise the local source through this path. +irtt-server = { version = "0.5.1", path = "../irtt-server" } proptest = "1.11.0" tokio = { version = "1.53.1", default-features = false, features = ["rt", "sync"] }