Skip to content

Releases: DictionLabs/Diction

v12.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 23:41

Diction App

  • The typing keyboard now matches your language. QWERTZ for German, AZERTY for French, and Spanish gets its ñ where it belongs. Each layout is named by the language it's for, sitting right next to the language picker.
  • Autocorrect got a lot more careful. It looks at where your finger actually landed before deciding you slipped, so genuine typos get fixed while your names, brands, and jargon are left alone. If you'd rather it stayed out of the way, autocorrection and word suggestions each have their own switch now.
  • Every letter key shows its number or symbol, and a long press types it, so there's no need to switch layouts for a single digit. Turn the hints off if you prefer a cleaner keyboard.
  • Bigger keys with tighter gaps, and the suggestion strip now respects the capitalisation you actually typed.
  • Setting Diction up is simpler. Two screens instead of three, you can skip ahead whenever you like, and anything you skipped stays one tap away from Home. If a permission gets switched off later, Home tells you.
  • Diction now tells you when it can't reach the server, instead of quietly acting as though you weren't entitled. The keyboard says so directly, a long press explains what's wrong, and there's separate advice for when a VPN or work profile is intercepting the connection rather than the network simply being down.
  • The keyboard is much harder to kill. We fixed a leak that made it pile up dead views as you switched apps, stopped it dying mid-typing, and made it recover in about a second when the app has been closed, instead of hanging for six.
  • Tapping "Tap to allow Full Access" opens Diction again. It was doing nothing at all, which left anyone who landed there with no way out.
  • Live mode holds its connection properly on cellular, and now transcribes in the language you picked instead of guessing, so non-English dictation no longer loses its opening words.
  • Self-hosted setups: the "Add server" banner finally goes away once you've added one, and the server screen shows real connection health.
  • Various polish across the keyboard, settings, and onboarding.

Gateway

  • Backed the STT backend health poll off from every 30 seconds to every 120 seconds. The old interval produced a lot of needless traffic and log noise on quiet self-hosted setups without detecting outages meaningfully faster.
  • Formatting cleanup in the streaming path. No behaviour change.

Container image: ghcr.io/dictionlabs/gateway:v12.0

v11.2

Choose a tag to compare

@github-actions github-actions released this 29 Jul 23:12

Docker

docker pull ghcr.io/dictionlabs/gateway:v11.2
# also available at ghcr.io/omachala/diction-gateway (identical image)

Full Changelog: v11.1...v11.2

v11.1

Choose a tag to compare

@github-actions github-actions released this 29 Jul 22:30

Docker

docker pull ghcr.io/dictionlabs/gateway:v11.1
# also available at ghcr.io/omachala/diction-gateway (identical image)

What's Changed

  • Opus streaming decode and passthrough optimization by @DXCanas in #15

New Contributors

Full Changelog: v11.0...v11.1

v11.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 15:49

Diction App

  • Everything that cleans up and reshapes your words now lives in one place: Writing Tools. Turn each cleanup on or off individually, and choose whether it runs in the cloud or right on your iPhone.
  • Tones are back.
  • Started a recording by accident? You can now abandon it without losing the audio. It goes to History under "Not processed," where you can still turn it into text later. Kept for 7 days.
  • Cleaner transcripts everywhere. Filler words and accidental repetitions are stripped out before you ever see the text.
  • Numbers, dates, and times come out properly formatted when you dictate in English on your device.
  • My Words now works with on-device dictation too, so your names and jargon land right whether you're online or not.
  • Fixed a run of first-launch problems: a setup crash, a screen that could get stuck, and a frozen waveform on a fresh install.
  • Themed keyboards now behave correctly in apps that force light or dark mode, and edit mode no longer looks like it's recording.
  • Self-hosted servers fall back gracefully instead of hammering a dead connection, and a self-hosted hiccup no longer knocks out your cloud access.
  • The keyboard holds up better when you're switching between apps a lot, and you'll get a warning before a model download if your device is nearly full.
  • Various polish across the keyboard, settings, and History.

Gateway

  • Self-hosted transcripts now get the same deterministic filler-word and repeated-word cleanup as the cloud tiers, applied before any LLM step so it works with no model configured.
  • Backend health checks now run concurrently instead of serially, so one slow or unreachable backend no longer stalls the whole health poll.
  • Client disconnects during transcription are now handled distinctly from real backend failures, avoiding unnecessary backend health demotion and fallback retries.

v10.1

Choose a tag to compare

@github-actions github-actions released this 19 Jul 06:21

Diction App

  • Themes: pick a color palette and make the keyboard yours. Six themes at launch, with live preview as you browse.
  • Self-hosted users running a direct Whisper server without the Diction Gateway no longer get stuck in a silent retry loop. Diction now falls back to the batch endpoint correctly.
  • Free trial extended for everyone so you can try the new fine-tuned cloud models.

Gateway

  • Repeated-word hallucinations are now detected and filtered before the transcript reaches your app.
  • Configurable LLM reasoning effort via the LLM_REASONING_EFFORT env var (none, low, medium, high). Useful for tuning cost vs. quality when using reasoning-capable models. Contributed by @ankitson.
  • Test coverage raised to 91.6%.

v10.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 21:21

