website/content/en/highlights/2024-07-29-0-40-0-upgrade-guide.md
Vector's 0.40.0 release includes three breaking changes:
We cover them below to help you upgrade quickly:
The GELF codec with stream-based sources now 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: "\n"
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"
"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
}
}
}
With this release, Vector has dropped support for CentOS 7 because CentOS 7 became EOL on June 30th, 2024.