0.12 Upgrade Guide
An upgrade guide that addresses breaking changes in 0.12.0
0.12 includes minimal breaking changes but significant deprecations. This guide will upgrade you quickly and painlessly. If you have questions, hop in our chat and we’ll help you upgrade.
- Breaking: The
encoding.codecoption is now required for all relevant sinks
- Breaking: Vector
check_fieldsconditions now require the
- Breaking: The
generatorsource requires a
- Deprecation: Many transforms have been deprecated in favor of the new
- Deprecation: The
start_at_beginninghas been deprecated
Pull request #5281 removed the default values for the sink-level
encoding.codec option. Therefore, you are
now required to provide a value for this option, ensuring that you are not surprised by opinionated encoding defaults.
Affected sinks include:
aws_s3(previously defaulted to
file(previously defaulted to
humio(previously defaulted to
kafka(previously defaulted to
nats(previously defaulted to
new_relic_logs(previously defaulted to
pulsar(previously defaulted to
splunk_hec(previously defaulted to
Upgrading is easy, just add the
encoding.codec to your sinks with your preferred format (
[sinks.backup] type = "aws_s3" inputs = ["..."] bucket = "my-bucket" compression = "gzip" region = "us-east-1" +encoding.codec = "json"
For clarity, the
text option strips away all structured data and passes only the value of the
message field. It is
intended for use cases where Vector acts as a proxy and should not alter data. For most use cases we recommend
since it includes all structured data.
With the announcement of the Vector Remap Language (VRL), pull request #5978
check_fields conditions in favor of using VRL boolean expressions. The old
check_fields conditions were limiting and suffered from many of the pitfalls outlined in
the VRL announcement. Configuration languages, like TOML, are bad at expressing boolean conditions and severly
limited how users could route, filter, and reduce data.
check_fields is deprecated and still supported, you will need to explicitly opt-into the feature by adding the
[transforms.route] type = "route" +lanes.errors.type = "check_field" lanes.errors."level.eq" = "error"
Alteratively, we recommend migrating to the new VRL syntax:
[transforms.route] type = "route" -lanes.errors."level.eq" = "error" +lanes.errors = '.level = "error"'
Refer to the VRL reference for the many ways you can specify conditions.
generator source], commonly used for testing, has been updated with a new
format option that emits logs in
the specified format. You will not be required to provide this option. Upgrading is easy:
[sources.generator] type = "generator" +format = "apache_common" # or "apache_error" or "syslog"
The following transforms have been deprecated in favor of the new [
Deprecation notices have been placed on each of these transforms with example VRL programs that demonstrate how to
migrate to the new
remap transform. For example, migrating from the
json_parser transform is as simple as:
[transforms.remap] type = "remap" source = ''' . = merge(., parse_json!(.message)) '''
You do not need to upgrade immediately. These transforms will not be removed until Vector hits 1.0, a milestone that we hope to achieve in late 2022. But, if possible, we recommend using this opportunity to upgrade and significantly simplify your Vector configuration.
As always, if you need assistance hop in our chat. We’re eager to help and receive feedback on the language.
[sources.file] type = "file" -start_at_beginning = true +ignore_checkpoints = false # default +read_from = "beginning" # default
Adjust as necessary. The above values are the defaults and are not required to be specified.