Diction App

  • Diction One runs on a brand new cloud model. English, Spanish, German, French, Italian, Portuguese, and Dutch are now up to six times faster, and just as accurate or better.
  • Polish transcription quality has been fixed.
  • Fewer failed dictations. Cloud retries properly and falls back faster when something does go wrong.
  • Autocorrect on the QWERTY keyboard fixes typos as you type, splits run-together words, and completes contractions.
  • Word suggestions above the keys. Tap one to accept.
  • The keyboard learns the words you correct back and stops changing them.
  • Much better corrections and accents when typing in Spanish, Portuguese, French, and German.
  • Typing feels smoother. No more key-callout blinking or jitter.
  • The keyboard no longer freezes, and a stuck dictation can be cancelled instead of spinning on retry.
  • You land back in the app you were typing in after you dictate, on the latest iOS.
  • AI Companion now formats what you say into paragraphs and lists instead of one long block.
  • Real iPad support: wider layouts, a globe key, right-sized emoji.
  • Bigger, clearer emoji on iPhone too.
  • Your music stays on the car speakers when you dictate over CarPlay.
  • Your music app gets its playback controls back the moment dictation ends.
  • On-device dictation is reliable on the latest iOS, and fast on every launch after the first.

Gateway

  • New multi-tier language routing: Cohere Transcribe tier for English, Spanish, German, Dutch, French, Portuguese, and Italian, where measured evaluation showed it ties or beats canary-1b-v2 and is 1.2 to 6 times faster.
  • Polish now routes to large-v3-turbo (3.0% WER, vs 12.1% on canary-1b-v2 and 13.8% on Cohere).
  • Per-request fallback on upstream 5xx: gateway retries against the language-appropriate next tier when a backend errors, instead of passing the failure through.
  • Expanded test coverage for language routing.

v9.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 07:28

Diction App

  • Cloud transcription is about twice as fast end to end, so text lands in your app almost as soon as you stop speaking.
  • An emoji picker is built into the keyboard, with search and skin tone variants.
  • The QWERTY spacebar row now has a period key.
  • Pause and resume mid-dictation.
  • Hold space and slide to move the cursor like a trackpad.
  • The mic releases the instant your phone rings.
  • Diction mode is now equally reliable online or offline.
  • Choose what music does while you dictate: keep playing, duck, or pause.

Gateway

  • Extended the error-event schema to accept iOS crash telemetry from the app and keyboard (ios_app, ios_keyboard sources). Additive fields only — no breaking changes for existing self-hosters.

v8.0

Choose a tag to compare

@github-actions github-actions released this 05 Jun 05:58

Diction App

  • Brand-new autocorrect engine, the first real one in Diction. It quietly fixes common mistakes as you type, with no setup required.
  • The QWERTY keyboard layout has been updated: more compact, more responsive, and easier to use. Suggestion chips now sit inline next to the mic button, and the dismiss key lives in the keyboard row itself.
  • Suggestions are significantly more reliable. They now track context correctly after backspace and edits, and tapping them works consistently wherever you are.
  • When you have text selected and speak an edit instruction, the live streaming preview no longer overwrites your selection mid-way. The replacement arrives as a single, clean swap.
  • Tap the mic inside any transcript to record more and insert it at the cursor. In Live mode, the detail view opens right away so text streams in as you speak.
  • Added a numpad for number fields. Tap into a phone number, PIN, or numeric field and the keyboard adapts automatically.

Gateway

  • Smarter auto-detect routing: the gateway now builds a per-device language history and routes based on what it has learned, rather than always using the safe fallback. Degrades gracefully when MariaDB is not connected.
  • Significantly expanded test coverage across language routing, proxy, and streaming paths.

Docker

docker pull ghcr.io/omachala/diction-gateway:8.0

v7.0

Choose a tag to compare

@github-actions github-actions released this 20 May 06:59

Diction App

  • A built-in QWERTY keyboard. When you can't talk out loud, just type without leaving Diction. Autocorrect, word suggestions, long-press accents, key popups, caps lock, double-space-to-period, backspace acceleration, and the feel of a native keyboard.
  • Diction Live (Beta). Your words now appear as you speak them, in real time, instead of only after you stop.
  • Automatic language detection. Diction can now work out which language you're speaking. No need to set it each time. Optional, off by default.
  • Smarter capitalization. Dictation now respects the field you're writing in, so email addresses, code, and similar text don't get wrongly capitalized.
  • A cleaner mode switcher. Picking Diction One, Live, an on-device model, or your own server is now a dedicated one-tap screen.
  • Record and transcribe right inside the app. A new mic button on the home screen lets you capture speech without the keyboard, then copy or share the text.
  • More reliable transcription. Better retry and fallback when something fails, sturdier live-streaming connections.
  • Fully localized across all 13 languages, with proper light and dark keyboard theming and lots of smaller polish and stability fixes.

Gateway

  • OpenAI audio API compatibility. /v1/audio/transcriptions now accepts response_format=json|text per the OpenAI spec. /v1/models returns the OpenAI list envelope. Any SDK or tool that works with the OpenAI Whisper API works as a drop-in — including the official Python/JS SDKs, Speaches, and compatible frontends.
  • Language auto-detect. Send language=auto and the gateway routes to a detect-capable backend and strips the field before forwarding, so the model performs native language identification across 99 languages.
  • Live transcription. New WebSocket endpoint /v1/audio/stream/realtime for real-time word-by-word transcription via a WhisperLiveKit-compatible backend. Includes idle watchdog and proper close frame handling.
  • HTTP connection pooling. Shared backend transport with keep-alive connections removes the per-request TCP handshake overhead for high-throughput installs.
  • Improved test coverage across proxy, streaming, models, language routing, and WAV encoding.

v6.2

Choose a tag to compare

@github-actions github-actions released this 04 May 15:58

Gateway

  • Fix WebSocket streaming for large-v3-turbo — streaming requests were failing silently, forcing a fallback to slower HTTP uploads. If you self-host with large-v3-turbo, this release removes ~1-2s of unnecessary latency per dictation.

Docker

docker pull ghcr.io/omachala/diction-gateway:v6.2