Skip to content

Latest commit

 

History

History
161 lines (109 loc) · 8.66 KB

CHANGELOG.md

File metadata and controls

161 lines (109 loc) · 8.66 KB

Changelog

This project uses towncrier for changelog generation.

[0.13.0 (2024-03-18)]

Breaking Changes & Upgrade Guide

  • fixed parse_logfmt handling 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)

New Features

  • Added the return expression as per RFC 7496. This expression can be used to terminate the VRL program early while still emitting a value. (vectordotdev#712)

  • Added sieve string function, which can remove unwanted characters from a string using a regex of allowed patterns. (vectordotdev#724)

  • Add VRL function uuid_v7 that generates UUIDv7 timestamp-based unique identifiers. (vectordotdev#738)

  • Added encode_proto and parse_proto functions, which can be used to encode and decode protobufs.

    parse_proto accepts a bytes value, a proto descriptor file path and a message type and returns the VRL value as parsed from the proto. encode_proto does the reverse and converts a VRL value into a protobuf bytes value. (vectordotdev#739)

Fixes

[0.12.0 (2024-03-08)]

New Features

  • Added validate option to encode_punycode and decode_punycode, which defaults to true, but can be used to skip validation when set to false. (vectordotdev#709)

[0.11.0 (2024-02-07)]

New Features

Enhancements

  • Introduced a redactor option in redact function to enable the substitution of redacted content with either a custom string or a hash representation. (vectordotdev#633)

  • Add VRL function get_timezone_name to return the configured/resolved IANA timezone name.

    authors: klondikedragon (vectordotdev#671)

Fixes

  • Fixed a bug in exporting paths containing more than one "coalesce" segment. (vectordotdev#679)

[0.10.0 (2024-01-24)]

New Features

  • 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_with function that is similar to replace but takes a closure instead of a replacement string. (vectordotdev#628)

Enhancements

  • Added the alias_sources parameter for parse_groks to read sources from files. (vectordotdev#194)

0.9.1 (2023-12-21)

Bug Fixes

  • Support for WASM features using chrono was readded. This was accidentally dropped in 0.9.0.

0.9.0 (2023-12-12)

  • parse_regex_all pattern param can now be resolved from a variable
  • fixed parse_json data corruption issue for numbers greater or equal to i64::MAX
  • support timestamp comparison using operators <, <=, >, >=

0.8.0 (2023-10-31)

Features

0.7.0 (2023-09-25)

Bug Fixes

  • parse_nginx_log doesn't fail if the values of key-value pairs in error logs is missing (vectordotdev#442)
  • encode_gzip and encode_zlib now 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_log now handles account-id value as a string, avoiding loss of leading zeros and case where value is unknown (vectordotdev#263)

Features

0.6.0 (2023-08-02)

Bug Fixes

Features

  • deprecated to_timestamp vrl 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

0.5.0 (2023-06-28)

  • added \0 (null) character literal to lex parser (vectordotdev#259)
  • added the timezone argument to the format_timestamp vrl 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_upstreaminfo log format has been added to parse_nginx_log function (vectordotdev#193)
  • fixed type definitions for side-effects inside of queries (vectordotdev#258)
  • replaced Program::final_type_state with Program::final_type_info to give access to the type definitions of both the target and program result (vectordotdev#262)
  • added from_unix_timestamp vrl function (vectordotdev#277)

0.4.0 (2023-05-11)

  • consolidated all crates into the root vrl crate. The external API stayed the same, with the exception of macros, which are now all exported at the root of the vrl crate.
  • published VRL to crates.io. Standard crate versioning will now be used instead of git tags.

0.3.0 (2023-05-05)

  • fixed a type definition bug for assignments where the right-hand side of the assignment expression resolved to the never type
  • removed the deprecated FieldBuf from Field
  • removed the lookup v1 code
  • renamed the lookup crate to path
  • re-exported all sub-crates in the root vrl crate
  • fix the value macro so it works when re-exported

0.2.0 (2023-04-03)

  • added guard for the limit param of the split function to ensure it's not negative
  • renamed Expression::as_value to Expression::resolve_constant
  • match function now precompiles static regular expressions
  • enabled the encrypt and decrypt VRL 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_grok
    • parse_groks

0.1.0 (2023-03-27)

  • VRL was split from the Vector repo