v1.49.0
Released at 2026-04-03
-
FEATURE: web UI: make legend click perform default action (hide/show series) and move additional actions to hover context menu.
-
FEATURE: web UI: improve alert component and simplify error messages for stats view. See #1128.
-
FEATURE: web UI: use
extra_filtersinstead of modifying query when adding legend filters. See #411. -
FEATURE: web UI: support CSV format for logs download See #1143.
-
FEATURE: web UI: add include/exclude filter actions for log fields in log details. See #369.
-
FEATURE: web UI: add a query examples modal with categories. See #1085.
-
FEATURE: data ingestion: accept logs with the correctly formatted
_streamfield. This allows importing raw logs received from/select/logsql/queryendpoint, without the need in additional transformations. See #1122. -
FEATURE: data ingestion: verify the
_streamfield correctness when ingesting data via native and internal protocols (nativeprotocol is used byvlagentfor sending the data to VictoriaLogs, whileinternalprotocol is used byvlinsertfor sending the data tovlstoragein VictoriaLogs cluster ). See #38. -
FEATURE: data ingestion: introduce
/insert/multitenant/nativeendpoint for accepting logs with mixed tenants fromvlagentaccording to these docs. Previouslyvlagentwas using/internal/insertendpoint for sending logs with mixed tenants. It is recommended using/insert/multitenant/nativeendpoint instead, since/internal/insertendpoint is intended for internal communcations betweenvlinsertandvlstoragein cluster mode. See #1189. -
FEATURE:
/select/logsql/queryHTTP endpoint: allow returning results in CSV format for arbitrary query without any restrictions according to these docs. See See #1143. -
FEATURE: LogsQL: support
switch(case ..., default ...)syntax syntax insidestatspipe for calculating the stats for logs matching the given set of filters. See these docs for more details. See #1184. -
FEATURE: LogsQL: add an ability to set global filters, which must be applied to all the subqueries in the current query, via
global_filteroption. See #1183. -
FEATURE: LogsQL: add an ability to enrich the selected logs with pre-defined static fields. See these docs for details.
-
FEATURE: LogsQL: add an ability to append pre-defined static rows to the selected logs. See these docs for details.
-
FEATURE: LogsQL: add
stddevstats function for calculating standard deviation over the given log fields. See #41. -
FEATURE: LogsQL: add an ability to filter the field names returned from the
field_namespipe by usingfield_names filter "substring"syntax - it returns field names containing the givensubstring. -
FEATURE: LogsQL: add an ability to filter the field values returned from the
field_valuespipe by usingfield_values some_field filter "substring"syntax - it returns values containing the givensubstringfor the givensome_field. -
FEATURE:
/select/logsql/field_namesHTTP endpoint: add support for an optionalfilter=substringquery arg, which allows returning only the field names containing the givensubstring. See #1186. -
FEATURE:
/select/logsql/field_valuesHTTP endpoint: add support for an optionalfilter=substringquery arg, which allows returning only the field values containing the givensubstring. See #1186. -
FEATURE:
/select/logsql/stream_field_namesHTTP endpoint: add support for an optionalfilter=substringquery arg, which allows returning only the field names containing the givensubstring. See #1186. -
FEATURE:
/select/logsql/stream_field_valuesHTTP endpoint: add support for an optionalfilter=substringquery arg, which allows returning only the field values containing the givensubstring. See #1186. -
BUGFIX: /select/logsql/query: fix panic when exporting query results in CSV format if a field contains multiple quoted segments. See #1220.
-
BUGFIX: data ingestion: properly handle the case when the ingested logs contain
_timefield without the real timestamp, and this field is not mentioned in the_time_fieldquery arg or in theVL-Time-Fieldrequest header according to these docs. Previously this could lead to unexpected errors during querying such asmissing _time field in the query results. See #1168. -
BUGFIX: data ingestion: eliminate the data race, which could lead to improper update for the
vl_rows_merged_total{type="storage/inmemory"}andvl_merge_bytes{type="storage/inmemory"}metrics. See #836. -
BUGFIX: delete API: properly evaluate relative
_timefilters for delayed delete tasks according to the task start time instead of the later execution time. Previously this could lead to deleting an unexpected time range or to deleting nothing. See #1213. -
BUGFIX: LogsQL: properly apply query options at
vlselectin cluster setup. Previously the options were sent tovlstorage, but were ignored atvlselect. This could lead to incorrect query results. -
BUGFIX: LogsQL: fix
count_uniq()andcount_uniq_hash()in cluster setup forvlstoragenodes with 128 or more CPU cores. Previously such queries could fail during state merge atvlselectwith errors such ascannot import state for count_uniq(...). See #1225. -
BUGFIX: Kubernetes Collector: add support for interleaved stdout/stderr partial CRI log lines merging. Previously, if a CRI log file contained interleaved stdout and stderr lines,
vlagenttreated them as a same log stream, which could lead to incorrect partial log merging. See #1215. Thanks to @charlie0129 for the pull request #1218. -
BUGFIX: Kubernetes Collector: skip invalid CRI log entries instead of failing with
FATAL: cannot process line from file. This error can occur after an unclean Node shutdown when a log entry is partially written. See #1217 and #1076. -
BUGFIX: Journald data ingestion: fix
-journald.useRemoteIPflag not saving the remote IP address in theremote_ipfield for single-hop reverse proxies, and also fix the tests. Thanks to @NaturalSpottingSmite for the pull request. -
BUGFIX: live tailing API: validate
refresh_intervalfor/select/logsql/tailand return400 Bad Requeston invalid values. Previously,refresh_interval=0sor a negative duration could trigger a panic and crash the process. See #1234. Thanks to @cuongleqq for the fix. -
BUGFIX: web UI: fix UI freeze when selecting a long time range.
-
BUGFIX: web UI: truncate long active filter badges and show full values in tooltip. See #369
-
BUGFIX: web UI: show active filters in Stream Fields empty state instead of "No stream fields found".
-
BUGFIX: LogsQL: properly apply
offsetwhen returning the last N logs sorted by_time desc, so queries like| sort by (_time) desc | offset X | limit Yreturn empty results whenXis greater than or equal to the number of matched logs. Previously, such queries could incorrectly return all matched logs. See #1190. -
BUGFIX: All VictoriaLogs components: Fix
unsupportedmetric type display in exposed metric metadata for summaries and quantiles. Thisunsupportedtype exists when a summary is not updated within a certain time window. See #120 for details.