Files
punktfunk/docs/releases/v0.22.1.md
T
enricobuehlerandClaude Fable 5 152aac291e chore(release): bump workspace version to 0.22.1
Patch release: 0.22.0 shipped the wrong program as punktfunk-session (the
b0ea1e6b clobber), which broke connecting on the Windows and Linux clients.
This cut carries the restore, the CLI's self-documentation, and the CI gates
that run the shipped binaries.

Versions-only lock diff, hand-applied: the 30 workspace-member entries move
0.22.0 -> 0.22.1; the eight third-party gtk-rs crates that also sit at 0.22.0
(cairo/gdk-pixbuf/gio/graphene/pango) are untouched. `cargo metadata --locked`
exits 0 on the pinned toolchain. Release notes in docs/releases/v0.22.1.md
seed the release body per the Model-1 flow.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 11:00:29 +02:00

2.8 KiB
Raw Blame History

Wire-compatible with 0.21.x and 0.22.0 — hosts are untouched by this release, and everything already paired keeps working.

If you installed 0.22.0 on Windows or Linux, update now: this fixes connecting, which 0.22.0 broke on exactly those clients. Coming from 0.21.0, you get everything 0.22.0 added — settings profiles, punktfunk:// links, the punktfunk command, Gaming-Mode HDR — plus these fixes.

Fixed

  • Connecting works again on Windows and Linux. 0.22.0 accidentally shipped the wrong program as the piece that renders your stream. On Windows, every connect immediately bounced you back to the host list with no message; on Linux, the stream window simply never appeared. Mac, iPhone, iPad, Apple TV and Android were not affected. Nothing about how streams work has changed — 0.22.1 delivers what 0.22.0's notes promised.
  • A stream that can't start now tells you why. If the stream window exits without reporting anything, the Windows client now shows its exit code instead of silently returning to your hosts — a broken install is a message, not a mystery.

Improved

  • Every punktfunk command now explains itself. punktfunk help launch — or --help after any command — prints that command's flags, what lands where, and what each exit code means, so a script author never has to read the source. punktfunk help still lists everything.
  • punktfunk reachable stopped scolding. Probing an address you haven't saved is exactly what the command is for; it no longer suggests pairing first before answering.

Under the hood (for developers)

  • The 0.22.0 breakage: a stray copy of the GTK shell's sources landed in the session crate and overwrote its main.rs — the [[bin]] entry point — so punktfunk-session was built from the wrong file. On Windows that file's non-Linux arm is a three-line stub (exit 2, no stdout contract); on Linux it was the shell itself, whose --connect handling execs punktfunk-session — that is, itself. Every compile gate stayed green, because the wrong program compiled perfectly.
  • CI now runs what it ships: an integration test spawns the built punktfunk-session against a refusing port and fails unless a stdout-contract line answers (proven against the 0.22.0 stub, which fails it); another runs punktfunk over its help surface. punktfunk-cli also joined the Windows build/clippy/fmt/test gates — it was packaged in the MSIX but only the release workflow ever compiled it.
  • The Windows shell's SpawnEvent::Exited now carries the child's exit code; a nonzero exit with no contract line gets a banner naming it. Codes 0 (window closed) and 1 (our own kill) stay silent as before.
  • No wire, ABI or driver changes: wire protocol 2, C ABI 13, Windows virtual-gamepad channel 3, virtual-display driver protocol 6 — identical to 0.22.0.