Vector v0.45.0 release notes

The Vector team is pleased to announce version 0.45.0!

Be sure to check out the upgrade guide for breaking changes in this release.

This release contains a few notable new features, along with numerous enhancements and fixes as listed below:

  • A new type of enrichment_table, called memory, was introduced! This table can also act can also act as a sink, which enables several new use cases. For instance, this table can be used as a cache or as an interface with an external key value store.
  • A new websocket_server sink that acts as a websocket server and broadcasts events to all connected clients, rather than just the first connected client.
  • The tag_cardinality_limit transform now supports customizing limits for metrics that are based on the metric name and namespace.
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.

Highlights

Memory Enrichment Table

Author photo for
type: new feature domain: enrichment domain: sinks

Changelog

12 new features

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

    Breaking Changes & Upgrade Guide

    New Features

    Fixes

  • Allows users to specify a KMS key and tags for newly created AWS CloudWatch log groups. Thanks to johannesfloriangeiger for contributing this change!
  • Query parameters can now contain either single value or an array of multiple values. For example:

    singe_key: single_value
    "match[]":
    	- '{job="somejob"}'
    	- '{__name__=~"job:.*"}'
    
    Thanks to sainad2222 for contributing this change!
  • Add a new type of enrichment_table - memory, which can also act as a sink, ingesting all the data and storing it per key, enabling it to be read from all other enrichment tables. Thanks to esensar for contributing this change!
  • A new sink for Keep was added. Thanks to sainad2222 for contributing this change!
  • The host_metrics source has a new collector, tcp. The tcp collector exposes three metrics related to the TCP stack of the system:

    • tcp_connections_total: The total number of TCP connections. It includes the state of the connection as a tag.
    • tcp_tx_queued_bytes_total: The sum of the number of bytes in the send queue across all connections.
    • tcp_rx_queued_bytes_total: The sum of the number of bytes in the receive queue across all connections.

    This collector is enabled only on Linux systems.

    Thanks to aryan9600 for contributing this change!
  • The tag_cardinality_limit transform now supports customizing limits for specific metrics, matched by metric name and optionally, its namespace. Thanks to esensar for contributing this change!
  • Add websocket_server sink that acts as a websocket server and broadcasts events to all clients. Thanks to esensar for contributing this change!
  • Sources running HTTP servers (http_server source, prometheus source, datadog_agent, and so on) now support a new custom authorization strategy. If a strategy is not explicitly defined, it defaults to basic, which is the current behavior.

    You can read more in this how it works section.

    Thanks to esensar for contributing this change!
  • The dnstap source now uses v20250201 dnstap protobuf schema. Thanks to esensar for contributing this change!
  • Add a new virtual memory metric process_memory_virtual_usage to the process host metrics collector. This method returns the size of virtual memory (the amount of memory that the process can access), whether it is currently mapped in a physical RAM or not. Thanks to nionata for contributing this change!
  • The pulsar source and sink now support configuration of TLS options via the tls configuration field. Thanks to pomacanthidae for contributing this change!

5 enhancements

  • Add support for more Google Chronicle regional endpoints:

    • SãoPaulo
    • Canada
    • Dammam
    • Doha
    • Frankfurt
    • London
    • Mumbai
    • Paris
    • Singapore
    • Sydney
    • TelAviv
    • Tokyo
    • Turin
    • Zurich
    Thanks to chocpanda for contributing this change!
  • Add an option to Google Chronicle sink to set a fallback index if the provided template in the log_type field cannot be resolved Thanks to ArunPiduguDD for contributing this change!
  • When using the Datadog Search syntax as a condition on components that support it, the following now support matching on multiple fields (using OR):

    • tags will look up the fields tags and ddtags
    • source will look up the fields source and ddsource
    Thanks to 20agbekodo for contributing this change!
  • The generate-schema subcommand accepts an optional output_path option. Thanks to pront for contributing this change!
  • Allow additional types to be used in tests.inputs.log_fields values, including nested objects and arrays. Thanks to tmccombs for contributing this change!

5 bug fixes

  • The chronicle_unstructured sink now sets the content-encoding header when compression is enabled. Thanks to chocpanda for contributing this change!
  • The systemd service now validates the config with parameter --no-environment on service reload. Thanks to rsrdesarrollo for contributing this change!
  • Allow users to specify session_name when using AWS authentication in a component. Thanks to akutta for contributing this change!
  • enrichment_tables loaded from a CSV file with include_headers: false no longer drop the first row of data Thanks to B-Schmidt for contributing this change!
  • Downgraded some noisy info! statements in the aws_s3 source to debug!. Thanks to pront for contributing this change!

Download Version 0.45.0