Skip to content

Latest commit

 

History

History
199 lines (126 loc) · 9.89 KB

CHANGELOG.md

File metadata and controls

199 lines (126 loc) · 9.89 KB

Changelog

This project uses towncrier for changelog generation.

[0.16.0 (2024-06-06)]

Breaking Changes & Upgrade Guide

  • The deprecated coalesce paths (i.e. (field1|field2)) feature is now removed. (#836)

New Features

  • Added experimental dns_lookup function. It should be used with caution, since it involves network calls and is therefore very slow.

  • Added psl argument to the parse_etld function. It enables customizing used public suffix list. If none is provided the default (https://publicsuffix.org/list/public_suffix_list.dat) is used, which is that was used before this change.

Enhancements

  • Add traceability_id field support to parse_aws_alb_log (#862)

[0.15.0 (2024-05-01)]

Deprecations

  • Coalesce paths (i.e. (field1|field2)) are deprecated and will be removed in a future version. This feature is rarely used and not very useful. (#815)

[0.14.0 (2024-04-29)]

New Features

  • Add uuid_from_friendly_id for converting base62-encoded 128-bit identifiers to the hyphenated UUID format (#803)

Fixes

  • parse_json now supports round-tripable float parsing by activating the float_roundtrip feature in serde_json (#755)

[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 (#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. (#712)

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

  • Add VRL function uuid_v7 that generates UUIDv7 timestamp-based unique identifiers. (#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. (#739)

Fixes

  • parse_nginx now accepts empty values for http referer (#643)

[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. (#709)

[0.11.0 (2024-02-07)]

New Features

  • Added parse_etld function for extracting eTLD and eTLD+1 (#669)
  • Added encode_punycode and decode_punycode functions (#672)

Enhancements

  • Introduced a redactor option in redact function to enable the substitution of redacted content with either a custom string or a hash representation. (#633)
  • Add VRL function get_timezone_name to return the configured/resolved IANA timezone name.

Fixes

  • Fixed a bug in exporting paths containing more than one "coalesce" segment. (#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. (#622)
  • Add a replace_with function that is similar to replace but takes a closure instead of a replacement string. (#628)

Enhancements

  • Added the alias_sources parameter for parse_groks to read sources from files. (#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

  • added contains_all function (#468)
  • from_unix_timestamp now accepts a new unit: Microseconds. (#492)
  • parse_nginx_log no longer fails if upstream_response_length, upstream_response_time, upstream_status are missing (#498)
  • added parse_float function (#484)
  • improved fallibility diagnostics (#523)
  • added encode_snappy and decode_snappy functions (#543)

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 (#442)
  • encode_gzip and encode_zlib now correctly check the compression level (preventing a panic) (#393)
  • fix the type definition of array/object literal expressions where one of the values is undefined (#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 (#263)

Features

  • parse_key_value can now parse values enclosed in single quote characters (#382)
  • added pretty parameter for encode_json vrl function to produce pretty-printed JSON string (#370)
  • added community_id function for generation of V1 Community IDs (#360)
  • updated aws vpc flow log parsing to include version 5 fields (#227)
  • removed deprecated to_timestamp function (#452)
  • changed truncate arguments, it now accepts a suffix string instead of a boolean (#454)

0.6.0 (2023-08-02)

Bug Fixes

  • enquote values containing = in encode_logfmt vrl function (vectordotdev/vector#17855)
  • breaking change to parse_nginx_log() to make it compatible to more unstandardized events (#249)

Features

  • deprecated to_timestamp vrl function (#285)
  • add support for chacha20poly1305, xchacha20poly1305, xsalsa20poly1305 algorithms for encryption/decryption (#293)
  • add support for resolving variables to Expr::resolve_constant (#304)
  • introduce new encryption/decryption algorithm options ("AES-*-CTR-BE", "AES-*-CTR-LE") #299

0.5.0 (2023-06-28)

  • added \0 (null) character literal to lex parser (#259)
  • added the timezone argument to the format_timestamp vrl function. (#247)
  • removed feature flags for each individual VRL function. (#251)
  • fixed a panic when arithmetic overflows. It now always wraps (only in debug builds). (#252)
  • ingress_upstreaminfo log format has been added to parse_nginx_log function (#193)
  • fixed type definitions for side-effects inside of queries (#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 (#262)
  • added from_unix_timestamp vrl function (#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