Released at 2025-09-27
-
SECURITY: upgrade Go builder from Go1.25.0 to Go1.25.1. See the list of issues addressed in Go1.25.1.
-
FEATURE: LogsQL: add
equals_common_case
filter andcontains_common_case
filter. These filters can be used as faster alternatives toi(...)
filter. For example,_msg:contains_common_case("VictoriaMetrics")
matches logs with the_msg
field containing at least one of the following words:VictoriaMetrics
,victoriametrics
,VICTORIAMETRICS
,Victoriametrics
orvictoriaMetrics
. -
FEATURE:
/select/logsql/stats_query
: allow placing other pipes in front of| stats ...
, including pipes that modify or drop the_time
field. This relaxes the previous guard for instant stats and allows using queries like* | field_names | stats count()
in instant queries at Grafana plugin for VictoriaLogs and in recording and alerting rules at vmalert. See #681. -
FEATURE: Syslog data ingestion: automatically parse CEF messages embedded into Syslog messages. CEF messages (aka Common Event Format messages) are typically generated by SIEM systems. This simplifies using VictoriaLogs as a database for SIEM logs. See these docs for details.
-
FEATURE: LogsQL: add
set_stream_fields
pipe, which allows constricting the_stream
field from the given log fields. This pipe is going to be used by vlagent for logs' transformation before sending them to the remote storage. -
FEATURE: metrics: expose minimum and maximum timestamps across stored logs via
vl_storage_log_min_timestamp_seconds
andvl_storage_log_max_timestamp_seconds
metrics. See #695. -
FEATURE: web UI: consistently display timestamps with nanosecond precision across all the views in the built-in web UI. See #675.
-
BUGFIX:
facets
pipe: properly skip field names with more thanmax_values_per_field
unique values. Previously these fields could be returned with incomplete number of hits. -
BUGFIX:
rename
pipe: keep fields starting withdst
whenrename src* dst*
is used. Previously, all thedst*
fields were incorrectly dropped. See #691 for more details. -
BUGFIX:
copy
pipe: keep fields starting withdst
whencopy src* dst*
is used. Previously, all thedst*
fields were incorrectly dropped. See #691 for more details. -
BUGFIX:
format
pipe: properly load the original field values for thedst_field
when theif(...)
part doesn't match the current log entry inside the| format if (...) ... as dst_field
. Previously thedst_field
was incorrectly skipped in this case unless thekeep_original_fields
orskip_empty_results
options were set. -
BUGFIX:
/select/logsql/stats_query
and/select/logsql/stats_query_range
endpoints: allow usingunroll
pipe in LogsQL queries at Grafana plugin for VictoriaLogs and at alerting and recording rules at vmalert. See #697. The issue has been introduced in this commit, which had been included in VictoriaLogs v1.29.0. -
BUGFIX:
/select/logsql/query
endpoint: properly handle queries with therename
andcopy
pipe, which modifies or removes the_time
field, when these queries are issued by Grafana plugin for VictoriaLogs or by the built-in web UI for VictoriaLogs. See #702 for more details.