Repository navigation
Releases: jli-software/utterform
Release list
Utterform 0.7.12 — Visual delivery confirmation
On October 20, the regular release was explicitly authorized without a preview
acceptance gate; installed-desktop testing will follow after release.
The tray icon keeps its small red dot during recording (including pause). When
processing and all requested outputs succeed, the same dot turns green for five
seconds, then disappears. This visual confirmation works with sounds switched off
or an inaudible speaker. Stopping the microphone alone is not success: processing
is unbadged; cancellation, failed transformation and incomplete output do not turn
the icon green. A new recording replaces green with red immediately. Live dictation
also requires nonempty delivered text and no processing/output failures (history is best-effort).
Both Windows/macOS native tray icons and Linux's StatusNotifierItem (including
the native fallback) use the same colors and expiry policy. No settings migration,
additional polling, focus change or extra delay before the next recording is added.
Only one five-second expiry task is retained; old callbacks cannot overwrite a
newer recording or success status. Existing sounds remain unchanged.
Windows installation can use install-windows.ps1, which verifies the
published NSIS setup against SHA256SUMS.txt before opening the interactive
installer. Windows builds remain unsigned.
Installed-desktop checks
Quit the installed app before installing the update. With the window hidden,
record and stop: red during capture, no success while processing, green only after
the text arrives, normal after five seconds. Repeat with sounds disabled, then
start a second recording while green and keep recording past the old timeout;
red must remain. Cancel a recording and induce a delivery failure: neither should
confirm success. Repeat on Linux and Windows. Automated tests and Actions packaging
do not establish that a real desktop shell displayed the colors.
Quick installation
Linux:
curl -fsSL https://github.com/jli-software/utterform/releases/latest/download/install-linux.sh | shWindows PowerShell:
irm https://github.com/jli-software/utterform/releases/latest/download/install-windows.ps1 | iexOr download the Windows setup EXE.
These commands install/update the latest stable release, without preview flags.
Utterform 0.7.12 preview — Visual delivery confirmation
Utterform 0.7.12 preview — Visual delivery confirmation
Test packages for Linux x86_64 and Windows x64, built from reviewed PR #43, exact commit 748c00065108c5686c196485e7e5f5e0efa81b04.
- Red while recording, green for five seconds after successful processing and requested output delivery, then normal. Independent of sound.
- New recording immediately replaces green; stale timers/stop events cannot overwrite the next recording.
- Linux/Windows Actions, frontend/browser/native checks, artifact checksums and independent review passed. Actual desktop tray visibility/recording/output still need user acceptance.
- This is a non-Latest preview, not the stable release. Stable remains v0.7.11. No macOS preview is included.
Quit Utterform before installation and launch normally from the app menu afterwards.
Linux:
curl -fsSL https://github.com/jli-software/utterform/releases/download/preview-v0.7.12.1/install-linux.sh | env UTTERFORM_VERSION=preview-v0.7.12.1 shWindows PowerShell (interactive installer; Windows remains unsigned):
& ([scriptblock]::Create((irm 'https://github.com/jli-software/utterform/releases/download/preview-v0.7.12.1/install-windows.ps1'))) -Version 'preview-v0.7.12.1'Both installers verify the package against the included SHA256SUMS before installation. Test hidden-window recording, sounds off, five-second reset, immediate re-recording while green, cancellation and failed output. Automated checks do not establish these installed-desktop behaviors.
Sources: #43
Linux build: https://github.com/jli-software/utterform/actions/runs/39395502112
Windows build: https://github.com/jli-software/utterform/actions/runs/39395505476
Utterform 0.7.11 — Windows autostart registration
This patch repairs Settings → General → Start Utterform when I sign in on Windows. The per-user Run entry now quotes the installed executable path, includes --autostart, and is read back together with Windows' StartupApproved state. An absent, disabled, malformed or stale registration is not shown as enabled. Explicitly enabling startup clears a previously disabled Windows override.
The NSIS installer retains an existing enabled choice during an in-place upgrade and repairs its executable path. Uninstall removes both startup values. Linux and macOS continue to use the existing Tauri autostart plugin.
Verification and follow-up
Automated tests cover command quoting, exact read-back, disabled/malformed approval values and registry create/remove on Windows. A Windows build alone does not establish sign-in behavior. On September 30, the release was explicitly authorized before the manual desktop test because that test will be performed separately. Issue #40 stays open until that evidence exists.
On an installed Windows 11 build, enable startup, inspect the registry, sign out and in, and verify one hidden tray process without focus or recording. Then disable it and repeat sign-in; test an in-place upgrade and uninstall cleanup. Record the result without publishing user-specific paths.
Utterform 0.7.10 — Local diagnostics
Utterform now keeps useful, privacy-safe diagnostics for the complete application flow:
startup, recording and microphone setup, transcription, transformations, history and every
requested output. A run id and recording id connect related events. Operational failures shown
in the interface end with a short (ref …) value that identifies the matching log entry.
Logs remain on the device. There is no telemetry, analytics, automatic crash reporting or upload.
Utterform records operational metadata and outcomes, not transcripts, audio, prompts, clipboard
contents, API keys or response bodies. Keys, authorization material and home-directory prefixes
are redacted again when a line is written and when a support report is copied.
Settings → General → Support & diagnostics shows the actual platform log path and offers:
- Copy diagnostics — puts an agent-readable report of at most 256 KiB on the clipboard;
- Open log file — opens the current log with the system default application;
- Open log folder — reveals the file in Finder, Explorer or the Linux file manager.
The file target is resource-bounded: utterform.log rotates at 2 MiB, only
utterform.1.log and utterform.2.log are retained, and at most one bounded record waits in
memory. A full disk, removed directory or locked rotation can lose that record, but never blocks
recording and never grows an in-memory queue. Release builds keep INFO and above; debug builds
also keep DEBUG. Dependency logs are discarded.
Rust panics and unexpected WebView failures are recorded with bounded detail. A run marker reports
that the previous process did not reach a clean exit after a force-kill, power loss or native
crash; no platform crash dumps are collected. Version 0.7.10 makes the unavailable-marker case
consistent across Windows, Linux and macOS.
Verification scope
Validation covers formatting, redaction canaries, correlation references, bounded file rotation
and write-failure behaviour, copied-report limits and UTF-8 handling, frontend failure rate
limits, support actions, compact/light/dark layouts, and the existing application suite. The
release pipeline builds Linux x86-64, Windows x86-64 and macOS Apple Silicon, and publishes only
after every platform passes. Native open/reveal behaviour remains a real-desktop check.
Utterform 0.7.9 — Linux preview 1
Utterform 0.7.8 — Stable settings
Settings keeps the same size and position when switching between General, Recording,
AI & Models, Actions and Output. The dialog adapts to the available window height,
not to the amount of content. Navigation, the header and Save/Cancel stay stationary;
long panels scroll internally. Reserved scrollbar space keeps fields aligned.
Dictation shortcut now appears first in General, including its setup guidance and
registration errors. Recording keeps microphone, language, sounds, vocabulary and context.
Compact windows keep their horizontal category navigation. Save/Cancel, recording,
models, typing and stored settings are unchanged.
Preview workflow
Changes are previewed on one chosen platform before merging and the full release.
The Linux layout preview was accepted by Jonas, who then requested the final shortcut
move and authorized this complete release. Future previews include a ready-to-run curl
command. An explicit immediate full-release request can skip manual preview.
Verification scope
Production-browser regression checks cover stable bounds, internal scrolling,
viewport resizing and compact layouts, alongside navigation, shortcut capture/error
routing, Save/Cancel and theme tests. The Linux layout preview was tested on a real
desktop; automated browser IPC remains mocked. Physical microphone/input behaviour
and native Windows/macOS visual acceptance are not established by these browser tests.
The release pipeline builds Linux x86-64, Windows x86-64 and macOS Apple Silicon.
The macOS app is Developer ID signed with Hardened Runtime and a stapled Apple
notarization ticket. Windows remains unsigned. Verify downloads against SHA256SUMS.txt.
Utterform 0.7.7 — Clearer settings, less text
The recording window and Settings use less explanatory text. Navigation labels stand
on their own, closed selectors show the selected value, and option descriptions are
available when a menu is opened. Recording, paused and processing states remain visible
and accessible; delivery feedback, errors and missing-model guidance are retained.
Settings by task
- General: appearance and startup.
- Recording: microphone, language hints, dictation shortcut, sounds, vocabulary and recording context.
- AI & Models: transcription mode, OpenAI key, local models, text model and thinking effort.
- Actions: built-in and custom prompts.
- Output: typing method, file folder and local history.
The transcription selector now matches the three choices in the main window. Settings
changes still apply on Save and revert on Cancel across all categories. Explicit
resource operations such as downloads, key removal and confirmed history clearing
remain immediate.
Cloud-processing notes, live cursor/focus restrictions, platform limitations and the
unencrypted-history notice stay near the controls they explain. Recording engines,
shortcuts, delivery and storage formats are unchanged.
Verification scope
This is a frontend/settings change. Automated UI and production-browser checks cover
navigation, persistence, cancellation, shortcut/startup error routing, dark/light themes
and compact layouts. Browser tests use mocked desktop IPC; they do not establish native
Windows/macOS window rendering or physical microphone/input behaviour.
The release pipeline builds Linux x86-64, Windows x86-64 and macOS Apple Silicon.
The macOS app is Developer ID signed, uses the hardened runtime and carries a stapled
Apple notarization ticket. Windows remains unsigned. Verify downloads against
SHA256SUMS.txt; install the macOS DMG, Windows setup EXE or Linux system package
appropriate for your device.
Utterform 0.7.6 — Menu-bar workflow and a seamless recording cycle
Utterform now stays a menu-bar application on macOS, exposes the transcription mode
where recordings begin, and is ready for the next dictation as soon as the previous
text has been delivered.
macOS menu-bar application
- Utterform no longer appears in the Dock or ⌘-Tab, whether its window is open or hidden.
- The tray remains the primary entry point; opening Utterform again from Finder, Launchpad or Spotlight reveals the existing window.
- Closing the window keeps Utterform, its shortcut and any recording running. Use Quit in the tray menu to end it.
- Packaging refuses a bundle that does not carry the native boolean menu-bar declaration.
The Apple-Silicon downloads remain Developer ID signed, hardened-runtime enabled,
accepted by Apple's notary service and distributed with a stapled notarization ticket.
Transcription in the main window
The main window now switches directly between GPT Transcribe, GPT Live
Transcribe and Local Whisper. A choice is saved immediately and agrees with the
same settings shown in the Settings dialog. Compact windows keep both the Action and
Transcription selectors visible and keyboard accessible.
Local Whisper still uses the model selected under Settings. If no model is ready, the
main window points there instead of duplicating model management.
Faster next recording
Utterform returns to ready immediately after transcription, transformation, history
and every requested output have finished. The Done chime continues independently. If
the next recording starts while it is still playing, Utterform silences the remaining
tail before scheduling the new Start cue so the previous completion cannot delay or
bleed into the next dictation.
Verification and limits
The release is covered by native callback-level tests, interface tests and production
browser scenarios across full and compact layouts. The release pipeline builds Linux,
Windows and Apple Silicon and verifies the packaged macOS app's Developer ID signature,
Team ID, hardened runtime, microphone entitlement, stapled ticket and Gatekeeper status.
The menu-bar focus behaviour and a completion chime interrupted on a physical speaker
still benefit from real-device confirmation. Windows remains unsigned and may trigger
SmartScreen. Compare downloaded assets with SHA256SUMS.txt from this release.
Utterform 0.7.5 — Signed and notarized for macOS
The Apple-Silicon release is signed with Utterform's stable Developer ID identity and
accepted by Apple's notary service before it is published.
What changes on a Mac
- Gatekeeper identifies the downloaded app as notarized software from a known developer.
- The stapled Apple ticket can be checked even when the Mac is offline.
- The stable team and bundle identity lets macOS recognise later Utterform builds as the same app, rather than treating every ad-hoc-signed update as unrelated code.
- Tagged releases now refuse to build unless the complete Apple signing configuration reaches the macOS job.
The first use still asks for Microphone access, and typing at the cursor still asks for
Accessibility access. Those permissions remain under your control in System Settings.
Why 0.7.4 was superseded
The 0.7.4 tag workflow did not pass repository secrets into its reusable desktop-build
workflow, so its macOS asset was ad-hoc signed and not notarized. That release is marked
as superseded. Use 0.7.5 on every platform.
Other platforms
Linux and Windows application behaviour is unchanged from 0.7.3. Windows remains
unsigned and may still trigger SmartScreen.
Verification
The release job verifies the Developer ID signature, Team ID, hardened runtime,
microphone entitlement, stapled notarization ticket and Gatekeeper acceptance. It also
extracts the ZIP and verifies the app again before publishing the DMG, ZIP and checksums.
After downloading, compare the asset with SHA256SUMS.txt from this release.
Utterform 0.7.4 — Superseded: macOS build was not notarized
Important: the macOS asset in this release was signed ad-hoc because the tag workflow did not pass repository secrets into its reusable build. It is not Apple-notarized. Do not install the macOS asset from this release.
Use the corrected Utterform 0.7.5 release: https://github.com/jli-software/utterform/releases/tag/v0.7.5
Linux and Windows application behaviour is unchanged from 0.7.3.