The Vector team is pleased to announce version 0.34.0!
Be sure to check out the upgrade guide for breaking changes in this release.
In addition to the usual enhancements and bug fixes, this release also includes
protobuf encoder for sinks.This release also marks the deprecation of the OS package repositories hosted at
repositories.timber.io. Instead, packages have been moved to apt.vector.dev and
yum.vector.dev. Please see the release
highlight for details about this change and
instructions on how to migrate. The repositories located at repositories.timber.io will
be decommissioned on February 28th, 2024.
Content-Encoding header on requests to
application/json when the default snappy compression is used. This results in
Loki rejecting the requests with an HTTP 400 response. This is fixed in v0.34.1.protobuf encoder does not work in sinks
#19230. Fixed in v0.34.2.protobuf encoder (configurable using encoding.codec).Vector’s version of VRL was updated to 0.8.1, with the following changes:
contains_all functionfrom_unix_timestamp now accepts a new unit, microsecondsparse_nginx_log no longer fails if upstream_response_length,
upstream_response_time, and upstream_status are missingparse_float function--allow-empty-config. This is useful if you want to start Vector before loading
a configuration using --watch-config or when reloading.Sinks now have additional options for encoding.timestamp_format:
unix_float: Represents the timestamp as a Unix timestamp in floating point.unix_ms: Represents the timestamp as a Unix timestamp in milliseconds.unix_ns: Represents the timestamp as a Unix timestamp in nanoseconds.unix_us: Represents the timestamp as a Unix timestamp in microsecondsprometheus_remote_write sink now has the ability to disable aggregation by
setting batch.aggregate to false.nats source has a new subscriber_capacity configuration option to control
how many messages the NATS subscriber buffers before incoming messages are dropped.Sources and sinks that run a HTTP server now emit additional internal metrics:
http_server_requests_received_totalhttp_server_responses_sent_totalhttp_server_handler_duration_secondsSources that run a gRPC server now emit additional internal metrics:
grpc_server_messages_received_totalgrpc_server_messages_sent_totalgrpc_server_handler_duration_secondsEvent metadata, including secrets like Datadog API key or Splunk HEC token, are now persisted when writing events to a disk buffer so that sinks have access to it.
As part of this change, disk buffers created by Vector now have more restrictive
file permissions on Unix platforms. Previously, they were world-readable, but are now
only writable by the Vector process user (typically vector) and readable by group.
See the release highlight for details about this change and recommended practices to either secure the disk buffers or to avoid storing secrets in events altogether.
journald source has a new emit_cursor option that, when enabled, adds the
__CURSOR field to emitted log records.docker_logs source no longer increments component_errors_total for
out-of-order logs since this is not an error.native_json codec no longer errors when encoding 64-bit float values that
represent infinity. Instead, these are encoded as the strings inf and -inf. This
most commonly occurred when encoding histograms where the last bucket bound included
infinity.http_server source no longer panics when handling metrics decoded using the
native or native_json codecs. This means that it can now be used in conjunction
with the http sink to send data between Vector instances using the native or
native_json codecs; however, the vector source/sink pair is still the preferred route for
Vector-to-Vector communication.kafka source now fully drains acknowledgements during consumer group
rebalancing and when Vector is shutting down. This avoids situations where Vector
would duplicate message processing.gcp_stackdriver_metrics sink now correctly handles configured batch sizes
greater than the default of 1. Previously it would only send the last event in
each batch.tls.alpn_protocols options. Previously, these were only applied for sources
creating outgoing TLS connections.component_discarded_events_total
when incoming requests are cancelled before the events are pushed to downstream
components.amqp sink no longer panics when the channel is in an error state. Instead,
Vector now emits an error event when this occurs.datadog_agent source now records the “interval” on any incoming metrics that
have it set rather than just rate. This is useful as metrics can be interpreted as
rates later when viewing the data in Datadog, where the interval field will be
used.The blackhole sink no longer reports events processed by default. Instead, this
behavior can be opted into by setting print_interval_secs to a non-zero number.
See the upgrade guide for more details.
clickhouse sink heath check where it would add an extra / to the
URI, resulting in failures, was fixed. This was a regression in v0.33.0.datadog_metrics sink now uses Datadog’s /api/v2/series metrics endpoints to
send timeseries data. This change should functionally be transparent to users but
result in improved performance.The armv7 rpm package, vector-<version>-1.armv7.rpm, is no longer published. It
has been replaced by vector-<version>-1.armv7hl.rpm to better follow RPM
guidelines. If using the yum package manager, this change should be transparent.
See the upgrade guide for more details.
The deprecated region configuration option was removed from the Datadog sinks.
Instead of region, the site option should be used.
See the upgrade guide for more details.
component_name tag has been removed from all internal metrics. Instead, the
component_id tag should be used.peer_addr metric tag was removed from the
component_received_bytes_total internal metric that was published by TCP-based
sources to eliminate cardinality explosion of this metric.Deprecated metrics that were redundant with component_errors_total were removed.
See the upgrade guide for a full list.
Several internal metrics were deprecated for HTTP-based components:
requests_completed_total, request_duration_seconds, and
requests_received_total.
See the upgrade guide for more details.
In this release, we drop support for enabling the OpenSSL legacy provider when using
--openssl-legacy-provider (and its environment variable:
VECTOR_OPENSSL_LEGACY_PROVIDER).
See the upgrade guide for more details.
Sign up to receive emails on the latest Vector content and new releases
Thank you for joining our Updates Newsletter