docs(release): the 0.23.0 notes stop calling gamescope HDR a handheld feature
ci / rust (push) Canceled after 0s
ci / rust-arm64 (push) Canceled after 0s
ci / web (push) Canceled after 0s
ci / docs-site (push) Canceled after 0s
docker / builders (--build-arg FEDORA_VERSION=44, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm, -f44) (push) Canceled after 0s
docker / builders (ci/android-ci.Dockerfile, punktfunk-android-ci) (push) Canceled after 0s
docker / builders (ci/arch-ci.Dockerfile, punktfunk-arch-ci) (push) Canceled after 0s
docker / builders (ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Canceled after 0s
docker / builders (ci/rust-ci-noble.Dockerfile, punktfunk-rust-ci-noble) (push) Canceled after 0s
docker / builders (ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Canceled after 0s
docker / builders-arm64cross (push) Canceled after 0s
docker / apps (., web/Dockerfile, punktfunk-web) (push) Canceled after 0s
docker / apps (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Canceled after 0s
docker / deploy-docs (push) Canceled after 0s

Two wording fixes to the shipped v0.23.0 notes, which docs/releases/README.md
explicitly allows after the tag — the file stays authoritative and the announce
step re-syncs from it.

"HDR turns itself on for Steam Deck and other gamescope handhelds" framed a
LINUX HOST change as a device one. What 19392918 actually did is default
PUNKTFUNK_GAMESCOPE_HDR on and get the patched gamescope onto the Linux install
routes (Bazzite + Arch sysext, the nix module, the Deck's on-device build
script) — which covers any host running its games through gamescope: a Bazzite
or SteamOS box in Game Mode, an HTPC, a desktop, not only a handheld. The
lead-in carried the same framing and mattered more, since everything above the
first `##` is what the Discord embed shows.

Also rewords the mic-mute lead-in ("stop the room being heard" read oddly).

No claim changes: same features, same scope, same release. The live release body
needs a re-sync — done via a body-only PATCH rather than an announce dispatch,
since announcing also posts to Discord and publishes the stable update manifest,
neither of which should fire before the fleet is green.
This commit is contained in:
2026-08-01 01:21:54 +02:00
parent 49bbdcf4ef
commit 23ec0822d8
+3 -3
View File
@@ -1,10 +1,10 @@
Wire-compatible with 0.22.x — everything you have already paired keeps working, and you can update one side at a time. Every new ability here is negotiated per device: a phone, TV or host that does not know about one simply streams the way it does today.
This is a big release, and it pulls in four directions. **Latency:** Android phones and tablets get a new frame scheduler that cut glass-to-glass delay by roughly a third on the devices we measured, a host can line its capture up with your device's display instead of drifting against it, and a frame can start decoding before the rest of it has arrived. **Your microphone:** it can be muted mid-stream on every client now, echo cancellation is on by default, and the uplink itself was rebuilt to be about half as slow. **Settings that do what they say:** the Linux app has been quietly streaming at defaults since 0.22.0 — bitrate, resolution, codec, HDR, profiles — and that is fixed, along with HDR and full chroma no longer being mutually exclusive on Windows. **The web console:** it now follows the host live instead of polling it, shows you what just happened, hands a phone a link to connect with, and installs to a home screen. Plus HDR by default on Steam Deck and other gamescope handhelds, a DualSense over USB on Android, and a real **Update now** button.
This is a big release, and it pulls in four directions. **Latency:** Android phones and tablets get a new frame scheduler that cut glass-to-glass delay by roughly a third on the devices we measured, a host can line its capture up with your device's display instead of drifting against it, and a frame can start decoding before the rest of it has arrived. **Your microphone:** it can be muted mid-stream on every client now, echo cancellation is on by default, and the uplink itself was rebuilt to be about half as slow. **Settings that do what they say:** the Linux app has been quietly streaming at defaults since 0.22.0 — bitrate, resolution, codec, HDR, profiles — and that is fixed, along with HDR and full chroma no longer being mutually exclusive on Windows. **The web console:** it now follows the host live instead of polling it, shows you what just happened, hands a phone a link to connect with, and installs to a home screen. Plus HDR by default on Linux hosts that run their games through gamescope, a DualSense over USB on Android, and a real **Update now** button.
## New
- **Your microphone has an off switch you can reach mid-stream.** Until now the only way to stop the room being heard was to end the session and turn the microphone off in Settings — a per-app setting for what is really a per-conversation act. Every client can mute now: **Ctrl+Alt+Shift+V** on Windows and Linux, **⌃⌥⇧A** or the HUD button on Mac, iPhone and iPad, and a tap on the pill (or **Select + Y** on a controller) on Android. A "Microphone muted" badge sits over the stream independently of the stats overlay, because "am I muted?" is not a statistic and the overlay is exactly what a player turns off — and on touch, tapping the badge is the way back. Muting is local and instant: the host is never asked and never told. It is per session and deliberately not remembered, so a mute you made three days ago never follows you into a call.
- **Your microphone has an off switch you can reach mid-stream.** Muting used to mean leaving the stream and switching the microphone off in Settings — an app-wide setting doing the job of a moment-to-moment one. Every client can mute now: **Ctrl+Alt+Shift+V** on Windows and Linux, **⌃⌥⇧A** or the HUD button on Mac, iPhone and iPad, and a tap on the pill (or **Select + Y** on a controller) on Android. A "Microphone muted" badge sits over the stream independently of the stats overlay, because "am I muted?" is not a statistic and the overlay is exactly what a player turns off — and on touch, tapping the badge is the way back. Muting is local and instant: the host is never asked and never told. It is per session and deliberately not remembered, so a mute you made three days ago never follows you into a call.
- **Echo cancellation, and a switch for it.** If you play through speakers, the host used to hear its own game audio coming back through your microphone. Every client now runs the microphone through the operating system's echo canceller by default — on Mac and iPhone that meant putting playback and capture on one engine so the voice processor can see both, and on Android it meant opening the microphone in the mode that keeps the phone's hardware canceller switched on. There is an **Echo cancellation** toggle beside the microphone setting on every platform if you want it off. A new [Why do I hear myself](https://punktfunk.unom.io/docs) page walks through the four different ways an echo loop can form and which switch stops each one.
@@ -16,7 +16,7 @@ This is a big release, and it pulls in four directions. **Latency:** Android pho
- **HDR and full chroma stop being mutually exclusive on Windows.** An HDR desktop used to cost you 4:4:4: the only 10-bit capture format available threw away colour detail, *after* the host had already told the client it was sending full chroma. Both now work together on HDR sessions. Separately, full chroma can now stay on your graphics card's decoder instead of falling back to software, and the stats overlay tells you the truth about what you got — it prints the encoder's actual target next to the measured rate (`19.4 Mb/s · target 20 Mb/s (auto)`) and shows `4:4:4→4:2:0` when the host declined. That missing number is the reason the Linux settings bug below survived four releases: measured throughput alone cannot tell "the encoder is capped at 20" from "my 200 Mb/s allowance met a cheap scene".
- **HDR turns itself on for Steam Deck and other gamescope handhelds.** A 10-bit HDR session used to need a build of gamescope most people did not have and a setting nobody knew to turn on, so capable boxes quietly streamed SDR an RX 5700 reported "10-bit HEVC unsupported" when the GPU was never the problem. HDR is attempted by default now, and every install route ships the gamescope build that can actually capture it: the Bazzite system extension, the Arch extension, the NixOS module, and a new script that builds it on a Steam Deck's own on-device install. A box still running stock gamescope keeps exactly the 8-bit behaviour it has today.
- **Linux hosts stream HDR from a gamescope session by default.** If your host runs its games through gamescope — a Bazzite or SteamOS machine in Game Mode, a handheld, an HTPC — a 10-bit HDR session used to need a build of gamescope most people did not have *and* a setting nobody knew to turn on. So capable machines quietly streamed SDR, and an RX 5700 reported "10-bit HEVC unsupported" when the GPU was never the problem. HDR is attempted by default now, and the Linux install routes carry the gamescope build that can actually capture it: the Bazzite and Arch system extensions, the NixOS module, and a new script that builds it on a Steam Deck's own on-device install. A host still running stock gamescope keeps exactly the 8-bit behaviour it has today.
- **The web console follows the host instead of interrogating it.** It used to poll ten endpoints on timers, so a change could be five seconds stale and two pages could disagree while you looked at them — and the Library page did not poll at all, so a game you installed in Steam never appeared until you reloaded. The console now subscribes to the host's live event stream and refreshes exactly what each event affects. Three things come with it: a **Recent activity** feed on the dashboard, so a client that connected and left while you were on another page leaves a trace; a **Connect a device** card with the host's address and a copyable link that opens an installed client straight onto this host; and an **Automation** page for the start/stop hooks the host has always run and the console never showed. The console also installs to a phone's home screen, and warns you when another Moonlight-compatible server such as Sunshine or Apollo is running on the same machine — the most common reason a host looks fine but no client can reach it.