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.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.
Thanks to
sproberts92
for contributing this change!protobuf encoder (configurable using encoding.codec).
Thanks to
goakley
for contributing this change!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.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.
Thanks to
jches
for contributing this change!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.
Thanks to
anil-db
for contributing this change!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.Sign up to receive emails on the latest Vector content and new releases
Thank you for joining our Updates Newsletter