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 withoperatorandvaluefields instead of the nestedstringValueformat.
npx @buildinternet/releases get dash0-clispam-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.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…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…recording-rules: Add recording rules commands (create, list, get, update, delete) for managing Prometheus recording rules via the PrometheusRule CRD format. (#126)config: Add --profile global flag and DASH0_PROFILE environment…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…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…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…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…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…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…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…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…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.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.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…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…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,…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)…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)…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.