Skip to content

chore: release main - #168

Open
github-actions[bot] wants to merge 5 commits into
mainfrom
release-please--branches--main
Open

github-actions[bot] wants to merge 5 commits into
mainfrom
release-please--branches--main

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.5.0

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).

This PR was generated with Release Please. See documentation.

dg-coreylweathers added a commit that referenced this pull request Nov 12, 2026
PR #165 merged 97 feature/fix commits via a merge commit whose own
title isn't conventional-commit-formatted, and release-please's commit
walk doesn't descend into a nested merge inside that branch's own
history (the internal main-into-release/0.5.0 sync merge). As a
result release-please never saw any of #165's commits and proposed an
empty patch bump (PR #168) instead of the real 0.5.0 minor release.

This marker commit sits directly on main, outside any merge, so
release-please will see it and regenerate #168 correctly: Features
and fixes mean a minor release, so with bump-patch-for-minor-pre-major
set, release-please would otherwise propose only a patch.

Release-As: 0.5.0
@github-actions
github-actions Bot force-pushed the release-please--branches--main branch from 33d0b76 to 352baf3 Compare November 12, 2026 23:35
@github-actions
github-actions Bot force-pushed the release-please--branches--main branch from 352baf3 to 37fa9a0 Compare November 12, 2026 23:39
…istory

release-please's commit walk doesn't descend into #165's own nested sync
merge, so it only saw 3 trivial commits sitting after it. Two problems
followed from that, now fixed by hand:

1. CHANGELOG.md's 0.5.0 entry only listed those 3 commits. Replaced with
   the full set of 71 visible commits (feat/fix/perf/docs) from the true
   v0.4.1..#165 range, correctly ordered and sectioned, plus a Behavior
   changes section for upgrade-note-worthy changes to defaults.

2. The empty marker commit used to force the Release-As trailer had no
   file changes, so release-please's path-splitting misattributed it to
   packages/deepctl-plugin-example (proposing a bogus 0.1.13 -> 0.5.0
   jump for an independently-versioned, untouched package). Reverted
   its pyproject.toml and CHANGELOG.md, and fixed the manifest back to
   0.1.13 for that component.
The release App token needed to push this repo's own automated re-pin
(the "Push the re-pin with the release App" job) is missing, so that
automation never ran. uv.lock was still pinning every first-party
package at 0.4.1 while pyproject.toml had already moved to 0.5.0,
which fails `uv sync --group testing --locked` in CI. Regenerated with
uv 0.9.30 (matching the Docker gate image) and confirmed with
check_dependency_floors.py and a --locked sync.
…rsion

Review on 83dff0c/96b59c7 found:
- The credential-precedence bullet claimed an order change that didn't
  happen (307e2c3's commit says precedence is unchanged); replaced with
  the two real changes from that commit (env placeholder detection,
  keyring timeout fallback).
- The Behavior changes section was missing three changes that affect
  stdout/stdin/exit-status in agent or CI contexts (fb7f9ec, ab6ceb9,
  e4db87a), and the dg init bullet undersold what changed.
- uv.lock had been locked with uv 0.9.30 (the Docker gate image's
  version), not the 0.13.6 the repo's own CI and release re-pin job
  pin, which silently downgraded the lockfile format (revision 5 -> 3)
  and added two dependency markers unrelated to this release.
  Re-locked from origin/main's original uv.lock with uv 0.13.6 inside
  python:3.12-slim; diff is now exactly the 30 version-line changes,
  confirmed with check_dependency_floors.py and a --locked sync.
Nit from re-review on 619c7ca: the bullet was accurate but broader
than the code — it didn't mention the save only happens when the
output format was auto-detected and stdout isn't a regular file or
/dev/null, or the temp-directory fallback.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant