Repository navigation
v0.3.9
Presspeech 0.3.9
Before opening macOS 0.3.9: On a clean install without a complete model
cache, Setup asks you to choose Download Model before the first network
transfer; Set Up Later defers it. Existing installations retain automatic
startup, so a missing model may still download on launch. This release
removes inherited Hugging Face account tokens from Presspeech's model
requests, but valid inherited proxy settings still route them; check the
proxy's trust before a download. Dictation audio and transcripts are not sent
with model requests. Read the
macOS model-download privacy guide
before deciding to launch or clear a working cache.
Setup accessibility
- A clean install now waits for an explicit Download Model choice before
starting the first ~500–600 MB speech-model download. Setup also shows the
estimated free space needed for download and CoreML preparation before the
choice. Set Up Later defers it; an approved download resumes on later
launches. Existing installations keep their automatic startup, and a cached
model loads without another prompt. - Routine model-progress and permission-label updates in Setup Checklist now
update the existing accessible elements instead of replacing the full view
hierarchy. VoiceOver reading position, keyboard focus, and scroll position
remain stable while those values change. - Permission actions now distinguish Continue before the first microphone
prompt from Open Settings for an earlier denial or system-settings grant;
VoiceOver labels name the permission and action without implying Presspeech
granted access itself. - Once the model, audio input, and permissions are ready, Try Dictation is
available even if the configured hotkey has not yet been tested. The
scratchpad explains how to use the menu's Start Dictation and Stop and
Transcribe actions instead; Done still requires a real hotkey event.
Language hints
- The macOS Language Hint menu now covers all 25 languages supported by the
multilingual Parakeet model. Dutch, Danish, Swedish, Finnish, Hungarian,
Estonian, Latvian, Lithuanian, Maltese, and Greek users can now select the
same wrong-script filtering that was already available for the other model
languages. Auto-detect remains the default.
Delivery authorization
- Setup now requires both focused-window Accessibility access and Quartz
keyboard-event posting before declaring automatic delivery ready. A stale or
separately denied posting grant can no longer make Presspeech report a paste
that macOS silently discarded; diagnostics identify the two checks, and
Try Again refreshes whichever represented TCC service is still missing. - When exact-window capture is unavailable, the local log now distinguishes an
Accessibility query failure from an invalid frontmost process or a focus
change during the bounded query. These fixed categories include no app name,
window title, field contents, or transcript text. - If a required permission is missing when transcription completes or before
delivery, Presspeech now finishes processing and keeps the complete
transcript on the clipboard for manual paste. A grant that remains missing
returns the app to permission setup; an observed interruption prevents that
dictation from being pasted automatically even if the grant returns before
delivery. - Copy-only notices now say to use Command-V only if the clipboard has not
changed. The menu notice can persist until the next dictation, so a later
copy can replace the transcript; use Copy Last Transcript if it is available
rather than pasting the newer item. This changes guidance, not clipboard
ownership or automatic-paste behavior. - Copying a History entry no longer clears an uncertain-delivery warning. A
successful clipboard copy cannot establish whether the original field
already contains all or part of the dictation; inspect it before pasting.
Model-download privacy
- Public speech-model downloads no longer inherit Hugging Face account tokens
fromHF_TOKEN,HUGGING_FACE_HUB_TOKEN, or
HUGGINGFACEHUB_API_TOKEN. Presspeech removes those credentials only from
its own process before FluidAudio can read them; the user's shell, token
store, and other applications are unchanged. - If that process-local removal unexpectedly fails, Presspeech refuses to
start rather than allowing a public model request to carry an account
credential. Diagnostics and logs contain variable names only, never token
values. - Malformed inherited
https_proxyorhttp_proxyvalues now stop startup
before FluidAudio can log the full proxy URL or silently ignore the intended
route. The alert and app log identify only the setting name; correct or
remove it before relaunching. Valid proxy settings still apply, and a
trusted TLS-inspecting proxy can still read model-request headers. - The previous macOS 0.3.8 release may have included an inherited Hugging Face
token in a public model-download request, although the model needs no
account token. This applies to model requests, not dictation audio or
transcripts. The 0.3.9 change only removes credentials from Presspeech's
process; it does not alter the user's shell or token store. If upgrading
from 0.3.8, keep a working model cache and follow the
version-specific guidance
before a later model download.
Clipboard privacy
- Keep Previous Clipboard for Manual Restore now also retains an eligible
previous clipboard when Presspeech uses clipboard-only recovery because the
original focused window is unavailable or has changed. Interrupted direct
Unicode fallback follows the same rule. The option remains off by default,
and restoration still requires explicit confirmation. - Automatic paste, focus-change recovery, Copy Last Transcript, and every
copy or cut from Try Dictation now prepare transcript entries with
AppKit's current-device-only option. They remain available to local
Command-V but do not become available through Universal Clipboard. - Transcript entries carry the standard transient, auto-generated, and
concealed markers used by cooperating clipboard managers. The concealed
marker additionally asks those tools not to display the transcript in clear
text or persist it. macOS Clipboard History,
third-party software that ignores those markers, and other local clipboard
readers remain separate privacy boundaries. - A saved previous clipboard is restored with its original items and formats,
but is republished for the current Mac only. The original cross-device scope
is not recoverable from the snapshot, so restoration fails private rather
than making earlier content newly available through Universal Clipboard;
Presspeech does not add transcript markers to the restored items. - Cut in Try Dictation now keeps the selected text when its protected
clipboard copy was replaced or the selection changed before deletion.
Clipboard ownership can still change after the final check, so this is not
an atomic cut guarantee. - When macOS is configured to deny Presspeech pasteboard reads, dictation still
replaces the clipboard with the transcript but skips the optional previous-
clipboard snapshot without attempting to read it. The restore menu identifies
the denied access instead of reporting a generic unavailable representation.
Diagnostic privacy
- Speech-recognition failures now write only a fixed failure event to the local
log. Upstream decoder error descriptions are suppressed because they can
include a partial recognition hypothesis.
Audio and transcription remain local. Clipboard text is not written to logs,
and these protections do not claim to prevent another local process from
reading the current pasteboard.