VictoriaMetrics v1.150.0

v1.150.0
Added 2
  • Add support for linode_sd_configs in vmagent and vmsingle for discovering scrape targets from Linode instances
  • Add an option in vmui to customize the favicon color to distinguish between different installations opened in multiple browser tabs
Changed 3
  • Reduce CPU usage up to 30% when matching relabeling rules with multiple if expressions containing exact metric names by skipping expressions for other metric names before evaluating their remaining label filters
  • Extend vmalert -replay.continueWithExecutionErr to also handle the 400 Bad Request response code
  • Set default value of -enableMultitenancyViaHeaders to true in vmselect and vminsert in VictoriaMetrics cluster and vmagent to enable multitenancy via headers support by default
Fixed 4
  • Avoid suggesting the unrelated -enableTCP6 command-line flag when scraping a target over a Unix domain socket fails in vmagent and vmsingle
  • Skip labels with empty name at /api/v1/import in vmsingle and vminsert to prevent empty name labels from replacing the metric name
  • Properly parse small fractional Unix timestamps in timestamp args such as start and end in /api/v1/query_range and vmctl filter time arguments
  • Persist the previous working set cache during graceful shutdown in vmsingle, vmstorage and vmselect to prevent saving an empty or cold cache after split-mode cache rotation
Security 1
  • Upgrade Go builder from Go1.26.5 to Go1.26.6

From VictoriaMetrics

Released at 2026-08-14

Update Note 1: vmselect and vminsert in VictoriaMetrics cluster, and vmagent: default value of -enableMultitenancyViaHeaders command-line flag has changed from false to true. This change enables support of multitenancy via headers for cluster and for vmagent by default. With this change, mentioned components will start supporting URLs with omitted tenant ID in the path: https://<vmselect>:8481/select/prometheus/api/v1/query will become a valid URL. To disable multitenancy via headers and simplified URLs set --enableMultitenancyViaHeaders=false on vmagent, vminsert and vmselect.

  • SECURITY: upgrade Go builder from Go1.26.5 to Go1.26.6. See the list of issues addressed in Go1.26.6.

  • FEATURE: relabeling: reduce CPU usage up to 30% when matching relabeling rules with multiple if expressions containing exact metric names. Expressions for other metric names are now skipped before evaluating their remaining label filters. See #11341. Thanks to @nevgeny for contribution.

  • FEATURE: vmagent and vmsingle: add support for linode_sd_configs for discovering scrape targets from Linode instances. See #9118. Thanks to @cxdy for contribution.

  • FEATURE: vmalert: extend -replay.continueWithExecutionErr to also handle the 400 Bad Request response code, since it is used for Prometheus querying API requests when request parameters are missing or incorrect. See #11352.

  • FEATURE: vmselect and vminsert in VictoriaMetrics cluster, and vmagent: set default value of -enableMultitenancyViaHeaders to true. This change enables support of multitenancy via headers for cluster and for vmagent by default, aligning VictoriaMetrics multitenancy behavior with multitenancy in VictoriaLogs. See related ticket #11365.

  • FEATURE: vmui: add an option to customize the favicon color. This makes it easier to distinguish between different installations opened in multiple browser tabs. See #11329.

  • BUGFIX: vmagent and vmsingle: avoid suggesting the unrelated -enableTCP6 command-line flag when scraping a target over a Unix domain socket fails. See #11320. Thanks to @lwmacct for contribution.

  • BUGFIX: vmsingle and vminsert in VictoriaMetrics cluster: skip labels with empty name at /api/v1/import. Previously such a label replaced the metric name, so a series sent with "metric":{"__name__":"foo","":"bar"} was stored under the name bar. Other ingestion protocols already skip such labels. See #4962. Thanks to @Vandit1604 for contribution.

  • BUGFIX: vmsingle, vmselect in VictoriaMetrics cluster and vmctl: properly parse small fractional Unix timestamps in timestamp args such as start and end in /api/v1/query_range and --vm-native-filter-time-start and --vm-native-filter-time-end in vmctl. Previously, fractional Unix timestamps with the integer part below 9223372 were interpreted with the wrong unit, for example 12.0 was parsed as 12000 seconds instead of 12 seconds. See #11324.

  • BUGFIX: vmsingle, vmstorage and vmselect in VictoriaMetrics cluster: persist the previous working set cache during graceful shutdown when it is likely to contain the active working set. This prevents saving an empty or cold current cache right after split-mode cache rotation, which could otherwise slow down ingestion or queries after restart until the cache warms up again. See #11299.

  • BUGFIX: vmsingle and vmselect in VictoriaMetrics cluster: change the HTTP response code for Prometheus querying API requests from 422 Unprocessable Entity to 400 Bad Request when request parameters are missing or incorrect. See #11330.

  • BUGFIX: vmui: respect the custom query step specified via g0.step_input when opening a URL. Previously, it could be reset to the automatically calculated step and potentially cause dashboards to freeze. See #11137.

  • BUGFIX: vmagent and vmsingle: properly assign scrape target IP address at IPv6-only networks for docker_sd_configs. See #10965.

  • BUGFIX: vmalert: rename vmalert_rule_group_results_limit back to vmalert_group_rule_results_limit. The metric was introduced in v1.147.0 but was accidentally given the wrong name. See #11179.

  • BUGFIX: vmalert: properly update group-level eval_delay and eval_alignment for existing groups during runtime when config reload is triggered periodically or manually via /-/reload. Previously, these settings weren't updated after config reload during runtime. See #11374.

  • BUGFIX: vmselect in VictoriaMetrics cluster: scale the default -search.maxConcurrentRequests with the number of available CPU cores instead of capping it at 16. See #11191. Thanks to @Dhru1Tanna for contribution.

View original

Upgraded? How did it go?

Discussion