0.31.1 notes: fold in #362, which is what makes the console's off switch work #364

Merged
enricobuehler merged 1 commits from worktree-release-0311-foldin into main 2026-08-20 20:38:03 +00:00
Owner

Notes-only follow-up to #363. #362 merged onto main seconds after the release merge, and it is not an optional extra: cbd3d028 is the commit that makes the feature #363's notes lead ## New with actually do anything.

trust::Settings::extra is #[serde(flatten)], so the android.* keys are top-level keys of the settings document. ConsoleJson wrote and read them nested under an "extra" object, which serde filed under the literal key "extra" — so no console row ever found android.gamepad_ui_enabled. Turning "Controller-optimized UI" off did nothing, and every Android-only row rode the same dead path in 0.31.0: low latency, phone rumble/gyro, SC2 and DualSense capture, and the console-UI mode picker.

Tagging without this would have shipped a release whose headline new feature does not work.

What changed here

  • ## Fixed gains the console-settings entry and the focus-halo corner fix (c9a76287 — a rect grown by d only stays concentric if its radius grows by d too).
  • ## TL;DR gains a line for the settings fix; it is the thing an Android user on 0.31.0 would most want to know.
  • Play notes rewritten around it — the most useful 500 characters an Android user gets from this release. 440/500, unique.
  • CHANGELOG: count 27 → 30 commits (17 → 19 non-merge), both #362 items under Everything else an integrator might notice, and the audit note below.

One thing deliberately not fixed here

cargo audit is red on main: RUSTSEC-2026-0258 (h2 0.4.15, "unbounded empty DATA frames", published 2026-08-17, fixed in 0.4.16, transitive via hyper).

It predates this cut — the same job failed on 669a1bc0 and on the v0.31.0 tag commit — so it is not a regression from the release. I left it alone on purpose: cargo update -p h2 --precise 0.4.16 bumps h2 in eleven lock lines but also rewrites several windows-sys references downward (0.61.2 → 0.59.0/0.52.0) on the pinned 1.96.0 toolchain. Re-resolving the dependency graph for the Windows build, inside a version bump that cannot be compiled for Windows on the cutting host, is the wrong trade during a release. It wants its own commit and its own CI run. Recorded in the CHANGELOG's verification section so it is not lost.

Cargo.lock is untouched by this PR.

Gates

cargo fmt --all --check clean · scripts/ci/check-docs-drift.sh clean · cargo test -p punktfunk-core --lib 273 passed · Play notes gate verbatim, 440/500 and unique · both openapi copies cmp-identical, stamped 0.31.1 · notes voice scan clean.

