releases.shpreview
Dash0/Dash0 CLI

Dash0 CLI

Mon
Wed
Fri
JunJulAugSepOctNovDecJanFebMarAprMayJun
Less
More
Releases24Avg7/moVersionsv1.0.0 to v1.12.1

Bug Fixes

  • spam-filters: Fix spam filter FilterCriteria format in fixtures and tests to match the Dash0 API schema (#134) The filter criteria now use the correct flat format with operator and value fields instead of the nested stringValue format.

New Components

  • spam-filters: Add spam-filters command with list, get, create, update, and delete subcommands (#132) Manage dataset-scoped spam filters via dash0 spam-filters <subcommand>. Supports file-based input (-f), dry-run validation, and all standard output formats (table, wide, json, yaml, csv).

Bug Fixes

  • recording-rules: Fix recording rules create and update not passing the dataset as a query parameter (#130) The --dataset flag and profile dataset were silently ignored for recording-rules create and recording-rules update. Updated dash0-api-client-go to v1.11.1 which passes the dataset as a query parameter.

New Components

  • recording-rules: Add recording rules commands (create, list, get, update, delete) for managing Prometheus recording rules via the PrometheusRule CRD format. (#126)

Enhancements

  • config: Add --profile global flag and DASH0_PROFILE environment variable to select a profile per invocation. (#127) The selector overrides the active profile on disk for the current invocation without modifying ~/.dash0/. Precedence is --profile flag → DASH0_PROFILE → the active profile. A non-existent profile fails before any API call with a message listing the available profiles. Passing an empty value falls through to the next step. config show annotates the Profile: line with the source when a selector is in effect.

New Components

  • api: Add experimental api command for raw HTTP calls to the Dash0 API. (#122) The dash0 -X api command performs a raw HTTP request against any Dash0 API endpoint, reusing the active profile's API URL, auth token, and (by default) dataset. It is useful for endpoints that do not yet have a dedicated subcommand.

Enhancements

  • metrics: Rework metrics instant with new flags and output formats (#45) Add --promql flag (replacing the deprecated --query), --filter for PromQL label matcher generation, --from (replacing the deprecated --time), -o csv output format, --skip-header, and --column for columnar table and CSV output. The timestamp and value columns are always included automatically. Deprecated flags (--query, --time) remain functional for backwards compatibility.
  • logs, spans, traces: Promote logs query, spans query, spans send, and traces get commands to stable (#124) These commands no longer require the --experimental (-X) flag.

New Components

  • notification-channels: Add notification-channels command for managing notification channels (list, get, create, update, delete) (#119) Notification channels are organization-level resources (no --dataset flag). The command uses CRD-enveloped NotificationChannelDefinition types with file-based input. All subcommands are experimental and require the -X flag.

Bug Fixes

  • check-rules: check-rules update now accepts PrometheusRule CRD files (#110) Previously, check-rules update -f failed with "no check rule ID provided" when given a PrometheusRule CRD file, because it did not detect the kind and route to the PrometheusRule parser. Both apply and check-rules create already handled this correctly.
  • dashboards: dashboards update now accepts PersesDashboard CRD files (#111) Previously, dashboards update -f did not detect PersesDashboard CRD files, so the CRD-specific conversion (v1alpha1/v1alpha2 normalization, ID extraction from labels, annotation mapping) was skipped. Both apply and dashboards create already handled this correctly.

New Components

  • agent-mode: Add agent mode for AI coding agents (#68) When active, agent mode defaults output to JSON, returns errors as JSON on stderr, emits --help as structured JSON, skips confirmation prompts, and disables colored output. Agent mode is activated via --agent-mode, the DASH0_AGENT_MODE environment variable, or auto-detection of known AI agent environment variables (CLAUDE_CODE, MCP_SESSION_ID, CURSOR_SESSION_ID, etc.).

Bug Fixes

  • dashboards: Clear dashboard ID from the request body before update calls to avoid server-side rejection (#101) When updating a dashboard whose user-defined ID is a UUID, the server rejects the request if the same ID appears in both the URL path parameter and the request body. The CLI now strips the ID from the body before sending the update, since it is already passed as the URL path parameter.
  • dashboards: Fix PersesDashboard annotations (folder-path, sharing, source) being silently dropped during conversion (#103) User-settable annotations (dash0.com/folder-path, dash0.com/sharing, dash0.com/source) on PersesDashboard CRDs were not carried over when converting to a Dashboard definition, affecting both apply and dashboards create.

Enhancements

  • query: --filter now accepts JSON filter criteria copied from the Dash0 UI (#96) The --filter flag on logs query and spans query now accepts JSON arrays and objects as produced by the Dash0 UI "copy filter criteria" feature, in addition to the existing text-based filter syntax. JSON and text filters can be mixed freely.

Bug Fixes

  • apply: Preserve user-settable annotations and permissions on asset round-trips (#99) dash0.com/folder-path, dash0.com/source, and dash0.com/sharing annotations were silently dropped during apply, <asset> create and <asset> update. spec.permissions on views and synthetic checks was also stripped.

Enhancements

  • apply: Migrate asset create/update from Import APIs to standard CRUD APIs (#90) The apply command and individual asset create/update subcommands now use the standard Create and Update APIs instead of the Import APIs, which are intended for one-time migrations.

Bug Fixes

  • apply: When an asset definition includes a user-defined ID, apply now always upserts, making repeated applies idempotent and preventing duplicate assets from being created. (#94)

Enhancements

  • output: The update and apply commands now show a unified diff of changes (#66)
  • dashboards: <asset> list -o yaml and -o json now output full asset definitions instead of summary list items (#67) YAML output is a multi-document stream (separated by ---) that can be piped directly to dash0 apply -f -. JSON output is an array of full asset definitions. This applies to all four asset types: dashboards, check-rules, views, and synthetic-checks.

Enhancements

  • dashboards: Accept PersesDashboard CRD files in apply and dashboards create (#85) PersesDashboard CRDs (perses.dev/v1alpha1 and perses.dev/v1alpha2) are now accepted as input.

Enhancements

  • logs, spans, traces: Add explorer deep link URL as the first line of output for logs query, spans query, and traces get (#71) The URL is printed after the table output and links to the corresponding Dash0 explorer view.

Bug Fixes

  • synthetic-checks, views: Display the human-readable name instead of the CRD name for synthetic checks and views (#80) The get, create, and update commands for synthetic checks and views now read from spec.display.name instead of metadata.name, consistent with dashboards.

Enhancements

  • errors: Include API response body in error messages when the backend does not return a structured error (#75) Previously, errors like 400 Bad Request only showed the HTTP status code and trace ID. Now, the full response body is displayed so that users can see the reason for the failure.
  • dashboards: Make the <id> argument of dash0 <asset> update optional (#76) When the <id> argument is omitted, the ID is extracted from the file content. This applies to all asset types: dashboards, check rules, synthetic checks, and views.

Bug Fixes

  • dashboards: Fix dashboards update overwriting dash0Extensions.id with the origin string (#77) Unify ID and name extraction between apply and per-asset CRUD commands by delegating to shared Extract* functions in internal/asset/.
  • dashboards: Stop force-setting origin in asset update commands (#78) The synthetic-checks update, views update, and check-rules update commands were force-setting the origin to "dash0-cli", causing 400 errors when updating assets originally created with a different origin.

Bug Fixes

  • views: Fix view deeplink URLs to use the correct path for each view type (#72) Previously, all view deeplinks used /goto/logs regardless of view type. Now each view type maps to its correct deeplink path (e.g., /goto/traces/explorer for span views, /goto/metrics/explorer for metric views). The views list output also includes a new TYPE column.

New Components

  • teams: Add experimental team and member management commands (#47) New teams commands: list, get, create, update, delete, add-members, remove-members. New members commands: list, invite, remove. All commands require the --experimental (-X) flag.

Enhancements

  • assets: Add CSV output format to asset list commands (#62) The dashboards list, check-rules list, views list, and synthetic-checks list commands now accept -o csv. CSV output includes all columns from the wide format (name, id, dataset, origin, url).
  • query: --column flag for logs query, spans query, and traces get to customize displayed columns (#56) Users can now select which columns appear in table and CSV output using repeatable --column flags. Predefined columns have short aliases (e.g., time, severity, body for logs). Any OTLP attribute key can be used as a column, enabling ad-hoc display of arbitrary attributes.

New Components

  • spans: Add spans query command to query spans from Dash0 (#51) Supports table, CSV, and OTLP JSON output formats with filtering, time range selection, and pagination.
  • spans: Add spans send command to send spans to Dash0 via OTLP (#51) Supports span kind, status, duration, trace/span ID (auto-generated or explicit), parent span, span links, resource/span/scope attributes, and custom instrumentation scope.
  • traces: Add traces get command to retrieve all spans in a trace from Dash0 (#51) Displays spans in table, JSON (OTLP/JSON), or CSV format. Table output shows timestamp, duration, trace ID, span ID, parent ID, span name, status, service name, and span links. Supports --follow-span-links to recursively fetch traces linked through span links.

Enhancements

  • logs: Color-code severity levels in logs query table output (#46) Severity levels (FATAL, ERROR, WARN, DEBUG, TRACE) are now color-coded when output is a terminal. A new global --color flag (env: DASH0_COLOR) controls color output: semantic (default) or none.
  • output: Add --skip-header flag to suppress the header row in tabular output formats (#50) Available on all asset list commands (table and wide formats), config profiles list and logs query (table and CSV formats).

Enhancements

  • logs: Add dash0 logs query command to query log records from Dash0 (#41) The command syntax — especially the --filter format — is experimental and may change in future releases.
Last Checked
1mo ago
Latest
v1.12.1
Tracking since Mar 15, 2025