0.59 Upgrade Guide
An upgrade guide that addresses breaking changes in 0.59.0
Avro codec rejects shorthand complex type schemas
Summary
The apache-avro library has been upgraded from 0.21 to 0.22, which enforces stricter schema
parsing per the Avro specification. Field-level attributes must now be nested inside a "type"
object rather than specified as siblings of the "type" string:
- Complex types (
array,map,enum,record,fixed): schemas using the shorthand form will fail to parse at startup. - Logical types (
timestamp-millis,date,uuid, etc.): schemas using the shorthand form will still parse, but the logical type is silently ignored and the field is treated as a plain primitive.
Migration
Wrap any complex type definitions in a nested "type" object within your Avro schema
configuration.
Array
Old
encoding:
codec: avro
avro:
schema: |
{
"type": "record", "name": "Log",
"fields": [
{"name": "tags", "type": "array", "items": "string"}
]
}
New
encoding:
codec: avro
avro:
schema: |
{
"type": "record", "name": "Log",
"fields": [
{"name": "tags", "type": {"type": "array", "items": "string"}}
]
}
Map
Old
{"name": "metadata", "type": "map", "values": "string"}
New
{"name": "metadata", "type": {"type": "map", "values": "string"}}
Enum
Old
{"name": "status", "type": "enum", "symbols": ["A", "B", "C"]}
New
{"name": "status", "type": {"type": "enum", "name": "Status", "symbols": ["A", "B", "C"]}}
Fixed
Old
{"name": "hash", "type": "fixed", "size": 16}
New
{"name": "hash", "type": {"type": "fixed", "name": "Hash", "size": 16}}
Logical types (timestamp, date, uuid, etc.)
Old
{"name": "created_at", "type": "long", "logicalType": "timestamp-millis"}
New
{"name": "created_at", "type": {"type": "long", "logicalType": "timestamp-millis"}}
datadog_agent source no longer accepts pre-tracerPayloads trace payloads
Summary
The datadog_agent source no longer accepts the pre-tracerPayloads Agent-to-intake trace protobuf
(traces / transactions fields). The Datadog Agent dropped those fields in the 7.33.0 release in
January 2022. An empty tracerPayloads list now produces no events and increments
component_errors_total with error_code empty_tracer_payloads. Indexed idxTracerPayloads
entries are recognized but not converted (error_code idx_tracer_payloads).
Migration
Upgrade the Datadog Agent to 7.33.0 or later. If you already run a current Agent, no action is
needed. Indexed idxTracerPayloads payloads are recognized but not converted; those traces are
dropped with error_code idx_tracer_payloads.
Datadog metrics series submitted to the V3 intake by default
Summary
The datadog_metrics sink now submits series metrics to /api/intake/metrics/v3/series by
default, using Datadog’s columnar protobuf format. This format uses dictionary-based string
deduplication and delta encoding, making it more efficient than v2 for workloads with many
metrics that share common names or tags.
Sketch metrics (distributions and histograms) are unaffected and continue to be submitted to
/api/beta/sketches.
Migration
No configuration change is required when sending directly to Datadog’s managed intake.
If your datadog_metrics sink forwards to another Vector instance’s datadog_agent
source, the receiving instance must support V3 before the sender switches to the new
default. Upgrading the sender first causes series metric requests to fail.
Upgrade receiving instances first, or explicitly configure sending sinks to continue using V2 until all receivers support V3. The same workaround applies to proxies or other endpoints that do not accept the V3 intake route:
sinks:
my_sink:
type: datadog_metrics
series_api_version: v2
Kubernetes 1.31 support removed
Summary
The kubernetes_logs source now uses Kubernetes v1.32 API bindings. Kubernetes
1.31 reached end of life
on 2025-11-11 and is no longer supported.
Migration
Upgrade Kubernetes clusters to v1.32 or later before upgrading Vector.
Removed http source and greptimedb sink deprecated component aliases
Summary
The deprecated http source and greptimedb sink aliases have been removed. They were deprecated in Vector 0.26.0 and 0.41.0, respectively.
Migration
Change source type http to http_server, and sink type greptimedb to greptimedb_metrics.
Boolean Vector sink compression removed
Summary
The deprecated boolean syntax for the vector sink’s compression option has
been removed.
Migration
Replace compression: true with compression: "gzip", and replace
compression: false with compression: "none".