Vector v0.52.0 release notes

The Vector team is excited to announce version 0.52.0!

Release highlights

  • Enhanced Vector’s observability with new buffer utilization metrics for sources and transforms (source_buffer_* and transform_buffer_* metrics), providing visibility into buffer capacity, usage and historical usage levels.
  • Introduced trace_to_log transform that allows converting traces to logs.
  • The blackhole sink now implements end-to-end acknowledgements.
  • The GELF decoder now supports a validation option with two modes: strict (default) and relaxed. When set to relaxed, the decoder will parse GELF messages from sources that don’t strictly follow the GELF specification.
  • The docker_logs source now retries Docker daemon communication failures with exponential backoff.

Breaking Changes

  • The mongodb_metrics source now requires MongoDB Server 4.2 or later. MongoDB Server 4.0, the previously supported minimum version, reached end-of-life on April 30, 2022.
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.

Vector Changelog

8 new features

  • Added a new prefetch_count option to the AMQP source configuration. This allows limiting the number of in-flight (unacknowledged) messages per consumer using RabbitMQ’s prefetch mechanism (basic.qos). Setting this value helps control memory usage and load when processing messages slowly.
    Thanks to elkh510 for contributing this change!
  • Add AWS CloudWatch Metrics sink storage_resolution config.
    Thanks to trxcllnt for contributing this change!
  • The docker_logs source now includes exponential backoff retry logic for Docker daemon communication failures, with indefinite retry capability. This improves reliability when working with slow or temporarily unresponsive Docker daemons by retrying with increasing delays instead of immediately stopping.
    Thanks to titaneric for contributing this change!
  • A generic Apache Arrow codec has been added to support Arrow IPC serialization across Vector. This enables sinks like the clickhouse sink to use the ArrowStream format endpoint with significantly better performance and smaller payload sizes compared to JSON-based formats.
    Thanks to benjamin-awd for contributing this change!
  • Introduced trace_to_log transform that allows converting traces to logs.
    Thanks to huevosabio for contributing this change!
  • Added --disable-env-var-interpolation CLI option to prevent environment variable interpolation. The VECTOR_DISABLE_ENV_VAR_INTERPOLATION environment variable can also be used to disable interpolation.
    Thanks to graphcareful for contributing this change!
  • The aws_s3 source now emits histogram metrics to track S3 object processing times: s3_object_processing_succeeded_duration_seconds for successful processing and s3_object_processing_failed_duration_seconds for failed processing. These measure the full processing pipeline including download, decompression, and parsing. Both metrics include a bucket label to help identify slow buckets.
    Thanks to sanjams2 for contributing this change!
  • The axiom sink now supports regional edges for data locality. A new optional region configuration field allows you to specify the regional edge domain (e.g., eu-central-1.aws.edge.axiom.co). When configured, data is sent to https://{region}/v1/ingest/{dataset}. The url field now intelligently handles paths: URLs with custom paths are used as-is, while URLs without paths maintain backwards compatibility by appending /v1/datasets/{dataset}/ingest.
    Thanks to toppercodes for contributing this change!

