Kill the Bill: Our $10,000 Challenge is on

Changelog

Recent changes and improvements to Dash0

Join us on a journey through Observability and OpenTelemetry as we improve our product. Stay connected with our Newsletter or RSS for fresh updates.

Dec 9, 2025

Fix navigation after authentication events

Ever been working in a dashboard only to suddenly find yourself back on the homepage? That frustrating experience is now fixed (and we are sorry). Let us make it up to you by explaining to you how it happened and how we figured it out.

Some of our end users reported an annoying issue: while working deep in the product, they would occasionally be unexpectedly redirected back to the Home page. No error, no explanation. Just... redirected to Home.

This bug had been haunting us on and off for a while. Somewhere in the chain of authentication refreshes and session handling, the app would sometimes route through "/" before restoring context. Our middleware would then dutifully add the organization parameter and send users on their way, but it had no memory of where they actually came from. The result? A one-way ticket back to the Home page.

We tried the traditional debugging approach: reading through code, adding breakpoints, sprinkling console.log statements everywhere, trying to reproduce locally. But the issue was intermittent and maddeningly hard to catch in the act.

Then we turned to Dash0 – as we always do.

We added custom logging to the middleware to capture the full context of each redirect: referrer headers, org parameters, request paths, and timing information. Once those logs were flowing into Dash0, the picture became clear almost immediately.

We could see the exact redirect patterns happening in production and trace the journey of affected requests. The culprit revealed itself: when a user was at /dashboards?org=acme and an auth refresh triggered, they'd hit “/” briefly, and our middleware had no idea they weren't supposed to be there.

The fix was straightforward once we understood the problem. When the middleware sees a request to "/" without an org parameter, it now checks if there’s any reference to where the user navigated from. If the user just came from a valid page on the same domain with a matching org, we send them right back instead of stranding them on the homepage.

This is one of the perks of building observability tooling. Having the right visibility helps us constantly improve and learn (even from these annoying bugs).



Read more

Dec 8, 2025

Simplified Alert Routing and Severity-Based Notifications

We’re simplifying how alerts are routed in Dash0. Notification channels can now be assigned directly to check rules, and you can route alerts based on severity, giving you precise control over which alerts reach which channels.

Two Ways to Route Alerts

You now have two options for specifying which notification channels receive which alert:

  • Bind Notification Channels from Check Rules or Synthetic Checks: Assign notification channels directly within each check rule or synthetic check. This keeps your alert configuration all in one place and gives you explicit control at the individual check level.
  • Map Notification Channels to Label-Based Conditions: Define conditions on notification channels to receive alerts that match specific labels. For example, route all alerts labeled team=SRE to a dedicated Slack channel, or direct priority=p1 alerts to PagerDuty, without modifying individual checks.

Severity-Based Routing

You can now also route alert notifications based on the severity of failed checks using the trigger notifications always or only on Critical options found in the check rule and synthetic check pages, or by using the dash0.failed_check.max_status attribute.

Use dash0.failed_check.max_status=critical as a condition on notification channels to ensure only critical alerts trigger pages, while team channels receive all severity levels for visibility.

Configure Notification channel in check rules or synthetic checks

The dash0.failed_check.max_status attribute reflects the highest severity a failed check has reached during its lifecycle. Once a check escalates to critical, all subsequent notifications route to channels matching that severity, even if the check temporarily returns to a degraded state. This guarantees that teams who were paged about a failed check will also be notified when it’s resolved.

For more details, see our documentation on Notifications and Routing.

Read more

Dec 8, 2025

Extending Event Support

We have just improved our support for Kubernetes by adding out-of-the-box support for Kubernetes events collected through the k8seventsreceiver In the OpenTelemetry Collector.

Currently, the newly-introduced support for Kubernetes events is made of two things:

  1. Normalizing the format of the Kubernetes events from k8seventsreceiver so that they fit nicely with the k8s.* semantic conventions and Dash0’s resource centricity concept.
  2. A built-in view in Logging for Kubernetes events:
A Screenshot of the new Kubernetes Events view in Dash0 logs

Besides, you can filter in the Logging page for Kubernetes events with the otel.event.name=k8s.event filter.

There is more about Kubernetes events to come. We will add support for retrieving out-of-the-box Kubernetes events via the Dash0 Operator. And soon™ Kubernetes events and other types of events are going to start playing a very important role in the way you monitor services.

