From e28160ebb30ebd0229553bc66b28a92515b9dff1 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Wed, 8 Jul 2026 14:16:42 +0200 Subject: [PATCH] chore(release): bump workspace version to 0.8.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Release 0.8.4 — reconnect reliability and streaming polish over 0.8.3. The headline fix: a reconnect to a saved host that had stopped advertising on mDNS (but still had a learned Wake-on-LAN MAC) was routed into a wait-for-mDNS wake flow instead of being dialed — so a host reached over a routed network (Tailscale/VPN/another subnet) could never be reconnected, reading as "Offline" with no connection attempt in the host log. All four full clients now dial first and only fall into the visible "Waking…" wait when the dial actually fails. On the host side, the same investigation surfaced Windows-only gaps: a deliberate quit (⌘D) now tears the pf-vdisplay virtual monitor down immediately (no 10 s linger churning the reconnect's REMOVE→ADD), while keep_alive=forever (the gaming-rig preset) correctly outranks the quit on both platforms so a pinned screen stays alive. Silent deaths are no longer invisible: a panic hook tees panics into the web console's Logs, a Windows SEH filter names the faulting module on a native GPU-driver crash, and a watchdog flags a wedged monitor teardown. Also in this release: the presenter switches to MAILBOX present, pushes HDR10 mastering metadata, and tags HDR honestly; DualSense rumble accepts the v2 vibration valid-flag and bounds a stale buzz; the core caps the QUIC datagram send buffer so audio/rumble go latest-wins; the host folds a Steam Deck to a DualSense on Windows (split-pad touch + pad clicks) and applies input motion on arrival rather than after the 4 ms tick; Android gains a tiered stats HUD with windowed lost/skipped/FEC counters; and Windows surfaces a Help/shortcuts screen and exits fullscreen when the stream stops. The [workspace.package] version (inherited by every crate via version.workspace) is the release being cut; the 14 workspace entries in Cargo.lock and the api/openapi.json info.version are refreshed to match (CI builds --locked). Canary derives from the tag as minor+1 of the latest stable (scripts/ci/pf-version.sh), so cutting 0.8.4 keeps canary at 0.9.0. Co-Authored-By: Claude Opus 4.8 --- Cargo.lock | 28 ++++++++++++++-------------- Cargo.toml | 2 +- api/openapi.json | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 69e1be4c..f1b51183 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2154,7 +2154,7 @@ dependencies = [ [[package]] name = "latency-probe" -version = "0.8.3" +version = "0.8.4" [[package]] name = "lazy_static" @@ -2286,7 +2286,7 @@ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" [[package]] name = "loss-harness" -version = "0.8.3" +version = "0.8.4" dependencies = [ "punktfunk-core", ] @@ -2767,7 +2767,7 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pf-client-core" -version = "0.8.3" +version = "0.8.4" dependencies = [ "anyhow", "async-channel", @@ -2787,7 +2787,7 @@ dependencies = [ [[package]] name = "pf-console-ui" -version = "0.8.3" +version = "0.8.4" dependencies = [ "anyhow", "ash", @@ -2807,7 +2807,7 @@ dependencies = [ [[package]] name = "pf-ffvk" -version = "0.8.3" +version = "0.8.4" dependencies = [ "ash", "bindgen", @@ -2816,7 +2816,7 @@ dependencies = [ [[package]] name = "pf-presenter" -version = "0.8.3" +version = "0.8.4" dependencies = [ "anyhow", "ash", @@ -2999,7 +2999,7 @@ dependencies = [ [[package]] name = "punktfunk-client-android" -version = "0.8.3" +version = "0.8.4" dependencies = [ "android_logger", "jni", @@ -3014,7 +3014,7 @@ dependencies = [ [[package]] name = "punktfunk-client-linux" -version = "0.8.3" +version = "0.8.4" dependencies = [ "anyhow", "async-channel", @@ -3030,7 +3030,7 @@ dependencies = [ [[package]] name = "punktfunk-client-session" -version = "0.8.3" +version = "0.8.4" dependencies = [ "anyhow", "pf-client-core", @@ -3044,7 +3044,7 @@ dependencies = [ [[package]] name = "punktfunk-client-windows" -version = "0.8.3" +version = "0.8.4" dependencies = [ "anyhow", "async-channel", @@ -3067,7 +3067,7 @@ dependencies = [ [[package]] name = "punktfunk-core" -version = "0.8.3" +version = "0.8.4" dependencies = [ "aes-gcm", "bytes", @@ -3098,7 +3098,7 @@ dependencies = [ [[package]] name = "punktfunk-host" -version = "0.8.3" +version = "0.8.4" dependencies = [ "aes", "aes-gcm", @@ -3170,7 +3170,7 @@ dependencies = [ [[package]] name = "punktfunk-probe" -version = "0.8.3" +version = "0.8.4" dependencies = [ "anyhow", "mdns-sd", @@ -3184,7 +3184,7 @@ dependencies = [ [[package]] name = "punktfunk-tray" -version = "0.8.3" +version = "0.8.4" dependencies = [ "anyhow", "ksni", diff --git a/Cargo.toml b/Cargo.toml index 5c5b0c43..f09110a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ members = [ exclude = ["packaging/linux/steam-deck-gadget/usbip-poc"] [workspace.package] -version = "0.8.3" +version = "0.8.4" edition = "2021" rust-version = "1.82" license = "MIT OR Apache-2.0" diff --git a/api/openapi.json b/api/openapi.json index a3cf13ec..f0dc69da 100644 --- a/api/openapi.json +++ b/api/openapi.json @@ -10,7 +10,7 @@ "name": "MIT OR Apache-2.0", "identifier": "MIT OR Apache-2.0" }, - "version": "0.8.3" + "version": "0.8.4" }, "paths": { "/api/v1/clients": {