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/iss