---
title: "v2026.9.19"
summary: "Dictate is now local-only."
description: "Dictate v2026.9.19 release notes: what changed, and who contributed."
keywords:
  - Dictate
  - v2026.9.19
  - release notes
---

# v2026.9.19

<!-- Written by scripts/release/changelog.mjs from CHANGELOG/2026.9.19.md. Do not edit it: the release cut writes it again. -->

AI agents and tools can read these release notes as [plain Markdown](https://raw.githubusercontent.com/arcforgelabs/dictate/master/CHANGELOG/2026.9.19.md).

This release covers **17 pull requests.**

## Highlights

- Dictate is now local-only.
- Removed: The hosted OpenAI, xAI and Gemini transcription backends.
- The desktop UI's account dialog is replaced by a smaller About dialog.
- The privacy policy is rewritten: with no account and no network transcription path, the only things that reach the network are model downloads, update checks and Microsoft Store install telemetry, none of which carry dictation content.
- Linux microphone capture after Ubuntu 26 / PipeWire upgrades: the frozen engine no longer bundles private `libportaudio` / `libasound` / `libpulse`.
- Removed: The `dictate pro` command tree, and the `dictate config set-key`, `set-provider` and `set-cloud-preference` subcommands.

## Changes

- Dictate is now local-only. Accounts, subscriptions, encrypted cloud sync, hosted transcription and API-key configuration are gone, along with the remote-provider fallback machinery. 27,064 lines across 107 files were deleted. See `docs/local-only-audit.md`.
- Removed: The `dictate pro` command tree, and the `dictate config set-key`, `set-provider` and `set-cloud-preference` subcommands.
- Removed: The hosted OpenAI, xAI and Gemini transcription backends. Only local engines remain: Parakeet (with its diarisation variants), faster-whisper and WhisperX.
- Removed: The `cryptography` runtime dependency, which existed only to encrypt sync records.
- `dictate config show` reports the local backend instead of a private/online provider mode, and no longer prints key or secret-store status.
- The desktop UI's account dialog is replaced by a smaller About dialog. The version rows, the Stable/Beta update channel selector and the update actions are unchanged and live there now.
- The privacy policy is rewritten: with no account and no network transcription path, the only things that reach the network are model downloads, update checks and Microsoft Store install telemetry, none of which carry dictation content.
- Upgrade note: No migration is required. Transcription, dictation history, notes, hotwords and preferences are unaffected, and all local data stays where it is.
- Upgrade note: A saved `stt_backend` of `openai`, `xai` or `gemini` is no longer valid. Startup already rejects an unknown backend and falls back to the hardware-appropriate local default, so no action is needed.
- The repository is now private. Update checks no longer depend on repository visibility: the `stable` channel resolves the latest version from the npm registry's `latest` dist-tag first, falling back to the GitHub API. Previously a private repository would have put every install into a visible `check_failed` state showing a raw HTTP 404.
- Known issue: Linux `stable` install/update via npm fails until a new self-contained stable release is published. See `KNOWN_ISSUES.md`.

## Fixes

- Linux microphone capture after Ubuntu 26 / PipeWire upgrades: the frozen engine no longer bundles private `libportaudio` / `libasound` / `libpulse`. Capture uses distro `libportaudio2` (+ `libpulse0`), and the recorder prefers the Pulse host API / soft PCMs and resamples to 16 kHz when a device cannot open at that rate.
- Beta/unstable Linux `.deb` updates: the unstable publish lane now attaches a `.deb` to the prerelease, and the in-app updater downloads that channel tag (not only GitHub `latest`). Linux packaging pins CPU torch and strips nvidia/triton so the `.deb` stays under GitHub's 2 GiB asset limit.

## Contribution record

[CHANGELOG/records/2026.9.19.md](https://github.com/arcforgelabs/dictate/blob/master/CHANGELOG/records/2026.9.19.md) lists every pull request in this release once, with its related issues and thanks.
