chore(release): bump workspace version to 0.26.0 #133

Merged
enricobuehler merged 1 commits from worktree-release-0260 into main 2026-08-08 23:29:39 +00:00
Owner

47 commits since v0.25.0, most of them from field reports on 0.25.0 itself, plus Wave 2 of the PyroWave Linux host-performance program.

Nothing breaks

Wire protocol 2 → 2, C ABI 17 → 17 — no symbol added, removed or changed; no new message, no new capability bit. crates/pf-driver-proto is byte-for-byte identical to v0.25.0 and v0.24.0, so anyone shipping the virtual-display driver or the gamepad channel is untouched by the last two releases.

Contrast v0.25.0, which moved the ABI 14 → 17 and renamed 149 macros.

What moved

v0.25.0 v0.26.0
gamescope patch level +pfhdr2 +pfhdr4 (3 patches → 6, pkgrel 1 → 2)
@punktfunk/host (SDK) 0.1.2 0.1.4
@punktfunk/plugin-kit 0.3.2 0.4.0 (the plugin launch kind)
api/openapi.json 0.24.0 0.25.0 (lags one release by convention — already correct, needed no edit)

Four new environment variables — PUNKTFUNK_OVERLAY_MASK, PUNKTFUNK_GAMESCOPE_REFRESH_RATES, PUNKTFUNK_PYROWAVE_CHUNK_KIB, PUNKTFUNK_PYROWAVE_STREAMED_AU. Verified new by git grep at the v0.25.0 tag rather than assumed; the other six that show up in the diff (PUNKTFUNK_JUMBO, _WIRE_MTU, _STREAMED_AU, _LIBRARY_ART_ROOTS, _RECOVER_SESSION_CMD, _GAMESCOPE_SDR_NITS) all already existed.

⚠ Two deliberate changes that make a client advertise LESS

Both are the point, not regressions, and both belong in any triage of "it worked in 0.25":

  1. VIDEO_CAP_444 is probed now, not asserted. Every Steam Deck with "Full chroma" on was losing HEVC entirely (→ H.264), not losing crispness — the host grants 4:4:4 on HEVC only and answers the resolved chroma in the Welcome before the client builds a decoder, and no AMD silicon decodes HEVC 4:4:4. Per-profile and default-off is why it read as intermittent.
  2. The Decky client-update check reports failure instead of rendering it as "up to date".

The version was forced, not chosen

bash scripts/ci/pf-version.shPF_BASE=0.26.0. Canary is always minor+1 of the newest stable, so canary has been building as 0.26.0 all along and testers already carry that number.

Contents

The same four files as the 0.25.0 bump — Cargo.toml, Cargo.lock, docs/releases/v0.26.0.md, docs/releases/whatsnew/v0.26.0.txt — plus the CHANGELOG.md section, which the 0.25.0 split made part of the ritual.

Notes are 66 lines against 0.25.0's 83, covering 47 commits.

Gates run locally, all green

cargo fmt --all --check clean
cargo metadata --locked resolves
Cargo.lock diff versions-only, 70/70 changed lines, 35 crates
Play whatsnew gate 398/500 chars, not byte-identical to any other release
Notes voice check 0 internal-vocabulary hits above ## For developers

⚠ The Play gate counts characters, not bytes is 3 bytes in UTF-8, so wc -c reads 405 and would mislead. The check above is the gate's own python3 arithmetic.

Owed on glass

Recorded in the CHANGELOG's own verification table rather than left implicit: iPhone + Bluetooth listen, the Apple TV stats overlay, a MacBook audio listen, the Deck HEVC/4:4:4 retest, a Windows wake-from-sleep cycle, and the PyroWave-under-game-load A/B with CAP_SYS_NICE actually granted — the number that whole wave is aimed at.

⚠ Main moved 12 commits during an earlier pass of this prep, and 0.25.0's record has it moving 190 twice while a release PR sat open. Re-check v0.25.0..origin/main before tagging.

