chore(release): prepare v0.18.0 (#895)

* chore(release): prepare v0.18.0

Bump version surfaces for the v0.18.0 minor release: version.py,
web/package.json + lockfile, softwareVersion schema, SECURITY.md
supported-versions table, AUR pkgver/_tag (source and -bin),
AppStream metainfo release entry, and the release-history table in
RELEASE_PROCESS.md.

Docs and site copy for the delta since v0.17.0: README blurb, snap
sideload versions in README/INSTALL/UPDATE, CHANGELOG current-stable
entry, docs/UPDATE.md What's New with the 0.18 highlights table and
per-PR credits, website changelog + desktop-reliability entries, and
PRODUCT.md capability lines for Dictation Pad, per-language shortcuts,
tray history, overlay, ducking, PipeWire, portal injection, D-Bus
activation, custom dictionary, and file transcription.

* fix(release): address review findings on the v0.18.0 prep

- Keep the checked-in vocalinux-bin PKGBUILD on v0.17.0 so its real
  AppImage digests stay consistent with its sources; release.yml bumps
  pkgver/_tag and pins both-arch digests atomically at publish
- Qualify the Flatpak release note: PipeWire system-audio capture and
  RemoteDesktop portal injection are native-install paths
- Refresh dateModified on the changelog and desktop-reliability pages
- Restore the release-history table order in RELEASE_PROCESS.md
- Revert the build-regenerated web/next-env.d.ts route-types reference

---------

Co-authored-by: Jatin K Malik <jatinkrmalik@gmail.com>
This commit is contained in:
devin-ai-integration[bot]
2026-10-06 14:03:21 -07:00
committed by GitHub
co-authored by Jatin K Malik
parent 96e012d9bd
commit 1d4dbe33cc
15 changed files with 112 additions and 22 deletions
+3 -3
View File
@@ -12,11 +12,11 @@ Release history for Vocalinux.
## Current stable
**[v0.17.0](https://github.com/VocaHQ/vocalinux/releases/tag/v0.17.0)** (2026-09-16)
**[v0.18.0](https://github.com/VocaHQ/vocalinux/releases/tag/v0.18.0)** (2026-10-02)
Minor on the stable line: Faster Whisper and Parakeet local engines, Speech Model simple setup, first-run system language, Snap packaging with ydotool/`uinput` (GitHub `.snap` for sideload while Store review is pending), Flatpak bundles attached by the release workflow, and injection/settings/audio fixes (HDA analog mics at native layout, native GTK OS dark/light, English-only models no longer trap other languages).
Minor on the stable line: in-app Dictation Pad for Wayland-safe dictation, PipeWire capture with system-audio sources, RemoteDesktop portal text injection, per-language dictation shortcuts, tray dictation history, file transcription with speaker labels, opt-in D-Bus activation for compositor global shortcuts, custom dictionary with corrections, postprocessing scripts, a floating dictation overlay, and audio ducking while dictating. The dictation hotkey is grabbed and suppressed so it stops leaking into the focused app. Packaging gains a `vocalinux-bin` AUR package, a self-hosted Flatpak remote, and a gated snap-promote workflow.
See [docs/UPDATE.md](docs/UPDATE.md#whats-new-in-v0170) for the highlight table, or the [GitHub Release](https://github.com/VocaHQ/vocalinux/releases/tag/v0.17.0).
See [docs/UPDATE.md](docs/UPDATE.md#whats-new-in-v0180) for the highlight table, or the [GitHub Release](https://github.com/VocaHQ/vocalinux/releases/tag/v0.18.0).
## Earlier versions
+4 -4
View File
@@ -33,7 +33,7 @@ Vocalinux turns speech into typed text in whatever app has focus. It is a free,
No Voca account is required. Models download once. After that, speech-to-text stays on your machine.
**Current release:** [v0.17.0](https://github.com/VocaHQ/vocalinux/releases/tag/v0.17.0). Minor: Faster Whisper and Parakeet engines, Speech Model simple setup, first-run system language, Snap with native Wayland typing, Flatpak bundles on the GitHub Release. Details: [docs/UPDATE.md](docs/UPDATE.md).
**Current release:** [v0.18.0](https://github.com/VocaHQ/vocalinux/releases/tag/v0.18.0). Minor: Dictation Pad for Wayland-safe dictation, PipeWire capture with system-audio sources, RemoteDesktop portal typing, per-language shortcuts and dictation history, file transcription with speaker labels, and the dictation hotkey no longer leaking into the focused app. Details: [docs/UPDATE.md](docs/UPDATE.md).
## Features
@@ -150,7 +150,7 @@ bash /tmp/vl.sh --auto --engine=vosk # VOSK only
bash /tmp/vl.sh --auto --engine=parakeet # Parakeet (CPU)
```
For a specific release tag, see [GitHub Releases](https://github.com/VocaHQ/vocalinux/releases) or `./install.sh --tag=v0.17.0`.
For a specific release tag, see [GitHub Releases](https://github.com/VocaHQ/vocalinux/releases) or `./install.sh --tag=v0.18.0`.
### Arch Linux (AUR)
@@ -209,12 +209,12 @@ sudo snap connect vocalinux:hardware-observe # list keyboards (/proc/bus/input/
sudo snap connect vocalinux:uinput # native Wayland typing (ydotool)
```
v0.17.0 includes ydotool and the `uinput` plug. The Store still has to finish review of that plug, so `snap info vocalinux` may still show **v0.16.2** (rev 7) on edge. That revision has no `uinput` plug; `snap connect vocalinux:uinput` fails until a 0.17.0+ revision is listed.
v0.18.0 includes ydotool and the `uinput` plug. The Store still has to finish review of that plug, so `snap info vocalinux` may still show **v0.16.2** (rev 7) on edge. That revision has no `uinput` plug; `snap connect vocalinux:uinput` fails until a 0.18.0+ revision is listed.
Until then, sideload the GitHub file:
```bash
sudo snap install --dangerous ./vocalinux_0.17.0_amd64.snap
sudo snap install --dangerous ./vocalinux_0.18.0_amd64.snap
sudo snap connect vocalinux:uinput
```
+2 -1
View File
@@ -6,7 +6,8 @@ Only the current stable minor line receives security fixes:
| Version | Supported |
| ------- | --------- |
| 0.17.x | Yes |
| 0.18.x | Yes |
| 0.17.x | No |
| 0.16.x | No |
| 0.15.x | No |
| older | No |
+2 -2
View File
@@ -146,12 +146,12 @@ sudo snap connect vocalinux:hardware-observe # list keyboards (/proc/bus/input/
sudo snap connect vocalinux:uinput # native Wayland typing (ydotool)
```
**v0.17.0** ships ydotool and the `uinput` plug. That plug is super-privileged, so the Store held 0.17.0 for human review (`allow-installation`). Until a 0.17.0+ revision is listed, `snap info vocalinux` still shows **v0.16.2 (rev 7)** on edge. That revision has no `uinput` plug; `sudo snap connect vocalinux:uinput` fails.
**v0.18.0** ships ydotool and the `uinput` plug. That plug is super-privileged, so the Store held 0.18.0 for human review (`allow-installation`). Until a 0.18.0+ revision is listed, `snap info vocalinux` still shows **v0.16.2 (rev 7)** on edge. That revision has no `uinput` plug; `sudo snap connect vocalinux:uinput` fails.
Sideload the GitHub `.snap` (amd64) while the Store is waiting:
```bash
sudo snap install --dangerous ./vocalinux_0.17.0_amd64.snap
sudo snap install --dangerous ./vocalinux_0.18.0_amd64.snap
sudo snap connect vocalinux:audio-record
sudo snap connect vocalinux:raw-input
sudo snap connect vocalinux:hardware-observe
+1
View File
@@ -473,6 +473,7 @@ git push origin v0.5.1-beta
| 0.15.0 | 2026-07-28 | Stable | Searchable settings + sidebar dictation footer, AppImage, expanded languages, dictation polish, auto-pause/keepalive, Vulkan device selection, ibus-wayland, Bluetooth mic + shortcut UI fixes |
| 0.16.0 | 2026-08-23 | Stable | Update checker + tray notify, Right Alt PTT default (new installs), searchable language list, delete unused models, Voca tone picker (family preview WAVs), About page, AGPL-3.0, family mic icons, installer/just/uv pinning, Test Dictation missing-model message, IBus/audio/clipboard/GPU/AppImage reliability, vocalinux.com family workbench restyle |
| 0.17.0 | 2026-09-16 | Stable | Faster Whisper + Parakeet engines, Speech Model simple setup, first-run system language, Snap with ydotool/uinput, Flatpak bundles on the GitHub Release, XWayland/layout paste and settings/audio fixes |
| 0.18.0 | 2026-10-02 | Stable | Dictation Pad, evdev hotkey suppression, PipeWire capture + system audio, RemoteDesktop portal injection, per-language shortcuts + tray history, TinyDiarize file transcription, D-Bus activation, custom dictionary, postprocessing hook, floating overlay, audio ducking, AUR -bin + self-hosted Flatpak remote + snap-promote |
| 0.16.2 | 2026-09-05 | Stable | Patch: KDE leftover IBus skip, Wayland/IBus shortcuts via wtype/ydotool, BackSpace delete that, installer glslc on Fedora/Arch, nightly version stamp, release integrity pins, AUR PKGBUILD CI gate, distro CI/docs drift, Gateway Beta on site |
| 0.16.1 | 2026-08-30 | Stable | Patch: per-engine model at startup, leftover tray idle, terminal Ctrl+Shift+V paste, GNOME XWayland layout after IBus, Python 3.11 floor + verified downloads, AppImage glibc that boots on Debian 12, Settings/About polish |
+48 -2
View File
@@ -20,7 +20,7 @@ The installer detects a running instance, updates in place, preserves configurat
```bash
cd vocalinux
git fetch origin
git checkout v0.17.0
git checkout v0.18.0
./install.sh
```
@@ -38,7 +38,7 @@ git pull origin main
|--------|---------|
| AUR | `yay -S vocalinux` (or your AUR helper) |
| AppImage | Download the new file from [Releases](https://github.com/VocaHQ/vocalinux/releases) |
| Snap | Store: `sudo snap refresh vocalinux` (`--edge` until stable is promoted). Until Canonical lists 0.17.0, sideload `vocalinux_0.17.0_amd64.snap` from the GitHub Release (`sudo snap install --dangerous ./vocalinux_0.17.0_amd64.snap`), then `sudo snap connect vocalinux:uinput`. v0.16.2 rev 7 has no such plug. |
| Snap | Store: `sudo snap refresh vocalinux` (`--edge` until stable is promoted). Until Canonical lists 0.18.0, sideload `vocalinux_0.18.0_amd64.snap` from the GitHub Release (`sudo snap install --dangerous ./vocalinux_0.18.0_amd64.snap`), then `sudo snap connect vocalinux:uinput`. v0.16.2 rev 7 has no such plug. |
| Flatpak (release bundle) | Install the new `.flatpak` from Releases; bundles do not auto-update |
| PyPI | Reinstall in the same venv after system packages are current |
@@ -73,6 +73,52 @@ Missing system packages: see [INSTALL.md](INSTALL.md) or [DISTRO_COMPATIBILITY.m
---
## What's New in v0.18.0
0.18.0 is a **minor** on the stable line. Default engine is still whisper.cpp. The headline fix is a grab of the dictation hotkey so the shortcut stops leaking into the app under it. Alongside it is a set of Wayland-native paths: an in-app Dictation Pad that keeps text off the fragile injection routes entirely, PipeWire capture (microphone and system audio), and a RemoteDesktop portal injection backend. Dictation gains per-language shortcuts, a tray history menu, a floating overlay, and audio ducking. Long-requested contributor work lands here too: D-Bus activation for compositor global shortcuts, bilingual language candidates, a postprocessing script hook, a custom dictionary with corrections, and file transcription with speaker labels.
### 0.18 series highlights
| Feature | Description |
|---------|-------------|
| **Dictation Pad** | In-app window that receives dictation; you copy text out by hand, so Wayland injection quirks cannot touch it (#887, fixes #726) |
| **Hotkey suppression** | evdev grabs the dictation shortcut and forwards everything else through a uinput clone; the key no longer types into the focused app (#873, #893, fixes #871) |
| **PipeWire capture** | Mic and system-audio sources through the native PipeWire path, not just PortAudio (#889, #883, fixes #751, #760) |
| **RemoteDesktop injection** | Wayland text injection through the RemoteDesktop portal, no ydotoold needed (#885, fixes #750) |
| **Per-language shortcuts + history** | A dictation shortcut per language, layout-follow while dictating, and recent dictations in the tray menu (#880, #837, #487, fixes #805, #821) |
| **File transcription with speakers** | `--transcribe-file` with TinyDiarize per-speaker labels, plus a transcript viewer (#884, fixes #756) |
| **D-Bus activation** | Opt-in D-Bus methods so compositor global shortcuts (and scripts) can start dictation (#568, fixes #761) |
| **Custom dictionary** | Terms bias plus transcript corrections from one file (#890) |
### Also in v0.18.0
- Postprocessing script hook pipes transcriptions through a user command (#479 by @karottenreibe)
- Bilingual dictation: configurable second-language Whisper candidates, with deferred settings edits (#424 by @juanfradb)
- Optional verified Orukeet model for the Parakeet engine (#840 by @Nathan-Roll1)
- Keep recording while an idle-unloaded model reloads instead of dropping the utterance (#851 by @mre31)
- Floating glowing dictation overlay and lowering of other audio while dictating (#516, #861)
- `config.json` can pin the text-injection backend (#649 by @HashimAbdulaziz, fixes #476 reported by @waldemar-p)
- Alt+Shift and Win+Space layout switching keeps working on GNOME Wayland (#876, fixes #848 reported by @hopsayer)
- Shortcut recorder learns unmapped F19/F24 and XF86-aliased F13-F23 (#844, fixes #843 reported by @bisgardo)
- Vosk refuses to load a model that would exceed available memory instead of tripping the OOM killer (#850 by @AmirF194, fixes #676 reported by @hopsayer)
- IBus guard no longer flips GNOME/X11 to a US layout (#827 by @AmirF194)
- Model downloads cancel cleanly even when the fetch stalls, and the download dialog shows verifying instead of a stalled 100% (#888, #864 by @guilhermefeitosa66, fixes #679, #863)
- Settings: scrollable category list, Dictation Tone grayed while sound effects are off, Test Dictation textbox artifact and missing transcription fixed, speech-model follow-ups (#886, #877, #853, #836, fixes #678, #849, #847, #720, #834)
- Update checker falls back when GitHub API rate-limits instead of erroring (#846, fixes #845 reported by @lmstud)
- Audio: stop passing an explicit index when zero devices enumerate; View Logs closes via the titlebar X (#891, #892)
- Snap gains `hardware-observe` so hotkeys can read input devices (#858, fixes #857 reported by @RhysU)
- Installer installs hash-pinned dependencies and build tools, and is split into sourced modules with a generated distro package map (#856, #862, #872 by @sesav)
- AUR `vocalinux-bin` ships the AppImage with per-arch digests; releases publish a signed self-hosted Flatpak OSTree remote; a snap-promote workflow gates stable promotion (#879, #875, #881, fixes #817, #785, #783)
- VocaGateway can run locally from Settings → Advanced (podman-first) (#774)
- Dependency advisories cleared and workflow tokens scoped to repository reads (#869, #865, #866 by @Mr-Sunglasses, #870)
- Settings dialog consolidated: guard flags and widget construction in one place each (#878, fixes #793)
AppImage, Flatpak, and Snap still ship whisper.cpp plus the same engine matrix as 0.17.
See the [full changelog](https://github.com/VocaHQ/vocalinux/releases/tag/v0.18.0).
---
## What's New in v0.17.0
0.17.0 is a **minor** on the stable line. Default engine is still whisper.cpp. This release adds two optional local engines (Faster Whisper and Parakeet), a simpler Speech Model page, Snap packaging with native Wayland typing, and Flatpak bundles built by the release workflow. It also fixes XWayland/layout paste, a KDE xdotool crash, push-to-talk tray redraw, clipped start/stop cues, HDA analog mics that abort when opened below native channel count, native GTK installs that ignored OS dark/light, and English-only models that hid every other language.
+2 -2
View File
@@ -3,8 +3,8 @@
pkgname=vocalinux
# AUR pkgver cannot contain hyphens (v0.14.0-beta -> 0.14.0beta).
pkgver=0.17.0
_tag=0.17.0
pkgver=0.18.0
_tag=0.18.0
pkgrel=1
pkgdesc="Free, offline voice dictation for Linux"
arch=('any')
@@ -105,6 +105,11 @@
</content_rating>
<releases>
<release version="0.18.0" date="2026-10-02">
<description>
<p>Minor: in-app Dictation Pad for Wayland-safe dictation, per-language dictation shortcuts, tray dictation history, file transcription with speaker labels, opt-in D-Bus activation for compositor global shortcuts, custom dictionary with corrections, postprocessing script hook, floating dictation overlay, audio ducking while dictating, and the dictation hotkey grabbed so it stops leaking into the focused app. PipeWire/system-audio capture and the RemoteDesktop portal injection backend are native-install paths; this Flatpak still ships whisper.cpp only.</p>
</description>
</release>
<release version="0.17.0" date="2026-09-16">
<description>
<p>Minor: Faster Whisper and Parakeet local engines, Speech Model simple setup, first-run system language, searchable open language picker, localized punctuation commands, bare function-key push-to-talk, Snap packaging with ydotool/uinput, Flatpak bundles attached by the release workflow, and XWayland/layout paste plus settings/audio fixes (HDA analog mics at native layout, native GTK OS dark/light, English-only models no longer trap other languages). This Flatpak still ships whisper.cpp only.</p>
+2 -2
View File
@@ -2,8 +2,8 @@
Version information for Vocalinux.
"""
__version__ = "0.17.0"
__version_info__ = (0, 17, 0)
__version__ = "0.18.0"
__version_info__ = (0, 18, 0)
__author__ = "Jatin K Malik"
__email__ = "jatinkrmalik@gmail.com"
__license__ = "AGPL-3.0-only"
+6
View File
@@ -32,6 +32,12 @@ Offline-first Linux voice typing with real desktop integration (system tray, X11
- Shortcut modes: push-to-talk default (hold Right Alt / Option); toggle available; left/right modifier distinction; configurable modifier+key combos
- Searchable language combobox; delete unused downloaded speech models from Settings
- Optional voice commands with localized punctuation phrases for common languages; Silero neural VAD with amplitude fallback
- Dictation Pad: in-app window that receives dictation for manual copy-out; the Wayland-safe path that skips text injection entirely
- Per-language dictation shortcuts, optional follow of the active keyboard layout, and a tray history menu with recent dictations
- Floating dictation overlay, optional lowering of other audio while dictating, and custom dictionary terms bias plus transcript corrections
- Audio capture via PipeWire (microphone and system-audio sources) or PortAudio; Wayland text injection via IBus, wtype, ydotool, or the RemoteDesktop portal
- Opt-in D-Bus activation so compositor global shortcuts and scripts can start dictation
- File transcription with per-speaker labels (`--transcribe-file` / tray), powered by TinyDiarize
- Continuous dictation polish: capitalize after sentence punctuation; trailing space after each completed utterance
- Optional auto-pause while configured apps run; optional idle model keep-alive unload
- In-app update checker (stable/nightly) with tray notification when a newer GitHub release is available
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "vocalinux-website",
"version": "0.17.0",
"version": "0.18.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "vocalinux-website",
"version": "0.17.0",
"version": "0.18.0",
"dependencies": {
"@types/node": "^20.14.10",
"@types/react": "^18.3.3",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vocalinux-website",
"version": "0.17.0",
"version": "0.18.0",
"private": true,
"type": "module",
"scripts": {
+27 -1
View File
@@ -14,6 +14,32 @@ import { SeoSubpageShell } from "@/components/seo-subpage-shell";
import { absoluteUrl, buildPageMetadata } from "@/lib/seo";
const releases = [
{
version: "v0.18.0",
date: "2026-10-02",
type: "stable",
highlights: [
"Dictation Pad: in-app window receives dictation and you copy text out by hand, so Wayland injection quirks cannot touch it (PR #887, fixes #726)",
"Hotkey suppression: evdev grabs the dictation shortcut and forwards everything else through a uinput clone; the key no longer types into the focused app, and still works when /dev/uinput is write-only (PR #873, #893, fixes #871)",
"PipeWire capture path with microphone and system-audio sources (PR #889, #883, fixes #751, #760)",
"RemoteDesktop portal text injection on Wayland, no ydotoold needed (PR #885, fixes #750)",
"Per-language dictation shortcuts, follow the active keyboard layout while dictating, and recent dictations in the tray menu (PR #880, #837, #487, fixes #805, #821)",
"File transcription with TinyDiarize per-speaker labels via --transcribe-file and the tray (PR #884, fixes #756)",
"Opt-in D-Bus activation so compositor global shortcuts and scripts can start dictation (PR #568, fixes #761)",
"Combined custom dictionary with transcript corrections, postprocessing script hook, bilingual dictation candidates (PR #890, #479, #424)",
"Floating glowing dictation overlay, lower other audio while dictating, keep recording while an idle model reloads (PR #516, #861, #851)",
"config.json can pin the text-injection backend (PR #649, fixes #476)",
"GNOME Wayland: Alt+Shift and Win+Space layout switching keeps working; IBus guard no longer flips GNOME/X11 to a US layout (PR #876, #827, fixes #848)",
"Shortcut recorder learns unmapped F19/F24 and XF86-aliased F13-F23 (PR #844, fixes #843)",
"Vosk refuses a model that would exceed available memory instead of tripping the OOM killer (PR #850, fixes #676)",
"Model downloads cancel stalled fetches; the download dialog shows verifying instead of a stalled 100% (PR #888, #864, fixes #679, #863)",
"Update checker falls back when GitHub API rate-limits (PR #846, fixes #845)",
"Settings: scrollable category list, Dictation Tone grayed while sounds are off, Test Dictation artifact and missing transcription fixed (PR #886, #877, #853, fixes #678, #849, #847, #720)",
"AUR vocalinux-bin ships the AppImage with per-arch digests; releases publish a signed self-hosted Flatpak remote; snap-promote workflow gates stable promotion; snap gains hardware-observe (PR #879, #875, #881, #858, fixes #817, #785, #783, #857)",
"Installer: hash-pinned dependencies and build tools, sourced modules, generated distro package map (PR #856, #862, #872)",
"Optional verified Orukeet model for Parakeet; VocaGateway runs locally from Settings > Advanced (PR #840, #774)",
],
},
{
version: "v0.17.0",
date: "2026-09-16",
@@ -434,7 +460,7 @@ export default function ChangelogPage() {
headline: "Vocalinux Changelog - Release History",
description:
"Complete release history for Vocalinux, the offline voice dictation software for Linux.",
dateModified: "2026-06-30",
dateModified: "2026-10-02",
author: {
"@type": "Person",
name: "Jatin K Malik",
+6 -1
View File
@@ -54,6 +54,11 @@ const reliabilityFeatures = [
];
const releaseMap = [
{
version: "v0.18.0",
highlights:
"Dictation Pad for Wayland-safe dictation, evdev hotkey grab so the shortcut stops leaking into the focused app, PipeWire capture with system-audio sources, RemoteDesktop portal injection, per-language shortcuts and layout-follow, tray dictation history, TinyDiarize file transcription, opt-in D-Bus activation, custom dictionary with corrections, postprocessing hook, floating overlay, audio ducking, GNOME Wayland layout-switching fix, Vosk OOM guard, cancellable model downloads, AUR -bin AppImage package, self-hosted Flatpak remote, and snap hardware-observe.",
},
{
version: "v0.17.0",
highlights:
@@ -121,7 +126,7 @@ export default function DesktopReliabilityPage() {
headline: "Linux Desktop Dictation Reliability",
description:
"Reliability improvements in Vocalinux for IBus, Wayland, suspend/resume, keyboard layout preservation, and text injection.",
dateModified: "2026-06-11",
dateModified: "2026-10-02",
author: {
"@type": "Person",
name: "Jatin K Malik",
+1 -1
View File
@@ -40,7 +40,7 @@ const homeJsonLd = [
},
description:
"Offline voice dictation and speech-to-text for Linux with whisper.cpp, Faster Whisper, Whisper, VOSK, and Parakeet.",
softwareVersion: "0.17.0",
softwareVersion: "0.18.0",
author: {
"@type": "Person",
name: "Jatin K Malik",