-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
Signed-off-by: Jesse Szwedko <[email protected]>
- Loading branch information
There are no files selected for viewing
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
--- | ||
date: "2024-07-29" | ||
title: "0.40 Upgrade Guide" | ||
description: "An upgrade guide that addresses breaking changes in 0.40.0" | ||
authors: ["jszwedko"] | ||
release: "0.40.0" | ||
hide_on_release_notes: false | ||
badges: | ||
type: breaking change | ||
--- | ||
|
||
Vector's 0.40.0 release includes three **breaking changes**: | ||
|
||
1. [GELF codec defaults to null-delimited messages for stream-based sources](#gelf) | ||
1. [Reduce transforms now properly aggregate nested fields](#reduce-aggregate) | ||
1. [Vector no longer supports CentOS 7](#centos7) | ||
|
||
We cover them below to help you upgrade quickly: | ||
|
||
## Upgrade guide | ||
|
||
### Breaking Change | ||
|
||
#### GELF codec defaults to null-delimited messages for stream-based sources {#gelf} | ||
|
||
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. | ||
|
||
##### Configuration changes | ||
|
||
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. | ||
|
||
##### Example configuration change for socket source | ||
|
||
###### Previous | ||
|
||
```yaml | ||
sources: | ||
my_source_id: | ||
type: "socket" | ||
address: "0.0.0.0:9000" | ||
mode: "tcp" | ||
decoding: | ||
codec: "gelf" | ||
``` | ||
###### Current | ||
```yaml | ||
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 now properly aggregate nested fields {#reduce-aggregate} | ||
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. | ||
##### Example | ||
###### Config | ||
```toml | ||
group_by = [ "id" ] | ||
merge_strategies.id = "discard" | ||
merge_strategies."a.b[0]" = "array" | ||
``` | ||
|
||
###### Event 1 | ||
|
||
```json | ||
{ | ||
"id": 777, | ||
"an_array": [ | ||
{ | ||
"inner": 1 | ||
} | ||
], | ||
"message": { | ||
"a": { | ||
"b": [1, 2], | ||
"num": 1 | ||
} | ||
} | ||
} | ||
``` | ||
|
||
###### Event 2 | ||
|
||
```json | ||
{ | ||
"id": 777, | ||
"an_array": [ | ||
{ | ||
"inner": 2 | ||
} | ||
], | ||
"message": { | ||
"a": { | ||
"b": [3, 4], | ||
"num": 2 | ||
} | ||
} | ||
} | ||
``` | ||
|
||
###### Reduced Event | ||
|
||
Old behavior: | ||
|
||
```json | ||
{ | ||
"id": 777, | ||
"an_array": [ | ||
{ | ||
"inner": 2 | ||
} | ||
], | ||
"message": { | ||
"a": { | ||
"b": [1, 2], | ||
"num": 1 | ||
} | ||
} | ||
} | ||
``` | ||
|
||
New behavior: | ||
|
||
```json | ||
{ | ||
"id": 777, | ||
"an_array": [ | ||
{ | ||
"inner": 1 | ||
} | ||
], | ||
"message": { | ||
"a": { | ||
"b": [ | ||
[1, 2], | ||
[3,4] | ||
], | ||
"num": 3 | ||
} | ||
} | ||
} | ||
``` | ||
|
||
#### Vector no longer supports CentOS 7 {#centos7} | ||
|
||
With this release, Vector has dropped support for CentOS 7 because CentOS 7 became EOL on June 30th, | ||
2024. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--- | ||
title: Vector v0.40.0 release notes | ||
weight: 21 | ||
--- |