Besides, we also added the otel.event.name attribute to allow filtering on the Kubernetes events eventName value.

Read more

Dec 5, 2025

Support for custom node affinities has arrived in the Dash0 Kubernetes Operator

Fine-tune on which nodes operator pods should be scheduled.

Starting with version 0.90.0, it's now possible to specify custom node affinities for each component of the Dash0 Operator via the Helm chart. This allows to configure on which nodes the manager pod, collectors, and the (optional) target-allocator will be scheduled.

For more information, refer to the operator's documentation and the Node Affinity section in the Kubernetes documentation.

Read more

Dec 2, 2025

Dashboard version history

Made a change to your dashboard and want to go see how it was before? Now you can. We've added the ability to view and restore previous versions of your dashboards.

Dash0 has had Dashboard versioning built-in since day one, but we have never exposed it in the UI. Until now, that is.

Every time you save a Dashboard, it creates a new version. The version history dropdown allows you to browse previous states of your dashboard, compare what changed, and restore any older version with a single click.

If you're managing dashboards with Infrastructure as Code, or a dashboard is read-only to you due to Access Control settings, you can still explore its version history to see how it evolved over time and create a new Dashboard from any version with the “Save as new” button.

Whether you're experimenting with new layouts, rolling back an accidental deletion, or just curious about how your dashboard evolved, version history is your safety net to iterate freely.

Read more

Nov 27, 2025

The Dash0 Kubernetes Operator now supports Prometheus CRDs

Configure the collection of your metrics by using familiar CRDs.

Starting with release 0.87.0, the Dash0 operator supports widely used Prometheus CRDs like ServiceMonitor, PodMonitor and ScrapeConfig.

The new feature can be enabled by deploying the operator with prometheusCrdSupportEnabled=true and having at least one namespace with a Dash0Monitoring resource with prometheusScraping enabled.

From that point on, the Dash0 collectors will scrape the metrics endpoints defined in the Prometheus CRDs and the new metrics will be available in Dash0.

For more information, refer to the operator's documentation.

Read more

Nov 21, 2025

Access Control - Dataset Permissions

Not every dataset should be treated the same. For example production needs guardrails; development needs freedom. With this release, Dash0 introduces dataset-level permissions, giving you a simple but powerful way to decide who can do what inside each environment.

Every dataset now supports three roles: Viewer, Editor, and Maintainer. Viewers can explore all data and build non-intrusive assets like dashboards and views. Editors extend that by creating new check rules and synthetic checks. Maintainers hold the keys to telemetry-impacting settings - from spam filters to semantic convention versioning.

Dataset permissions

The result is flexibility with clarity. You can give broad access to non-critical datasets without worrying about accidental changes in production. And because roles are transparent, it’s always clear who has which level of control.

This is a major step toward balancing collaboration with protection, ensuring that Dash0 grows safely alongside your organization.

Read more

Read more

Nov 17, 2025

Use the Dash0 Kubernetes Operator on GKE Autopilot clusters

The Dash0 operator now supports GKE Autopilot.

Starting with release 0.86.0 of the Dash0 operator, it now has full support for Google GKE Autopilot. Dash0 is now a GKE Autopilot partner, and the Dash0 operator can run as a privileged workload in Autopilot clusters.

Enable the Dash0 operator's autopilot mode by deploying the operator into your GKE Autopilot cluster with operator.gke.autopilot.enabled=true, and benefit from out-of-the-box telemetry collection that just works.

For more information, refer to the operator's documentation.

Read more

Oct 24, 2025

Dashboard variable bindings for all query types

Tired of having to switch to PromQL mode just to be able to use dashboard variables? Today, we change that.

You can now bind any dashboard variable to any kind of filter in your queries, supercharging your custom dashboards and bringing a new level of dynamic control to all your observability views.

This update removes the previous limitation of variable usage only within specific query languages. We've introduced a flexible binding mechanism that allows you to map any existing dashboard variable to filters across all supported data sources. Be it logs, metrics, or traces.

Read more

Oct 23, 2025

Ability to hide explorer charts

Added the ability to hide charts in explorers, web monitoring sessions and resources, for increased usability of the tables, triage and grouping capabilities.

We've introduced the ability to hide the main (top-most) chart in various explorers. Hiding these charts gives you more screen real estate to display more entries (e.g., more logs in the logs explorer).

Read more