Skip to content

Releases: VictoriaMetrics/VictoriaLogs

v1.52.0

Choose a tag to compare

@valyala valyala released this 16 Jul 02:38
v1.52.0
46a54c9

Released at 2026-07-16

Update note 1: the base Docker image has been changed from Alpine to distroless in order to reduce an attack surface (The distroless base image doesn't contain any executables contrary to the Alpine base image). For debugging VictoriaLogs containers in Kubernetes it is recommended to use kubectl debug.

Update note 2: VictoriaLogs no longer provides a Docker image for the linux/386 platform because the distroless base image doesn't support this platform. Executable files for linux/386 platform are still published at the VictoriaLogs releases page.

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

  • FEATURE: switch base Docker image from Alpine to distroless for VictoriaLogs, vlagent and vlogscli. This reduces the image size and attack surface. See #1228.

  • FEATURE: LogsQL: add json_array_concat pipe for joining JSON array items stored in the given log field into a string with the given delimiter. See #712.

  • FEATURE: data ingestion: adjust _stream field value according to the actual log fields. This simplifies importing of previously modified VictoriaLogs-exported data. See #1122.

  • FEATURE: vlagent: add -remoteWrite.basicAuth.usernameFile command-line flag for dynamically reloading basic auth username for the corresponding -remoteWrite.url from the given file. See operator#2371.

  • FEATURE: web UI: improve hits chart tooltip timestamp display by hiding excessive precision. See #1533.

  • FEATURE: web UI: add Quick start examples to autocomplete suggestions and show recent query history items alongside field and value suggestions. See #1498.

  • FEATURE: web UI: persist query history in browser local storage and show the last run time for history items. See #1498.

  • FEATURE: web UI: improve hits chart interval selector by using curated interval options and choosing a more suitable default step for the selected time range. See #1511.

  • FEATURE: web UI: sync grouping in raw logs panel with Hits chart. Raw Logs are no longer grouped by _stream by default, and both panels now use the same Group by setting. See #1534.

  • FEATURE: web UI: persist the selected auto-refresh interval in the URL. See #1310.

  • BUGFIX: LogsQL: fix panic when using uniq_values() in the stats pipe in VictoriaLogs cluster when some vlstorage nodes return no values for the requested field while other vlstorage nodes return values for the same group. See #1383.

  • BUGFIX: LogsQL: properly select the top N log entries in the json_values stats function with sort by (...) limit N when more than N logs match per group. Previously an arbitrary subset of the matching logs could be returned instead of the top N ones. The returned entries were correctly sorted, but they could be the wrong entries. See #1311.

  • BUGFIX: syslog data ingestion: avoid stamping RFC3164 messages received right after the new year with the previous year (which could drop them under a short -retentionPeriod), and compute the year in -syslog.timezone instead of the server local timezone. See #1556.

  • BUGFIX: LogsQL: fix field_names pipe not respecting hidden_fields_filters. Fields listed in hidden_fields_filters still appeared in field_names output, leaking their existence to the caller. See #1574.

  • BUGFIX: LogsQL: fix a vlselect crash in cluster mode on some valid queries. This happened when a math pipe operand had the same name as a function (such as abs, round or floor), or when from was used as a separator in the split pipe. See #1518.

  • BUGFIX: LogsQL: allow filter pipes without the filter prefix when the filter starts with a non-word token or the not keyword, such as ... | !foo, ... | {host="x"}, ... | >5, ... | =foo or ... | not foo. These were unintentionally rejected with unexpected pipe in v1.51.0. A non-word token (and the not operator) cannot clash with a pipe name, so it is unambiguously a filter. See #1522.

  • BUGFIX: LogsQL: reject field* wildcards in the comma-separated (no parens) form of uniq, top and unroll pipes, consistently with their parens form, which already rejects wildcards. Previously a query such as uniq by foo* was accepted but could not be parsed back from its string representation. See #1487.

  • BUGFIX: cluster version: vlstorage now returns the error and stops processing an /internal/select/* request when the request cannot be parsed, instead of continuing to handle it and writing the response twice.

  • BUGFIX: cluster version: bump the internal protocol version for the delete endpoints, which switched to multipart encoding in v1.51.0 but kept the previous version. A version mismatch between vlselect and vlstorage for delete requests is now reported instead of silently mishandled. All cluster components must be upgraded together to use delete.

  • BUGFIX: cluster version: avoid cannot connect to storage node at ...: EOF errors after vlselect or vlinsert was idle for more than 60 seconds. See #1440.

  • BUGFIX: vlselect: respect -search.maxQueueDuration for queued requests. Previously, when the number of concurrent requests exceeded -search.maxConcurrentRequests, the extra requests could be queued for much longer than -search.maxQueueDuration (up to -search.maxQueryDuration) before being rejected, so a few slow queries could stall other requests for everyone. See #1554.

  • BUGFIX: vlselect: properly register -vmalert.proxyURL as a secret flag. Previously, this flag was registered after logger initialization and printed in plaintext on application startup.

  • BUGFIX: vlselect: return 502 Bad Gateway HTT...

Read more

v1.51.0

Choose a tag to compare

@valyala valyala released this 17 Jun 05:16
v1.51.0
b6524fb

Released at 2026-06-17

Update Note 1: LogsQL: disallow using filter pipes without the filter prefix if the filter doesn't start with field_name: prefix. For example, foo | bar is disallowed now. It must be rewritten to one of the following equivalents: foo bar, foo | "bar", foo | _msg:bar or foo | filter bar. This reduces the chances of incorrectly written queries like in the #1454. However, this may be a breaking change if you have queries that filter without the filter prefix, such as ... | !foo, ... | {host="x"}, ... | >5 or ... | =foo - these now fail with unexpected pipe and must add the filter prefix (e.g. ... | filter !foo).

Update Note 2: cluster version: this release bumps the internal vlselect and vlstorage protocol version (see the queries-longer-than-10MB fix in #1462). A version mismatch between vlselect and vlstorage fails the request, so queries are expected to fail during a rolling upgrade while the cluster runs mixed versions. All the cluster components must be upgraded to this release or newer.

  • SECURITY: upgrade Go builder from Go1.26.2 to Go1.26.4. See the list of issues addressed in Go1.26.3 and the list of issues addressed in Go1.26.4.

  • FEATURE: vmalert: add -vmalert.proxyURL command-line flag, which allows proxying /select/vmalert/* requests from VictoriaLogs to vmalert. See #90 and these docs.

  • FEATURE: metrics: expose filesystem type for storage paths via the vm_fs_info metric. This helps identify filesystem-specific issues during troubleshooting. See #1435.

  • FEATURE: LogsQL: allow putting ; in the end of the query. This is useful for detecting the end of multi-line query.

  • FEATURE: LogsQL: add coalesce pipe, which returns the first non-empty value from the given list of fields. This is useful when the same value may be stored under different field names across logs, such as user_id, username or email. The pipe can also return a default value when all the fields are empty. See #690. Thanks to @warkadiusz for the pull request #904.

  • FEATURE: querying API: allow using limit and offset pipes after the stats pipe in queries to /select/logsql/stats_query. This enables the usage for these pipes in alerting and recording rules for VictoriaLogs. See #1296.

  • FEATURE: alerts: add new alerting rules PersistentQueueRunsOutOfSpaceIn12Hours and PersistentQueueRunsOutOfSpaceIn4Hours for vlagent persistent queue capacity. These alerts help users to take proactive actions before vlagent starts dropping logs due to insufficient persistent queue space. See #10193

  • FEATURE: web UI: remove the Date format setting and always display timestamps with nanosecond precision. See #1161.

  • FEATURE: web UI: add search for filtering fields by name and value in expanded log entries in the Group tab. See #1378

  • FEATURE: web UI: rename the "Filters" button to "Show/Hide filters" and update its icon. See #1247.

  • FEATURE: web UI: rename field Query time to Hits query on the Hits chart panel. The change makes it clear duration of which query is displayed.

  • FEATURE: web UI: add log level detection for displayed log entries. This feature can be toggled in the Group View settings. See #1245.

  • FEATURE: web UI: support nanosecond precision for timestamps. This allows selecting time ranges and displaying log timestamps without rounding them to milliseconds. See #745.

  • FEATURE: web UI: improve Log context window user experience:

    • change sorting from older (top) to newer (bottom) log entries to make the experience similar to browsing logs in the shell;
    • replace manual load newer/older controls with an infinite scroll. The scroll will automatically search for logs before or after gradually extending the search window for up to 7d. See #1397.
    • display warning if there are logs with identical timestamps, as their sorting order can't be guaranteed. Such logs will be additionally highlighted in the list.
  • FEATURE: dashboards/kubernetes-explorer: add new dashboard for exploring Kubernetes logs via VictoriaLogs datasource in Grafana. Thanks to @sias32 for the contribution!

  • FEATURE: File Collector: enhance glob pattern support with additional syntax: double-star /**/ for matching nested directories (e.g. /var/log/**/*.log), alternatives {a,b} for matching multiple specific names (e.g. {access,error}.log), character classes [a-z] and ? wildcard for single-character matching. See #1393 and these docs for the full pattern syntax reference.

  • BUGFIX: VictoriaLogs cluster: return a clear error message when vlselect requests cannot be parsed by vlstorage. Previously the unclear error was generated when vlselect sends too long query to vlstorage: unexpected protocol version=""; want "v4". See #1462.

  • BUGFIX: VictoriaLogs cluster: properly send and parse queries longer than 10MB, which are sent from vlselect to vlstorage. Such a long queries may be generated if they contain a subquery filter, which expands to a long list of items. See #1462.

  • BUGFIX: LogsQL: fix unroll pipe and json_array_len pipe ignoring JSON arrays preceded by whitespace. See #1427.

  • BUGFIX: LogsQL: properly calculate rate() and rate_sum() stats functions in cluster mode for queries grouped by _time buckets, such as ... | stats by (_time:5m, status) rate(). Previously these functions could divide results by the whole query time range instead of the _time bucket duration, which could make Grafana range query values unexpectedly low. See #1451.

  • BUGFIX: LogsQL: allow unpack_json to parse JSON objects starting with spaces. See #1416.

  • BUGFIX: LogsQL: properly quote field filter values whose leading token is a reserved keyword such as in, so the query can be parsed back from its string representation. See #1434.

  • BUGFIX: [vlagent](https://docs.victoriame...

Read more

v1.50.0

Choose a tag to compare

@valyala valyala released this 14 Apr 19:04
v1.50.0
80d223f

v1.50.0

Released at 2026-04-14

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

  • FEATURE: data ingestion: add an ability to send logs via Splunk data ingestion protocol. See these docs. See #710.

  • FEATURE: vlagent: add an ability to collect logs from arbitrary files by specifying the glob pattern. See these docs and #1195.

  • FEATURE: LogsQL: improve validation for stats switch(...) by rejecting empty switch() expressions and multiple default branches. This helps catch invalid queries earlier and avoids confusing results. See #1300.

  • FEATURE: LogsLQ: add an ability to search across multiple log fields with the field_name_prefix*:filter syntax. See these docs for details. See #82.

  • FEATURE: Loki data ingestion: Add an ability to add the given prefix to log field names parsed from JSON message. This may be used for avoiding clash between log stream labels and the automatically parsed log field names. See these docs for details. See #1127.

  • FEATURE: Datadog: support default Datadog ingestion paths such as /api/v2/logs and /api/v1/validate in addition to the existing /insert/datadog/... paths. This eliminates the need to put vmauth in front of VictoriaLogs for adding /insert/datadog/ prefix to the paths requested by DataDog agent.

  • BUGFIX: LogsQL: properly return the field value for the log with the maximum _time field from field_max(_time, field). Previously incorrect value could be returned. See #1294.

  • BUGFIX: LogsQL: properly return the log entry with the maximum _time field from row_max(_time). Previously incorrect log could be returned.

  • BUGFIX: LogsQL: consistently match logs on the interval [t-d ... t) when using _time:d filter at the timestamp t. This aligns with the semantics of start and end query args at querying API, which select logs on the [start ... end) time range. This also makes more consistent and expected the results returned from vmalert. See #1226 and #9753 at VictoriaMetrics.

  • BUGFIX: LogsQL: return a parse error for invalid weekday names in the week_range filter. Previously they were silently treated as Sunday, which could lead to incorrect query results. See #1269.

  • BUGFIX: Datadog data ingestion: properly ingest logs with tags without values, such as env:prod,foo, by storing foo with the no_label_value value. Previously this could crash VictoriaLogs during log ingestion. See #1303.

  • BUGFIX: Kubernetes Collector: honor -defaultMsgValue for logs without message fields. Previously vlagent stored the hard-coded missing _msg field; ... text instead of the configured value when logs were collected via kubernetesCollector. See #1283.

  • BUGFIX: /select/logsql/hits: fix invalid memory address or nil pointer dereference panic when the query passed to /select/logsql/hits contains union rows(...). The panic has been introduced in v1.49.0.

  • BUGFIX: /select/logsql/hits: fix panic when the internal stats pipe generated for this endpoint uses hits both as a grouping field and as the result name. See #1278.

  • BUGFIX: OpenTelemetry data ingestion: replace custom severity field with severity_number and severity_text to be compatible with other solutions. See #1246.

  • BUGFIX: vlagent: hide sensitive values passed via -remoteWrite.headers in /metrics, /flags, and startup logs. Previously these values could be exposed in plain text.

  • BUGFIX: storage: fix cannot read directory contents: open ... .DS_Store: not a directory panic when restarting VictoriaLogs on MacOS. See #996.

  • BUGFIX: partitions lifecycle: fix querying logs after detaching, removing and then re-creating the same per-day partition before VictoriaLogs restart. Previously newly ingested logs could be missing from normal queries and from _stream:{...} filters until restart. See #657.

  • BUGFIX: web UI: fix incorrect border colors. The issue was introduced in v1.49.0. See #1271.

v1.49.0

Choose a tag to compare

@valyala valyala released this 03 Apr 09:15
v1.49.0
ace4e81

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_filters instead 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 _stream field. This allows importing raw logs received from /select/logsql/query endpoint, without the need in additional transformations. See #1122.

  • FEATURE: data ingestion: verify the _stream field correctness when ingesting data via native and internal protocols (native protocol is used by vlagent for sending the data to VictoriaLogs, while internal protocol is used by vlinsert for sending the data to vlstorage in VictoriaLogs cluster ). See #38.

  • FEATURE: data ingestion: introduce /insert/multitenant/native endpoint for accepting logs with mixed tenants from vlagent according to these docs. Previously vlagent was using /internal/insert endpoint for sending logs with mixed tenants. It is recommended using /insert/multitenant/native endpoint instead, since /internal/insert endpoint is intended for internal communcations between vlinsert and vlstorage in cluster mode. See #1189.

  • FEATURE: /select/logsql/query HTTP 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 inside stats pipe 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_filter option. 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 stddev stats 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_names pipe by using field_names filter "substring" syntax - it returns field names containing the given substring.

  • FEATURE: LogsQL: add an ability to filter the field values returned from the field_values pipe by using field_values some_field filter "substring" syntax - it returns values containing the given substring for the given some_field.

  • FEATURE: /select/logsql/field_names HTTP endpoint: add support for an optional filter=substring query arg, which allows returning only the field names containing the given substring. See #1186.

  • FEATURE: /select/logsql/field_values HTTP endpoint: add support for an optional filter=substring query arg, which allows returning only the field values containing the given substring. See #1186.

  • FEATURE: /select/logsql/stream_field_names HTTP endpoint: add support for an optional filter=substring query arg, which allows returning only the field names containing the given substring. See #1186.

  • FEATURE: /select/logsql/stream_field_values HTTP endpoint: add support for an optional filter=substring query arg, which allows returning only the field values containing the given substring. 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 _time field without the real timestamp, and this field is not mentioned in the _time_field query arg or in the VL-Time-Field request header according to these docs. Previously this could lead to unexpected errors during querying such as missing _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"} and vl_merge_bytes{type="storage/inmemory"} metrics. See #836.

  • BUGFIX: delete API: properly evaluate relative _time filters 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 vlselect in cluster setup. Previously the options were sent to vlstorage, but were ignored at vlselect. This could lead to incorrect query results.

  • BUGFIX: LogsQL: fix count_uniq() and count_uniq_hash() in cluster setup for vlstorage nodes with 128 or more CPU cores. Previously such queries could fail during state merge at vlselect with errors such as cannot import state for count_uniq(...). See [#1225](https://github.com/VictoriaMetrics/VictoriaLogs/...

Read more

v1.48.0

Choose a tag to compare

@valyala valyala released this 11 Mar 16:37
v1.48.0
3b50299

Released at 2026-03-11

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

  • FEATURE: web UI: add a sidebar for quick filtering by log stream fields and values. See #1084.

  • FEATURE: Kubernetes Collector: add an ability to include Namespace labels and annotations in log entries. This metadata is also available for filtering via -kubernetesCollector.excludeFilter command-line flag. See #1158 and these docs for details.

  • FEATURE: publish SPDX SBOM attestations for container images on docker.io and quay.io. See SECURITY.md, #1102.

  • FEATURE: /select/logsql/query endpoint: support returning query results in CSV format when format=csv query arg is passed to this endpoint according to these docs. This functionality is going to be used for downloading query results as CSV files in the built-in web UI for VictoriaLogs. See #1143.

  • FEATURE: LogsQL: add support for offset modifier to first and last functions at the total_stats pipe.

  • FEATURE: LogsQL: add last function at the running_stats pipe. This can be used for comparing sequential log field values. See #932.

  • FEATURE: querying: allow limiting the length of the query, which can be passed to querying endpoints, with -search.maxQueryLen command-line flag. This flag can be used for preventing from excess resource usage, which could be needed for parsing and processing too long queries. See #1159.

  • FEATURE: querying: support the ability to ignore pipes in the query passed to HTTP querying enpoints if ignore_pipes=1 query arg is passed there. This is needed for implementing the filtering by log stream fields in #1084. See #1156.

  • FEATURE: data ingestion: skip logs with _stream or _stream_id fields, since these fields clash with the automatically generated fields by VictoriaLogs according to these docs. VictoriaLogs generates a warning per each such skipped log, so it could be noticed and fixed by users. See #1122.

  • BUGFIX: LogsQL: fix panic when executing the query _stream_id:in. See #1136.

  • BUGFIX: fix VictoriaLogs Docker OCI labels org.opencontainers.image.source and org.opencontainers.image.documentation: point them to VictoriaLogs repo/docs instead of VictoriaMetrics.

  • BUGFIX: Kubernetes Collector: fix spurious cannot parse WatchEvent json response: EOF errors in logs. These errors were harmless but could cause confusion when monitoring application health.

  • BUGFIX: LogsQL: preserve existing target field values for extract if (...) and extract_regexp if (...) when the if (...) condition doesn't match. See #1153.

  • BUGFIX: web UI: fix incorrect bar width in the Hits graph in Stats view mode. See #1149.

  • BUGFIX: vlagent: include missing _time field for outgoing logs when using jsonline format. Previously, vlagent omitted the _time field when sending logs to remote storage in this format.

v1.47.0

Choose a tag to compare

@valyala valyala released this 25 Feb 22:19
84e27c6

Released at 2026-02-25

v1.46.0

Choose a tag to compare

@valyala valyala released this 23 Feb 13:46
v1.46.0
9292910

Released at 2026-02-23

  • FEATURE: upgrade Go builder from Go1.25.7 to Go1.26.0. See Go 1.26 release notes.

  • FEATURE: querying: sort response fields by their name unless the query ends with a pipe, which preserves the order of the returned fields such as fields and stats. Previously the order of the returned fields was undefined. See #1011.

  • FEATURE: vlagent: add an ability to send logs to remote storage in jsonline format. This is useful for sending logs to other systems (for example, Vector, Fluent Bit, ClickHouse). See these docs for more details.

  • FEATURE: web UI: add support for resizing and reordering columns in Table View. See #76 and #714.

  • FEATURE: web UI: improve group view readability with zebra rows. See #1058.

  • FEATURE: web UI: add none option for hit chart grouping and set it as the default. See #1086.

  • FEATURE: web UI: change group-by toggle behavior to clear grouping instead of resetting it to _stream. See #1059.

  • FEATURE: web UI: add stream fields chips to the Log context modal. See #1065.

  • BUGFIX: LogsQL: prevent from cannot parse already verified regexp panic when special regexp is passed to regexp filter. See #1112.

  • BUGFIX: web UI: fix markdown parsing for log lines starting with tabs in group view.

  • BUGFIX: web UI: fix timestamp rendering according to the selected timezone. See #63.

  • BUGFIX: web UI: fix copy action to copy only selected columns instead of the full log entry.

  • BUGFIX: web UI: fix auto-suggest popup description panel changing when moving the mouse from a hovered item to the description. The description panel is now displayed to the right of the options list, so navigating to it no longer triggers hover events on other list items. See #1117.

v1.45.0

Choose a tag to compare

@valyala valyala released this 05 Feb 21:18
v1.45.0
dd86154

Released at 2026-02-05

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

  • SECURITY: upgrade base docker image (Alpine) from 3.23.2 to 3.23.3. See Alpine 3.23.3 release notes.

  • FEATURE: dashboards/single-node, dashboards/cluster: add clickable source code links to the VictoriaLogs internal logging panel in Overview. Users can use it to navigate directly to the source code location that generated those logs, making debugging and code exploration easier. See #1074.

  • FEATURE: LogsQL: add ipv6_range filter for filtering logs by IPv6 address fields and CIDR ranges. This is an IPv6 counterpart to the existing ipv4_range filter and allows efficient matching over stored IPv6 addresses. See #84. Thanks to @caicancai for the implementation.

  • FEATURE: /select/logsql/stats_query_range endpoint: support optional offset query arg, which can contain timezone offset for the returned timestamps. This is needed for the consistency with the /select/logsql/hits endpoint.

  • FEATURE: dashboard/single-node and dashboard/cluster: improve and fix dashboard descriptions, make them more compatible with the Prometheus datasource, and add a cluster variable for easier selection of components from the same cluster. See #933.

  • FEATURE: web UI: add the offset parameter so bar chart data is aligned with the user-selected timezone. See #1039.

  • FEATURE: web UI: add support for toggling line comments with Ctrl/Cmd + /. See #1030.

  • BUGFIX: /select/logsql/hits endpoint: properly apply offset arg. Previously it resulted in incorrect calculations for the returned timestamps.

  • BUGFIX: Loki data ingestion: properly parse JSON-encoded log fields inside Loki log message if it ends with whitespace chars such as \n. See #1044.

  • BUGFIX: dashboard/single-node: include internalinsert (/internal/insert) in Logs ingestion rate panels, so they work for data ingested via vlagent configured with -remoteWrite.url=.../internal/insert. See #1053.

  • BUGFIX: web UI: fix autocomplete insertion to prevent overwriting remaining input and preserve newline characters. See #917.

  • BUGFIX: web UI: fix unexpected query expression reset to the previous value when clicking on "Hide chart" button. See #1063.

  • BUGFIX: web UI: fix cumulative bar chart by carrying over previous value for nullish bars. This ensures that the cumulative bar chart doesn't decrease over time.

  • BUGFIX: web UI: fix missing first bar when it starts before the selected range but ends within it.

  • BUGFIX: web UI: fix redundant /select/logsql/query_time_range requests.

  • BUGFIX: web UI: fix responsive layout and styles.

v1.44.0

Choose a tag to compare

@valyala valyala released this 27 Jan 23:09
v1.44.0
1e5a377

v1.44.0

Released at 2026-01-27

  • SECURITY: upgrade base docker image (Alpine) from 3.22.2 to 3.23.2. See Alpine 3.23.2 release notes.

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

  • FEATURE: add an ability to delete snapshots via /internal/partition/snapshot/delete endpoint. See these docs and #828.

  • FEATURE: add an ability to delete stale snapshots via /internal/partition/snapshot/delete_stale?max_age=<d> endpoint. Snapshots older than <d> are automatically deleted. For example, max_age=1d removes snapshots older than one day. See these docs.

  • FEATURE: add an ability to automatically delete stale snapshots older than the value passed to -snapshotsMaxAge command-line flag. See #829 and these docs. Thanks to @withlin for the initial implementation.

  • FEATURE: add an ability to create snapshots for multiple per-day partitions matching the given partition_prefix passed to /internal/partition/snapshot/create. For example, /internal/partition/snapshot/create?partition_prefix=202601 creates snapshots for all the active per-day partitions for January 2026.

  • FEATURE: Journald data ingestion: add -journald.useRemoteIP flag for saving the remote IP address in the remote_ip field. Thanks to @NaturalSpottingSmite for the pull request.

  • FEATURE: data ingestion: add an ability to avoid flattening of JSON values for the given keys enumerated via preserve_json_keys query arg or via VL-Preserve-JSON-Keys http request header. This may be useful if the input JSON-encoded logs contain high-cardinality key names such as sku-* in the {"items":{"sku-1":{...},...,"sku-N":{...}}}. Then preserve_json_keys=items would preserve the items field value as is, e.g. it will be equal to the string {"sku-1":{...},...,"sku-N":{...}}. See more details about these options at these docs and at #1002.

  • FEATURE: dashboards/internal: add Grafana dashboard for monitoring VictoriaLogs internal state. The source of the dashboard is available here.

  • FEATURE: LogsQL: add pattern_match_prefix() and pattern_match_suffx() filters for matching the given pattern at the beginning or at the end of the log field value. See these docs and #762.

  • FEATURE: Kubernetes Collector: add an ability to change default _stream fields via -kubernetesCollector.streamFields command-line flag. See #998.

  • FEATURE: querying HTTP API: accept step arg with nanosecond precision at /select/logsql/hits and /select/logsql/stats_query_range endpoints. Previously these endpoints were accepting the step query arg only with millisecond precision.

  • FEATURE: web UI: add pipe titles with links to docs.victoriametrics.com in autocomplete popup.

  • FEATURE: web UI: add a cumulative view option to hits bar chart. See #955.

  • FEATURE: web UI: add configurable bar count for hits chart. See #956.

  • BUGFIX: LogsQL: properly apply time offset according to the docs for the day_range and week_range filters. Previously offset 2h was incorrectly translated into -02:00 timezone offset instead of the expected +02:00 timezone offset. See #796.

  • BUGFIX: LogsQL: use local time zone for the VictoriaLogs server when the day_range or week_range filter doesn't contain explicitly specified offset ... suffix. This aligns with the behaviour when the timezone information is missing in the _time filter.

  • BUGFIX: LogsQL: fix panic when executing "_stream":="", "_stream_id":="" or "_time":foo queries. See #717. Thanks to @withlin for the pull request.

  • BUGFIX: web UI: fix bars width calculation and visual misalignment relative to time axis. See #900.

  • BUGFIX: metrics: fix vl_http_errors_total{path="..."} metric name mismatch for /internal/select/* endpoints (it was exposed as vl_http_request_errors_total{path="..."}). See #1005.

  • BUGFIX: Kubernetes Collector: add support for dynamic token and certificates reloading. Previously, vlagent only read credentials at startup, which led to authentication errors after token rotation. See #995.

  • BUGFIX: Kubernetes Collector: properly parse Kubernetes system log timestamps. This prevents future logs issues that occurred during the New Year transition.

  • BUGFIX: Kubernetes Collector: add additional file fingerprint validation when resuming from a stale checkpoint file. This prevents cannot parse Container Runtime Interface log line errors that could occur if multiple log rotations happened while vlagent was down.

  • BUGFIX: HTTP data ingestion: properly handle empty items in comma-separated HTTP ingestion params such as VL-Stream-Fields, VL-Time-Field, VL-Msg-Field, VL-Ignore-Fields and VL-Decolorize-Fields. Previously, empty items in VL-Stream-Fields (e.g. foo,,bar) could unexpectedly add _msg to stream fields and lead to unexpectedly high number of log streams. See #966.

v1.43.1

Choose a tag to compare

@valyala valyala released this 26 Dec 22:48
v1.43.1
66d23fb

Released at 2025-12-26