0.28.1 notes — the Mac microphone loop is a headline fix the notes had never heard of #224

Merged
enricobuehler merged 1 commits from worktree-release-0281-notes into main 2026-08-14 11:26:55 +00:00
Owner

Last paperwork change before the v0.28.1 tag. Ten commits landed after the release commit — the deb image fix (#220), the two macOS audio fixes (#221, #223) and the TV screenshot automation (#222) — so the release notes no longer described the release.

What changes

  • CHANGELOG: 5060 commits since v0.28.0. Nothing else moves. The version table is unchanged on every row, re-verified against the tag: include/, crates/pf-driver-proto, plugin-kit/package.json and sdk/ are all still byte-identical to v0.28.0, so the C ABI stays 19. #221 brought its own CHANGELOG section, so the technical half already covered the macOS work.
  • Notes: the user-facing file had no mention of the macOS fault at all, and it is headline-grade — streaming from a Mac with the mic on cut audio and froze input on a ~2.5 s metronome, with "turn the microphone off" as the only workaround. It now leads the summary paragraph, has a TL;DR line, and a full Fixed entry explaining the loop in plain terms.
  • TL;DR trimmed from nine multi-line bullets to seven one-liners. docs/releases/README.md asks for 3–6; this release has an unusual number of genuinely severe entries, so seven is the honest floor without hiding one, and the long-form detail was already duplicated in Fixed where it belongs. The Apple stats-overlay and Apple TV colour bullets lose their TL;DR slots and keep their Fixed entries.
  • SessionAudio.start() is now asynchronous on macOS — added to the notes' For developers paragraph. It is the one embedder-visible edge in #223, and an embedder who only reads the notes would otherwise meet it at runtime.

Play notes are untouched and still accurate: the only commit to touch clients/android since is b6b3c10c, which is screenshot CI, not app behaviour.

Gates

fmt clean · cargo metadata --locked consistent · cargo test -p punktfunk-core 210 passed · C ABI harness abi_version=19 · api/openapi.json and the docs-site copy still byte-identical.

⚠ Do not tag until the builder image has published

The punktfunk-gamescope-trixie job in docker.yml on the #220 merge (run 18154) was cancelled before it started — the next push superseded it — so the fixed image was never actually built or pushed. :latest in the LAN registry is still the one without libx11-xcb-dev.

Merging this produces a fresh main push, which re-runs docker.yml and rebuilds the image (its key hashes the ci/ tree, which #220 changed). Wait for that job to go green, and for this sha's deb run to build build-publish-gamescope successfully, before pushing the tag — otherwise the tag's deb leg pulls the stale image and fails exactly as it did on ceb081f0.

Last paperwork change before the **v0.28.1** tag. Ten commits landed after the release commit — the deb image fix (#220), the two macOS audio fixes (#221, #223) and the TV screenshot automation (#222) — so the release notes no longer described the release. ## What changes - **CHANGELOG**: `50` → `60` commits since v0.28.0. Nothing else moves. The version table is unchanged on every row, re-verified against the tag: `include/`, `crates/pf-driver-proto`, `plugin-kit/package.json` and `sdk/` are all still byte-identical to v0.28.0, so the **C ABI stays 19**. #221 brought its own CHANGELOG section, so the technical half already covered the macOS work. - **Notes**: the user-facing file had **no mention of the macOS fault at all**, and it is headline-grade — streaming from a Mac with the mic on cut audio *and* froze input on a ~2.5 s metronome, with "turn the microphone off" as the only workaround. It now leads the summary paragraph, has a TL;DR line, and a full `Fixed` entry explaining the loop in plain terms. - **TL;DR trimmed** from nine multi-line bullets to seven one-liners. `docs/releases/README.md` asks for 3–6; this release has an unusual number of genuinely severe entries, so seven is the honest floor without hiding one, and the long-form detail was already duplicated in `Fixed` where it belongs. The Apple stats-overlay and Apple TV colour bullets lose their TL;DR slots and keep their `Fixed` entries. - **`SessionAudio.start()` is now asynchronous on macOS** — added to the notes' `For developers` paragraph. It is the one embedder-visible edge in #223, and an embedder who only reads the notes would otherwise meet it at runtime. Play notes are untouched and still accurate: the only commit to touch `clients/android` since is `b6b3c10c`, which is screenshot CI, not app behaviour. ## Gates fmt clean · `cargo metadata --locked` consistent · `cargo test -p punktfunk-core` **210 passed** · C ABI harness `abi_version=19` · `api/openapi.json` and the docs-site copy still byte-identical. ## ⚠ Do not tag until the builder image has published The `punktfunk-gamescope-trixie` job in docker.yml on the #220 merge (run [18154](https://git.unom.io/unom/punktfunk/actions/runs/18154)) was **cancelled before it started** — the next push superseded it — so **the fixed image was never actually built or pushed**. `:latest` in the LAN registry is still the one without `libx11-xcb-dev`. Merging this produces a fresh main push, which re-runs docker.yml and rebuilds the image (its key hashes the `ci/` tree, which #220 changed). **Wait for that job to go green, and for this sha's deb run to build `build-publish-gamescope` successfully, before pushing the tag** — otherwise the tag's deb leg pulls the stale image and fails exactly as it did on `ceb081f0`.
enricobuehler added 1 commit 2026-08-14 11:15:31 +00:00
docs(release): the Mac microphone loop is a headline fix, and the notes had never heard of it
ci / rust-arm64 (pull_request) Successful in 3m5s
ci / web (pull_request) Successful in 2m50s
ci / bun-nix (pull_request) Successful in 38s
ci / docs-site (pull_request) Successful in 2m19s
ci / rust (pull_request) Successful in 6m56s
832a5ffd8d
Ten more commits landed after the 0.28.1 release commit — the deb image fix, the
two macOS audio ones (#221 + #223) and the TV screenshot automation — so the
release paperwork no longer described the release.

CHANGELOG: 50 -> 60 commits since v0.28.0. Nothing else moves; the version table
is unchanged on every row, re-verified against the tag (`include/`,
`crates/pf-driver-proto`, `plugin-kit/package.json` and `sdk/` are all still
byte-identical to v0.28.0, so the C ABI stays 19). #221 brought its own CHANGELOG
section, so the technical half already covered it.

NOTES: the user-facing file had no mention of the macOS fault at all, and it is
headline-grade — streaming from a Mac with the mic on cut audio AND froze input
on a ~2.5 s metronome, with turning the microphone off as the only workaround. It
now leads the summary paragraph, has a TL;DR line and a full Fixed entry
explaining the loop in plain terms (a mic that cannot run echo cancellation, each
failed attempt knocking out the working path and thereby triggering the next).

The TL;DR was also trimmed from nine multi-line bullets to seven one-liners.
`docs/releases/README.md` asks for 3-6, and this release has an unusual number of
genuinely severe entries — seven is the honest floor without hiding one, and the
long-form detail was already duplicated below in Fixed, which is where it belongs.
The Apple stats-overlay and Apple TV colour bullets lost their TL;DR slots and
keep their Fixed entries.

`SessionAudio.start()` being asynchronous on macOS is added to the notes' `For
developers` paragraph — it is the one embedder-visible edge in #223, and an
embedder who only reads the notes would otherwise meet it at runtime.

Play notes are untouched and still accurate: the only commit to touch
clients/android since is `b6b3c10c`, which is screenshot CI, not app behaviour.

Gates on this tree: fmt clean, `cargo metadata --locked` consistent,
`cargo test -p punktfunk-core` 210 passed, C ABI harness abi_version=19,
`api/openapi.json` and the docs-site copy still byte-identical.
enricobuehler merged commit ea5afbaa8c into main 2026-08-14 11:26:55 +00:00
enricobuehler deleted branch worktree-release-0281-notes 2026-08-14 11:26:59 +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#224