Vector v0.32.0 release notes
Upgrading Vector
When upgrading, we recommend stepping through minor versions as
these can each contain breaking changes while Vector is pre-1.0.
These breaking changes are noted in their respective upgrade
guides.
Known issues
A number of sinks emit incorrect telemetry for the
component_sent_*metrics:- WebHDFS
- GCP Cloud Storage
- AWS S3
- Azure Blob Storage
- Azure Monitor Logs
- Databend
- Clickhouse
- Datadog Logs
This is fixed in v0.32.1.
- The newly added
--openssl-legacy-providerflag cannot actually be disabled by setting it tofalsevia--openssl-legacy-provider=false. Instead it complains of extra arguments. This is fixed in v0.32.1. - For AWS components, using
assume_rolefor authentication without anexternal_idcaused a panic. This is fixed in v0.32.2`.
The Vector team is pleased to announce version 0.32.0!
Be sure to check out the upgrade guide for breaking changes in this release.
In addition to the usual enhancements and bug fixes, this release includes:
- a new
greptimedbsink for sending metrics to GreptimeDB - a new
protobufcodec that can be used on sources that support codecs to decode incoming protobuf data
Vector Changelog
2 new features
- A new
greptimedbsink was added allowing Vector to send metrics to GreptimeDB.
Thanks to sunng87 for contributing this change! - Configuration fields that are field lookups (such as
log_schema.timestamp_key) are now parsed at boot-time rather than run-time. In addition to better performance, this also means that invalid paths return an error at start time rather than being silently ignored at runtime.
7 enhancements
- The
clickhousesinkdatabaseandtableoptions are now templatable. - The
prometheus_scrapesource now scrapes configured targets in parallel.
Thanks to nullren for contributing this change! - The
prometheus_scrapesource now has ascrape_timeout_secsoption to configure how long Vector should wait for each request.
Thanks to nullren for contributing this change! - Vector’s
debianDocker images are now based on Debian 12 (Bookworm). - Vector sources that support codecs now support
protobufas an option. A Protobuf descriptor file must also be provided to use to decode the data.
Thanks to Daniel599 for contributing this change! VRL’s
encryptanddecryptfunctions now support additional algorithms:CHACHA20-POLY1305XCHACHA20-POLY1305XSALSA20-POLY1305AES-*-CTR-BE(to disambiguate endianness ofAES-*-CTR)AES-*-CTR-LE(to disambiguate endianness ofAES-*-CTR)
Thanks to alisa101rs for contributing this change!- The
natssource and sink have been switched to use a more modern NATS library to lay the groundwork for a JetStream source.
Thanks to paolobarbolini, makarchuk for contributing this change!
16 bug fixes
- The
luatransform now sets thesource_idmetadata to its own component ID if an event is emitted by the transform that has no originsource_id(e.g. events constructed in the transform itself). - VRL conditions included in configurations (e.g. the
filtertransform) are now checked at boot-time to ensure that they return a boolean instead of treating all non-boolean return values asfalse. - The
vectorsink now considersDataLossresponses to be hard errors at indicates the a sink in the downstreamvectorsource rejected the data. Thevectorsink will now not retry these errors and also reject them in any connected sources (whenacknowledgementsare enabled).
Thanks to sbalmos for contributing this change! - The
vectorsink now correctly applies configured HTTPS proxy settings. Previously it would fail to validate the downstream certificate.
Thanks to joemiller for contributing this change! - The
splunk_hecsource now treats the fields on incoming events as “flat” rather than interpreting them as field paths. For example, an incomingfoo.barfield is now inserted as{"foo.bar": "..."}rather than{"foo": {"bar": "..."}}. This avoids panics that were caused by invalid paths. - Fractional second configuration options are now correctly parsed as fractional.
Previously they would round to the nearest second.
Thanks to sbalmos for contributing this change! - The Vector API can now correctly be disabled during reload by setting
api.enabledtofalse.
Thanks to KH-Moogsoft for contributing this change! - The
component_received_event_bytes_totalandcomponent_sent_event_bytes_totalmetrics for sinks are now calculated after anyencoding.only_fieldsorencoding.except_fieldsoptions are applied. - The
websocketsink now correctly sends data as binary for “binary” codecs:raw,native, andavro. Previously it would always interpret the bytes as text (UTF-8).
Thanks to zhongchen for contributing this change! - The
syslogsource now correctly handles escape sequences appearing the structured data segment. - Numeric compression levels can now be set when using TOML. Previously Vector would fail to parse the configuration. This already worked for YAML and JSON configurations.
- Sinks that support Adaptive Request Concurrency options now support configuring an
initial_concurrencyto start the concurrency limit at rather than starting at a limit of1.
Thanks to blake-mealey for contributing this change! - VRL’s
encode_logfmtfunction now escapes all values including=s. - VRL’s
parse_nginx_logfunction now handles morecombinedformats.
Thanks to scMarkus for contributing this change! - The
azure_blob_storagesink now sets the correct content-type based on the configuredencodingoptions.
Thanks to stemjacobs for contributing this change! - The
vectorsource no longer fails to decode large payloads. This was a regression in 0.31.0 when a 4 MB limit was inadvertently applied.
1 chore
- VRL’s
to_timestampfunction was deprecated.