Notes-only follow-up to #363. **#362 merged onto main seconds after the release merge**, and it is not an optional extra: `cbd3d028` is the commit that makes the feature #363's notes lead `## New` with actually do anything. `trust::Settings::extra` is `#[serde(flatten)]`, so the `android.*` keys are **top-level** keys of the settings document. `ConsoleJson` wrote and read them nested under an `"extra"` object, which serde filed under the literal key `"extra"` — so no console row ever found `android.gamepad_ui_enabled`. Turning "Controller-optimized UI" off did nothing, and **every Android-only row rode the same dead path in 0.31.0**: low latency, phone rumble/gyro, SC2 and DualSense capture, and the console-UI mode picker. Tagging without this would have shipped a release whose headline new feature does not work. ## What changed here - `## Fixed` gains the console-settings entry and the focus-halo corner fix (`c9a76287` — a rect grown by `d` only stays concentric if its radius grows by `d` too). - `## TL;DR` gains a line for the settings fix; it is the thing an Android user on 0.31.0 would most want to know. - **Play notes rewritten** around it — the most useful 500 characters an Android user gets from this release. 440/500, unique. - CHANGELOG: count 27 → 30 commits (17 → 19 non-merge), both #362 items under *Everything else an integrator might notice*, and the audit note below. ## One thing deliberately not fixed here `cargo audit` is **red on main**: RUSTSEC-2026-0258 (`h2` 0.4.15, "unbounded empty DATA frames", published 2026-08-17, fixed in 0.4.16, transitive via `hyper`). It **predates this cut** — the same job failed on `669a1bc0` and on the v0.31.0 tag commit — so it is not a regression from the release. I left it alone on purpose: `cargo update -p h2 --precise 0.4.16` bumps h2 in eleven lock lines but **also rewrites several `windows-sys` references downward** (0.61.2 → 0.59.0/0.52.0) on the pinned 1.96.0 toolchain. Re-resolving the dependency graph for the Windows build, inside a version bump that cannot be compiled for Windows on the cutting host, is the wrong trade during a release. It wants its own commit and its own CI run. Recorded in the CHANGELOG's verification section so it is not lost. `Cargo.lock` is untouched by this PR. ## Gates `cargo fmt --all --check` clean · `scripts/ci/check-docs-drift.sh` clean · `cargo test -p punktfunk-core --lib` 273 passed · Play notes gate verbatim, 440/500 and unique · both openapi copies `cmp`-identical, stamped 0.31.1 · notes voice scan clean.
enricobuehler added 1 commit 2026-08-20 20:37:31 +00:00
release: 0.31.1 — fold in #362, which makes the console's off switch work
ci / bun-nix (pull_request) Successful in 30s
ci / docs-drift (pull_request) Successful in 28s
ci / web (pull_request) Successful in 1m13s
ci / docs-site (pull_request) Successful in 1m12s
ci / rust-arm64 (pull_request) Successful in 1m21s
ci / rust (pull_request) Successful in 14m33s
1c1fd7d9bc
30 commits since v0.31.0 (19 non-merge). #362 merged onto main seconds
after the release merge (#363), so the notes as tagged would have been
wrong in the one way that matters: they lead `## New` with the console's
"Controller-optimized UI" switch, and cbd3d028 is the commit that makes
that switch do anything at all.

trust::Settings::extra is #[serde(flatten)], so the android.* keys are
TOP-LEVEL keys of the settings document. ConsoleJson wrote and read them
nested under an "extra" object, which serde filed under the literal key
"extra" — so no console row ever found android.gamepad_ui_enabled. Every
Android-only row rode the same dead path in 0.31.0: low latency, phone
rumble/gyro, SC2 and DualSense capture, and the console-UI mode picker.
That is a user-facing fix in its own right and is now in `## Fixed`, in
`## TL;DR`, and in the Play notes — it is the most useful 500 characters
an Android user gets from this release.

Also folded in: c9a76287, the focus halo and panel_highlight taking the
card's corner plus their own outset (a rect grown by d only stays
concentric if its radius grows by d too).

NOT folded in — deliberately: cargo audit is red on main with
RUSTSEC-2026-0258 (h2 0.4.15, unbounded empty DATA frames, fixed in
0.4.16, transitive via hyper). It predates this cut — the same job failed
on 669a1bc0 and on the v0.31.0 tag commit — so it is not a regression
here. `cargo update -p h2 --precise 0.4.16` bumps h2 in eleven lock lines
but ALSO rewrites several windows-sys references downward (0.61.2 ->
0.59.0/0.52.0) on the pinned 1.96.0 toolchain. Re-resolving the graph for
the Windows build inside a version bump that cannot be compiled for
Windows on this host is the wrong trade; it wants its own commit and its
own CI. Recorded in the CHANGELOG's verification section.

Cargo.lock is untouched by this commit.

Gates re-run: cargo fmt --all --check clean; scripts/ci/check-docs-drift.sh
clean; cargo test -p punktfunk-core --lib 273 passed; the Play notes gate
run verbatim, 440/500 characters and unique; both openapi copies cmp
identical and stamped 0.31.1; notes voice scan clean.
enricobuehler merged commit fc3b2d0328 into main 2026-08-20 20:38:03 +00:00
enricobuehler deleted branch worktree-release-0311-foldin 2026-08-20 20:38:09 +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#364