What we're building now¶
YazSes is developed in the open, and this page shows where it stands. The sections marked generated are produced from the repository each time the site is built: from CHANGELOG.md and the release notes. They are as current as the site, and they cannot say anything the changelog does not.
For where the project is going, read the roadmap. This page covers what is happening now.
Latest release¶
Generated.
Latest release: v2.43.2, published 2026-10-18 — no more words nobody said. A loud burst with no speech in it is no longer decoded into the vocabulary prompt, a stray hold-release no longer re-types the previous dictation, and eyes-closed dictation no longer fires on a blink or stays off after a glance away.
Install or upgrade All releases on GitHub
On main, not yet released¶
Generated. Each item below is a change that has landed on main with its tests and will ship in the next release. Each one is a heading in the changelog's [Unreleased] section, where the full entry explains what changed and why.
97 changes are on main and not yet in a release — Fixed 47 · Added 34 · Changed 6 · Tests 6 · Security 2 · Docs 1 · Performance 1.
Every unreleased change, grouped by kind
Fixed (47)
- the docs' memory and Docker-image figures are re-measured, and four stale status lines corrected
- Linux: enabling a voiceprint feature no longer downloads the CUDA build of PyTorch
- the website made 27 failing requests on every page view, and its home-page title named the product twice
- install and status pages that had drifted from the code and the live channels
- on Windows, the whole keyboard no longer lags while a dictation transcribes
- with Microsoft Store Python on Windows,
yazses statusandstopsee the running daemon - on Windows, no empty terminal window at sign-in after
yazses start(#330) yazses autostart disablestays disabledscoop uninstall yazsesremoves the start-at-login entryyazses stopstops YazSes, tray icon included, instead of being undone by it- the Windows tray greys out a Meeting Mode entry that cannot work, and says why
- the Windows install guide's facts
- the Windows add-on spike's bind check reported a correct bind as FAIL
- with
yazses remoteconnected, dictation was typed on this machine instead of the remote one - updating will not break OpenCV (cv2) for camera-feature users
- dictated text no longer reaches the log when a keystroke tool fails
yazses reportno longer carries your home directory- long streaming corrections on Wayland could delete text outside the dictation
- smaller defects found by new regression tests
- the one-click Windows update never ran the installer (unreleased feature)
- "install it with…" messages name a command that works on your install, and
yazses updaterecognises a uv tool under a customUV_TOOL_DIR - the MCP
transcribetool andmeeting recovernow decode with your model, language, device and precision - a non-English language on an English-only model is refused, not typed as English (#515)
- Persian and Arabic names keep their punctuation in the tray, Settings and notifications (#516)
- pushing a release tag no longer turns every open pull request red (#602)
- Mandarin text no longer gains spaces, loses commas or doubles on the way to the app (#501)
- implicit gaze calibration kept old eye positions too long, and across a layout change (#397)
- Mandarin commands: a sentence could become a go-to-file/function/class, and numerals were not bounded where they should be (#499)
- a language switch is proven whole before it lands, and doctor names the real command grammar (#497)
- the hands-free controls window lists only stop routes that exist, and tells the truth about installs (#420)
- a Mac without the Accessibility grant now says so when the Head-Pointer starts (#402)
- the Wayland keyboard and pointer could write to their shared portal connection at the same time (#403)
- implicit gaze calibration: the promotion verdict is a pure function, and the schema version is read (#398)
- a face switch bound to
pause_pointerdid nothing while the global stop was off (#407) - an eyes-closed face switch could fire on an ordinary blink when the shared camera ran at 30 fps (#406)
- a half-made Gesture Chord token no longer survives a hands-free Pause and Resume (#408)
- an update could still delete an enabled feature's libraries, and a dead feature looked healthy
- the eye-control CI matrix lost its macOS leg to a new Homebrew Python (#424)
- an eye-eval outcomes file could carry free text in a face-switch record (#422)
- a camera feature could be switched on in a package that cannot run one (#414)
- hands-free health named the camera for a model failure, and called a stalled camera "tracking valid" (#416)
- macOS: no Accessibility or microphone prompt was ever raised, and
doctornames a daemon that predates a grant (#562, #578) - Mandarin:
yazses transcribeignored[stt] chinese_script, and the opt-in Hallucination Guard could drop a Han sentence yazses startkeeps waiting through a transient IPC error, and says which endpoint stayed silent (#330)- calibration no longer sets the gate from how loudly the sample was spoken (#579)
- a damaged gaze calibration file could still read as valid (#415, ADR-v2-149)
- a face gesture begun before Resume no longer completes after it (#417)
Added (34)
- six accessibility features you can now turn on (experimental, off by default)
- implicit gaze calibration can now see real clicks on X11, Windows and macOS (#607)
- ADR-029 "Runtime residency": RAM and CPU proportional to what is enabled (Proposed)
- the website shows what is being built right now, and a three-step quick start for every OS
- a licence check holds back any Windows add-on whose licences are unclear (ADR-028 Q7)
- a reviewed licence text can stand in for one a library does not ship (ADR-028 Q7)
- install a Windows add-on from a file with no network, and the uninstaller removes your add-ons (ADR-028 questions 4 and 5)
- add-on packs use YazSes's own ONNX Runtime (unreleased feature, ADR-028 M1)
- add-ons are downloaded again after a one-click Windows update (ADR-028 Q3, unreleased feature)
- the missing signal producers for six unwired accessibility features (#164)
- benchmark and evaluation tooling for Mandarin and Persian
- READY eye/camera validation slots appear in the contributor task finder (#456)
- the Settings window checks for updates and installs dormant features
- one written response to a red check, and quarantines that expire (#538)
- a daily CI telemetry report: queue time, runtime, cancellation and failure hot spots (#536)
- a written, checkable milestone policy for open issues (#480)
- a switched-on feature installs its own libraries at the moment it needs them, with one action, and an install can no longer break the base
- the Windows release builds feature add-on packs (ADR-028, build side of phases 0–1)
- add-on packs: the Windows installer build can turn on Parakeet and diarization (ADR-028, runtime side)
- the live traceability audit now reports issue-tracker drift, advisory only (#487)
- the gaze field report now gives error percentiles and zone hit rates, and its validator rejects any report that could leak (#399)
- face-switch false-activation replay: nuisance traces and a swappable detector (#409)
- the Wayland gaze target is a cited capability model, and "close this" on Wayland is refused out loud (#418)
- the hands-free preset is a
featurescapability, and every way on checks its safety floor (#410) ci-gate, one stable check for branch protection to require (#462)- one-click update on Windows (ADR-027)
- release validation standard, platform validation matrix and macOS campaign (docs only)
- paper-v2 tables and figure data are generated from the archived results (#508)
- Persian benchmark: the manifest gate, recorded selection seed, and stated scoring rules (FA-04, #513)
- per-decode cost records, a versioned cost schema and battery/macOS energy paths (#506)
- benchmark harness can record CPU core-seconds and optional energy (#506)
- language output profiles: one registry keyed by the STT language (FA-01, #509)
- eye-control results reuse the paper benchmark's provenance instead of describing it twice (#421)
examples/config.discord.toml, a Windows 11 profile for Discord
Changed (6)
- the README now opens with what YazSes is, what it does, how to install it, and how to help
- the Windows installer carries Parakeet's engine and Chinese script conversion; the diarization add-on runs on the installer's ONNX Runtime
- documentation and project tooling
- five disabled features no longer load at daemon start, and the CLI no longer imports the config for
--version - the eye-validation registry declares every issue it names, and what hardware each cell needs (#454)
- macOS install guide: the Open Anyway route first, and how to find a leftover daemon (#562)
Tests (6)
- Glance-Type on the shared camera sees the same model and the same device (#396)
- the Head-Pointer is proven reachable through the daemon, not only importable (#404)
- every Head-Pointer state, every way in and out, on a fake clock (#405)
- one MediaPipe result, three channels: every subset and every absence (#395)
- the PointerSink contract now covers bounds and permanence (#400)
- the shared camera owner is now held to its contract at the daemon, not only on its own (#394)
Security (2)
- the Windows diarization add-on stays unreleased: its libraries embed GPL code
- 20 of 21 open dependency advisories closed by upgrading, the last one assessed (#116)
Docs (1)
- the machine-drafted translations say offline "by default", not "never"
Performance (1)
- a feature that is off no longer slows every start, and a test now holds that line
Want one of these before it is released? Install from main with pipx install git+https://github.com/MSKazemi/yazses and report what you find. A test on real hardware is the most useful contribution there is.
Recent releases¶
Generated. Every release has a notes page that says what changed and how to upgrade.
| Release | Date | What it brought |
|---|---|---|
| v2.43.2 | 2026-10-18 | no more words nobody said |
| v2.43.1 | 2026-10-17 | fixes from the first macOS reports, and what ARM Windows PCs install |
| v2.43.0 | 2026-10-17 | a second keyboard works, and five opt-in features you can now turn on |
| v2.42.0 | 2026-10-04 | prove that typing arrives |
| v2.41.0 | 2026-10-04 | dictation that was heard and typed into nothing |
| v2.40.1 | 2026-09-25 | hold the key we actually listen for |
Follow new releases without an account: RSS · JSON Feed · GitHub releases.
How YazSes is built¶
A small set of rules holds every change in place. Tests enforce them; a reviewer does not have to remember them.
| Rule | What it means for you | Where it is held |
|---|---|---|
| Nothing leaves the machine | Audio, transcripts and the learning corpus stay on your computer. No telemetry, analytics or crash reporting. | A test fails the build when a module gains a network call that is not registered and classified (ADR-019) |
| New features ship off | Upgrading never changes what your install does until you switch something on. | Every feature has a config section whose default is dormant (features) |
| Heavy dependencies are optional | The base install stays small. Torch, ONNX, Qt and similar libraries arrive only with the feature that needs them. | Optional extras, imported lazily, and a test that a disabled feature costs a default start nothing |
| Pure logic, injected backends | The decision-making code is unit-tested directly, without a microphone or a model. | The architecture: pure modules beside swappable engines |
| Every OS behind one interface | Linux, macOS and Windows differences live in one place, which is also what makes an Android port possible. | Protocols in platform/base.py (platform support) |
| Tests come with the change | A behaviour change arrives with the test that proves it. | The suite runs on Linux, macOS and Windows for every push and pull request |
| Decisions are written down | You can read why something works the way it does, including what was declined. | Architecture decision records |
The code is Python 3.11+, managed with uv. Speech-to-text is faster-whisper on the CPU by default; NVIDIA Parakeet TDT and Moonshine are opt-in engines. The full stack is in the architecture overview and its diagrams.
Where the work is organised¶
- Milestones. Each one is an outcome you can help reach: the Settings window, installing anywhere, hearing better, voice control, the first-hour experience, hands-free input, and Android.
- Roadmap. The direction, from dictation tool to keyboard-optional computing, and the principles that do not move.
- Research. The cited science behind each design choice, plus open questions for students and researchers.
- Discussions. Ideas, questions and show-and-tell.
Join in¶
Most first contributions need no knowledge of the codebase, and many need no code at all: testing on your own hardware, translating, adding a microphone that worked for you, or improving a page like this one.
Find a task that fits Open issues Contributing with an AI agent