The Vector team is pleased to announce version 0.40.0!
Be sure to check out the upgrade guide for breaking changes in this release.
This release contains a mix of enhancements and bug fixes. See the changelog below.
jetstream option (default is false).VRL was updated to v0.17.0. This includes the following changes:
Breaking Changes & Upgrade Guide
parse_logfmt now processes 3 escape sequences when parsing: , " and \.
This means that for example, in the input will be replaced with an actual
newline character in parsed keys or values.
(https://github.com/vectordotdev/vrl/pull/777)sqs.read_timeout_seconds, sqs.connect_timeout_seconds, and sqs.operation_timeout_seconds.statsd source now has a configuration option to disable key sanitization: sanitize. The default is true to maintain backwards compatibility.datadog_agent source to accept payloads that have been compressed with zstd.demo_logs source now adds host (or the configured log_schema.host_key) with the value of
localhost to emitted logs.vector tap command now has an optional duration_ms flag that allows you to specify the duration of the
tap. By default, the tap will run indefinitely, but if a duration is specified (in milliseconds) the tap will
automatically stop after that duration has elapsed.vector validate.log_schema timestamp. This is required when log_namespacing is enabled.set_secret and remove_secret VRL functions no longer complain about their return value not
being consumed. These functions don’t return any value.Now the GELF codec with stream-based sources uses null byte (\0) by default as messages delimiter instead of newline (\n) character. This better matches GELF server behavior.
In order to maintain the previous behavior, you must set the framing.method option to the character_delimited method and the framing.character_delimited.delimiter option to \n when using GELF codec with stream-based sources.
sources:
my_source_id:
type: "socket"
address: "0.0.0.0:9000"
mode: "tcp"
decoding:
codec: "gelf"
sources:
my_source_id:
type: "socket"
address: "0.0.0.0:9000"
mode: "tcp"
decoding:
codec: "gelf"
framing:
method: "character_delimited"
character_delimited:
delimiter: "
"
Reduce transforms can now properly aggregate nested fields.
This is a breaking change because previously, merging object elements used the “discard” strategy. The new behavior is to use the default strategy based on the element type.
group_by = [ "id" ]
merge_strategies.id = "discard"
merge_strategies."a.b[0]" = "array"
{
"id": 777,
"an_array": [
{
"inner": 1
}
],
"message": {
"a": {
"b": [1, 2],
"num": 1
}
}
}
{
"id": 777,
"an_array": [
{
"inner": 2
}
],
"message": {
"a": {
"b": [3, 4],
"num": 2
}
}
}
Old behavior:
{
"id": 777,
"an_array": [
{
"inner": 2
}
],
"message": {
"a": {
"b": [1, 2],
"num": 1
}
}
}
New behavior:
{
"id": 777,
"an_array": [
{
"inner": 1
}
],
"message": {
"a": {
"b": [
[1, 2],
[3,4]
],
"num": 3
}
}
}
Sign up to receive emails on the latest Vector content and new releases
Thank you for joining our Updates Newsletter