Release notes for version 0.85.0
Release date: 23 Jun 2026
- bump version of VM components to v1.146.0
Update note 1:defaultDashboards.defaultTimezoneis removed. Dashboard timezone is now managed exclusively by Grafana (e.g.grafana.grafana\.ini.date_formats.default_timezone).
Update note 2: defaultRules.groups[*].targetNamespace is replaced by defaultRules.groups[*].jobNamespaces, a per-group map from scrape job name to namespace regex. A global defaultRules.jobNamespaces is also available and is merged with per-group values (per-group wins on conflict). The new defaults scope kubernetesApps to kube-state-metrics and kubernetesStorage to kubelet.
Update note 3: Helm-rendered dashboard ConfigMaps and VMRules are removed. Dashboards and rules are now fetched and applied at deploy time by the sync-job (syncJob.enabled: true by default). Disable syncJob.enabled only if managing dashboards and rules externally.
- add traces storage support:
vtsingleandvtclusterdeploy operator-managedVTSingle/VTClusterCRs; ports follow the10xxxscheme (single10428, insert10481, select10471, storage10491); Grafana Jaeger datasource is auto-provisioned pointing at<endpoint>/select/jaeger; dashboard sync entries for single-node and cluster views are included - add logs collection and storage support: VLSingle, VLCluster, VLAgent with
k8sCollectorfor automatic Kubernetes logs collection, Grafana datasource integration, and internal VMAuth routing when both metrics and logs backends are configured. See #1910 and #1909 - introduce sync-job config with
commonsection (clusterLabel,multicluster) shared across dashboards and rules; Grafana-specific settings (labelName,labelValue,datasource,operator) live underdashboards.common.grafana - add
defaultRules.rulesglobal per-rule overrides map to patch spec or enable/disable individual rules across all groups - add per-group
spec:support indefaultRules.groupsfor VMRule group-level properties (e.g.interval,params) - add
defaultRules.jobNamespaces(global) anddefaultRules.groups[*].jobNamespaces(per-group, merged) to injectnamespace=~"<value>"into metric selectors by scrape job name; replaces per-grouptargetNamespace - add
syncJob.multiclusterto override multicluster mode independently ofgrafana.sidecar.dashboards.multicluster multicluster: falseno longer injectsclusterLabelinto aggregationby()clauses in rule expressions; existing labels are still renamed to match the configuredclusterLabel- rename
defaultRules.additionalGroupByLabelstodefaultRules.extraGroupByLabels; old key accepted as fallback; per-groupextraGroupByLabels: []now explicitly clears the global value - remove
defaultDashboards.defaultTimezone - add per-group
extraGroupByLabelsoverride that replaces the globaldefaultRules.extraGroupByLabelsfor that group. See #2832.