- Add `default_vm_access_claim` field into `jwt` section of vmauth auth config for use at JWT claim placeholders when JWT token doesn't have `vm_access` claim
- Introduce 64KiB size limit for metric metadata fields - Unit, Help and MetricFamilyName in vmagent, vminsert and vmsingle
- Add support for Monitoring Data eXchange (MDX) in vmagent to route only VictoriaMetrics metrics to a specific remote write URL
- Expose `vm_data_size_bytes{type="storage/metaindex"}` and `vm_data_size_bytes{type="indexdb/metaindex"}` metrics in vmsingle and vmstorage for tracking memory occupied by metaindex data
- Add `optimize_repeated_binary_op_subexprs=1` query argument to /api/v1/query_range in vmsingle and vmselect for executing binary operator sides sequentially to reuse rollup result cache
- Add support of vmselect RPC to vmsingle so single node can be queried by vmselect from a vmcluster deployment
- Add `InvalidAuthTokenRequestErrors` alerting rule to vmauth alerts
- Add `AlertingRuleResultsApproachingLimit` and `RecordingRuleResultsApproachingLimit` alerting rules to vmalert alerts
- Reduce CPU usage by 10% in vmagent when sharding among remote storages
- Reduce CPU usage for storing scrape target labels in vmagent and vmsingle
- Upgrade base docker image (Alpine) from 3.23.4 to 3.24.1
v1.147.0
Released at 2026-07-06
Update Note 1: vmagent: contains a bug that causes increased CPU and memory usage when -remoteWrite.urlRelabelConfig or -remoteWrite.streamAggr.config flags are used. The bug was introduced in #10854. Upgrade to v1.148.0 or rollback to v1.146.0. See #11250.
-
SECURITY: upgrade base docker image (Alpine) from 3.23.4 to 3.24.1. See Alpine 3.24.1 release notes.
-
FEATURE: vmauth: add
default_vm_access_claimfield intojwtsection of auth config. It could be used at JWT claim placeholders, ifJWTtoken doesn't havevm_accessclaim. See #11054. -
FEATURE: vmagent: reduces CPU usage by 10% at sharding among remote storages. See #11113. Thanks to @bennf for contribution.
-
FEATURE: vmagent,
vminsertin VictoriaMetrics cluster and vmsingle: introduce64KiBsize limit formetric metadatafields -Unit,HelpandMetricFamilyName. See #11128. -
FEATURE: vmagent and vmsingle: reduce CPU usage for storing scrape target labels. See #10919.
-
FEATURE: vmagent: add support for Monitoring Data eXchange (MDX): the ability to route only metrics from VictoriaMetrics services to a specific
-remoteWrite.url. MDX is useful for building monitoring-of-monitoring where one remote storage should receive the full metric stream and another should receive only VictoriaMetrics metrics. Enable per destination with-remoteWrite.mdx.enable=true. See #10600. -
FEATURE: vmsingle and
vmstoragein VictoriaMetrics cluster: exposevm_data_size_bytes{type="storage/metaindex"}andvm_data_size_bytes{type="indexdb/metaindex"}metrics for tracking memory occupied by metaindex data. See #11204. Thanks to @SamarthBagga for contribution. -
FEATURE: vmsingle and
vmselectin VictoriaMetrics cluster: addoptimize_repeated_binary_op_subexprs=1query arg to /api/v1/query_range for executing binary operator sides sequentially when they share the same optimized aggregate rollup result expression. This allows the second side to reuse rollup result cache populated by the first side. See #10575. Thanks to @xhebox for the contribution. -
FEATURE: vmsingle: Add the support of vmselect RPC to vmsingle so that single node can be queried by a vmselect from a vmcluster deployment. See #4328, #10926, and the documentation.
-
FEATURE: alerts: add
InvalidAuthTokenRequestErrorsalerting rule to vmauth alerts. The new rule notifies when vmauth receives requests with invalid or missing auth tokens, which may indicate a client misconfiguration, expired token use, or brute-force attack. See #11180. -
FEATURE: alerts: add
AlertingRuleResultsApproachingLimitandRecordingRuleResultsApproachingLimitalerting rules to vmalert alerts. These alerts notify when a rule's last evaluation samples exceed 90% of the configured group results limit. See #11179. Thanks to @vinyas-bharadwaj for the contribution. -
FEATURE: vmauth: prevent possible password brute-force attacks with an artificial 2-3 second delay as recommended by OWASP. See #11180.
-
FEATURE: vmauth: allow log requests with missing or invalid auth tokens to access log. This is useful for identifying
remote_addrIPs performing brute-force attacks. See #11180. -
FEATURE: vmauth: fall through to
unauthorized_userwhen a JWT token has novm_accessclaim and nodefault_vm_access_claimis configured. Previously, vmauth returned401 Unauthorizedimmediately in this case, which preventedunauthorized_userfrom handling such requests. See #5740. -
FEATURE: MetricsQL: improve the selection algorithm of buckets_limit to remove consecutive empty buckets at the beginning and end to obtain more accurate min and max values. See #10417.
-
FEATURE: vmalert: expose
vmalert_group_rule_results_limitmetric to indicate the number of alerts or recording results that a single rule within the group can produce. See #11179. Thanks to @vinyas-bharadwaj for the contribution. -
BUGFIX: all VictoriaMetrics components: cancel in-flight HTTP requests shortly before
-http.maxGracefulShutdownDurationelapses during graceful shutdown, so they can drain and the shutdown completes cleanly within that window instead of timing out and exiting vialogger.Fatalf->os.Exit. This prevents skipping the storage flush and losing in-memory data when long-lived requests are in flight (such as VictoriaLogs live tailing). See #1502. -
BUGFIX:
vminsertin VictoriaMetrics cluster and vmsingle: properly check values range for the limits configured with flags-maxLabelsPerTimeseries,-maxLabelNameLenand-maxLabelValueLen. It must be in range1..65535. See #11128. -
BUGFIX:
vminsertin VictoriaMetrics cluster: fixes unexpected rare rerouting. See #11162. -
BUGFIX:
vmselectin VictoriaMetrics cluster: propagate cache reset operation toselectNodewhen/internal/resetRollupResultCacheis called. Previously, the propagation only happened when thedelete_seriesAPI was called. See #11112. -
BUGFIX: stream aggregation: fix possible unexpected increases in
rate_avgandrate_sumif an out-of-order sample is ingested after the previous flush. See #11140. -
BUGFIX: vmctl: properly URL-encode
-vm-extra-labelvalues when building import requests, so special characters such as&don't get split into broken query parameters. See #11144. Thanks to @immanuwell for contribution. -
BUGFIX: enterprise vmagent: ignore
enable.auto.offset.storeoption inkafka.consumer.topic.options, sincevmagentmanages offset storage internally. Previously, setting this option could causevmagentto stop committing Kafka messages. See #11208.