Skip to content

v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Nov 14:59
9b218e0

0.5.0 (2026-11-12)

Features

  • bench: add competitive benchmark harness with gates (1796661)
  • cli: load commands from a generated manifest (67c5881)
  • core: detect AI agents from one documented table (758a1a5)
  • core: resolve credentials in one place (307e2c3)
  • help: explain agent mode with dg help agent-mode (6cb08e4)
  • init: resume a rerun in a clone dg init recorded (76ebda9)
  • init: setup steps need --yes outside a terminal (8c50ae1)
  • listen: add --timeout for prerecorded transcription (d695b92)
  • listen: add -o text for the transcript alone (943af31)
  • listen: print the server's body for prerecorded -o json (6aa1795)
  • listen: save large results to a file in agent sessions (fb7f9ec)
  • login: let agents finish device login with --complete (82e37e8)
  • speak: add --out-file and deprecate -o/--output for the audio file (8f59531)
  • telemetry: add DEEPCTL_TELEMETRY=log and =off (6319d5b)
  • telemetry: honor DO_NOT_TRACK and CI (06bd209)

Bug Fixes

  • Windows runtime failures in speak, listen, update, init and agent-mode help (6a8e5cd)
  • ci: drop unwired workflow_call trigger from competitive-bench.yml (53b720f)
  • cli: escape characters the output encoding can't write (d168f59)
  • cli: keep warnings and notices off stdout (4364a85)
  • cli: key cached root help on the telemetry sink setting (58d8b66)
  • cli: treat Ctrl-C while the CLI is loading as cancelled (68d79ea)
  • cli: use coded messages for cancel and unexpected errors (89c975b)
  • config: count ~/.config on macOS when XDG_CONFIG_HOME names it (403f203)
  • config: on macOS, follow ~/.config only where platformdirs does (76d1415)
  • config: wait for a locked config file once per run (d290452)
  • core: send API requests through one transport (edc5ea7)
  • debug: send no stored credentials from debug network (edc5243)
  • debug: take the probe's and network's host from the transport (3a6cd9b)
  • give Windows agents a runnable next_step from init, login and speak (488520a)
  • init: clone only Deepgram templates, with plain names (56dc618)
  • init: keep an agent's resume records and logins under the real home (6ae7be3)
  • init: keep repository settings from running programs (3bea87c)
  • listen: finish live streams cleanly on Ctrl-C and end of input (1230585)
  • listen: give each OS its own stdin and microphone help (79b5cb9)
  • listen: keep machine output to the final result (b8fa0d7)
  • listen: report a failed stdout write as an output error (589b2c9)
  • listen: stop live listen before capture when the caption reader is gone (24c5deb)
  • listen,speak: name Flux models, not API versions (3373da7)
  • login: accept real API keys and ask for --yes instead of cancelling (e4db87a)
  • login: check the base URL before dg login --complete saves a key (86e74c8)
  • login: save the pending login and init's records on Windows (d4625a0)
  • login: show a profile's config-file key in profiles --list (b73e1ce)
  • mcp: keep environment proxies away from the authenticated client (de4262e)
  • mcp: keep stdout for JSON-RPC from the start of dg mcp (d6e09c2)
  • output: drop status chrome from stderr in agent mode (cc2de13)
  • plugin: refuse a plugin named like a built-in alias before importing it (dfa89fe)
  • preserve agent trust compatibility after rebase (c62445a)
  • speak: don't read stdin or write audio to a pipe in agent mode (ab6ceb9)
  • speak: don't take a Windows pipe or console for another file (7e2dc8b)
  • speak: write --out-file and -o files correctly on Windows (3a3cf14)
  • update: detect pipx, uv and npm installs correctly (2c97a87)
  • update: never wait for the update check (cb4a70f)
  • update: report an unreachable index as an error (3014068)
  • update: retry an update check that didn't finish after an hour (906bfcc)

Performance Improvements

  • cli: cache plugin discovery and help output (48e5f1b)
  • cli: render subcommand help from specs (4667ad3)
  • cli: start dg without importing click for --version and mcp (f0ef392)
  • core: drop the pre-flight key check and reuse one HTTP client (41988be)
  • core: import deepctl_core names lazily (9dc5cb4)
  • core: load config without pydantic on the help path (0eb4cee)
  • listen: bound live-stream memory and frame latency (3d28b98)
  • listen: check URL sources without fetching them (bebdbd0)
  • listen: stream prerecorded uploads from disk (728e01b)
  • output: write JSON off a terminal without rich (d673225)
  • speak: stream audio to pipes and players as it arrives (72c243c)
  • telemetry: skip the flush when no report was queued (bcc803c)

Documentation

  • compare with 0.4.1 in comments, the release before 0.5.0 (5481f6a)
  • fix line wrap and restore workflow_call rationale in bench/README.md (259f07d)
  • mcp: describe dg mcp as the documentation search it is (c097bec)
  • telemetry: publish the report's field schema (19ea267)
  • telemetry: say this version sends no telemetry (f8690b4)

Behavior changes

Upgrading to 0.5.0 changes these:

  • -o/--output is deprecated for dg speak's audio file; use --out-file instead (8f59531).
  • dg init no longer runs a template's setup commands or starts the app without a person at a terminal: pass --yes (or, outside an AI agent session, --install) to run setup and --start to start the app; otherwise it exits 1 with confirmation_required (8c50ae1).
  • dg init clones only Deepgram-owned templates now (56dc618).
  • dg listen's prerecorded -o json now prints the server's response body as sent — keys the server omitted no longer appear as null — and -o yaml prints that body instead of the table (set DEEPCTL_LISTEN_JSON=sdk to restore the old JSON shape) (6aa1795).
  • In an AI-agent session, a prerecorded dg listen result over 64 KiB is now saved under ~/.deepctl/results/ (or a private temp directory) instead of printed, when the output format was auto-detected and stdout isn't a regular file or /dev/null; stdout gets a summary, and --full-output restores the full result (fb7f9ec).
  • Under a hard agent signal, dg speak no longer reads stdin unless the text argument is - (otherwise it exits with E-SPEAK-NO-TEXT), and refuses to write audio to a pipe (E-SPEAK-NO-OUTPUT) (ab6ceb9).
  • When no one can answer a prompt, dg login's confirmations now return confirmation_required (exit 1) instead of "Login cancelled" (e4db87a).
  • A DEEPGRAM_API_KEY, DEEPGRAM_PROFILE, DEEPGRAM_PROJECT_ID or DEEPGRAM_BASE_URL that still holds an unexpanded ${...} placeholder is now ignored, with a W-ENV-PLACEHOLDER warning; off a terminal, a keyring that doesn't answer within 2 s is skipped for the config file or environment, with a W-KEYRING-TIMEOUT warning. Credential precedence itself is unchanged from 0.4.1 (307e2c3).
  • dg debug network no longer attaches ~/.netrc credentials to its probe requests (it never sent your Deepgram key) (edc5243).