chore(release): prepare v0.16.1 (#755)
Bump the stable line from 0.16.0 to 0.16.1. README and UPDATE keep the 0.16 series highlights and add the patch-only fixes. Website changelog, schema, AppStream, and AUR PKGBUILD follow.
This commit is contained in:
@@ -41,11 +41,11 @@ It's a free, AGPL-3.0-licensed desktop app that lets you dictate text into *any*
|
||||
|
||||
Models are downloaded once. After that, speech-to-text stays on your machine. No Voca account is required. Just speak and type.
|
||||
|
||||
## 📚 What's New in v0.16.0
|
||||
## 📚 What's New in v0.16.1
|
||||
|
||||
> **0.16.0** adds an in-app update checker with tray notifications, defaults new installs to hold Right Alt push-to-talk, makes the language list searchable, lets you delete unused downloaded models, and adds a family dictation tone picker. The project license is AGPL-3.0. The installer is hardened (Justfile, uv lockfiles, distro python3-gi). The app icon, tray states, and site favicons use the shared Voca family mic.
|
||||
> **0.16.1** is a stability patch on the 0.16 series. Startup uses the engine's own model instead of a leftover generic key, leftover transcription no longer leaves the tray stuck, terminals get Ctrl+Shift+V paste, and the AppImage is built against a glibc Debian 12 can run. The installer now requires Python 3.11 and verifies model downloads.
|
||||
|
||||
### Highlights
|
||||
### 0.16 series highlights
|
||||
|
||||
| Feature | Description |
|
||||
|---------|-------------|
|
||||
@@ -58,19 +58,16 @@ Models are downloaded once. After that, speech-to-text stays on your machine. No
|
||||
| **Tone picker** | Settings → Audio: Lift, Flick, Ember, Step, Voca, Soft, Chirp, Scale, Drop, Glass, Off, plus Preview. New installs default to Voca. Catalog uses family preview WAVs (#707, #708) |
|
||||
| **Installer** | Justfile, uv lockfiles, distro python3-gi required (no pip sdist of PyGObject). Epic #701 still open (#700, #705, #706) |
|
||||
|
||||
### Also in this release
|
||||
### Bug fixes in v0.16.1
|
||||
|
||||
- IBus: safer scoped injection, engine restore after teardown, XKB layout restore on X11 (#623, #643, #665)
|
||||
- Audio: filter unsafe virtual capture devices; open stereo mics at native channel count; catalog tones are the family preview WAVs, not the synthesized #707 files (#629, #673, #708)
|
||||
- Clipboard: restore after ydotool paste; text-only reads and safer overlapping restore (#588, #646)
|
||||
- GPU / AppImage: honor bundled GPU libs and skip software Vulkan; ship transitive GI typelibs (AppImage fix already hotfixed onto the v0.15.0 AppImages) (#674, #637)
|
||||
- Settings / tray: separate Close from Test Dictation; reuse Settings/Logs windows; prefer Ayatana AppIndicator on KDE; optional missing-tray warning toggle (#670, #669, #621, #628)
|
||||
- Test Dictation: no longer reports no speech when recognition never started (#702)
|
||||
- Settings: About page groups this app, the VocaHQ family, and talk-to-us links (#718)
|
||||
- Installer / downloads / tests: gate `util-linux-extra` to Ubuntu 24.04+; report failed model downloads; stop tests from overwriting real `config.json` (#635, #690, #694)
|
||||
- Website: vocalinux.com restyled to the Voca family workbench; Discord and X links point at VocaHQ (#728, #729, #722, #717)
|
||||
- **Speech models**: start on the engine's own model size; write the model to config only after it loaded; leftover-download list shows every row (#684, #685, #686, fixes #681, #683)
|
||||
- **Config**: one ConfigManager for the process, so Settings writes are not overwritten by a stale cache (#691, fixes #689)
|
||||
- **Tray**: stay idle after leftover transcription on toggle stop; the missing-model notification can download the recommended model (#741, #687)
|
||||
- **Injection / IBus**: Ctrl+Shift+V paste in terminals; keep the GNOME XWayland layout after scoped inject (#734, #742)
|
||||
- **Installer / AppImage**: Python 3.11 floor, verified model downloads, no invented GPUs; AppImage glibc that boots on Debian 12 through current Fedora (#713, #736, #743, #744)
|
||||
- **Settings**: even dropdowns and a quieter About page with family platform marks (#754)
|
||||
|
||||
See [docs/UPDATE.md](docs/UPDATE.md) and the [full changelog](https://github.com/VocaHQ/vocalinux/releases/tag/v0.16.0).
|
||||
See [docs/UPDATE.md](docs/UPDATE.md) and the [full changelog](https://github.com/VocaHQ/vocalinux/releases/tag/v0.16.1).
|
||||
|
||||
---
|
||||
|
||||
@@ -461,7 +458,7 @@ Vocalinux is part of [VocaHQ](https://vocahq.com). On-device speech-to-text firs
|
||||
|
||||
| Platform | Project | Website | GitHub | Status |
|
||||
|----------|---------|---------|--------|--------|
|
||||
| 🐧 Linux | **VocaLinux** | [vocalinux.com](https://vocalinux.com) | [VocaHQ/vocalinux](https://github.com/VocaHQ/vocalinux) | ✅ Available now (`v0.16.0`) |
|
||||
| 🐧 Linux | **VocaLinux** | [vocalinux.com](https://vocalinux.com) | [VocaHQ/vocalinux](https://github.com/VocaHQ/vocalinux) | ✅ Available now (`v0.16.1`) |
|
||||
| 🍎 macOS | **VocaMac** | [vocamac.com](https://vocamac.com) | [VocaHQ/vocamac](https://github.com/VocaHQ/vocamac) | 🚀 Beta (`v0.9.0`) |
|
||||
| 🪟 Windows | **VocaWin** | [vocawin.com](https://vocawin.com) | [VocaHQ/vocawin](https://github.com/VocaHQ/vocawin) | 🚀 Unsigned beta (`v0.1.0-beta.1`) |
|
||||
| 📱 Phone | **VocaPhone** | [vocaphone.vocahq.com](https://vocaphone.vocahq.com) | [VocaHQ/vocaphone](https://github.com/VocaHQ/vocaphone) | 🚀 Android beta / iOS [TestFlight](https://testflight.apple.com/join/wd85wQ3W) |
|
||||
|
||||
@@ -414,6 +414,7 @@ git push origin v0.5.1-beta
|
||||
| 0.14.2 | 2026-07-17 | Stable | IBus engine launch + FocusIn gate; settings tabs scroll to fit monitor |
|
||||
| 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.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 |
|
||||
|
||||
## Questions?
|
||||
|
||||
|
||||
+39
-1
@@ -2,6 +2,44 @@
|
||||
|
||||
This guide explains how to update Vocalinux to the latest version.
|
||||
|
||||
## What's New in v0.16.1
|
||||
|
||||
0.16.1 is a **stability patch** on the 0.16 series. The feature set is the same as 0.16.x. This release fixes wrong-model startup, leftover tray state after toggle stop, paste into terminals, GNOME XWayland layout after inject, and AppImages that needed a glibc newer than Debian 12. The installer now requires Python 3.11 and verifies model downloads.
|
||||
|
||||
### 0.16 series highlights
|
||||
|
||||
| Feature | Description |
|
||||
|---------|-------------|
|
||||
| **Update checker** | Settings → About checks stable/nightly; tray shows Update Available for newer GitHub releases (#631, #645) |
|
||||
| **Right Alt PTT default** | New installs default to hold Right Alt (push-to-talk); existing configs keep their shortcut (#648) |
|
||||
| **Searchable languages** | Type to filter the Speech Model language list (#672) |
|
||||
| **Delete unused models** | Remove leftover downloaded speech models from Settings (#671) |
|
||||
| **AGPL-3.0** | License aligned with other VocaHQ projects (#660) |
|
||||
| **Family mic icons** | App icon, tray states, and site favicons use the shared Voca family mic (#704) |
|
||||
| **Tone picker** | Settings → Audio: Lift, Flick, Ember, Step, Voca, Soft, Chirp, Scale, Drop, Glass, Off, plus Preview. New installs default to Voca. Catalog uses family preview WAVs (#707, #708) |
|
||||
| **Installer** | Justfile, uv lockfiles, distro python3-gi required (no pip sdist of PyGObject). Epic #701 still open (#700, #705, #706) |
|
||||
|
||||
### Bug fixes in v0.16.1
|
||||
|
||||
- **Startup**: resolve model size per engine instead of the leftover generic `model_size` key, so a VOSK save does not make whisper.cpp look for a missing medium model (#684 by @kacperpaczos, fixes #681)
|
||||
- **Settings**: save the model only after the engine loaded it, so a cancelled or failed download does not leave config pointing at a file that is not on disk (#685 by @kacperpaczos)
|
||||
- **Settings**: unused downloads list sized to its real rows so leftover models are not clipped (#686 by @kacperpaczos, fixes #683)
|
||||
- **Config**: one ConfigManager for the process so Settings writes are not overwritten by a stale cache (#691 by @kacperpaczos, fixes #689)
|
||||
- **Tray**: stay idle after leftover transcription on toggle stop (#741)
|
||||
- **Tray**: the missing-model notification can download the recommended model (#687 by @kacperpaczos)
|
||||
- **Injection**: Ctrl+Shift+V when pasting into terminals, so Ctrl+V is not treated as verbatim insert (#734)
|
||||
- **IBus**: sync the XWayland layout from GNOME after scoped inject (#742)
|
||||
- **Installer**: survive a release without a checksum manifest; stop inventing GPUs (#736 by @sesav)
|
||||
- **Installer**: leftover engine repair, just `--no-sync`, ggml verify from #713 (#732)
|
||||
- **AppImage**: build against a glibc floor Debian 12 can run; boot tests on six distros (#743, #744 by @sesav)
|
||||
- **Installer**: Python 3.11 floor, uv tooling, verified model downloads (epic #701 phases 2.5 and 5) (#713 by @sesav)
|
||||
- **Settings / About**: even dropdowns, quieter About, family platform marks (#754)
|
||||
- **Docs**: canonical VocaHQ Discord invite; VocaWin is unsigned beta; screenshots page says v0.16; README family/on-device copy (#749, #733, #735, #737)
|
||||
|
||||
See the [full changelog](https://github.com/VocaHQ/vocalinux/releases/tag/v0.16.1).
|
||||
|
||||
---
|
||||
|
||||
## What's New in v0.16.0
|
||||
|
||||
0.16.0 is a **minor** release on the stable line. It adds an in-app update checker with tray notifications, defaults new installs to hold Right Alt push-to-talk, makes the language picker searchable, lets you delete unused downloaded models, and adds a family dictation tone picker. The license is AGPL-3.0. The installer is hardened (Justfile, uv lockfiles, distro python3-gi). The app icon, tray states, and site favicons use the shared Voca family mic.
|
||||
@@ -449,7 +487,7 @@ The installer will:
|
||||
```bash
|
||||
cd vocalinux
|
||||
git fetch origin
|
||||
git checkout v0.16.0
|
||||
git checkout v0.16.1
|
||||
./install.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
pkgname=vocalinux
|
||||
# AUR pkgver cannot contain hyphens (v0.14.0-beta -> 0.14.0beta).
|
||||
pkgver=0.16.0
|
||||
_tag=0.16.0
|
||||
pkgver=0.16.1
|
||||
_tag=0.16.1
|
||||
pkgrel=1
|
||||
pkgdesc="Free, offline voice dictation for Linux"
|
||||
arch=('any')
|
||||
|
||||
@@ -78,7 +78,7 @@ pipx run flatpak-pip-generator \
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/VocaHQ/vocalinux.git
|
||||
tag: v0.16.0
|
||||
tag: v0.16.1
|
||||
commit: <release-commit-sha>
|
||||
```
|
||||
|
||||
|
||||
@@ -105,6 +105,11 @@
|
||||
</content_rating>
|
||||
|
||||
<releases>
|
||||
<release version="0.16.1" date="2026-08-30">
|
||||
<description>
|
||||
<p>Stability patch: per-engine model size at startup, save the model only after it loaded, leftover-download list shows every row, one ConfigManager so Settings writes stick, tray stays idle after leftover transcription and can download the recommended model from the missing-model notification, Ctrl+Shift+V paste in terminals, GNOME XWayland layout after scoped IBus inject, Python 3.11 installer floor with verified model downloads, AppImage glibc that boots on Debian 12, and Settings/About layout polish.</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.16.0" date="2026-08-23">
|
||||
<description>
|
||||
<p>In-app update checker with tray notifications, hold Right Alt push-to-talk default for new installs, searchable language list, delete unused downloaded speech models, family dictation tone picker (default Voca, family preview WAVs), Settings About page for this app, VocaHQ, and talk to us, AGPL-3.0 relicensing, shared Voca family mic for app/tray/site icons, hardened installer with Justfile and uv lockfiles (distro python3-gi required), Test Dictation missing-model message, and desktop reliability fixes for IBus, audio capture, clipboard restore, GPU/Vulkan selection, and AppImage GI typelibs.</p>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
Version information for Vocalinux.
|
||||
"""
|
||||
|
||||
__version__ = "0.16.0"
|
||||
__version_info__ = (0, 16, 0)
|
||||
__version__ = "0.16.1"
|
||||
__version_info__ = (0, 16, 1)
|
||||
__author__ = "Jatin K Malik"
|
||||
__email__ = "jatinkrmalik@gmail.com"
|
||||
__license__ = "AGPL-3.0-only"
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "vocalinux-website",
|
||||
"version": "0.16.0",
|
||||
"version": "0.16.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "vocalinux-website",
|
||||
"version": "0.16.0",
|
||||
"version": "0.16.1",
|
||||
"dependencies": {
|
||||
"@types/node": "^20.14.10",
|
||||
"@types/react": "^18.3.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vocalinux-website",
|
||||
"version": "0.16.0",
|
||||
"version": "0.16.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -14,6 +14,20 @@ import { SeoSubpageShell } from "@/components/seo-subpage-shell";
|
||||
import { absoluteUrl, buildPageMetadata } from "@/lib/seo";
|
||||
|
||||
const releases = [
|
||||
{
|
||||
version: "v0.16.1",
|
||||
date: "2026-08-30",
|
||||
type: "stable",
|
||||
highlights: [
|
||||
"Startup uses the engine's own model size instead of a leftover generic key; the model is saved only after it loaded (PR #684, #685, fixes #681)",
|
||||
"Unused leftover-model list shows every row; one ConfigManager so Settings writes stick (PR #686, #691, fixes #683, #689)",
|
||||
"Tray stays idle after leftover transcription on toggle stop, and the missing-model notification can download the recommended model (PR #741, #687)",
|
||||
"Terminals get Ctrl+Shift+V paste; GNOME XWayland layout is restored after scoped IBus inject (PR #734, #742)",
|
||||
"Installer requires Python 3.11, verifies model downloads, and no longer invents GPUs (PR #713, #736)",
|
||||
"AppImage built against a glibc floor that boots on Debian 12 through current Fedora (PR #743, #744)",
|
||||
"Settings dropdowns share a width; About is quieter with family platform marks (PR #754)",
|
||||
],
|
||||
},
|
||||
{
|
||||
version: "v0.16.0",
|
||||
date: "2026-08-23",
|
||||
|
||||
@@ -54,6 +54,11 @@ const reliabilityFeatures = [
|
||||
];
|
||||
|
||||
const releaseMap = [
|
||||
{
|
||||
version: "v0.16.1",
|
||||
highlights:
|
||||
"Per-engine model at startup, leftover tray idle after toggle stop, Ctrl+Shift+V paste in terminals, GNOME XWayland layout after scoped IBus inject, Python 3.11 installer floor with verified downloads, and AppImage glibc that boots on Debian 12.",
|
||||
},
|
||||
{
|
||||
version: "v0.16.0",
|
||||
highlights:
|
||||
|
||||
@@ -40,7 +40,7 @@ const homeJsonLd = [
|
||||
},
|
||||
description:
|
||||
"Offline voice dictation and speech-to-text for Linux with whisper.cpp and VOSK.",
|
||||
softwareVersion: "0.16.0",
|
||||
softwareVersion: "0.16.1",
|
||||
author: {
|
||||
"@type": "Person",
|
||||
name: "Jatin K Malik",
|
||||
|
||||
Reference in New Issue
Block a user