Vector v0.42.0 release notes
Upgrading Vector
When upgrading, we recommend stepping through minor versions as
these can each contain breaking changes while Vector is pre-1.0.
These breaking changes are noted in their respective upgrade
guides.
The Vector team is pleased to announce version 0.42.0!
This release contains a number of enhancements and fixes as listed below.
There are no breaking changes or deprecations with this release and so no upgrade guide.
Vector Changelog
5 new features
VRL was updated to v0.19.0. This includes the following changes:
Breaking Changes & Upgrade Guide
- The multi-line mode of the
parse_groksVRL function is now enabled by default. Use the(?-m)modifier to disable this behavior. (https://github.com/vectordotdev/vrl/pull/1022)
Enhancements
- The
keyvaluegrok filter is extended to match the Datadog implementation. (https://github.com/vectordotdev/vrl/pull/1015)
Fixes
- The
parse_xmlfunction no longer adds an unnecessarytextkey when processing single nodes. (https://github.com/vectordotdev/vrl/pull/849) parse_grokandparse_groksno longer require field names containing a hyphen (for example,@a-b) to be quoted.- The function
match_datadog_querydoesn’t panic if an invalid path is passed, instead it returns an error. (https://github.com/vectordotdev/vrl/pull/1031) - The
parse_ruby_hashparser is extended to match the Datadog implementation. Previously it would parse the key in{:key => "value"}as:key, now it parses it askey. (https://github.com/vectordotdev/vrl/pull/1050)
- The multi-line mode of the
- Adds support for
OPTIONSHTTP-method forhttp_serversource
Thanks to sillent for contributing this change! - Adds support for additional
graphconfiguration on each component so that users can add arbitrary graphviz node attributes when generating a graph throughvector graph.
Thanks to esensar, Quad9DNS for contributing this change! The
axiomsink now uses the native HTTP API rather than the Elasticsearch-compatible API.Notable changes:
- The elasticsearch
@timestampsemantics that changed in v5.5 of ElasticSearch no longer affect theaxiomsink as the sink uses the Axiom native HTTP ingest method. - The
_timefield in data sent to Axiom now supports the same semantics as the Axiom native API and SDK as documented. In previous versions of Vector, the Axiom sink rejected events with_timefields as the sink was following Elasticsearch semantics. This was confusing and surprising for seasoned Axiom users new to Vector and seasoned Vector users new to Axiom alike. - If a
@timestampfield is sent to Axiom it is a normal user defined field. - If an
_timefield is sent to Axiom it now follows documented Axiom field semantics.
Thanks to darach for contributing this change!- The elasticsearch
- Adds
scopeinformation to logs received through theopentelemetrysource.
Thanks to srstrickland for contributing this change!
8 enhancements
- Adds more aggregations to
aggregatetransform: count, diff, max, min, mean, sum, latest and stdev. The current aggregation is namedautoand is made the default (acts like a combination ofsumandlatest).
Thanks to esensar, Quad9DNS for contributing this change! - Adds support for configuring
gcp_cloud_storagesink APIendpoint.
Thanks to movinfinex for contributing this change! - Expose a
retainboolean config flag in the MQTT sink to tell the server to retain the messages.
Thanks to miquelruiz for contributing this change! - Timestamps on metrics are now sent to the New Relic metrics API with millisecond resolution.
- Added wildcard support for
query_parameterssetting inhttp_serverandheroku_logssources.
Thanks to uricorin for contributing this change! - Add an option
new_namingthe GreptimeDB sink to usegreptime_valueandgreptime_timestampfor value and timestamp fields, in order to keep consistency with GreptimeDB’s convention.
Thanks to sunng87 for contributing this change! - Add support for providing Server Name Indication (SNI) in the TLS handshake when
connecting to a server through
tls.server_namefor components that support TLS.
Thanks to anil-db for contributing this change! - Adds support for multiple URLs in the NATS source by enabling the
urlconfig option to have a comma-delimited list. This allows for greater fault tolerance as compared to reading from a single server.
Thanks to benjamin-awd for contributing this change!
13 bug fixes
- Fixed the
logstashsource decoder to remove a panic that could trigger in the event of certain protocol errors. - Fixed a bug in the
new_relicsink that caused dotted attribute names to be encoded incorrectly with quotes. - Previously, when the
new_relicsink sent non-standard event fields to the logs API, it would include those fields beside the standard event fields (for example,messageandtimestamp). Now, any such fields are sent in anattributesobject, as specified by the New Relic Logs API. - The SysV init
script
now starts Vector in the background.
Thanks to waltzbucks for contributing this change! - Updates the
subscriber_capacitydefault for the NATS source to the correct value of 65536, which is the same value that the upstreamasync_natslibrary uses.
Thanks to benjamin-awd for contributing this change! - When using the
all_metrics: trueflag inlog_to_metrictransform, thenamespacefield is now optional and no longer required. If thenamespacefield is not provided, the produced metric does not have a namespace at all.
Thanks to jorgehermo9 for contributing this change! - The Loki sink now has support for sending structured metadata when using the JSON
API (the default).
Thanks to maxboone for contributing this change! - Adds retry support for the 408 HTTP errors (request timed out) to the Google Cloud Storage (GCS) sink.
Thanks to benjamin-awd for contributing this change! - All TCP-based sinks (such as
socketorpapertrail) now gracefully handle config reloads under load rather than panicking. Previously, when a configuration reload occurred and data was flowing through the topology, the Vector process crashed due to the TCP-based sink attempting to access the stream when it had been terminated.
Thanks to neuronull for contributing this change! - The adaptive request concurrency mechanism no longer deadlocks if setting
adaptive_concurrency.decrease_ratioin a sink to a value less than 0.5. - Fixed a bug where AWS components would panic when using the ECS IAM roles for authentication.
- Google Cloud Platform components now refresh cached authentication tokens returned
by v0.4.292 of the GCP metadata server and above to avoid using a stale
authentication token.
Thanks to garethpelly for contributing this change! - The
new_relicsink, when sending to theeventAPI, would quote field names containing periods or other meta-characters. This would produce broken field names in the New Relic interface, and so that quoting has been removed.