47 commits since v0.25.0, most of them from field reports on 0.25.0 itself, plus Wave 2 of the PyroWave Linux host-performance program. ## Nothing breaks Wire protocol **2 → 2**, C ABI **17 → 17** — no symbol added, removed or changed; no new message, no new capability bit. `crates/pf-driver-proto` is byte-for-byte identical to v0.25.0 **and** v0.24.0, so anyone shipping the virtual-display driver or the gamepad channel is untouched by the last two releases. Contrast v0.25.0, which moved the ABI 14 → 17 and renamed 149 macros. ## What moved | | v0.25.0 | v0.26.0 | |---|---|---| | gamescope patch level | `+pfhdr2` | **`+pfhdr4`** (3 patches → 6, `pkgrel` 1 → 2) | | `@punktfunk/host` (SDK) | 0.1.2 | **0.1.4** | | `@punktfunk/plugin-kit` | 0.3.2 | **0.4.0** (the `plugin` launch kind) | | `api/openapi.json` | 0.24.0 | **0.25.0** (lags one release by convention — already correct, needed no edit) | Four new environment variables — `PUNKTFUNK_OVERLAY_MASK`, `PUNKTFUNK_GAMESCOPE_REFRESH_RATES`, `PUNKTFUNK_PYROWAVE_CHUNK_KIB`, `PUNKTFUNK_PYROWAVE_STREAMED_AU`. Verified new by `git grep` **at the v0.25.0 tag** rather than assumed; the other six that show up in the diff (`PUNKTFUNK_JUMBO`, `_WIRE_MTU`, `_STREAMED_AU`, `_LIBRARY_ART_ROOTS`, `_RECOVER_SESSION_CMD`, `_GAMESCOPE_SDR_NITS`) all already existed. ## ⚠ Two deliberate changes that make a client advertise LESS Both are the point, not regressions, and both belong in any triage of "it worked in 0.25": 1. **`VIDEO_CAP_444` is probed now, not asserted.** Every Steam Deck with "Full chroma" on was losing **HEVC entirely** (→ H.264), not losing crispness — the host grants 4:4:4 on HEVC only and answers the resolved chroma in the `Welcome` *before* the client builds a decoder, and no AMD silicon decodes HEVC 4:4:4. Per-profile and default-off is why it read as intermittent. 2. **The Decky client-update check reports failure** instead of rendering it as "up to date". ## The version was forced, not chosen `bash scripts/ci/pf-version.sh` → `PF_BASE=0.26.0`. Canary is always minor+1 of the newest stable, so canary has been building as 0.26.0 all along and testers already carry that number. ## Contents The same four files as the 0.25.0 bump — `Cargo.toml`, `Cargo.lock`, `docs/releases/v0.26.0.md`, `docs/releases/whatsnew/v0.26.0.txt` — plus the `CHANGELOG.md` section, which the 0.25.0 split made part of the ritual. Notes are **66 lines** against 0.25.0's 83, covering 47 commits. ## Gates run locally, all green | | | |---|---| | `cargo fmt --all --check` | clean | | `cargo metadata --locked` | resolves | | `Cargo.lock` diff | **versions-only**, 70/70 changed lines, 35 crates | | Play whatsnew gate | **398/500 chars**, not byte-identical to any other release | | Notes voice check | **0** internal-vocabulary hits above `## For developers` | ⚠ The Play gate counts **characters, not bytes** — `•` is 3 bytes in UTF-8, so `wc -c` reads 405 and would mislead. The check above is the gate's own `python3` arithmetic. ## ⏳ Owed on glass Recorded in the CHANGELOG's own verification table rather than left implicit: iPhone + Bluetooth listen, the Apple TV stats overlay, a MacBook audio listen, the Deck HEVC/4:4:4 retest, a Windows wake-from-sleep cycle, and the PyroWave-under-game-load A/B with `CAP_SYS_NICE` actually granted — the number that whole wave is aimed at. ⚠ Main moved 12 commits during an earlier pass of this prep, and 0.25.0's record has it moving 190 twice while a release PR sat open. Re-check `v0.25.0..origin/main` before tagging.
enricobuehler added 1 commit 2026-08-08 23:29:24 +00:00
chore(release): bump workspace version to 0.26.0
windows / build (aarch64-pc-windows-msvc) (pull_request) Successful in 1m13s
apple / swift (pull_request) Successful in 1m35s
apple / screenshots (pull_request) Skipped
ci / web (pull_request) Successful in 2m39s
windows / build (x86_64-pc-windows-msvc) (pull_request) Successful in 2m15s
ci / bun-nix (pull_request) Successful in 56s
ci / docs-site (pull_request) Successful in 3m39s
ci / rust-arm64 (pull_request) Successful in 7m12s
android / android (pull_request) Successful in 9m5s
ci / rust (pull_request) Successful in 20m42s
nix / flake (pull_request) Failing after 20m28s
e5180a5b7d
47 commits since v0.25.0, most of them from field reports on 0.25.0 itself,
plus Wave 2 of the PyroWave Linux host-performance program.

Nothing breaks: the wire protocol stays at 2 and the C ABI stays at 17, so
this release adds no call, no message and no capability bit. pf-driver-proto
is byte-for-byte identical to v0.25.0 and to v0.24.0.

Four new environment variables (PUNKTFUNK_OVERLAY_MASK,
PUNKTFUNK_GAMESCOPE_REFRESH_RATES, PUNKTFUNK_PYROWAVE_CHUNK_KIB,
PUNKTFUNK_PYROWAVE_STREAMED_AU), verified new by git grep at the v0.25.0 tag
rather than assumed. plugin-kit goes 0.3.2 -> 0.4.0 for the `plugin` launch
kind; the SDK goes 0.1.2 -> 0.1.4; gamescope patch level +pfhdr2 -> +pfhdr4.

Two behaviour changes make a client advertise LESS than it used to, both
deliberate: VIDEO_CAP_444 is now probed against the driver rather than ridden
off the setting alone (every Steam Deck with "Full chroma" on was losing HEVC
entirely, not crispness — no AMD silicon decodes HEVC 4:4:4), and the Decky
client-update check now reports a failure instead of dressing it up as
"up to date".

Bump is the same four files as 0.25.0: Cargo.toml, Cargo.lock,
docs/releases/v0.26.0.md, docs/releases/whatsnew/v0.26.0.txt — plus the
CHANGELOG.md section, which the split at 0.25.0 made part of the ritual.

Gates run locally, all green:
  * cargo fmt --all --check          clean
  * cargo metadata --locked          resolves
  * Cargo.lock diff                  versions-only, 70/70 changed lines, 35 crates
  * Play whatsnew gate               398/500 chars, not byte-identical to any other release
  * notes voice check                0 internal-vocabulary hits above "## For developers"

Notes are 66 lines against 0.25.0's 83, covering 47 commits.

Still owed on glass and recorded in the CHANGELOG's verification table:
iPhone + Bluetooth listen, Apple TV stats overlay, MacBook audio listen, the
Deck HEVC/4:4:4 retest, a Windows wake-from-sleep cycle, and the
PyroWave-under-game-load A/B with CAP_SYS_NICE actually granted.
enricobuehler merged commit 4d1a1348c0 into main 2026-08-08 23:29:39 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unom/punktfunk#133