This project uses towncrier for changelog generation.
- fixed
parse_logfmthandling of escapes in values that could cause spurious keys to be created. As a result of this fix, the breaking change has been made to no longer allow empty keys in key-value pair formats (vectordotdev#725)
-
Added the
returnexpression as per RFC 7496. This expression can be used to terminate the VRL program early while still emitting a value. (vectordotdev#712) -
Added
sievestring function, which can remove unwanted characters from a string using a regex of allowed patterns. (vectordotdev#724) -
Add VRL function
uuid_v7that generates UUIDv7 timestamp-based unique identifiers. (vectordotdev#738) -
Added
encode_protoandparse_protofunctions, which can be used to encode and decode protobufs.parse_protoaccepts a bytes value, a proto descriptor file path and a message type and returns the VRL value as parsed from the proto.encode_protodoes the reverse and converts a VRL value into a protobuf bytes value. (vectordotdev#739)
parse_nginxnow accepts empty values for http referer (vectordotdev#643)
- Added
validateoption toencode_punycodeanddecode_punycode, which defaults to true, but can be used to skip validation when set to false. (vectordotdev#709)
- Added
parse_etldfunction for extracting eTLD and eTLD+1 (vectordotdev#669) - Added
encode_punycodeanddecode_punycodefunctions (vectordotdev#672)
-
Introduced a
redactoroption inredactfunction to enable the substitution of redacted content with either a custom string or a hash representation. (vectordotdev#633) -
Add VRL function
get_timezone_nameto return the configured/resolved IANA timezone name.authors: klondikedragon (vectordotdev#671)
- Fixed a bug in exporting paths containing more than one "coalesce" segment. (vectordotdev#679)
- Introduced an unused expression checker. It's designed to detect and report unused expressions, helping users to clean up and optimize their VRL scripts. Note that this checker will not catch everything, but it does aim to eliminate false positives. For example, shadowed variables are not reported as unused. (vectordotdev#622)
- Add a
replace_withfunction that is similar toreplacebut takes a closure instead of a replacement string. (vectordotdev#628)
- Added the
alias_sourcesparameter forparse_groksto read sources from files. (vectordotdev#194)
- Support for WASM features using
chronowas readded. This was accidentally dropped in 0.9.0.
parse_regex_allpatternparam can now be resolved from a variable- fixed
parse_jsondata corruption issue for numbers greater or equal toi64::MAX - support timestamp comparison using operators <, <=, >, >=
- added
contains_allfunction (vectordotdev#468) from_unix_timestampnow accepts a new unit: Microseconds. (vectordotdev#492)parse_nginx_logno longer fails ifupstream_response_length,upstream_response_time,upstream_statusare missing (vectordotdev#498)- added
parse_floatfunction (vectordotdev#484) - improved fallibility diagnostics (vectordotdev#523)
- added
encode_snappyanddecode_snappyfunctions (vectordotdev#543)
parse_nginx_logdoesn't fail if the values of key-value pairs in error logs is missing (vectordotdev#442)encode_gzipandencode_zlibnow correctly check the compression level (preventing a panic) (vectordotdev#393)- fix the type definition of array/object literal expressions where one of the values is undefined (vectordotdev#401)
parse_aws_vpc_flow_lognow handles account-id value as a string, avoiding loss of leading zeros and case where value isunknown(vectordotdev#263)
parse_key_valuecan now parse values enclosed in single quote characters (vectordotdev#382)- added
prettyparameter forencode_jsonvrl function to produce pretty-printed JSON string (vectordotdev#370) - added
community_idfunction for generation of V1 Community IDs (vectordotdev#360) - updated aws vpc flow log parsing to include version 5 fields (vectordotdev#227)
- removed deprecated
to_timestampfunction (vectordotdev#452) - changed
truncatearguments, it now accepts a suffix string instead of a boolean (vectordotdev#454)
- enquote values containing
=inencode_logfmtvrl function (vectordotdev/vector#17855) - breaking change to
parse_nginx_log()to make it compatible to more unstandardized events (vectordotdev#249)
- deprecated
to_timestampvrl function (vectordotdev#285) - add support for chacha20poly1305, xchacha20poly1305, xsalsa20poly1305 algorithms for encryption/decryption (vectordotdev#293)
- add support for resolving variables to
Expr::resolve_constant(vectordotdev#304) - introduce new encryption/decryption algorithm options (
"AES-*-CTR-BE","AES-*-CTR-LE") vectordotdev#299
- added \0 (null) character literal to lex parser (vectordotdev#259)
- added the
timezoneargument to theformat_timestampvrl function. (vectordotdev#247) - removed feature flags for each individual VRL function. (vectordotdev#251)
- fixed a panic when arithmetic overflows. It now always wraps (only in debug builds). (vectordotdev#252)
ingress_upstreaminfolog format has been added toparse_nginx_logfunction (vectordotdev#193)- fixed type definitions for side-effects inside of queries (vectordotdev#258)
- replaced
Program::final_type_statewithProgram::final_type_infoto give access to the type definitions of both the target and program result (vectordotdev#262) - added
from_unix_timestampvrl function (vectordotdev#277)
- consolidated all crates into the root
vrlcrate. The external API stayed the same, with the exception of macros, which are now all exported at the root of thevrlcrate. - published VRL to crates.io. Standard crate versioning will now be used instead of git tags.
- fixed a type definition bug for assignments where the right-hand side of the assignment expression resolved to the
nevertype - removed the deprecated
FieldBuffromField - removed the lookup v1 code
- renamed the
lookupcrate topath - re-exported all sub-crates in the root
vrlcrate - fix the
valuemacro so it works when re-exported
- added guard for the
limitparam of thesplitfunction to ensure it's not negative - renamed
Expression::as_valuetoExpression::resolve_constant matchfunction now precompiles static regular expressions- enabled the
encryptanddecryptVRL functions on the WASM playground - update default branch to
main - the following VRL functions now compile on WASM (but abort at runtime)
get_hostname- `log'
- `reverse_dns'
parse_grokparse_groks
- VRL was split from the Vector repo