This release includes 1 breaking change for platform teams planning a safe upgrade.
Published 1mo
AI Agents & Assistants
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
assistant
dictation
linux
llm
local-first
rust
+5 more
speach-to-text
stt
vulkan
whisper
wyoming
Affected surfaces
deps
breaking_upgrade
Summary
AI summaryUpdates Deferred, ubuntu-latest, and release-slim across a mixed release.
Full changelog
Added
- Wyoming Home Assistant wire compliance. Frames now use canonical
Wyoming framing (headerversion+data_lengthwith a separate
JSON data block;WYOMING_VERSION = "1.8.0").info.asris now a
Vec<AsrProgram>per Home Assistant's all-services-as-arrays
expectation, with placeholder arrays for tts/handle/intent/wake/mic/
snd/satellite. Server queuestranscribearriving before
audio-stopto match Home Assistant client behavior. New
decode_pcm_lehandles variable bit-width and multi-channel
audio-chunkheaders. New round-trip test
server_accepts_home_assistant_transcribe_before_audio. - Discovered-server tray UX. Tray gains a "Discovered Wyoming
servers" submenu under STT backend; clicking a peer hot-reloads the
daemon's STT config to point at the chosen remote. Daemon filters
its own local instance out of the discovered list. mDNS advertiser
usesenable_addr_auto()so A/AAAA records track network topology
changes. - Glibc symbol-version compat. Both the size-budget CI gate and
the release build matrix now pinruns-on: ubuntu-22.04(glibc
2.35), so the shipped binary runs on Ubuntu 22.04+, Debian 12+,
Fedora 36+, and any host with glibc ≥ 2.35.
Changed
- Canonical ship target is glibc-dynamic, not static-musl.
release.ymlbuildsx86_64-unknown-linux-gnurelease-slim(it
always did); the newBinary size & deps auditCI gate mirrors
that target and asserts (a) size ≤ 20 MiB (measured at release:
18.08 MB, ~2 MB headroom) and (b) NEEDED set is exactlylibc.so.6 libm.so.6 libgcc_s.so.1 ld-linux-x86-64.so.2. Modern glibc (≥ 2.34)
merges libpthread/librt/libdl into libc.so.6. Anything else (libgtk,
libstdc++, libgomp, libayatana, libxdo, libasound, libxkbcommon,
libwayland-*) fails the gate. ADR 0022 amended 2026-05-02; the
original "no shared libraries" wording is superseded. - CI job names rewritten for clarity:
test (ubuntu-latest)→
Build & test (ubuntu-latest);size-budget (release-slim)→
Binary size & deps audit;cargo-deny→License & advisory audit;build ($target)→Release binary ($target). - Server name
"fono"→"Fono"for UI consistency in Home
Assistant and elsewhere.
Deferred
- Static-musl single binary (Phase 2.4 of the binary-size plan).
messense/rust-musl-cross:x86_64-muslships alibgomp.athat is
non-PIC (breaks-static-pie) and references glibc-only symbols
(memalign,secure_getenv) plus a chain of POSIX symbols whose
resolution depends on rust's link order. Eleven CI commits chased
the chain (preserved ingit logas901e41d..29cc577, superseded
in spirit byd2b54cb). Resurrection path: switchllama-cpp-2
fork to llvm-openmp (libomp is PIC-friendly) or pin a PIC-built
libgomp.a from GCC sources in our own minimal cross image. Not
blocking the desktop ship target.
Fixed
- CI cache cross-glibc contamination. Suffix the
Swatinem/rust-cache key with the runner image
(size-budget-ubuntu-22.04,${{ matrix.target }}-${{ matrix.os }})
so cached build-script binaries don't migrate between runner-glibc
generations and fail at execute-time withversion 'GLIBC_2.X' not found.
What's Changed
- feat(wyoming): Home Assistant wire compliance + discovered-server tray UX by @bogdanr in https://github.com/bogdanr/fono/pull/1
- chore: release v0.4.0 by @bogdanr in https://github.com/bogdanr/fono/pull/2
New Contributors
- @bogdanr made their first contribution in https://github.com/bogdanr/fono/pull/1
Full Changelog: https://github.com/bogdanr/fono/compare/v0.3.7...v0.4.0
Breaking Changes
- Canonical ship target changed to glibc‑dynamic (x86_64-unknown-linux-gnu) release‑slim; static‑musl build is deferred and no longer produced.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Fono
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]