The COSE team is excited to announce version 0.55.0!
windows_event_log source that collects logs from Windows Event Log channels using the
native Windows Event Log API, with pull-mode subscriptions, bookmark-based checkpointing, and
configurable field filtering.aws_s3 sink now supports Apache Parquet batch encoding. Events can be written as
Parquet columnar files with either an auto-generated native schema or a supplied .schema
file, and configurable compression (Snappy, ZSTD, GZIP, LZ4, or none).azure_blob sink re-gains first-class Azure authentication:
Azure CLI, Managed Identity, Workload Identity, and Managed Identity-based Client Assertion
credential kinds are all supported again.datadog_metrics sink now defaults to the Series v2 endpoint (/api/v2/series) and
uses zstd compression for Series v2 and Sketches, which should yield smaller payloads
and more efficient batching and intake. A new series_api_version option (v1 or v2)
is available to opt back to the legacy v1 endpoint; Series v1 continues to use zlib.vector top is more trustworthy: per-output events for components with multiple output
ports are now shown in the correct Events Out column, and the Memory Used column
now reports disabled when the target Vector instance was started without
--allocation-tracing instead of a misleading 0.source_send_latency_seconds,
source_send_batch_latency_seconds) surface backpressure close to the source.utilization no longer counts time spent waiting on downstream
components, giving a more representative view of transform saturation.file and kubernetes_logs sources that could
cause unexpectedly high CPU usage, introduced in 0.50.0.See the 0.55 upgrade guide for full details and migration steps. At a glance, you are affected if you:
vector top, vector tap, and anything that talked to
/graphql or the /playground. The HTTP GET /health endpoint is unchanged and continues
to serve Kubernetes HTTP probes as before.headers option on the http or opentelemetry sinks: it has been
removed.azure_logs_ingestion sink with Client Secret credentials: azure_credential_kind
must now be set explicitly.nats source and sink. The url field now supports both ws:// and
wss:// protocols.graph.edge_attributes can now be added to transforms and sinks to add attributes to edges in graphs generated using vector graph. Memory enrichment tables are also considered for graphs, because they can have inputs and outputs.kafka sink now supports trace events.azure_blob, including Azure CLI, Managed Identity, Workload Identity, and Managed Identity-based Client Assertion authentication types.Add Apache Parquet batch encoding support for the aws_s3 sink with flexible schema definitions.
Events can now be encoded as Parquet columnar files with multiple schema input options:
.schema fileEnable the codecs-parquet feature and configure batch_encoding with codec = "parquet" in the S3 sink configuration.
windows_event_log source that collects logs from Windows Event Log channels using the native Windows Event Log API with pull-mode subscriptions, bookmark-based checkpointing, and configurable field filtering.vector source: Implement standard gRPC health checking protocol (grpc.health.v1.Health)
alongside the existing custom health check endpoint. This enables compatibility with standard
tools like grpc-health-probe for Kubernetes and other orchestration systems.
geoip enrichment table now includes a network field containing the CIDR network associated with the lookup result, available for all database types (City, ISP/ASN, Connection-Type, Anonymous-IP).The opentelemetry source now supports independent configuration of OTLP decoding for logs, metrics, and traces. This allows more granular
control over which signal types are decoded, while maintaining backward compatibility with the existing boolean configuration.
use_otlp_decoding: true # All signals preserve OTLP format
# or
use_otlp_decoding: false # All signals use Vector native format (default)
use_otlp_decoding:
logs: false # Convert to Vector native format
metrics: false # Convert to Vector native format
traces: true # Preserve OTLP format
requestMessageSize and responseMessageSize. It represents the size of the DNS message.opentelemetry source: Implemented header enrichment for OTLP metrics and traces. Unlike logs, which support enriching
the event itself or its metadata, depending on log_namespace settings, for metrics and traces this setting is ignored
and header values are added to the event metadata.
datadog_metrics sink now uses zstd compression when submitting metrics to the Series v2 (/api/v2/series) and Sketches endpoints. Series v1 continues to use zlib (deflate).kube dependency from 0.93.0 to 3.0.1 and k8s-openapi from 0.22.0 to 0.27.0, adding support for Kubernetes API versions up to v1.35.UUID type in the ArrowStream format for the clickhouse sink. UUID columns are now automatically mapped to Arrow Utf8 and cast by ClickHouse on insert.datadog_metrics sink now defaults to the Datadog series v2 endpoint (/api/v2/series) and
exposes a new series_api_version configuration option (v1 or v2) to control which endpoint is
used. Set series_api_version: v1 to fall back to the legacy v1 endpoint if needed.source_send_latency_seconds (measuring the time spent
blocking on a single events chunk send operation on the output) and source_send_batch_latency_seconds
(encompassing all chunks within a received events batch).vector top terminal UI now shows disabled in the Memory Used column when the connected Vector instance was not started with --allocation-tracing, instead of displaying misleading zeros. A new GetAllocationTracingStatus gRPC endpoint is queried on connect to determine the status.Fixed log message ordering on shutdown where Vector has stopped. was logged before components had finished draining, causing confusing output interleaved with Waiting on running components messages.
A new VectorStopping event was added in the place of the VectorStopped event.
opentelemetry source now logs an error if it fails to start up or during runtime.
This can happen when the configuration is invalid, for example trying to bind to the wrong
IP or when hitting the open file limit.aggregate transform where previous values were being held
even if mode was not set to Diff.vector top displaying per-output sent events in the wrong column (Bytes In instead of Events Out) for components with multiple output ports.file/kubernetes_logs source that could cause unexpectedly high CPU usage after the async file server migration.datadog_agent source: Preserve device as a plain tag when decoding v2 series metrics,
instead of incorrectly prefixing it as resource.device. This matches the v1 series behavior
and fixes tag remapping for disk, SNMP, and other integrations that use the device resource type.us3., us5., ap1.) when deriving the API URL from intake endpoints. Previously, the healthcheck for site-specific endpoints like https://http-intake.logs.us3.datadoghq.com would incorrectly call https://api.datadoghq.com instead of https://api.us3.datadoghq.com, causing unintended cross-site egress traffic.send_batch with large event batches. When a batch was split into multiple chunks, the reference timestamp used to compute lag time was re-captured on each chunk send, causing the lag time for later chunks to be overstated by the amount of time spent waiting for the channel to accept earlier chunks. The reference timestamp is now captured once before iteration and shared across all chunks.vector service start/stop, and made vector service stop wait until the service reaches Stopped. Added --stop-timeout to vector service stop and vector service uninstall.demo_logs source has changed: the
pool of fake usernames and the pool of fake domain TLDs are now both
defined inside Vector rather than pulled from an external crate. The
line formats (apache_common, apache_error, json, syslog,
bsd_syslog) are unchanged. If any of your tests or downstream
pipelines assert on specific generated usernames or TLDs, please
update those expectations.azure_logs_ingestion sink (added in Vector 0.54.0) with Client Secret credentials, add azure_credential_kind = "client_secret_credential" under the sink’s auth block (alongside azure_tenant_id, azure_client_id, and azure_client_secret). This was previously the default, and now must be explicitly configured. See the 0.55 upgrade guide for an example.The Vector observability API has been migrated from GraphQL to gRPC for improved
performance, efficiency and maintainability. The vector top and vector tap
commands continue to work as before, as they have been updated to use the new
gRPC API internally. The gRPC service definition is available in
proto/vector/observability.proto.
Note: vector top and vector tap from version 0.55.0 or later are not
compatible with Vector instances running earlier versions.
Remove the api.graphql and api.playground fields from your config. Vector
now rejects configs that contain them.
If you use vector top or vector tap with an explicit --url, remove the
/graphql path suffix:
# Old
vector top --url http://localhost:8686/graphql
# New (the gRPC API listens at the root)
vector top --url http://localhost:8686
/graphql, WebSocket subscriptions, and the
GraphQL Playground at /playground) has been removed. You can interact with
the new gRPC API using tools like
grpcurl:# Check health (standard gRPC health check, compatible with Kubernetes gRPC probes)
grpcurl -plaintext localhost:8686 grpc.health.v1.Health/Check
# List components
grpcurl -plaintext localhost:8686 vector.observability.v1.ObservabilityService/GetComponents
# Stream events (tap) — limit and interval_ms are required and must be >= 1
grpcurl -plaintext \
-d '{"outputs_patterns": ["*"], "limit": 100, "interval_ms": 500}' \
localhost:8686 vector.observability.v1.ObservabilityService/StreamOutputEvents
headers option has been removed from the http and opentelemetry sinks.
Use request.headers instead. On the opentelemetry sink, request is nested under
protocol; see the 0.55 upgrade guide
for examples. This option has been deprecated since v0.33.0.encode_csv function that encodes an array of values into a CSV-formatted string. This is the inverse of the existing parse_csv function and supports an optional single-byte delimiter (defaults to ,).authors: armleth (https://github.com/vectordotdev/vrl/pull/1649)
to_entries and from_entries with jq-compatible behavior: to_entries supports both objects and arrays, and from_entries accepts key/Key/name/Name and value/Value aliases.authors: close2code-palm (https://github.com/vectordotdev/vrl/pull/1653)
except parameter to flatten function to exclude specific keys from being flattened.authors: benjamin-awd (https://github.com/vectordotdev/vrl/pull/1682)
http_request) to run twice per submission.authors: prontidis (https://github.com/vectordotdev/vrl/pull/1701)
Sign up to receive emails on the latest Vector content and new releases
Thank you for joining our Updates Newsletter