0.28 Upgrade Guide
An upgrade guide that addresses breaking changes in 0.28.0
Vector’s 0.28.0 release includes breaking changes:
- The
journaldsource’sunitsoption removed - Removal of metadata functions
- Removal of the
apexsink - Removal of the
disk_v1buffer type - Renaming of
hosttohostnameindatadog_logs
and deprecations:
- The
redissink’surlargument changed toendpoint - The
aws_s3source’sstrategyoption has been hidden - The
axiomsink now hardcodes thetimestamp-fieldheader - The
datadog_logsanddatadog_metricssinks’api_keyoption will be removed in 0.29
and potentially impactful changes:
- AWS components now use OpenSSL as the TLS implementation
- The
azure_monitor_logssink now hardcodes thetimestampfield
We cover them below to help you upgrade quickly:
Upgrade guide
Breaking changes
The journald source’s units option removed
The units option had been replaced by include_units in the 0.10 release. This release marks the final removal
of this option, please update your configurations to use the include_units option instead.
Removal metadata functions
Vector 0.25.0 introduced new metadata path syntax available in VRL which points
directly to event metadata. That meant the metadata functions were no longer necessary and
were deprecated. They are now being removed. The table below shows you how to convert
VRL code from the method calls to the new path syntax. If you are running Vector 0.25.0
or later, you will also receive warnings which will provide you with the correct
syntax to use to migrate.
| before | after | |
|---|---|---|
| get | get_metadata_field(.foo.bar) | %foo.bar |
| set | set_metadata_field(.foo.bar, “value”) | %foo.bar = “value” |
| delete | remove_metadata_field(.foo.bar) | del(%foo.bar) |
Removal of the apex sink
The apex sink has been removed from Vector. This follows the EOL of the Apex service that took
effect in December 2022.
Removal of the disk_v1 buffer type
The deprecated disk_v1 buffer type was removed. Users using this buffer type should use Vector
v0.27.1 to migrate their buffers to the new disk buffer implementation by switching to the disk
buffer type before upgrading to v0.28.0 which had the migration behavior removed.
-type = "disk_v1"
+type = "disk"
The change should be transparent. See the blog post about the promotion of the new disk buffers to
the default for type = "disk" for details about
this migration. Also see the blog post about the introduction of the new disk buffer
implementation for the reasons the new disk buffer
implementation was introduced.
Renaming of host to hostname in datadog_logs
In the datadog_logs sink, if an event contained the host key from either the global
log schema, or the host path of the event, it was renamed to host. This was changed to rename it
to hostname, to match the Datadog Agent intake API.
Deprecation notices
The redis sink’s url argument changed to endpoint
To maintain consistent naming with other Vector sinks, the url option in the
redis sink has been renamed to endpoint. url will still work, but has
been deprecated and will be removed in due course.
The aws_s3 source’s strategy option has been hidden
The strategy option has been hidden on the documentation for the aws_s3 source.
sqs is currently the only value for this option, and is currently the default. If
additional strategies are added for this source, we will expose this option again.
No changes need to be made by users of this source, it is a documentation only change.
The axiom sink now hardcodes the timestamp-field header
Previously this sink used the global log_schema to provide the value for this header, however the
actual implementation always ensured an event’s timestamp was stored at @timestamp. In this release
we’ve hardcoded this header to match the underlying implementation.
The datadog_logs and datadog_metrics sinks’ api_key option will be removed in 0.29
The api_key option has been hidden on the documentation for the datadog_logs
and datadog_metrics sinks for a few releases now, with the documented name for
that setting being default_api_key. The api_key is now formally deprecated and
will be removed in the 0.29.0 release.
Potentially impactful changes
AWS components now use OpenSSL as the TLS implementation
In this release, Vector’s AWS integrations had their TLS implementation swapped from
rustls to OpenSSL. We don’t expect any user visible impact,
but please let us know if this change causes you any issues.
We made this change primarily since most of Vector’s dependencies use OpenSSL and so it reduces our
maintenance burden caused by any variances in the implementation. We may re-evaluate in the future
as more of the Rust ecosystem supports rustls.
The azure_monitor_logs sink now encodes the timestamp at a configurable path
Previously this sink would include a properly formatted timestamp at a path determined by the log_schema
as well as setting a time-generated-field header with a value of that path. Azure Monitor will use the contained value
to populate the TimeGenerated standard column.
In this release we’ve added a time_generated_key option that determines where this field is encoded, this field defaults
to the value set in log_schema if unset.