Files
punktfunk/docs/releases/v0.22.1.md
T
enricobuehlerandClaude Fable 5 152aac291e
android-screenshots / screenshots (push) Successful in 1m25s
audit / cargo-audit (push) Successful in 31s
audit / bun-audit (plugin-kit) (push) Successful in 12s
audit / bun-audit (sdk) (push) Successful in 13s
audit / bun-audit (web) (push) Successful in 12s
android / android (push) Successful in 5m37s
audit / pnpm-audit (push) Successful in 7s
audit / docs-site-audit (push) Successful in 13s
decky / build-publish (push) Successful in 23s
ci / rust-arm64 (push) Successful in 1m48s
ci / web (push) Successful in 1m4s
audit / license-gate (push) Successful in 5m21s
ci / docs-site (push) Successful in 2m57s
apple / swift (push) Successful in 4m36s
linux-client-screenshots / screenshots (push) Successful in 9m10s
ci / rust (push) Successful in 12m55s
sbom / sbom (push) Successful in 58s
deb / build-publish-client-arm64 (push) Successful in 5m47s
deb / build-publish-host (push) Successful in 5m38s
web-screenshots / screenshots (push) Successful in 5m54s
docker / builders-arm64cross (push) Successful in 6s
docker / builders (--build-arg FEDORA_VERSION=44, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm, -f44) (push) Successful in 25s
docker / builders (ci/android-ci.Dockerfile, punktfunk-android-ci) (push) Successful in 57s
docker / builders (ci/arch-ci.Dockerfile, punktfunk-arch-ci) (push) Successful in 7s
docker / builders (ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 9s
docker / builders (ci/rust-ci-noble.Dockerfile, punktfunk-rust-ci-noble) (push) Successful in 9s
docker / builders (ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 9s
docker / apps (., web/Dockerfile, punktfunk-web) (push) Successful in 1m46s
docker / apps (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 28s
docker / deploy-docs (push) Successful in 15s
deb / build-publish (push) Successful in 12m58s
arch / build-publish (push) Successful in 7m25s
windows-host / package (push) Successful in 10m27s
windows-host / winget-source (push) Skipped
windows-msix / package (arm64, C:\Users\Public\ffmpeg-arm64, --no-default-features, aarch64-pc-windows-msvc, C:\t-a64) (push) Successful in 2m18s
windows-msix / package (x64, C:\Users\Public\ffmpeg, , x86_64-pc-windows-msvc, C:\t) (push) Successful in 2m45s
windows / build (aarch64-pc-windows-msvc) (push) Successful in 2m50s
flatpak / build-publish (push) Successful in 5m3s
windows / build (x86_64-pc-windows-msvc) (push) Successful in 3m55s
rpm / build-publish (44, fedora-44, punktfunk-fedora44-rpm) (push) Successful in 15m56s
rpm / build-publish (43, bazzite, punktfunk-fedora-rpm) (push) Successful in 21m46s
release / apple (push) Successful in 25m28s
apple / screenshots (push) Canceled after 20m3s
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.