Skip to content

v0.3.9

Choose a tag to compare

@rcourtman rcourtman released this 26 Sep 06:43
· 26 commits to main since this release
Immutable release. Only release title and notes can be modified.

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
    from HF_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_proxy or http_proxy values 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.