Vector v0.42.0 release notes

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.

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.

Changelog

8 enhancements

  • Adds more aggregations to aggregate transform: count, diff, max, min, mean, sum, latest and stdev. The current aggregation is named auto and is made the default (acts like a combination of sum and latest). Thanks to esensar for contributing this change!
  • Adds support for configuring gcp_cloud_storage sink API endpoint. Thanks to movinfinex for contributing this change!
  • Expose a retain boolean 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_parameters setting in http_server and heroku_logs sources. Thanks to uricorin for contributing this change!
  • Add an option new_naming the GreptimeDB sink to use greptime_value and greptime_timestamp for 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_name for components that support TLS. Thanks to anil-db for contributing this change!
  • Adds support for multiple URLs in the NATS source by enabling the url config 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!

5 new features

  • VRL was updated to v0.19.0. This includes the following changes:

    Breaking Changes & Upgrade Guide

    Enhancements

    Fixes

  • Adds support for OPTIONS HTTP-method for http_server source Thanks to sillent for contributing this change!
  • Adds support for additional graph configuration on each component so that users can add arbitrary graphviz node attributes when generating a graph through vector graph. Thanks to esensar for contributing this change!
  • The axiom sink now uses the native HTTP API rather than the Elasticsearch-compatible API.

    Notable changes:

    • The elasticsearch @timestamp semantics that changed in v5.5 of ElasticSearch no longer affect the axiom sink as the sink uses the Axiom native HTTP ingest method.
    • The _time field 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 _time fields as the sink was following Elasticsearch semantics. This was confusing and suprising for seasoned Axiom users new to Vector and seasoned Vector users new to Axiom alike.
    • If a @timestamp field is sent to Axiom it is a normal user defined field.
    • If an _time field is sent to Axiom it now follows documented Axiom field semantics.
    Thanks to darach for contributing this change!
  • Adds scope information to logs received through the opentelemetry source. Thanks to srstrickland for contributing this change!

13 bug fixes

  • Fixed the logstash source decoder to remove a panic that could trigger in the event of certain protocol errors.
  • Fixed a bug in the new_relic sink that caused dotted attribute names to be encoded incorrectly with quotes.
  • Previously, when the new_relic sink sent non-standard event fields to the logs API, it would include those fields beside the standard event fields (for example, message and timestamp). Now, any such fields are sent in an attributes object, 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_capacity default for the NATS source to the correct value of 65536, which is the same value that the upstream async_nats library uses. Thanks to benjamin-awd for contributing this change!
  • When using the all_metrics: true flag in log_to_metric transform, the namespace field is now optional and no longer required. If the namespace field 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 socket or papertrail) 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_ratio in 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_relic sink, when sending to the event API, 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.

Download Version 0.42.0

macOS
tar.gz
Windows
zip
Windows (MSI)
msi