diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index 1ae5e6e..2819f40 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,13 +1,13 @@ { - ".": "0.2.27", - "packages/deepctl-core": "0.2.15", + ".": "0.3.0", + "packages/deepctl-core": "0.2.16", "packages/deepctl-shared-utils": "0.1.12", "packages/deepctl-telemetry": "0.0.6", "packages/deepctl-cmd-api": "0.0.2", "packages/deepctl-cmd-login": "0.1.17", - "packages/deepctl-cmd-projects": "0.1.13", + "packages/deepctl-cmd-projects": "0.2.0", "packages/deepctl-cmd-transcribe": "0.1.12", - "packages/deepctl-cmd-usage": "0.1.13", + "packages/deepctl-cmd-usage": "0.2.0", "packages/deepctl-cmd-debug": "0.1.12", "packages/deepctl-cmd-debug-audio": "0.1.13", "packages/deepctl-cmd-debug-browser": "0.1.12", @@ -15,19 +15,19 @@ "packages/deepctl-cmd-debug-probe": "0.0.2", "packages/deepctl-cmd-debug-toolkit": "0.1.0", "packages/deepctl-cmd-ffprobe": "0.0.2", - "packages/deepctl-cmd-mcp": "0.1.14", + "packages/deepctl-cmd-mcp": "0.1.15", "packages/deepctl-cmd-update": "0.2.6", "packages/deepctl-cmd-plugin": "0.1.12", "packages/deepctl-cmd-skills": "0.0.7", "packages/deepctl-cmd-init": "0.0.4", - "packages/deepctl-cmd-models": "0.0.2", + "packages/deepctl-cmd-models": "0.1.0", "packages/deepctl-cmd-speak": "0.0.4", - "packages/deepctl-cmd-keys": "0.0.3", - "packages/deepctl-cmd-read": "0.0.2", + "packages/deepctl-cmd-keys": "0.1.0", + "packages/deepctl-cmd-read": "0.1.0", "packages/deepctl-cmd-listen": "0.0.14", - "packages/deepctl-cmd-requests": "0.0.2", - "packages/deepctl-cmd-billing": "0.0.2", - "packages/deepctl-cmd-members": "0.0.3", + "packages/deepctl-cmd-requests": "0.1.0", + "packages/deepctl-cmd-billing": "0.1.0", + "packages/deepctl-cmd-members": "0.1.0", "packages/deepctl-cmd-completion": "0.0.3", "packages/deepctl-plugin-example": "0.1.12" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 56ad86a..0dbb602 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,49 @@ # Changelog +## [0.3.0](https://github.com/deepgram/cli/compare/v0.2.27...v0.3.0) (2026-08-19) + + +### ⚠ BREAKING CHANGES + +* `dg` now exits non-zero when a command fails: 1 for errors (including crashes and usage errors), 2 for user interrupt, 0 on success. Every command previously exited 0 regardless of outcome, so scripts and CI steps that ignored the exit code will surface failures they were silently swallowing. No command that succeeds changes its exit code. + +### Bug Fixes + +* correct web command examples, document Flux TTS/STT, and honor -o json across account commands ([#97](https://github.com/deepgram/cli/issues/97)) ([55984ec](https://github.com/deepgram/cli/commit/55984ecbc306f24c61568c3aeea59556f96b2707)) +* dependency floors that let dg update skip this release, and exit-code + error-stream correctness ([#102](https://github.com/deepgram/cli/issues/102)) ([fd1e8a4](https://github.com/deepgram/cli/commit/fd1e8a4a2b34a85c37729fd80690c93b28c92281)) +* **deps:** cap mcp <2 (fixes broken dg mcp), commit uv.lock, require twine >=7 ([#95](https://github.com/deepgram/cli/issues/95)) ([997cd36](https://github.com/deepgram/cli/commit/997cd36f64c95d8afadb4b9fb86673153169ce1f)) +* **deps:** raise deepctl-core floor to 0.2.16 in the eight packages that import get_status_console ([98f9e91](https://github.com/deepgram/cli/commit/98f9e912682aff85836dbef40ee65391bb579fae)) +* **deps:** raise root dependency floors to the versions this release publishes ([c0b0023](https://github.com/deepgram/cli/commit/c0b0023e2395a65f444e5cdc9487cabd9ae2ea22)) +* exit 1, not 2, when a command crashes or is misused ([914e132](https://github.com/deepgram/cli/commit/914e132951c64f37ceab49f363ff93d567326de7)) +* keep exit 2 when Ctrl-C interrupts a running command ([b0e80e2](https://github.com/deepgram/cli/commit/b0e80e2b35484654dbb5afaae6db32d0eba8bdfe)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) +* **release:** bump pypi-publish action to v1.14.2 for Metadata-Version 2.5 ([#94](https://github.com/deepgram/cli/issues/94)) ([582cd83](https://github.com/deepgram/cli/commit/582cd831c11a1924c30f5f82e6dbe3767ccbdbad)) +* send root error and interrupt output to stderr, not stdout ([f4b7c48](https://github.com/deepgram/cli/commit/f4b7c48a2155942c0ff7865079fd016397d40482)) +* **web:** repair broken Heap snippet, upgrade astro 6→7, clear all 20 npm alerts ([#96](https://github.com/deepgram/cli/issues/96)) ([11928fe](https://github.com/deepgram/cli/commit/11928feaf5106885663bb577e252c24c3d866fd9)) + + +### Behavior changes + +Alongside the exit-code change above, upgrading to 0.3.0 changes these: + +* The full exit-code contract is now enforced end to end: `0` = success, `1` = error, `2` = user interrupt. Crashes **and usage errors** (bad flag, unknown command, bare `dg`) exit `1`; `2` is reserved for cancellation, so Ctrl-C during a running command and Ctrl-D at a prompt both still exit `2`. +* Error and cancellation messages are written to **stderr** instead of stdout. `dg -o json …` therefore keeps stdout machine-readable when a command fails — previously a failure printed `Error: …` prose to stdout, so a script piping stdout into `jq` parsed the error text instead of JSON. Successful commands still write their payload to stdout. +* `-o yaml` and `-o csv` no longer drop square-bracketed text from values. Output was passed through a renderer that read `[...]` as style markup and deleted it, so an API key comment of `[ci] runner` was emitted as `runner`. Long values are also no longer hard-wrapped mid-field. +* `dg keys --delete KEY_ID` now asks for confirmation on stderr instead of always reporting `Cancelled by user` without deleting. In a non-interactive context it exits `1` and tells you to pass `--yes`. +* `dg keys --create --dry-run` now reports what it would create. It previously failed with an internal `TypeError`. + +### Previously unreleased + +0.2.27 was tagged on 2026-08-17 but never reached PyPI — its publish step failed with `InvalidDistribution: Invalid distribution metadata: '2.5' is not a valid metadata version`, which [#94](https://github.com/deepgram/cli/issues/94) and [#95](https://github.com/deepgram/cli/issues/95) then fixed. PyPI therefore goes straight from 0.2.26 to 0.3.0, and this release is the first published build to include the 0.2.27 changes: + +* SDK 7.7.0 — Flux TTS controls, Flux STT fix, listen redact/numerals ([#92](https://github.com/deepgram/cli/issues/92)) ([50d96cf](https://github.com/deepgram/cli/commit/50d96cf8950c9f180619e0e2dbd41931d1a63ef6)) +* **speak:** default to Flux TTS (`flux-alexis-en`) instead of Aura 2 ([#89](https://github.com/deepgram/cli/issues/89)) ([5a0b698](https://github.com/deepgram/cli/commit/5a0b6981755d58cb5a1725150bf437c81c792433)). This changes the default model for `dg speak`, so synthesised audio differs unless you pass an `aura-*` model explicitly. +* **mcp:** swallow broken/closed-pipe on dg mcp startup notifications and error path ([#88](https://github.com/deepgram/cli/issues/88)) ([b24396e](https://github.com/deepgram/cli/commit/b24396ec3c53197b1f9e5e610c57a298926f9031)) + +Six packages tagged in that cycle also reach PyPI for the first time here: `deepctl-cmd-listen` 0.0.14, `deepctl-cmd-login` 0.1.17, `deepctl-cmd-skills` 0.0.7, `deepctl-cmd-speak` 0.0.4, `deepctl-cmd-update` 0.2.6 and `deepctl-telemetry` 0.0.6. + +Because 0.2.27 never published, `dg update` on pip also had to be repaired for this release to arrive at all: root's inter-package dependency floors were lower than the versions being published, so pip's default `only-if-needed` strategy left most sub-packages stale and `dg --version` reported the new number while the fixes never landed. Floors now match the published versions exactly. + ## [0.2.27](https://github.com/deepgram/cli/compare/v0.2.26...v0.2.27) (2026-08-17) diff --git a/packages/deepctl-cmd-billing/CHANGELOG.md b/packages/deepctl-cmd-billing/CHANGELOG.md index d0f75d8..8da686f 100644 --- a/packages/deepctl-cmd-billing/CHANGELOG.md +++ b/packages/deepctl-cmd-billing/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [0.1.0](https://github.com/deepgram/cli/compare/deepctl-cmd-billing-v0.0.2...deepctl-cmd-billing-v0.1.0) (2026-08-19) + + +### ⚠ BREAKING CHANGES + +* `dg` now exits non-zero when a command fails: 1 for errors (including crashes and usage errors), 2 for user interrupt, 0 on success. Every command previously exited 0 regardless of outcome, so scripts and CI steps that ignored the exit code will surface failures they were silently swallowing. No command that succeeds changes its exit code. + +### Bug Fixes + +* correct web command examples, document Flux TTS/STT, and honor -o json across account commands ([#97](https://github.com/deepgram/cli/issues/97)) ([55984ec](https://github.com/deepgram/cli/commit/55984ecbc306f24c61568c3aeea59556f96b2707)) +* dependency floors that let dg update skip this release, and exit-code + error-stream correctness ([#102](https://github.com/deepgram/cli/issues/102)) ([fd1e8a4](https://github.com/deepgram/cli/commit/fd1e8a4a2b34a85c37729fd80690c93b28c92281)) +* **deps:** raise deepctl-core floor to 0.2.16 in the eight packages that import get_status_console ([98f9e91](https://github.com/deepgram/cli/commit/98f9e912682aff85836dbef40ee65391bb579fae)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) + ## [0.0.2](https://github.com/deepgram/cli/compare/deepctl-cmd-billing-v0.0.1...deepctl-cmd-billing-v0.0.2) (2026-03-23) diff --git a/packages/deepctl-cmd-billing/pyproject.toml b/packages/deepctl-cmd-billing/pyproject.toml index 1d5cd82..3fd445f 100644 --- a/packages/deepctl-cmd-billing/pyproject.toml +++ b/packages/deepctl-cmd-billing/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-cmd-billing" -version = "0.0.2" # x-release-please-version +version = "0.1.0" # x-release-please-version description = "Billing command for deepctl" readme = "README.md" license = "MIT" diff --git a/packages/deepctl-cmd-keys/CHANGELOG.md b/packages/deepctl-cmd-keys/CHANGELOG.md index fd25d69..caf6df6 100644 --- a/packages/deepctl-cmd-keys/CHANGELOG.md +++ b/packages/deepctl-cmd-keys/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## [0.1.0](https://github.com/deepgram/cli/compare/deepctl-cmd-keys-v0.0.3...deepctl-cmd-keys-v0.1.0) (2026-08-19) + + +### ⚠ BREAKING CHANGES + +* `dg` now exits non-zero when a command fails: 1 for errors (including crashes and usage errors), 2 for user interrupt, 0 on success. Every command previously exited 0 regardless of outcome, so scripts and CI steps that ignored the exit code will surface failures they were silently swallowing. No command that succeeds changes its exit code. + +### Bug Fixes + +* dependency floors that let dg update skip this release, and exit-code + error-stream correctness ([#102](https://github.com/deepgram/cli/issues/102)) ([fd1e8a4](https://github.com/deepgram/cli/commit/fd1e8a4a2b34a85c37729fd80690c93b28c92281)) +* **deps:** raise deepctl-core floor to 0.2.16 in the eight packages that import get_status_console ([98f9e91](https://github.com/deepgram/cli/commit/98f9e912682aff85836dbef40ee65391bb579fae)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) + ## [0.0.3](https://github.com/deepgram/cli/compare/deepctl-cmd-keys-v0.0.2...deepctl-cmd-keys-v0.0.3) (2026-03-29) diff --git a/packages/deepctl-cmd-keys/pyproject.toml b/packages/deepctl-cmd-keys/pyproject.toml index 3f88c6e..7a98b69 100644 --- a/packages/deepctl-cmd-keys/pyproject.toml +++ b/packages/deepctl-cmd-keys/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-cmd-keys" -version = "0.0.3" # x-release-please-version +version = "0.1.0" # x-release-please-version description = "API keys management command for deepctl" readme = "README.md" license = "MIT" diff --git a/packages/deepctl-cmd-mcp/CHANGELOG.md b/packages/deepctl-cmd-mcp/CHANGELOG.md index a846759..06dc9ae 100644 --- a/packages/deepctl-cmd-mcp/CHANGELOG.md +++ b/packages/deepctl-cmd-mcp/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.1.15](https://github.com/deepgram/cli/compare/deepctl-cmd-mcp-v0.1.14...deepctl-cmd-mcp-v0.1.15) (2026-08-19) + + +### Bug Fixes + +* **deps:** cap mcp <2 (fixes broken dg mcp), commit uv.lock, require twine >=7 ([#95](https://github.com/deepgram/cli/issues/95)) ([997cd36](https://github.com/deepgram/cli/commit/997cd36f64c95d8afadb4b9fb86673153169ce1f)) + ## [0.1.14](https://github.com/deepgram/cli/compare/deepctl-cmd-mcp-v0.1.13...deepctl-cmd-mcp-v0.1.14) (2026-05-12) diff --git a/packages/deepctl-cmd-mcp/pyproject.toml b/packages/deepctl-cmd-mcp/pyproject.toml index 9781cfe..df89294 100644 --- a/packages/deepctl-cmd-mcp/pyproject.toml +++ b/packages/deepctl-cmd-mcp/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-cmd-mcp" -version = "0.1.14" # x-release-please-version +version = "0.1.15" # x-release-please-version description = "MCP proxy command for deepctl — connects to Deepgram's developer API" readme = "README.md" authors = [{ name = "Deepgram", email = "devrel@deepgram.com" }] diff --git a/packages/deepctl-cmd-members/CHANGELOG.md b/packages/deepctl-cmd-members/CHANGELOG.md index e175a6f..cef90dc 100644 --- a/packages/deepctl-cmd-members/CHANGELOG.md +++ b/packages/deepctl-cmd-members/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [0.1.0](https://github.com/deepgram/cli/compare/deepctl-cmd-members-v0.0.3...deepctl-cmd-members-v0.1.0) (2026-08-19) + + +### ⚠ BREAKING CHANGES + +* `dg` now exits non-zero when a command fails: 1 for errors (including crashes and usage errors), 2 for user interrupt, 0 on success. Every command previously exited 0 regardless of outcome, so scripts and CI steps that ignored the exit code will surface failures they were silently swallowing. No command that succeeds changes its exit code. + +### Bug Fixes + +* correct web command examples, document Flux TTS/STT, and honor -o json across account commands ([#97](https://github.com/deepgram/cli/issues/97)) ([55984ec](https://github.com/deepgram/cli/commit/55984ecbc306f24c61568c3aeea59556f96b2707)) +* dependency floors that let dg update skip this release, and exit-code + error-stream correctness ([#102](https://github.com/deepgram/cli/issues/102)) ([fd1e8a4](https://github.com/deepgram/cli/commit/fd1e8a4a2b34a85c37729fd80690c93b28c92281)) +* **deps:** raise deepctl-core floor to 0.2.16 in the eight packages that import get_status_console ([98f9e91](https://github.com/deepgram/cli/commit/98f9e912682aff85836dbef40ee65391bb579fae)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) + ## [0.0.3](https://github.com/deepgram/cli/compare/deepctl-cmd-members-v0.0.2...deepctl-cmd-members-v0.0.3) (2026-03-29) diff --git a/packages/deepctl-cmd-members/pyproject.toml b/packages/deepctl-cmd-members/pyproject.toml index 0b5116e..87a8d1b 100644 --- a/packages/deepctl-cmd-members/pyproject.toml +++ b/packages/deepctl-cmd-members/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-cmd-members" -version = "0.0.3" # x-release-please-version +version = "0.1.0" # x-release-please-version description = "Members management command for deepctl" readme = "README.md" license = "MIT" diff --git a/packages/deepctl-cmd-models/CHANGELOG.md b/packages/deepctl-cmd-models/CHANGELOG.md index 981fd24..e867369 100644 --- a/packages/deepctl-cmd-models/CHANGELOG.md +++ b/packages/deepctl-cmd-models/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [0.1.0](https://github.com/deepgram/cli/compare/deepctl-cmd-models-v0.0.2...deepctl-cmd-models-v0.1.0) (2026-08-19) + + +### ⚠ BREAKING CHANGES + +* `dg` now exits non-zero when a command fails: 1 for errors (including crashes and usage errors), 2 for user interrupt, 0 on success. Every command previously exited 0 regardless of outcome, so scripts and CI steps that ignored the exit code will surface failures they were silently swallowing. No command that succeeds changes its exit code. + +### Bug Fixes + +* correct web command examples, document Flux TTS/STT, and honor -o json across account commands ([#97](https://github.com/deepgram/cli/issues/97)) ([55984ec](https://github.com/deepgram/cli/commit/55984ecbc306f24c61568c3aeea59556f96b2707)) +* dependency floors that let dg update skip this release, and exit-code + error-stream correctness ([#102](https://github.com/deepgram/cli/issues/102)) ([fd1e8a4](https://github.com/deepgram/cli/commit/fd1e8a4a2b34a85c37729fd80690c93b28c92281)) +* **deps:** raise deepctl-core floor to 0.2.16 in the eight packages that import get_status_console ([98f9e91](https://github.com/deepgram/cli/commit/98f9e912682aff85836dbef40ee65391bb579fae)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) + ## [0.0.2](https://github.com/deepgram/cli/compare/deepctl-cmd-models-v0.0.1...deepctl-cmd-models-v0.0.2) (2026-03-23) diff --git a/packages/deepctl-cmd-models/pyproject.toml b/packages/deepctl-cmd-models/pyproject.toml index 18852e0..9f025c3 100644 --- a/packages/deepctl-cmd-models/pyproject.toml +++ b/packages/deepctl-cmd-models/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-cmd-models" -version = "0.0.2" # x-release-please-version +version = "0.1.0" # x-release-please-version description = "Models command for deepctl" readme = "README.md" license = "MIT" diff --git a/packages/deepctl-cmd-projects/CHANGELOG.md b/packages/deepctl-cmd-projects/CHANGELOG.md index 732a458..d987524 100644 --- a/packages/deepctl-cmd-projects/CHANGELOG.md +++ b/packages/deepctl-cmd-projects/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [0.2.0](https://github.com/deepgram/cli/compare/deepctl-cmd-projects-v0.1.13...deepctl-cmd-projects-v0.2.0) (2026-08-19) + + +### ⚠ BREAKING CHANGES + +* `dg` now exits non-zero when a command fails: 1 for errors (including crashes and usage errors), 2 for user interrupt, 0 on success. Every command previously exited 0 regardless of outcome, so scripts and CI steps that ignored the exit code will surface failures they were silently swallowing. No command that succeeds changes its exit code. + +### Bug Fixes + +* correct web command examples, document Flux TTS/STT, and honor -o json across account commands ([#97](https://github.com/deepgram/cli/issues/97)) ([55984ec](https://github.com/deepgram/cli/commit/55984ecbc306f24c61568c3aeea59556f96b2707)) +* dependency floors that let dg update skip this release, and exit-code + error-stream correctness ([#102](https://github.com/deepgram/cli/issues/102)) ([fd1e8a4](https://github.com/deepgram/cli/commit/fd1e8a4a2b34a85c37729fd80690c93b28c92281)) +* **deps:** raise deepctl-core floor to 0.2.16 in the eight packages that import get_status_console ([98f9e91](https://github.com/deepgram/cli/commit/98f9e912682aff85836dbef40ee65391bb579fae)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) + ## [0.1.13](https://github.com/deepgram/cli/compare/deepctl-cmd-projects-v0.1.12...deepctl-cmd-projects-v0.1.13) (2026-08-17) diff --git a/packages/deepctl-cmd-projects/pyproject.toml b/packages/deepctl-cmd-projects/pyproject.toml index c7d7258..93ab69c 100644 --- a/packages/deepctl-cmd-projects/pyproject.toml +++ b/packages/deepctl-cmd-projects/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-cmd-projects" -version = "0.1.13" # x-release-please-version +version = "0.2.0" # x-release-please-version description = "Projects command for deepctl" readme = "README.md" license = "MIT" diff --git a/packages/deepctl-cmd-read/CHANGELOG.md b/packages/deepctl-cmd-read/CHANGELOG.md index fa652a2..aef021b 100644 --- a/packages/deepctl-cmd-read/CHANGELOG.md +++ b/packages/deepctl-cmd-read/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [0.1.0](https://github.com/deepgram/cli/compare/deepctl-cmd-read-v0.0.2...deepctl-cmd-read-v0.1.0) (2026-08-19) + + +### ⚠ BREAKING CHANGES + +* `dg` now exits non-zero when a command fails: 1 for errors (including crashes and usage errors), 2 for user interrupt, 0 on success. Every command previously exited 0 regardless of outcome, so scripts and CI steps that ignored the exit code will surface failures they were silently swallowing. No command that succeeds changes its exit code. + +### Bug Fixes + +* correct web command examples, document Flux TTS/STT, and honor -o json across account commands ([#97](https://github.com/deepgram/cli/issues/97)) ([55984ec](https://github.com/deepgram/cli/commit/55984ecbc306f24c61568c3aeea59556f96b2707)) +* dependency floors that let dg update skip this release, and exit-code + error-stream correctness ([#102](https://github.com/deepgram/cli/issues/102)) ([fd1e8a4](https://github.com/deepgram/cli/commit/fd1e8a4a2b34a85c37729fd80690c93b28c92281)) +* **deps:** raise deepctl-core floor to 0.2.16 in the eight packages that import get_status_console ([98f9e91](https://github.com/deepgram/cli/commit/98f9e912682aff85836dbef40ee65391bb579fae)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) + ## [0.0.2](https://github.com/deepgram/cli/compare/deepctl-cmd-read-v0.0.1...deepctl-cmd-read-v0.0.2) (2026-03-23) diff --git a/packages/deepctl-cmd-read/pyproject.toml b/packages/deepctl-cmd-read/pyproject.toml index beeb51c..0e58d4f 100644 --- a/packages/deepctl-cmd-read/pyproject.toml +++ b/packages/deepctl-cmd-read/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-cmd-read" -version = "0.0.2" # x-release-please-version +version = "0.1.0" # x-release-please-version description = "Read (text intelligence) command for deepctl" readme = "README.md" license = "MIT" diff --git a/packages/deepctl-cmd-requests/CHANGELOG.md b/packages/deepctl-cmd-requests/CHANGELOG.md index 2cce535..4a985f2 100644 --- a/packages/deepctl-cmd-requests/CHANGELOG.md +++ b/packages/deepctl-cmd-requests/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [0.1.0](https://github.com/deepgram/cli/compare/deepctl-cmd-requests-v0.0.2...deepctl-cmd-requests-v0.1.0) (2026-08-19) + + +### ⚠ BREAKING CHANGES + +* `dg` now exits non-zero when a command fails: 1 for errors (including crashes and usage errors), 2 for user interrupt, 0 on success. Every command previously exited 0 regardless of outcome, so scripts and CI steps that ignored the exit code will surface failures they were silently swallowing. No command that succeeds changes its exit code. + +### Bug Fixes + +* correct web command examples, document Flux TTS/STT, and honor -o json across account commands ([#97](https://github.com/deepgram/cli/issues/97)) ([55984ec](https://github.com/deepgram/cli/commit/55984ecbc306f24c61568c3aeea59556f96b2707)) +* dependency floors that let dg update skip this release, and exit-code + error-stream correctness ([#102](https://github.com/deepgram/cli/issues/102)) ([fd1e8a4](https://github.com/deepgram/cli/commit/fd1e8a4a2b34a85c37729fd80690c93b28c92281)) +* **deps:** raise deepctl-core floor to 0.2.16 in the eight packages that import get_status_console ([98f9e91](https://github.com/deepgram/cli/commit/98f9e912682aff85836dbef40ee65391bb579fae)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) + ## [0.0.2](https://github.com/deepgram/cli/compare/deepctl-cmd-requests-v0.0.1...deepctl-cmd-requests-v0.0.2) (2026-03-23) diff --git a/packages/deepctl-cmd-requests/pyproject.toml b/packages/deepctl-cmd-requests/pyproject.toml index 5bde238..55f73b4 100644 --- a/packages/deepctl-cmd-requests/pyproject.toml +++ b/packages/deepctl-cmd-requests/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-cmd-requests" -version = "0.0.2" # x-release-please-version +version = "0.1.0" # x-release-please-version description = "Requests history command for deepctl" readme = "README.md" license = "MIT" diff --git a/packages/deepctl-cmd-usage/CHANGELOG.md b/packages/deepctl-cmd-usage/CHANGELOG.md index d9180df..218b372 100644 --- a/packages/deepctl-cmd-usage/CHANGELOG.md +++ b/packages/deepctl-cmd-usage/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [0.2.0](https://github.com/deepgram/cli/compare/deepctl-cmd-usage-v0.1.13...deepctl-cmd-usage-v0.2.0) (2026-08-19) + + +### ⚠ BREAKING CHANGES + +* `dg` now exits non-zero when a command fails: 1 for errors (including crashes and usage errors), 2 for user interrupt, 0 on success. Every command previously exited 0 regardless of outcome, so scripts and CI steps that ignored the exit code will surface failures they were silently swallowing. No command that succeeds changes its exit code. + +### Bug Fixes + +* correct web command examples, document Flux TTS/STT, and honor -o json across account commands ([#97](https://github.com/deepgram/cli/issues/97)) ([55984ec](https://github.com/deepgram/cli/commit/55984ecbc306f24c61568c3aeea59556f96b2707)) +* dependency floors that let dg update skip this release, and exit-code + error-stream correctness ([#102](https://github.com/deepgram/cli/issues/102)) ([fd1e8a4](https://github.com/deepgram/cli/commit/fd1e8a4a2b34a85c37729fd80690c93b28c92281)) +* **deps:** raise deepctl-core floor to 0.2.16 in the eight packages that import get_status_console ([98f9e91](https://github.com/deepgram/cli/commit/98f9e912682aff85836dbef40ee65391bb579fae)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) + ## [0.1.13](https://github.com/deepgram/cli/compare/deepctl-cmd-usage-v0.1.12...deepctl-cmd-usage-v0.1.13) (2026-08-17) diff --git a/packages/deepctl-cmd-usage/pyproject.toml b/packages/deepctl-cmd-usage/pyproject.toml index 6feffd4..c58eaa6 100644 --- a/packages/deepctl-cmd-usage/pyproject.toml +++ b/packages/deepctl-cmd-usage/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-cmd-usage" -version = "0.1.13" # x-release-please-version +version = "0.2.0" # x-release-please-version description = "Usage command for deepctl" readme = "README.md" license = "MIT" diff --git a/packages/deepctl-core/CHANGELOG.md b/packages/deepctl-core/CHANGELOG.md index 9caf7aa..3645b15 100644 --- a/packages/deepctl-core/CHANGELOG.md +++ b/packages/deepctl-core/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [0.2.16](https://github.com/deepgram/cli/compare/deepctl-core-v0.2.15...deepctl-core-v0.2.16) (2026-08-19) + + +### Bug Fixes + +* correct web command examples, document Flux TTS/STT, and honor -o json across account commands ([#97](https://github.com/deepgram/cli/issues/97)) ([55984ec](https://github.com/deepgram/cli/commit/55984ecbc306f24c61568c3aeea59556f96b2707)) +* **keys:** honor -o json so stdout stays parseable (completes the [#97](https://github.com/deepgram/cli/issues/97) sweep) ([#101](https://github.com/deepgram/cli/issues/101)) ([e430a77](https://github.com/deepgram/cli/commit/e430a77609cbf701f52fc454907ee2ddb99dbd07)) + + +### Behavior changes + +* Commands now map their result status to a process exit code (`error` → `1`, `cancelled` → `2`, otherwise `0`), and `BaseCommand.exit_code_for()` exposes that mapping. Exit codes were previously discarded, so every command exited `0`. +* `-o yaml` and `-o csv` payloads are written verbatim; the renderer no longer interprets `[...]` as markup or wraps long values. +* New `get_status_console()` returns the shared stderr console for status output. Commands should use it instead of declaring their own. Packages that import it require `deepctl-core>=0.2.16`. + ## [0.2.15](https://github.com/deepgram/cli/compare/deepctl-core-v0.2.14...deepctl-core-v0.2.15) (2026-08-17) diff --git a/packages/deepctl-core/pyproject.toml b/packages/deepctl-core/pyproject.toml index 9f520d6..f577ebe 100644 --- a/packages/deepctl-core/pyproject.toml +++ b/packages/deepctl-core/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl-core" -version = "0.2.15" # x-release-please-version +version = "0.2.16" # x-release-please-version description = "Core components for deepctl" readme = "README.md" license = "MIT" diff --git a/pyproject.toml b/pyproject.toml index a3c377e..0f0a29c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "deepctl" -version = "0.2.27" # x-release-please-version +version = "0.3.0" # x-release-please-version description = "Official Deepgram CLI for speech recognition and audio intelligence" readme = "README.md" license = "MIT" @@ -37,9 +37,9 @@ dependencies = [ "deepgram-sdk>=7.7.0,<8", "deepctl-core>=0.2.16", "deepctl-cmd-login>=0.1.17", - "deepctl-cmd-projects>=0.1.14", + "deepctl-cmd-projects>=0.2.0", "deepctl-cmd-transcribe>=0.1.10", - "deepctl-cmd-usage>=0.1.14", + "deepctl-cmd-usage>=0.2.0", "deepctl-cmd-mcp>=0.1.15", "deepctl-cmd-api>=0.0.1", "deepctl-cmd-debug>=0.1.10", @@ -53,14 +53,14 @@ dependencies = [ "deepctl-cmd-plugin>=0.1.10", "deepctl-cmd-skills>=0.0.7", "deepctl-cmd-init>=0.0.1", - "deepctl-cmd-models>=0.0.3", + "deepctl-cmd-models>=0.1.0", "deepctl-cmd-speak>=0.0.4", - "deepctl-cmd-keys>=0.0.4", - "deepctl-cmd-read>=0.0.3", + "deepctl-cmd-keys>=0.1.0", + "deepctl-cmd-read>=0.1.0", "deepctl-cmd-listen>=0.0.14", - "deepctl-cmd-requests>=0.0.3", - "deepctl-cmd-billing>=0.0.3", - "deepctl-cmd-members>=0.0.4", + "deepctl-cmd-requests>=0.1.0", + "deepctl-cmd-billing>=0.1.0", + "deepctl-cmd-members>=0.1.0", "deepctl-cmd-completion>=0.0.1", "deepctl-shared-utils>=0.1.10", "deepctl-telemetry>=0.0.6", diff --git a/src/deepctl/__init__.py b/src/deepctl/__init__.py index d9b31f8..ca4367c 100644 --- a/src/deepctl/__init__.py +++ b/src/deepctl/__init__.py @@ -1,7 +1,7 @@ """deepctl - Official command-line interface for Deepgram's speech recognition API.""" -__version__ = "0.2.27" # x-release-please-version +__version__ = "0.3.0" # x-release-please-version __author__ = "Deepgram" __email__ = "devrel@deepgram.com" __license__ = "MIT" diff --git a/uv.lock b/uv.lock index 599a533..94ba75a 100644 --- a/uv.lock +++ b/uv.lock @@ -855,7 +855,7 @@ wheels = [ [[package]] name = "deepctl" -version = "0.2.27" +version = "0.3.0" source = { editable = "." } dependencies = [ { name = "click" }, @@ -1052,7 +1052,7 @@ requires-dist = [ [[package]] name = "deepctl-cmd-billing" -version = "0.0.2" +version = "0.1.0" source = { editable = "packages/deepctl-cmd-billing" } dependencies = [ { name = "click" }, @@ -1288,7 +1288,7 @@ requires-dist = [ [[package]] name = "deepctl-cmd-keys" -version = "0.0.3" +version = "0.1.0" source = { editable = "packages/deepctl-cmd-keys" } dependencies = [ { name = "click" }, @@ -1360,7 +1360,7 @@ requires-dist = [ [[package]] name = "deepctl-cmd-mcp" -version = "0.1.14" +version = "0.1.15" source = { editable = "packages/deepctl-cmd-mcp" } dependencies = [ { name = "click" }, @@ -1400,7 +1400,7 @@ provides-extras = ["dev"] [[package]] name = "deepctl-cmd-members" -version = "0.0.3" +version = "0.1.0" source = { editable = "packages/deepctl-cmd-members" } dependencies = [ { name = "click" }, @@ -1419,7 +1419,7 @@ requires-dist = [ [[package]] name = "deepctl-cmd-models" -version = "0.0.2" +version = "0.1.0" source = { editable = "packages/deepctl-cmd-models" } dependencies = [ { name = "click" }, @@ -1455,7 +1455,7 @@ requires-dist = [ [[package]] name = "deepctl-cmd-projects" -version = "0.1.13" +version = "0.2.0" source = { editable = "packages/deepctl-cmd-projects" } dependencies = [ { name = "click" }, @@ -1476,7 +1476,7 @@ requires-dist = [ [[package]] name = "deepctl-cmd-read" -version = "0.0.2" +version = "0.1.0" source = { editable = "packages/deepctl-cmd-read" } dependencies = [ { name = "click" }, @@ -1495,7 +1495,7 @@ requires-dist = [ [[package]] name = "deepctl-cmd-requests" -version = "0.0.2" +version = "0.1.0" source = { editable = "packages/deepctl-cmd-requests" } dependencies = [ { name = "click" }, @@ -1601,7 +1601,7 @@ provides-extras = ["dev"] [[package]] name = "deepctl-cmd-usage" -version = "0.1.13" +version = "0.2.0" source = { editable = "packages/deepctl-cmd-usage" } dependencies = [ { name = "click" }, @@ -1624,7 +1624,7 @@ requires-dist = [ [[package]] name = "deepctl-core" -version = "0.2.15" +version = "0.2.16" source = { editable = "packages/deepctl-core" } dependencies = [ { name = "click" },