7 enhancements

  • Vector’s TLS implementation now stores credentials in PEM format internally instead of PKCS12, enabling FIPS-compliant operation in environments with strict cryptographic requirements. This change is transparent to users - both PEM and PKCS12 certificate files continue to be supported as configuration inputs, with PKCS12 files automatically converted at load time.
    Thanks to rf-ben for contributing this change!
  • The GELF decoder now supports a validation option with two modes: strict (default) and relaxed. When set to relaxed, the decoder will accept:

    • GELF versions other than 1.1
    • Additional fields without underscore prefixes
    • Additional field names with special characters
    • Additional field values of any type (not just strings/numbers)

    This allows Vector to parse GELF messages from sources that don’t strictly follow the GELF specification.


    Thanks to ds-hystax for contributing this change!
  • The Arrow encoder now supports configurable null handling through the allow_nullable_fields option. This controls whether nullable fields should be explicitly marked as nullable in the Arrow schema, enabling better compatibility with downstream systems that have specific requirements for null handling.
    Thanks to benjamin-awd for contributing this change!
  • Added a new “Custom Authorization” HTTP auth strategy, allowing users to configure a custom HTTP Authorization Header
    Thanks to arunpidugu for contributing this change!
  • Added support for configurable request timeouts to the datadog_agent source.

    This change also introduces two new internal metrics:
    - `component_timed_out_events_total` - Counter tracking the number of events that timed out
    - `component_timed_out_requests_total` - Counter tracking the number of requests that timed out
    

    Thanks to bruceg for contributing this change!
  • Added the following metrics to record the utilization level of the buffer that all sources send into:

    • source_buffer_max_byte_size
    • source_buffer_max_event_size
    • source_buffer_utilization
    • source_buffer_utilization_level

    Thanks to bruceg for contributing this change!
  • Added metrics to record the utilization level of the buffers that each transform receives from:

    • transform_buffer_max_byte_size
    • transform_buffer_max_event_size
    • transform_buffer_utilization
    • transform_buffer_utilization_level

    Thanks to bruceg for contributing this change!

7 bug fixes

  • The syslog source in UDP mode now emits the standard “received” metrics, aligning behavior with TCP and the Component Specification:

    • component_received_events_total
    • component_received_event_bytes_total
    • component_received_bytes_total

    This makes internal telemetry consistent and restores compliance checks for UDP syslog.


    Thanks to sghall for contributing this change!
  • The journald source now correctly respects the current_boot_only: false setting on systemd versions >= 258.

    Compatibility notes:

    • systemd < 250: Both current_boot_only: true and false work correctly
    • systemd 250-257: Due to systemd limitations, current_boot_only: false will not work. An error will be raised on startup.
    • systemd >= 258: Both settings work correctly

    Thanks to bachorp for contributing this change!
  • Fixed the websocket source entering a “zombie” state when the connect_timeout_secs threshold was reached with multiple sources running. The connection timeout is now applied per connect attempt with indefinite retries, rather than as a total timeout limit.
    Thanks to benjamin-awd for contributing this change!
  • Fixed a bug in the file source, which could silently corrupt data when using multi-char delimiters.
    Thanks to lfrancke for contributing this change!
  • Fixed an issue in vector tests where memory enrichment tables would report missing components errors.
    Thanks to esensar, Quad9DNS for contributing this change!
  • Fixed the blackhole sink to properly implement end-to-end acknowledgements. Previously, the sink consumed events without updating finalizer status, causing sources that depend on acknowledgements (like aws_s3 with SQS) to never delete processed messages from the queue.
    Thanks to sanjams2 for contributing this change!
  • The http_client source now fails to start if VRL compilation errors occur in query parameters when type is set to vrl, instead of silently logging a warning and continuing with invalid expressions. This prevents unexpected behavior where malformed VRL would be sent as literal strings in HTTP requests.
    Thanks to thomasqueirozb for contributing this change!

1 chore

  • The mongodb_metrics source now requires MongoDB Server 4.2 or later. MongoDB Server 4.0, the previously supported minimum version, reached end-of-life on April 30, 2022.
    Thanks to thomasqueirozb for contributing this change!

VRL Changelog

[0.29.0 (2025-12-11)]

Breaking Changes & Upgrade Guide

  • Added required line and file fields to vrl::compiler::function::Example. Also added the example! macro to automatically populate those fields.

authors: thomasqueirozb (https://github.com/vectordotdev/vrl/pull/1557)

Fixes

authors: thomasqueirozb (https://github.com/vectordotdev/vrl/pull/1563)

  • Fixed a bug where a stack overflow would happen in validate_json_schema if the schema had an empty $ref.

authors: jlambatl (https://github.com/vectordotdev/vrl/pull/1577)

[0.28.1 (2025-11-07)]

Download Version 0.52.0

macOS
tar.gz
Windows
zip
Windows (MSI)
msi