6.0.0

Orange-OpenSource/hurl6.0.0Dec 4, 2024by hurl-bot

AI Summary

Major version introducing parallel execution, JSON report, and new UUID functionality.

Key Highlights

  • Run tests in parallel for improved performance
  • Add JSON report and expose request comments
  • Add --curl option to export executed requests to curl commands
  • Support short names for sections and new newUuid function

Breaking Changes

  • Check that variables do not conflict with existing functions
  • Remove deprecated --fail-at-end option
  • Change API for setting variable in hurl::runner::run
  • Remove hurlfmt deprecated --format option
  • Rename feature flag from vendored-openssl to static-openssl

New Features

  • Implement function newUuid
  • Implement --limit-rate from curl
  • Add --curl option to export executed requests to curl commands
  • Configure --connect-timeout per request
  • Support short name for sections
  • Remove url-specific parser (align with grammar)
  • Remove the crate float-cmp
  • Jsonpath / Add filter on boolean value
  • Jsonpath / Add non-equal filter on string and number value
  • Add support for backtick strings in predicates values
  • Categorise options in --help
  • Support more JSON / XML 'like' mimetypes with debug output
  • Add curl debug command to --json and JSON report
  • Add curl debug command to HTML report
  • Render Date value
  • Add newDate generator

Full Release Notes

[6.0.0 (2024-12-03)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#6.0.0)
========================================================================================================================

Thanks to
[@cemoktra](https://github.com/cemoktra),
[@zikani03](https://github.com/zikani03),
[@lambrospetrou](https://github.com/lambrospetrou),
[@jmvargas](https://github.com/jmvargas),
[@quantonganh](https://github.com/quantonganh),
[@sandeshbhusal](https://github.com/sandeshbhusal),
[@thePanz](https://github.com/thePanz),
[@niklasweimann](https://github.com/niklasweimann),
[@infogulch](https://github.com/infogulch),
[@orlandow](https://github.com/orlandow),
[@bp7968h](https://github.com/bp7968h),

See a [tour of this version here!](https://hurl.dev/blog/2024/12/04/announcing-hurl-6.0.0.html)

Breaking Changes:

* Check that variables do not conflict with existing functions [#3229](https://github.com/Orange-OpenSource/hurl/issues/3229)
* Remove deprecated --fail-at-end option [#3430](https://github.com/Orange-OpenSource/hurl/issues/3430)
* Change API for setting variable in hurl::runner::run [#3440](https://github.com/Orange-OpenSource/hurl/issues/3440)
* Remove hurlfmt deprecated --format option [#3445](https://github.com/Orange-OpenSource/hurl/issues/3445)
* Rename feature flag from vendored-openssl to static-openssl [#3460](https://github.com/Orange-OpenSource/hurl/issues/3460)


Enhancements:

* Implement function newUuid [#973](https://github.com/Orange-OpenSource/hurl/issues/973)
* Implement --limit-rate from curl [#1222](https://github.com/Orange-OpenSource/hurl/issues/1222)
* Add --curl option to export executed requests to curl commands [#2679](https://github.com/Orange-OpenSource/hurl/issues/2679)
* Configure --connect-timeout per request [#3163](https://github.com/Orange-OpenSource/hurl/issues/3163)
* Support short name for sections [QueryStringParams] => [Query], [FormParams] => [Form], [MultipartFormData] => [Multipart] [#3238](https://github.com/Orange-OpenSource/hurl/issues/3238)
* Remove url-specific parser (align with grammar) [#3244](https://github.com/Orange-OpenSource/hurl/issues/3244)
* Remove the crate float-cmp [#3247](https://github.com/Orange-OpenSource/hurl/issues/3247)
* Jsonpath / Add filter on boolean value  [#3252](https://github.com/Orange-OpenSource/hurl/issues/3252)
* Jsonpath / Add non-equal filter on string and number value [#3261](https://github.com/Orange-OpenSource/hurl/issues/3261)
* Add support for backtick strings in predicates values [#3317](https://github.com/Orange-OpenSource/hurl/issues/3317)
* Categorise options in --help [#3339](https://github.com/Orange-OpenSource/hurl/issues/3339)
* Support more JSON / XML "like" mimetypes with debug output [#3343](https://github.com/Orange-OpenSource/hurl/issues/3343)
* Add curl debug command to --json and JSON report [#3374](https://github.com/Orange-OpenSource/hurl/issues/3374)
* Add curl debug command to HTML report [#3386](https://github.com/Orange-OpenSource/hurl/issues/3386)
* Render Date value [#3431](https://github.com/Orange-OpenSource/hurl/issues/3431)
* Add newDate generator [#3443](https://github.com/Orange-OpenSource/hurl/issues/3443)


Bugs Fixed:

* Fix reading standard input multiple times [#3216](https://github.com/Orange-OpenSource/hurl/issues/3216)
* Fix filename parsing (used by cert option) [#3242](https://github.com/Orange-OpenSource/hurl/issues/3242)
* Add additional check for --max-filesize option [#3245](https://github.com/Orange-OpenSource/hurl/issues/3245)
* Support case-insensitive Cookie Attributes [#3265](https://github.com/Orange-OpenSource/hurl/issues/3265)
* Allow any string in Location Header when not following redirection [#3293](https://github.com/Orange-OpenSource/hurl/issues/3293)
* Fix graceful shutdown of workers threads in --test [#3297](https://github.com/Orange-OpenSource/hurl/issues/3297)
* Fix missing space in variable option HTML export [#3412](https://github.com/Orange-OpenSource/hurl/issues/3412)