Vector v0.38.0 release notes
The Vector team is pleased to announce version 0.38.0!
Be sure to check out the upgrade guide for breaking changes in this release.
This release just contains a mix of small enhancements and bug fixes. See the changelog below.
Vector Changelog
4 new features
- Support was added for additional config options for
length_delimitedframing. - The
clickhousesink now has a new configuration option,insert_random_shard, to tell Clickhouse to insert into a random shard (by settinginsert_distributed_one_random_shard). See the Clickhouse Distributed Table Engine docs for details.Thanks to rguleryuz for contributing this change! - The Elasticsearch sink is now able to use external versioning for documents. To use it set
bulk.version_typetoexternaland then setbulk.versionto either some static value like123or use templating to use an actual field from the document{{ my_document_field }}.Thanks to radimsuckr for contributing this change! - Support was added for loading secrets from AWS Secrets Manager (AWS SSM).
8 enhancements
- The Google Chronicle Unstructured Log sink now supports adding a namespace to the log events for indexing within Chronicle.Thanks to ChocPanda for contributing this change!
A new histogram metric was added,
component_received_bytes, that measures the byte-size of individual events received by the following sources:socketstatsdsyslog
Thanks to pabloem for contributing this change!- A new option,
max_number_of_messages, was added to the SQS configuration of theaws_s3source.Thanks to fdamstra for contributing this change! - Support was added for
expiration_mson theamqpsink, to set an expiration on messages sent.Thanks to sonnens for contributing this change! - The previous inner databend client was changed to client provided by databend rust driver in https://github.com/datafuselabs/bendsql/. With the new client, the
endpointconfig supports both HTTP URI likehttp://localhost:8000as well as DSN likedatabend://root:@localhost:8000/mydatabase?sslmode=disable&arg=valuewhich could provide more customization for the inner client.Thanks to everpcpc for contributing this change! - The distroless images have changed their base from Debian 11 to Debian 12.
- The Google Chronicle Unstructured Log sink now supports adding labels to the log events for indexing within Chronicle.Thanks to bwerthmann for contributing this change!
- A new config field
missing_field_aswas added to thedatabendsink to specify the behavior when fields are missing. Previously the behavior was the same as setting this new configuration option toERROR. The new default value isNULL.Thanks to everpcpc for contributing this change!
7 bug fixes
- The
kafkasource again emits received bytes and event counts correctly.Thanks to jches for contributing this change! - An issue was fixed where the
log_to_metrictransform withall_metricsset totruefailed to convert properly-formatted ‘set’-type events into metrics.Thanks to pabloem for contributing this change! - Vector would panic when attempting to use a combination af
access_key_idandassume_roleauthentication with the AWS components. This error has now been fixed.Thanks to StephenWakely for contributing this change! - A
messagesemantic meaning was added to the Splunk HEC source. This only applies to theVectorlog namespace. - The
datadog_logssink was not re-constructing ddtags that may have been parsed upstream by thedatadog_agentsource’sparse_ddtagssetting. The sink log encoding was fixed to re-assemble the tags into a unified string that the Datadog logs intake expects. - The
prometheus_exportersink is now able to correctly handle a mix of both incremental and absolute valued gauges arriving for the same metric series.Thanks to RussellRollins for contributing this change! Previously, when the
auto_extract_timestampsetting in thesplunk_hec_logsSink was enabled, the sink was attempting to remove the existing event timestamp. This would throw a warning that the timestamp type was invalid.This has been fixed to leave the timestamp on the event if
auto_extract_timestampis enabled, since this setting indicates that Vector should let Splunk remove it.
4 chore
- The
protobufdecoder will no longer set fields on the decoded event that are not set in the incoming byte stream. Previously, it would set the default value for the field even if it wasn’t in the event. This change ensures that the encoder will return the exact same bytes for the same given event. - Previously the
datadog_agentsettingparse_ddtagsparsed the tag string into an Object. It is now parsed into an Array ofkey:valuestrings, which matches the behavior of the Datadog logs backend intake. - The deprecated
--strict-env-varsflag has been removed. The previous behavior of defaulting unset environment variables can be accomplished by syntax like${FOO-}(which will defaultFOOto empty string if unset). See the configuration environment variables docs for more about this syntax. - The
enterpriseglobal configuration has been deprecated and will be removed in a future version. This corresponds to a deprecation for “Vector Enterprise” by the Datadog Observability Pipelines product.