Skip to content

v2.43.1 — fixes from the first macOS reports, and what ARM Windows PCs install

Released 2026-10-17. Upgrade:

sudo snap refresh yazses     # snap
pipx upgrade yazses          # or: uv tool upgrade yazses
scoop update yazses          # Windows

Restart the daemon afterwards. From this release on, starting a newer YazSes also replaces an older running one (below), so an upgrade no longer leaves the previous daemon answering.

A daemon from before the upgrade no longer wins

A YazSes daemon reads its permissions, its config and its code once, when it starts. After an upgrade the previous daemon used to keep running, and opening the new app found it and exited with "Another YazSes daemon is already running". On macOS that is how a keyboard permission read before it was granted stayed in force for days (#562). A starting daemon that finds the lock held now asks the holder its version; if the holder is strictly older, it asks it to shut down and takes over. An equal version (a plain duplicate start), a newer one, one that will not say, and one that does not answer are all left alone and reported as before.

macOS: Quit now stops the daemon

The menu bar's Quit ended the tray process from inside its event loop, so the tray never got to tell the daemon to shut down, and the daemon kept running (#578). The shutdown is now sent from the library's quit event as well. This was found by reading the library's source and Apple's documented behaviour; it has not been run on a Mac yet, so the confirmation from the person who reported it (ps aux | grep -i yazses before and after Quit) is still outstanding.

The tray's Re-calibrate measures the room and your voice

yazses mic-level --set has measured the room and then your voice since v2.36.0, but the tray's Re-calibrate button, the mic-guard toast and the spoken "re-calibrate" still recorded one clip, assumed it was speech and wrote half its level (#579). A loud sentence set a gate above your quieter speech; an empty room set one below its own noise. It now asks for the room, then your voice, places the gate between them, and writes nothing if the two are too close together.

Windows on ARM: use the x64 installer

v2.43.0 shipped without YazSes-<version>-windows-arm64.exe, and this release does not bring it back. The speech engine, ctranslate2, publishes no ARM Windows wheel in any release, so a native ARM build cannot include it. The build logs show the arm64 installers of earlier releases contained the x64 ctranslate2, which means they were x64 builds under an arm64 name; they stopped being produced when the build tool changed which Python it gives an ARM runner. Use YazSes-<version>-windows-x64.exe on an ARM PC: it runs under Windows' emulation, exactly as the earlier "arm64" file did. Scoop and winget install the same x64 build. This was inferred from the dependency and the logs; the shipped binaries were not inspected.

Also

The packaging manifests (Scoop, Chocolatey, winget, Homebrew, AUR, Fedora) were refreshed for v2.43.0 from the assets actually attached to that release.

The complete list is in the changelog.