[8.0.0 (2026-04-24)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#8.0.0)
========================================================================================================================

Thanks to
[@backtozero](https://github.com/backtozero),
[@Hari-Oggy](https://github.com/Hari-Oggy),
[@eyupcanakman](https://github.com/eyupcanakman),
[@AdmiralRazorbeard](https://github.com/AdmiralRazorbeard),
[@giorgiovilardo](https://github.com/giorgiovilardo),
[@kikonen](https://github.com/kikonen),
[@eirayuki](https://github.com/eirayuki),
[@aageneralov](https://github.com/aageneralov),
[@mateusz834](https://github.com/mateusz834),
[@msterin](https://github.com/msterin),
[@lillem4n](https://github.com/lillem4n),
[@jwadolowski](https://github.com/jwadolowski),
[@ashishajr](https://github.com/ashishajr),
[@spiffytech](https://github.com/spiffytech),
[@rajiv](https://github.com/rajiv),

Breaking Changes:

* Use CookieStore in HurlResult (crate compatibility) [#4697](https://github.com/Orange-OpenSource/hurl/issues/4697)
* Delete deprecated --interactive option [#4712](https://github.com/Orange-OpenSource/hurl/issues/4712)
* Replace legacy env var variable configuration HURL_foo by HURL_VARIABLE_foo [#4882](https://github.com/Orange-OpenSource/hurl/issues/4882)
* Rename ignore-asserts to no-assert [#4889](https://github.com/Orange-OpenSource/hurl/issues/4889)
* Using new JSONPath module implementing RFC 9535 [#4270](https://github.com/Orange-OpenSource/hurl/issues/4270)


Enhancements:

* Add raw multiline strings and remove deprecated multiline attributes [#1733](https://github.com/Orange-OpenSource/hurl/issues/1733)
* Add --no-cookie-store option to deactivate cookie storage for one file [#2168](https://github.com/Orange-OpenSource/hurl/issues/2168)
* Rename --noproxy to --no-proxy with backward compatible alias [#4709](https://github.com/Orange-OpenSource/hurl/issues/4709)
* Separate color usage (ANSI codes) for standard output and standard error [#4790](https://github.com/Orange-OpenSource/hurl/issues/4790)
* Add support for asserting/capturing TLS certificate value [#4698](https://github.com/Orange-OpenSource/hurl/issues/4698)
* Use color/pretty when using output per request [#4970](https://github.com/Orange-OpenSource/hurl/issues/4970)
* Support color env variables configuration [#4777](https://github.com/Orange-OpenSource/hurl/issues/4777)
* Enhance error message for invalid filter input on filters [#4381](https://github.com/Orange-OpenSource/hurl/issues/4381)
* Add `rawbytes` query [#4250](https://github.com/Orange-OpenSource/hurl/issues/4250)
* Using new JSONPath module implementing RFC 9535 [#4270](https://github.com/Orange-OpenSource/hurl/issues/4270)
* Add --verbosity option (globally and per request) [#4613](https://github.com/Orange-OpenSource/hurl/issues/4613)
* Add Subject Alt Name (SAN) attribute for certificate assertions [#4617](https://github.com/Orange-OpenSource/hurl/issues/4617)


Bugs Fixed:

* Reject invalid header value on command line option [#4843](https://github.com/Orange-OpenSource/hurl/issues/4843)
* Fix single quote in cookie value breaking curl output [#4557](https://github.com/Orange-OpenSource/hurl/issues/4557)
* Add support for curl --data-raw option in hurlfmt import [#4411](https://github.com/Orange-OpenSource/hurl/issues/4411)
* Fix truncating existing output file when response is tiny [#4576](https://github.com/Orange-OpenSource/hurl/issues/4576)


Deprecations:

* Add charsetDecode filter and make decode deprecated [#4732](https://github.com/Orange-OpenSource/hurl/issues/4732)



[7.1.0 (2025-11-18)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#7.1.0)
========================================================================================================================

Thanks to
[@Nezteb](https://github.com/Nezteb),
[@quantonganh](https://github.com/quantonganh),
[@lambrospetrou](https://github.com/lambrospetrou),
[@linkdd](https://github.com/linkdd),
[@gugahoa](https://github.com/gugahoa),
[@MikhailWahib](https://github.com/MikhailWahib),
[@ashishajr](https://github.com/ashishajr),
[@rcrisanti](https://github.com/rcrisanti),

Enhancements:

* Add CLI option to pretty print the response body [#1760](https://github.com/Orange-OpenSource/hurl/issues/1760)
* Add pretty print option [#1760](https://github.com/Orange-OpenSource/hurl/issues/1760)
* Support adding secret with HURL_SECRET_foo env variable [#3901](https://github.com/Orange-OpenSource/hurl/issues/3901)
* Use happy path with http/https scheme for URL parsing to improve stress test use-cases [#4144](https://github.com/Orange-OpenSource/hurl/issues/4144)
* Support `--secrets-file` for injecting secrets [#4309](https://github.com/Orange-OpenSource/hurl/issues/4309)
* Add `--ntlm` option per request [#4322](https://github.com/Orange-OpenSource/hurl/issues/4322)
* Add `--negotiate` option per request [#4323](https://github.com/Orange-OpenSource/hurl/issues/4323)
* Add utf8Decode/utf8Encode filters [#4382](https://github.com/Orange-OpenSource/hurl/issues/4382)
* Replace unmaintained encoding crate with encoding_rs crate [#4399](https://github.com/Orange-OpenSource/hurl/issues/4399)
* Enhance logging for retry [#4419](https://github.com/Orange-OpenSource/hurl/issues/4419)
* Add support for hour duration  [#4422](https://github.com/Orange-OpenSource/hurl/issues/4422)
* Enhance `--test` duration logging [#4423](https://github.com/Orange-OpenSource/hurl/issues/4423)
* Add parsing support for more types of date time strings to toDate filter  [#4439](https://github.com/Orange-OpenSource/hurl/issues/4439) [#4440](https://github.com/Orange-OpenSource/hurl/issues/4440) [#4441](https://github.com/Orange-OpenSource/hurl/issues/4441)
* HTML report enhancements [#4445](https://github.com/Orange-OpenSource/hurl/issues/4445) [#4446](https://github.com/Orange-OpenSource/hurl/issues/4446)
* Add retry count in the progress bar (only if retry >= 1) [#4511](https://github.com/Orange-OpenSource/hurl/issues/4511)
* Add isList predicate [#4520](https://github.com/Orange-OpenSource/hurl/issues/4520)
* Add isObject predicate [#4520](https://github.com/Orange-OpenSource/hurl/issues/4520)


Bugs Fixed:

* Parse `--user`, `--negotiate`, and `--ntlm` options in hurlfmt [#4213](https://github.com/Orange-OpenSource/hurl/issues/4213)
* Add parsing support for more types of date time strings to toDate filter  [#4439](https://github.com/Orange-OpenSource/hurl/issues/4439) [#4440](https://github.com/Orange-OpenSource/hurl/issues/4440) [#4441](https://github.com/Orange-OpenSource/hurl/issues/4441)
* Accept more path names when appending HTML reports [#4459](https://github.com/Orange-OpenSource/hurl/issues/4459)
* Fix filtering of Authorization: and Cookie: headers when following redirections [#4460](https://github.com/Orange-OpenSource/hurl/issues/4460)
* Fix supporting space in cookie storage cookie values [#4461](https://github.com/Orange-OpenSource/hurl/issues/4461)
* Fix implicit "Content-Type" headers when following redirections [#4522](https://github.com/Orange-OpenSource/hurl/issues/4522)
* Fix curl debug command with dot-prefixed cookie domain [#4558](https://github.com/Orange-OpenSource/hurl/issues/4558)


[7.0.0 (2025-07-28)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#7.0.0)
========================================================================================================================

Thanks to
[@ecolinet](https://github.com/ecolinet),
[@theoforger](https://github.com/theoforger),
[@Muntaner](https://github.com/Muntaner),
[@ashishajr](https://github.com/ashishajr),
[@patkujawa-wf](https://github.com/patkujawa-wf),
[@niklasweimann](https://github.com/niklasweimann),
[@alanbondarun](https://github.com/alanbondarun),
[@benkio](https://github.com/benkio),
[@dhth](https://github.com/dhth),
[@verigak](https://github.com/verigak),
[@markphilpot](https://github.com/markphilpot),
[@lambrospetrou](https://github.com/lambrospetrou),
[@aresler](https://github.com/aresler),
[@nfj25](https://github.com/nfj25),
[@nwellnhof](https://github.com/nwellnhof),
[@YannickAlex07](https://github.com/YannickAlex07),
[@lu-zero](https://github.com/lu-zero),
[@RaghavSood](https://github.com/RaghavSood),
[@tjbrockmeyer](https://github.com/tjbrockmeyer),

Breaking Changes:

* Add replaceRegex filter and fix replace filter to not take regex [#4018](https://github.com/Orange-OpenSource/hurl/issues/4018)


Enhancements:

* Add query for HTTP redirects [#922](https://github.com/Orange-OpenSource/hurl/issues/922)
* Add urlQueryParam filter [#2199](https://github.com/Orange-OpenSource/hurl/issues/2199)
* Show curl command when error format option is set to long [#2226](https://github.com/Orange-OpenSource/hurl/issues/2226)
* Add option to configure max-time per request [#3162](https://github.com/Orange-OpenSource/hurl/issues/3162)
* Add date comparison predicates [#3480](https://github.com/Orange-OpenSource/hurl/issues/3480)
* Add pinnedpubkey cli option [#3563](https://github.com/Orange-OpenSource/hurl/issues/3563)
* Add base64 url safe encode and decode filters [#3840](https://github.com/Orange-OpenSource/hurl/issues/3840)
* parse curl's --cookie flag [#3877](https://github.com/Orange-OpenSource/hurl/issues/3877)
* Show hurl --help with color [#3882](https://github.com/Orange-OpenSource/hurl/issues/3882)
* Add toHex filter [#3963](https://github.com/Orange-OpenSource/hurl/issues/3963)
* Add first and last filters [#3998](https://github.com/Orange-OpenSource/hurl/issues/3998)
* Remove hex crate dependency [#4011](https://github.com/Orange-OpenSource/hurl/issues/4011)
* Small tweaks to --test progress output [#4028](https://github.com/Orange-OpenSource/hurl/issues/4028)
* Add support for negative values for nth filter [#4050](https://github.com/Orange-OpenSource/hurl/issues/4050)
* Add option to configure pinnedpubkey per request [#4084](https://github.com/Orange-OpenSource/hurl/issues/4084)
* Add timeline link on status label in source and run pages [#4128](https://github.com/Orange-OpenSource/hurl/issues/4128)
* Support template in nth filter parameter [#4152](https://github.com/Orange-OpenSource/hurl/issues/4152)
* Implement predicate `isUuid` [#4179](https://github.com/Orange-OpenSource/hurl/issues/4179)
* Improve captures error messages when filter chain returned no value [#4214](https://github.com/Orange-OpenSource/hurl/issues/4214)
* Add --ntlm cli option [#4216](https://github.com/Orange-OpenSource/hurl/issues/4216)
* Add --negotiate option [#4246](https://github.com/Orange-OpenSource/hurl/issues/4246)


Bugs Fixed:

* Fix incorrect curl command for POST redirect [#2797](https://github.com/Orange-OpenSource/hurl/issues/2797)
* Fix hurlfmt to disallow invalid header argument in curl command [#3668](https://github.com/Orange-OpenSource/hurl/issues/3668)
* Parse verbose flag in curl command [#3760](https://github.com/Orange-OpenSource/hurl/issues/3760)
* Keep secret value forever, even if a secret variable override an existing one [#3898](https://github.com/Orange-OpenSource/hurl/issues/3898)
* Fix zsh completion [#3938](https://github.com/Orange-OpenSource/hurl/issues/3938)
* Parse cookie Expires date attribute with '-' [#3956](https://github.com/Orange-OpenSource/hurl/issues/3956)
* Replace deprecated libxml2 initGenericErrorDefaultFunc with xmlSetGenericErrorFunc [#3975](https://github.com/Orange-OpenSource/hurl/issues/3975)
* HTML report: fix span for lines in comment. [#4002](https://github.com/Orange-OpenSource/hurl/issues/4002)
* Fix HTML closing tag for line with trailing comment [#4017](https://github.com/Orange-OpenSource/hurl/issues/4017)
* Add replaceRegex filter and fix replace filter to not take regex [#4018](https://github.com/Orange-OpenSource/hurl/issues/4018)
* Fix request body during redirections [#4073](https://github.com/Orange-OpenSource/hurl/issues/4073)
* Fix "variables" token in GraphQL HTML export [#4117](https://github.com/Orange-OpenSource/hurl/issues/4117)
* Support negative index in jsonpath [#4154](https://github.com/Orange-OpenSource/hurl/issues/4154)


Security Issues Fixed:

* Fix JavaScript injection in HTML report through regex literal [#4125](https://github.com/Orange-OpenSource/hurl/issues/4125)


[6.1.1 (2025-03-19)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#6.1.1)
========================================================================================================================

Thanks to
[@lu-zero](https://github.com/lu-zero),
[@andrejohansson](https://github.com/andrejohansson),
[@demostanis](https://github.com/demostanis),
[@techfg](https://github.com/techfg),

Bugs Fixed:

* Fix hurlfmt spacing [#3839](https://github.com/Orange-OpenSource/hurl/issues/3839)
* Fix filename parsing [#3848](https://github.com/Orange-OpenSource/hurl/issues/3848)
* Fix jsonpath array wildcard with missing attribute [#3859](https://github.com/Orange-OpenSource/hurl/issues/3859) [#3869](https://github.com/Orange-OpenSource/hurl/issues/3869)
* Fix predicate `contains` with none input [#3868](https://github.com/Orange-OpenSource/hurl/issues/3868)


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

Thanks to
[@lilyhuang-github](https://github.com/lilyhuang-github),
[@ashishajr](https://github.com/ashishajr),
[@kidbrax](https://github.com/kidbrax),
[@theoforger](https://github.com/theoforger),
[@smokedlinq](https://github.com/smokedlinq),
[@docwhat](https://github.com/docwhat),
[@glb-cblin](https://github.com/glb-cblin),
[@Enoz](https://github.com/Enoz),
[@ikorason](https://github.com/ikorason),
[@uday-rana](https://github.com/uday-rana),
[@lu-zero](https://github.com/lu-zero),
[@nghiab1906724](https://github.com/nghiab1906724),
[@overbyte](https://github.com/overbyte),

Breaking Changes:

* Remove deprecated predicates (notEquals, greaterThan etc...) in favor of operators [#3532](https://github.com/Orange-OpenSource/hurl/issues/3532)
* Remove deprecated keyword HTTP/* for HTTP [#3697](https://github.com/Orange-OpenSource/hurl/issues/3697)


Enhancements:

* Removed limitation for --cookie-jar to use only one hurl file [#2537](https://github.com/Orange-OpenSource/hurl/issues/2537)
* Add HTTP version query [#1706](https://github.com/Orange-OpenSource/hurl/issues/1706)
* Add curl -H/--header option to globally add headers to all requests [#1905](https://github.com/Orange-OpenSource/hurl/issues/1905) [#2144](https://github.com/Orange-OpenSource/hurl/issues/2144)
* Add toString Filter [#2035](https://github.com/Orange-OpenSource/hurl/issues/2035) [#3798](https://github.com/Orange-OpenSource/hurl/issues/3798)
* Add base64 decode filter [#2145](https://github.com/Orange-OpenSource/hurl/issues/2145)
* Add base64 encode filter [#2145](https://github.com/Orange-OpenSource/hurl/issues/2145)
* Redacts secrets from JUnit reports [#2947](https://github.com/Orange-OpenSource/hurl/issues/2947) [#2972](https://github.com/Orange-OpenSource/hurl/issues/2972)
* Redacts secrets from JSON report [#2947](https://github.com/Orange-OpenSource/hurl/issues/2947) [#2972](https://github.com/Orange-OpenSource/hurl/issues/2972)
* Redact secret in HTML report [#2947](https://github.com/Orange-OpenSource/hurl/issues/2947) [#2972](https://github.com/Orange-OpenSource/hurl/issues/2972)
* Redact secrets from curl export [#2947](https://github.com/Orange-OpenSource/hurl/issues/2947) [#2972](https://github.com/Orange-OpenSource/hurl/issues/2972)
* Redact secrets from cookies export [#2947](https://github.com/Orange-OpenSource/hurl/issues/2947) [#2972](https://github.com/Orange-OpenSource/hurl/issues/2972)
* Add IP address query [#3106](https://github.com/Orange-OpenSource/hurl/issues/3106)
* Add isIpv4 / isIpv6 asserts on IP versions [#3106](https://github.com/Orange-OpenSource/hurl/issues/3106)
* Allow sending empty HTTP header [#3536](https://github.com/Orange-OpenSource/hurl/issues/3536)
* Redact dynamic values from logs [#3543](https://github.com/Orange-OpenSource/hurl/issues/3543)
* Add header option per request [#3575](https://github.com/Orange-OpenSource/hurl/issues/3575)
* Fix invalid escape in hurlfmt parse func [#3615](https://github.com/Orange-OpenSource/hurl/issues/3615)
* hurlfmt: Use Hurl predicates identifiers for Hurl to JSON file export [#3662](https://github.com/Orange-OpenSource/hurl/issues/3662)
* Add aarch64 deb package [#3829](https://github.com/Orange-OpenSource/hurl/issues/3829)


Bugs Fixed:

* Fix missing request line errors in HTML report [#3534](https://github.com/Orange-OpenSource/hurl/issues/3534)
* Eval template in JSON object key [#3593](https://github.com/Orange-OpenSource/hurl/issues/3593)
* Show error message if format is invalid in `format` filter [#3613](https://github.com/Orange-OpenSource/hurl/issues/3613)
* Create parent folders if missing when using --cookie-jar FILE [#3637](https://github.com/Orange-OpenSource/hurl/issues/3637)
* Remove lint errors and Fix non-zero exit code in case of error [#3648](https://github.com/Orange-OpenSource/hurl/issues/3648)
* Support BigInteger in variable [#3656](https://github.com/Orange-OpenSource/hurl/issues/3656)
* fix hurlfmt html export loosing some whitespaces [#3675](https://github.com/Orange-OpenSource/hurl/issues/3675)
* Fix template to source [#3675](https://github.com/Orange-OpenSource/hurl/issues/3675)
* Fix changing HTTP version per request sometimes not effective [#3719](https://github.com/Orange-OpenSource/hurl/issues/3719)
* Add bash file completion for hurl/hurlfmt [#3750](https://github.com/Orange-OpenSource/hurl/issues/3750)
* Fix multilines HTML export [#3768](https://github.com/Orange-OpenSource/hurl/issues/3768)
* Change parsing file content type in multipart form data [#3796](https://github.com/Orange-OpenSource/hurl/issues/3796)


Deprecations:

* Deprecate includes in favor of contains predicate [#1896](https://github.com/Orange-OpenSource/hurl/issues/1896)
* Warn for deprecated multilines string attributes [#3622](https://github.com/Orange-OpenSource/hurl/issues/3622)
* Warn for --interactive deprecation [#3763](https://github.com/Orange-OpenSource/hurl/issues/3763)


[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),

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)


[5.0.1 (2024-08-30)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#5.0.1)
========================================================================================================================

Bugs Fixed:

* Fix regression in --output when output file doesn't exist [#3195](https://github.com/Orange-OpenSource/hurl/issues/3195)

[5.0.0 (2024-08-29)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#5.0.0)
========================================================================================================================

Thanks to
[@lambrospetrou](https://github.com/lambrospetrou),
[@OverkillGuy](https://github.com/OverkillGuy),
[@badboy](https://github.com/badboy),
[@DenuxPlays](https://github.com/DenuxPlays),
[@linkdd](https://github.com/linkdd),
[@nkback](https://github.com/nkback),
[@claytonneal](https://github.com/claytonneal),


Breaking Changes:

* Encode oneline string only with one backtick [#3113](https://github.com/Orange-OpenSource/hurl/issues/3113)


Enhancements:

* Create intermediary directories if necessary when producing TAP report [#2860](https://github.com/Orange-OpenSource/hurl/issues/2860)
* Expose request comments in --out json (hurlfmt) [#2850](https://github.com/Orange-OpenSource/hurl/issues/2850)
* Create intermediary directories if necessary when producing JUnit report [#2842](https://github.com/Orange-OpenSource/hurl/issues/2842)
* Add global requests count in test summary [#2832](https://github.com/Orange-OpenSource/hurl/issues/2832)
* Replace output warnings by errors [#2815](https://github.com/Orange-OpenSource/hurl/issues/2815)
* Fix inconsistent case for fields queryString and httpVersion in --json [#2804](https://github.com/Orange-OpenSource/hurl/issues/2804)
* Run tests in parallel [#2753](https://github.com/Orange-OpenSource/hurl/issues/2753)
* Add support for importing curl url option in hurlfmt [#2750](https://github.com/Orange-OpenSource/hurl/issues/2750)
* Add JSON report [#2738](https://github.com/Orange-OpenSource/hurl/issues/2738)
* Add repeat option to repeat a sequence of Hurl file [#2680](https://github.com/Orange-OpenSource/hurl/issues/2680)
* Add repeat option per request [#2680](https://github.com/Orange-OpenSource/hurl/issues/2680)
* Add optional duration unit [#2653](https://github.com/Orange-OpenSource/hurl/issues/2653)
* Apply delay only once per entry, no matter how many retry [#1973](https://github.com/Orange-OpenSource/hurl/issues/1973)
* Add toFloat filter [#1732](https://github.com/Orange-OpenSource/hurl/issues/1732)
* Accept directory as Hurl arguments for processing file [#1446](https://github.com/Orange-OpenSource/hurl/issues/1446)


Bugs Fixed:

* Get SSL certificates info on reused connections, from a cache [#3031](https://github.com/Orange-OpenSource/hurl/issues/3031)
* Fix max-redirs: -1 in [Options] section [#3023](https://github.com/Orange-OpenSource/hurl/issues/3023)
* Fix error displayed in double with bad option [#2920](https://github.com/Orange-OpenSource/hurl/issues/2920)
* Fix hurlfmt exit code with lint error [#2919](https://github.com/Orange-OpenSource/hurl/issues/2919)
* Truncate file then append it when dumping response with --output. [#2886](https://github.com/Orange-OpenSource/hurl/issues/2886)
* Fix crash with --json option when capturing 'HttpOnly' and 'Secure' cookie attribute [#2871](https://github.com/Orange-OpenSource/hurl/issues/2871)
* Fix crash when capturing 'Expires' cookie attribute [#2870](https://github.com/Orange-OpenSource/hurl/issues/2870)
* Fix empty JSON key parsing [#2836](https://github.com/Orange-OpenSource/hurl/issues/2836)
* Do not filter 'Authorization' header if host doesn't change while following redirect [#2823](https://github.com/Orange-OpenSource/hurl/issues/2823)
* Fix sending 'Authorization' header from --user when following redirect [#2812](https://github.com/Orange-OpenSource/hurl/issues/2812)
* Fix URL when following redirect for certain 'Location' header [#2783](https://github.com/Orange-OpenSource/hurl/issues/2783)
* Fix powershell completion file [#2729](https://github.com/Orange-OpenSource/hurl/issues/2729)


[4.3.0 (2024-04-23)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#4.3.0)
========================================================================================================================

Thanks to
[@tarampampam](https://github.com/tarampampam),
[@CMiksche](https://github.com/CMiksche),
[@CodeMan99](https://github.com/CodeMan99),
[@OverkillGuy](https://github.com/OverkillGuy),
[@hsanson](https://github.com/hsanson),
[@jaminalder](https://github.com/jaminalder),
[@teto](https://github.com/teto),
[@humphd](https://github.com/humphd),
[@mohammed90](https://github.com/mohammed90),

Enhancements:

* Support --user option per request [#2585](https://github.com/Orange-OpenSource/hurl/issues/2585)
* Add isNumber predicate [#2538](https://github.com/Orange-OpenSource/hurl/issues/2538)
* Create intermediate directory when using --report-html [#2531](https://github.com/Orange-OpenSource/hurl/issues/2531)
* Use '-' to read Hurl file from standard input [#2523](https://github.com/Orange-OpenSource/hurl/issues/2523)
* Add --from-entry option to execute a file from a given entry [#2500](https://github.com/Orange-OpenSource/hurl/issues/2500)
* Add isIsoDate predicate (take a string, checks YYYY-MM-DDTHH:mm:sssZ) [#2427](https://github.com/Orange-OpenSource/hurl/issues/2427)
* Add completion files in Linux/MacOS packages [#2401](https://github.com/Orange-OpenSource/hurl/issues/2401)
* Fix tarball layout to Linux filesystem [#2401](https://github.com/Orange-OpenSource/hurl/issues/2401)
* Add --max-filesize option to limit HTTP response [#2353](https://github.com/Orange-OpenSource/hurl/issues/2353)
* Display source request when there are asserts/runtime errors [#2351](https://github.com/Orange-OpenSource/hurl/issues/2351)
* Using explicit stdout output [#2312](https://github.com/Orange-OpenSource/hurl/issues/2312)
* Prevent raw binary response to be displayed on standard output [#2306](https://github.com/Orange-OpenSource/hurl/issues/2306)
* Add --netrc, --netrc-file and --netrc-optional options [#2094](https://github.com/Orange-OpenSource/hurl/issues/2094)
* Generate bash completion for hurl/hurlfmt [#1864](https://github.com/Orange-OpenSource/hurl/issues/1864)
* Generate powershell completion for hurl/hurlfmt [#1864](https://github.com/Orange-OpenSource/hurl/issues/1864)
* Generate fish completion for hurl/hurlfmt [#1864](https://github.com/Orange-OpenSource/hurl/issues/1864)
* Generate zsh completion for hurl/hurlfmt [#1864](https://github.com/Orange-OpenSource/hurl/issues/1864)
* Add experimental --parallel / --jobs options [#88](https://github.com/Orange-OpenSource/hurl/issues/88) [#87](https://github.com/Orange-OpenSource/hurl/issues/87)


Bugs Fixed:

* Export begin_call, end_call timings fields to RFC3339 (microseconds) [#2699](https://github.com/Orange-OpenSource/hurl/issues/2699)
* Fix standalone css for regex [#2693](https://github.com/Orange-OpenSource/hurl/issues/2693)
* Fix charset parsing logic of Content-Type header [#2540](https://github.com/Orange-OpenSource/hurl/issues/2540)
* Fix filename templatization bug under certain conditions [#2533](https://github.com/Orange-OpenSource/hurl/issues/2533)
* Fix empty glob not always returning an error [#2517](https://github.com/Orange-OpenSource/hurl/issues/2517)
* Fix hurlfmt query certificate for hurl output format [#2511](https://github.com/Orange-OpenSource/hurl/issues/2511)
* Fix --test progress bar not displayed when verbose is used [#2506](https://github.com/Orange-OpenSource/hurl/issues/2506)
* Per request output takes file-root into account for path resolving [#2445](https://github.com/Orange-OpenSource/hurl/issues/2445)
* Fix silent error when verbose option use unset variable [#2444](https://github.com/Orange-OpenSource/hurl/issues/2444)
* Fix Content-type header override when used in lowercase [#2416](https://github.com/Orange-OpenSource/hurl/issues/2416)


Security Issues Fixed:

* Prevent script injection in HTML report [#2719](https://github.com/Orange-OpenSource/hurl/issues/2719)


[4.2.0 (2024-01-11)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#4.2.0)
========================================================================================================================

Thanks to
[@hi2code](https://github.com/hi2code),
[@lambrospetrou](https://github.com/lambrospetrou),
[@glb-cblin](https://github.com/glb-cblin),
[@moono](https://github.com/moono),
[@gmetal](https://github.com/gmetal),
[@mihirn](https://github.com/mihirn),
[@humphd](https://github.com/humphd),
[@RickMoynihan](https://github.com/RickMoynihan),
[@pit1sIBM](https://github.com/pit1sIBM),
[@janwytze](https://github.com/janwytze),
[@kingluo](https://github.com/kingluo),
[@teto](https://github.com/teto),
[@khimaros](https://github.com/khimaros),
[@iredmail](https://github.com/iredmail),
[@andres-lowrie](https://github.com/andres-lowrie),
[@nikeee](https://github.com/nikeee),
[@ztittle](https://github.com/ztittle),
[@legzo](https://github.com/legzo)

Enhancements:

* Add --location-trusted option [#2296](https://github.com/Orange-OpenSource/hurl/issues/2296)
* Add --unix-socket option [#2291](https://github.com/Orange-OpenSource/hurl/issues/2291)
* Export entry source line number in JSON output [#2273](https://github.com/Orange-OpenSource/hurl/issues/2273)
* Use Template for filename type [#2259](https://github.com/Orange-OpenSource/hurl/issues/2259) [#1731](https://github.com/Orange-OpenSource/hurl/issues/1731) [#464](https://github.com/Orange-OpenSource/hurl/issues/464)
* Add dark mode support for HTML report [#2254](https://github.com/Orange-OpenSource/hurl/issues/2254)
* Add --output option per request [#2184](https://github.com/Orange-OpenSource/hurl/issues/2184) [#1326](https://github.com/Orange-OpenSource/hurl/issues/1326)
* Add filter jsonpath [#2134](https://github.com/Orange-OpenSource/hurl/issues/2134) [#1632](https://github.com/Orange-OpenSource/hurl/issues/1632) [#440](https://github.com/Orange-OpenSource/hurl/issues/440)
* Improve JSON body parsing error reporting [#2056](https://github.com/Orange-OpenSource/hurl/issues/2056)
* Support template in option values [#2041](https://github.com/Orange-OpenSource/hurl/issues/2041)
* Support conda-forge installation [#2018](https://github.com/Orange-OpenSource/hurl/issues/2018)
* Add timestamps to the HTML reports [#1983](https://github.com/Orange-OpenSource/hurl/issues/1983)
* Log only non-default options in verbose mode [#1927](https://github.com/Orange-OpenSource/hurl/issues/1927)
* Support template in key string [#1877](https://github.com/Orange-OpenSource/hurl/issues/1877) [#1710](https://github.com/Orange-OpenSource/hurl/issues/1710) [#898](https://github.com/Orange-OpenSource/hurl/issues/898)
* Add skip option [#1815](https://github.com/Orange-OpenSource/hurl/issues/1815)
* Add --ipv4/--ipv6 option [#1727](https://github.com/Orange-OpenSource/hurl/issues/1727)
* Add --http3 option [#1155](https://github.com/Orange-OpenSource/hurl/issues/1155)
* Add --http2 option [#1155](https://github.com/Orange-OpenSource/hurl/issues/1155)
* Add --http1.0/-0 option [#1155](https://github.com/Orange-OpenSource/hurl/issues/1155)
* Add --http1.1 option [#1155](https://github.com/Orange-OpenSource/hurl/issues/1155)


Bugs Fixed:

* Add short name -v for verbose option [#2310](https://github.com/Orange-OpenSource/hurl/issues/2310)
* Fix unicode surrogate pair decoding in JSON request body [#2235](https://github.com/Orange-OpenSource/hurl/issues/2235)
* Better error description for some parse error [#2187](https://github.com/Orange-OpenSource/hurl/issues/2187)
* Fix undefined error for various I/O error using --output. [#2156](https://github.com/Orange-OpenSource/hurl/issues/2156)
* TAP reports can't be appended if there are failed tests [#2099](https://github.com/Orange-OpenSource/hurl/issues/2099)
* Support HTTP/2 on Windows [#2072](https://github.com/Orange-OpenSource/hurl/issues/2072)
* Support key password in --cert option (certificate[:password]) [#2047](https://github.com/Orange-OpenSource/hurl/issues/2047)
* Keep initial request headers when following redirects [#1990](https://github.com/Orange-OpenSource/hurl/issues/1990)


[4.1.0 (2023-09-21)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#4.1.0)
========================================================================================================================

Thanks to
[@danielzfranklin](https://github.com/danielzfranklin),
[@apparentorder](https://github.com/apparentorder),
[@ppaulweber](https://github.com/ppaulweber),
[@taigrr](https://github.com/taigrr),
[@kallelindqvist](https://github.com/kallelindqvist),
[@jlazic](https://github.com/jlazic),
[@Lythenas](https://github.com/Lythenas),
[@Jayshua](https://github.com/Jayshua),
[@chenrui333](https://github.com/chenrui333),
[@nikeee](https://github.com/nikeee),
[@jasonkarns](https://github.com/jasonkarns),
[@humphd](https://github.com/humphd),

Breaking Changes:

* Fix published release packages names [#1951](https://github.com/Orange-OpenSource/hurl/issues/1951)


Enhancements:

* Print host architecture with --version [#1893](https://github.com/Orange-OpenSource/hurl/issues/1893)
* Add the aws-sigv4 option to generate AWS SigV4 signed requests [#1840](https://github.com/Orange-OpenSource/hurl/issues/1840)
* Add delay CLI option [#1832](https://github.com/Orange-OpenSource/hurl/issues/1832)
* Add --delay Option [#1832](https://github.com/Orange-OpenSource/hurl/issues/1832)
* Support RFC-7807 application/problem+json for response body logging as text [#1766](https://github.com/Orange-OpenSource/hurl/issues/1766)
* Rename fail-at-end option with continue-on-error option [#1739](https://github.com/Orange-OpenSource/hurl/issues/1739)
* Add connect-to per request option [#1736](https://github.com/Orange-OpenSource/hurl/issues/1736)
* Add support for --resolve option per request [#1711](https://github.com/Orange-OpenSource/hurl/issues/1711)
* Add TAP report [#1666](https://github.com/Orange-OpenSource/hurl/issues/1666) [#601](https://github.com/Orange-OpenSource/hurl/issues/601)
* Implement isDate predicate [#1520](https://github.com/Orange-OpenSource/hurl/issues/1520)
* Add docker arm64 build [#536](https://github.com/Orange-OpenSource/hurl/issues/536)


Bugs Fixed:

* IsEmpty doesn't seem to work on object collections [#1788](https://github.com/Orange-OpenSource/hurl/issues/1788)
* Fix Cookie Query Parsing error [#1784](https://github.com/Orange-OpenSource/hurl/issues/1784)
* Support empty BasicAuth section [#1772](https://github.com/Orange-OpenSource/hurl/issues/1772)
* Fix standalone option for hurlfmt HTML output [#1759](https://github.com/Orange-OpenSource/hurl/issues/1759)
* Support IPv4/IPv6 address in proxy [Options] [#1756](https://github.com/Orange-OpenSource/hurl/issues/1756)
* Reuse same HTTP method on redirect for appropriate HTTP status codes [#1719](https://github.com/Orange-OpenSource/hurl/issues/1719)
* Fix URL runtime evaluation [#1716](https://github.com/Orange-OpenSource/hurl/issues/1716)


[4.0.0 (2023-06-28)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#4.0.0)
========================================================================================================================

Thanks to
[@elbart](https://github.com/elbart),
[@dross-carve](https://github.com/dross-carve),
[@kaala](https://github.com/kaala),
[@phaza](https://github.com/phaza),
[@FiloSottile](https://github.com/FiloSottile),
[@linker3000](https://github.com/linker3000),
[@pfeiferj](https://github.com/pfeiferj),
[@devnoname120](https://github.com/devnoname120),
[@jasonkarns](https://github.com/jasonkarns),

Breaking Changes:

* The option [--retry](https://hurl.dev/docs/manual.html#retry) now takes a number that specifies the explicit number of retries (same behaviour than curl)
* The `jsonpath` query/filter does not coerce single-entry collection any more [#1469](https://github.com/Orange-OpenSource/hurl/issues/1469)
* `hurl` crate: `LoggerOptionsBuilder` replaces `LoggerOption`, retry option from `RunnerOptionsBuilder` have changed, and verbose option have been moved from `RunnerOptionsBuilder` to `LoggerOptionsBuilder`


Enhancements:

* Add xpath filter [#1698](https://github.com/Orange-OpenSource/hurl/issues/1698)
* Introduce curl --path-as-is option [#1669](https://github.com/Orange-OpenSource/hurl/issues/1669)
* Deprecate word predicate when operator is available [#1662](https://github.com/Orange-OpenSource/hurl/issues/1662)
* Make hurlfmt support several input files (like Hurl) [#1650](https://github.com/Orange-OpenSource/hurl/issues/1650)
* Add timings info to very verbose mode [#1644](https://github.com/Orange-OpenSource/hurl/issues/1644)
* Add waterfall to HTML report for a Hurl file [#1613](https://github.com/Orange-OpenSource/hurl/issues/1613)
* Add proxy in Options section [#1602](https://github.com/Orange-OpenSource/hurl/issues/1602)
* Add decode filter [#1560](https://github.com/Orange-OpenSource/hurl/issues/1560)
* Add --error-format option to output HTTP context on errors [#1542](https://github.com/Orange-OpenSource/hurl/issues/1542)
* Update --retry option to match curl option [#1475](https://github.com/Orange-OpenSource/hurl/issues/1475)
* Add support for LINK, UNLINK, PURGE, LOCK, UNLOCK, PROPFIND and VIEW HTTP method [#967](https://github.com/Orange-OpenSource/hurl/issues/967)
* Support arbitrary HTTP methods [#967](https://github.com/Orange-OpenSource/hurl/issues/967)


Bugs Fixed:

* Export [Options] to JSON [#1673](https://github.com/Orange-OpenSource/hurl/issues/1673)
* Use --data-binary for log curl command when posting file [#1654](https://github.com/Orange-OpenSource/hurl/issues/1654)
* Fix extra request headers logs with large body. [#1651](https://github.com/Orange-OpenSource/hurl/issues/1651)
* Print error message when no file is found with --glob option [#1638](https://github.com/Orange-OpenSource/hurl/issues/1638)
* Support additional dot in jsonpath expression [#1555](https://github.com/Orange-OpenSource/hurl/issues/1555)
* Make Call, Certificate, Cookie, Header, Request, Response, Timings, Version public [#1548](https://github.com/Orange-OpenSource/hurl/issues/1548)
* Add quotes around certificate attribute in HTML export [#1515](https://github.com/Orange-OpenSource/hurl/issues/1515)
* Change API in jsonpath / remove single-entry coercion [#1469](https://github.com/Orange-OpenSource/hurl/issues/1469)


[3.0.1 (2023-06-01)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#3.0.1)
========================================================================================================================

Thanks to
[@RWDai](https://github.com/RWDai),
[@plul](https://github.com/plul),


Bugs Fixed:

* Do not parse key/value in certificate subject/issue any more [#1583](https://github.com/Orange-OpenSource/hurl/issues/1583)
* Fix hurlfmt less predicate [#1577](https://github.com/Orange-OpenSource/hurl/issues/1577)
* Patch encoding issue with xpath and libxml 2.11.1+ [#1535](https://github.com/Orange-OpenSource/hurl/issues/1535)


[3.0.0 (2023-05-03)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#3.0.0)
========================================================================================================================

Thanks to
[@DannyBen](https://github.com/DannyBen), [@dermetfan](https://github.com/dermetfan), [@joesantos418](https://github.com/joesantos418)

3.0.0 is a major update because of breaking changes in Hurl crates.


Enhancements:

* Add test attributes to JUnit XML [#1460](https://github.com/Orange-OpenSource/hurl/issues/1460)
* Add certificate query [#1384](https://github.com/Orange-OpenSource/hurl/issues/1384)
* Add daysAfterNow / daysBeforeNow filters [#1309](https://github.com/Orange-OpenSource/hurl/issues/1309)
* Add errors in HTML report [#1286](https://github.com/Orange-OpenSource/hurl/issues/1286)
* Use long options for curl command [#1236](https://github.com/Orange-OpenSource/hurl/issues/1236)
* Add progress bar for tests [#1224](https://github.com/Orange-OpenSource/hurl/issues/1224)
* Add date value/filters [#1206](https://github.com/Orange-OpenSource/hurl/issues/1206)
* Implement isEmpty predicate [#849](https://github.com/Orange-OpenSource/hurl/issues/849)
* Add curl input to hurlfmt [#316](https://github.com/Orange-OpenSource/hurl/issues/316)


Bugs Fixed:

* Fix performance issue in Reader remaining method [#1456](https://github.com/Orange-OpenSource/hurl/issues/1456)
* Parse empty JSON array body [#1424](https://github.com/Orange-OpenSource/hurl/issues/1424)
* Add meta utf-8 charset to HTML report [#1366](https://github.com/Orange-OpenSource/hurl/issues/1366)
* Use an uuid as identifier for the HTML Hurl file run report [#1285](https://github.com/Orange-OpenSource/hurl/issues/1285) [#1283](https://github.com/Orange-OpenSource/hurl/issues/1283)
* Improve HTML export [#1059](https://github.com/Orange-OpenSource/hurl/issues/1059)


[2.0.1 (2023-02-01)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#2.0.1)
========================================================================================================================

Thanks to
[@softprops](https://github.com/softprops),


Bugs Fixed:

* Fix GraphQL query with variables to HTTP body request [#1218](https://github.com/Orange-OpenSource/hurl/issues/1218)


[2.0.0 (2023-01-25)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#2.0.0)
========================================================================================================================

Thanks to
[@imsVLC](https://github.com/imsVLC),
[@ad8lmondy](https://github.com/ad8lmondy),
[@jlecour](https://github.com/jlecour),
[@ako](https://github.com/ako),
[@jmoore34](https://github.com/jmoore34),
[@robjtede](https://github.com/robjtede),
[@devnoname120](https://github.com/devnoname120),
[@dalejefferson-rnf](https://github.com/dalejefferson-rnf),
[@dnsmichi](https://github.com/dnsmichi),


Enhancements:

* Add option ssl-no-revoke [#1163](https://github.com/Orange-OpenSource/hurl/issues/1163)
* Add client cert/key to command line args and options [#1129](https://github.com/Orange-OpenSource/hurl/issues/1129)
* Add connect-to option [#1079](https://github.com/Orange-OpenSource/hurl/issues/1079)
* Add name attribute to JUnit report [#1078](https://github.com/Orange-OpenSource/hurl/issues/1078)
* Check HTTP version and status first, then other asserts [#1072](https://github.com/Orange-OpenSource/hurl/issues/1072)
* Support new one line string [#1041](https://github.com/Orange-OpenSource/hurl/issues/1041)
* Add filters for htmlEscape and htmlUnescape [#1038](https://github.com/Orange-OpenSource/hurl/issues/1038)
* Add toInt filter [#1029](https://github.com/Orange-OpenSource/hurl/issues/1029)
* Use HTTP instead of HTTP/* for any HTTP version match [#975](https://github.com/Orange-OpenSource/hurl/issues/975)
* Add RunnerOptionsBuilder to create instance of RunnerOptions [#972](https://github.com/Orange-OpenSource/hurl/issues/972)
* Add support for LINK, UNLINK, PURGE, LOCK, UNLOCK, PROPFIND and VIEW HTTP method [#967](https://github.com/Orange-OpenSource/hurl/issues/967)
* Accept multiple --variables-file options [#532](https://github.com/Orange-OpenSource/hurl/issues/532)
* Add GraphQL support [#504](https://github.com/Orange-OpenSource/hurl/issues/504)
* Add --resolve option [#379](https://github.com/Orange-OpenSource/hurl/issues/379)


Bugs Fixed:

* Support '-' in JSONPath dot notation [#1174](https://github.com/Orange-OpenSource/hurl/issues/1174)
* Fix cargo test --doc on Alpine [#1124](https://github.com/Orange-OpenSource/hurl/issues/1124)
* Do not add newline at eof with --no-format option [#1058](https://github.com/Orange-OpenSource/hurl/issues/1058)
* Fix variables update [#1037](https://github.com/Orange-OpenSource/hurl/issues/1037)
* Fix querystring key parsing [#1027](https://github.com/Orange-OpenSource/hurl/issues/1027)


[1.8.0 (2022-11-02)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.8.0)
========================================================================================================================

Thanks to
[@chenrui333](https://github.com/chenrui333),
[@Jiehong](https://github.com/Jiehong),
[@Goffen](https://github.com/Goffen),


Enhancements:

* Add curl logs [#899](https://github.com/Orange-OpenSource/hurl/issues/899)
* Add query url [#895](https://github.com/Orange-OpenSource/hurl/issues/895)
* Make compact help [#861](https://github.com/Orange-OpenSource/hurl/issues/861)
* List all libcurl features with --version [#836](https://github.com/Orange-OpenSource/hurl/issues/836)
* Add --retry and --retry-interval option to retry request until asserts and captures are ok [#525](https://github.com/Orange-OpenSource/hurl/issues/525)


Bugs Fixed:

* Fix hurlfmt --color crash [#957](https://github.com/Orange-OpenSource/hurl/issues/957)
* Fix missing line in HTML output [#924](https://github.com/Orange-OpenSource/hurl/issues/924)
* Fix HTTP HEAD [#903](https://github.com/Orange-OpenSource/hurl/issues/903)
* Fix relative redirect [#875](https://github.com/Orange-OpenSource/hurl/issues/875)


[1.7.0 (2022-09-13)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.7.0)
========================================================================================================================

Thanks to
[@danielbprice](https://github.com/danielbprice),
[@fourjay](https://github.com/fourjay),
[@datamuc](https://github.com/datamuc),
[@bdmorin](https://github.com/bdmorin),
[@humphd](https://github.com/humphd),
[@kautsig](https://github.com/kautsig),
[@Karrq](https://github.com/Karrq),
[@balroggg](https://github.com/balroggg),


Enhancements:

* Add string comparison predicates [#798](https://github.com/Orange-OpenSource/hurl/issues/798)
* Improve text summary [#779](https://github.com/Orange-OpenSource/hurl/issues/779) [#593](https://github.com/Orange-OpenSource/hurl/issues/593)
* Support NO_COLOR env variable (https://no-color.org) [#713](https://github.com/Orange-OpenSource/hurl/issues/713)
* Improve URL parsing error message [#662](https://github.com/Orange-OpenSource/hurl/issues/662)
* Display deprecated warning when using --progress and --summary option [#637](https://github.com/Orange-OpenSource/hurl/issues/637)
* Log body request in very verbose [#628](https://github.com/Orange-OpenSource/hurl/issues/628)
* Add options section [#612](https://github.com/Orange-OpenSource/hurl/issues/612)
* Install Hurl with npm [#544](https://github.com/Orange-OpenSource/hurl/issues/544)
* Add very verbose option [#499](https://github.com/Orange-OpenSource/hurl/issues/499)
* Add support for XML namespaces in XPath query [#493](https://github.com/Orange-OpenSource/hurl/issues/493)
* Use Template type for cookie value [#473](https://github.com/Orange-OpenSource/hurl/issues/473)


Bugs Fixed:

* Accept expression in comparison predicate [#799](https://github.com/Orange-OpenSource/hurl/issues/799)
* Fix file access authorization [#674](https://github.com/Orange-OpenSource/hurl/issues/674)
* Fix body file access [#674](https://github.com/Orange-OpenSource/hurl/issues/674)
* Fix implicit body asserts on compressed response body [#567](https://github.com/Orange-OpenSource/hurl/issues/567)
* Fix Brotli response body decoding [#564](https://github.com/Orange-OpenSource/hurl/issues/564)
* Fix sha256, md5, bytes query on compressed body [#563](https://github.com/Orange-OpenSource/hurl/issues/563)
* Fix redirection not followed [#552](https://github.com/Orange-OpenSource/hurl/issues/552)
* Encode string variables in JSON body [#530](https://github.com/Orange-OpenSource/hurl/issues/530)
* Fix curl export shell escape [#530](https://github.com/Orange-OpenSource/hurl/issues/530)
* Allow different types in JSON array [#495](https://github.com/Orange-OpenSource/hurl/issues/495)


[1.6.1 (2022-03-25)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.6.1)
========================================================================================================================

Thanks to
[@humphd](https://github.com/humphd)

Bugs Fixes:

* Support @ for the username in [BasicAuth] section [#513](https://github.com/Orange-OpenSource/hurl/issues/513)
* Fix panicking while processing expected Regex value [#514](https://github.com/Orange-OpenSource/hurl/issues/514)


[1.6.0 (2022-02-10)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.6.0)
========================================================================================================================

Thanks to
[@linjan](https://github.com/linjan),
[@adworacz](https://github.com/adworacz),
[@humphd](https://github.com/humphd),
[@jpluscplusm](https://github.com/humphd),


Changes:

* Add -A/--user-agent curl option to specify a User Agent for all requests of a file [#452](https://github.com/Orange-OpenSource/hurl/issues/452)
* Support filter with nested object in jsonpath expression [#423](https://github.com/Orange-OpenSource/hurl/issues/423)
* Add BasicAuth section [#360](https://github.com/Orange-OpenSource/hurl/issues/360)
* Add next request in interactive mode [#268](https://github.com/Orange-OpenSource/hurl/issues/268)
* Improving pattern for regex capture and matches predicates [#4](https://github.com/Orange-OpenSource/hurl/issues/4)


Bugs Fixes:

* Add additional characters in cookie value [#466](https://github.com/Orange-OpenSource/hurl/issues/466)
* Add square brackets in key-string [#457](https://github.com/Orange-OpenSource/hurl/issues/457)
* Fix Build in Alpine [#448](https://github.com/Orange-OpenSource/hurl/issues/448)
* Check that data file is a child of user provided context dir [#405](https://github.com/Orange-OpenSource/hurl/issues/405)
* Report error on missing closing quote for quoted String [#403](https://github.com/Orange-OpenSource/hurl/issues/403)


[1.5.0 (2021-12-09)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.5.0)
========================================================================================================================

Thanks to
[@humphd](https://github.com/humphd),
[@tbolon](https://github.com/tbolon),
[@ansscfc](https://github.com/ansscfc),
[@atcol](https://github.com/atcol),
[@realtica](https://github.com/realtica),
[@ramkumarkb](https://github.com/ramkumarkb)

Changes:

* Support globs with --test arg [#387](https://github.com/Orange-OpenSource/hurl/issues/387)
* Add ARM Testing with Circle CI [#335](https://github.com/Orange-OpenSource/hurl/issues/335)
* Option --html renamed to --report-html [#333](https://github.com/Orange-OpenSource/hurl/issues/333)
* Add JUnit XML Report Output [#326](https://github.com/Orange-OpenSource/hurl/issues/326)
* Add option --cacert [#314](https://github.com/Orange-OpenSource/hurl/issues/314)
* Display libcurl error code/message [#310](https://github.com/Orange-OpenSource/hurl/issues/310)
* Display curl -V version in hurl -V [#309](https://github.com/Orange-OpenSource/hurl/issues/309)
* Use --json parameter to write JSON to stdout [#283](https://github.com/Orange-OpenSource/hurl/issues/283)
* Using Environment Variables in Hurl files [#122](https://github.com/Orange-OpenSource/hurl/issues/122)



Bugs Fixes:

* Fix memory allocation [#380](https://github.com/Orange-OpenSource/hurl/issues/380)
* Fix Decimal float values [#363](https://github.com/Orange-OpenSource/hurl/issues/363)
* Fix build for ARM [#334](https://github.com/Orange-OpenSource/hurl/issues/334)


[1.4.0 (2021-10-18)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.4.0)
========================================================================================================================

Thanks to 
[@youhavethewrong](https://github.com/youhavethewrong),
[@fourjay](https://github.com/fourjay),
[@tbolon](https://github.com/tbolon),
[@Morreski](https://github.com/Morreski),
[@andrejohansson](https://github.com/andrejohansson)

Changes:

* Install via Scoop [#289](https://github.com/Orange-OpenSource/hurl/issues/289)
* Support spaces in filenames [#287](https://github.com/Orange-OpenSource/hurl/issues/287)
* Remove deprecated option --append [#262](https://github.com/Orange-OpenSource/hurl/issues/262)
* Improve HTML output for hurlfmt [#260](https://github.com/Orange-OpenSource/hurl/issues/260)
* Add option --ignore-asserts [#254](https://github.com/Orange-OpenSource/hurl/issues/254)


Bugs Fixes:

* Support tilde in URL [#294](https://github.com/Orange-OpenSource/hurl/issues/294)
* Fix Windows Terminal output for non-UTF-8 byte sequences [#292](https://github.com/Orange-OpenSource/hurl/issues/292)
* Fix asserts entries in JSON report [#286](https://github.com/Orange-OpenSource/hurl/issues/286)
* Fix --test mode in Windows (/dev/null) [#273](https://github.com/Orange-OpenSource/hurl/issues/273)
* Support key with underscore in jsonpath dot notation [#269](https://github.com/Orange-OpenSource/hurl/issues/269)
* Fix Windows installer PATH [#267](https://github.com/Orange-OpenSource/hurl/issues/267)


[1.3.1 (2021-09-11)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.3.1)
========================================================================================================================

Bugs Fixes:

* Accept hyphen in variable name [#258](https://github.com/Orange-OpenSource/hurl/issues/258)
* Support # in header value [#255](https://github.com/Orange-OpenSource/hurl/issues/255)


[1.3.0 (2021-09-03)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.3.0)
========================================================================================================================

Changes:

* Simplify JSON/HTML report generation [#241](https://github.com/Orange-OpenSource/hurl/issues/241)
* Add --progress option to print progressive status and executed count [#236](https://github.com/Orange-OpenSource/hurl/issues/236)
* Add endsWith predicate [#234](https://github.com/Orange-OpenSource/hurl/issues/234)
* Add --summary option to print tests metrics [#232](https://github.com/Orange-OpenSource/hurl/issues/232)
* Add md5 query [#231](https://github.com/Orange-OpenSource/hurl/issues/231)
* Add Hex body [#230](https://github.com/Orange-OpenSource/hurl/issues/230)
* Add dependency check in the CI [#226](https://github.com/Orange-OpenSource/hurl/pull/226)
* Use startswith/contains predicate with bytearray [#224](https://github.com/Orange-OpenSource/hurl/issues/224)
* Add subquery count  [#217](https://github.com/Orange-OpenSource/hurl/issues/217)
* Add notEquals (!=) predicate [#216](https://github.com/Orange-OpenSource/hurl/issues/216)
* Accept predicate value raw-string and base64 [#215](https://github.com/Orange-OpenSource/hurl/issues/215)
* improve error messages when syntax is not recognized [#213](https://github.com/Orange-OpenSource/hurl/issues/213)
* Add operators for arithmetic predicates [#210](https://github.com/Orange-OpenSource/hurl/issues/210)
* Improve error messages if the URL contains an illegal character [#207](https://github.com/Orange-OpenSource/hurl/issues/207)
* Improve Error message for the countEquals predicate [#195](https://github.com/Orange-OpenSource/hurl/issues/195)
* Improve Error Message "Could not Resolve Host" [#194](https://github.com/Orange-OpenSource/hurl/issues/194)
* Add HTTP Headers in the session json file. [#191](https://github.com/Orange-OpenSource/hurl/issues/191)
* Improve Hurl Report [#190](https://github.com/Orange-OpenSource/hurl/issues/190)
* Output curl command-line in verbose mode [#179](https://github.com/Orange-OpenSource/hurl/issues/179)
* Normalize win64 packages names [#178](https://github.com/Orange-OpenSource/hurl/pull/178)
* Add checksum body query (md5, sha1, sha256) [#102](https://github.com/Orange-OpenSource/hurl/issues/102)


Bugs Fixes:

* Fix incorrect JSON export for lessThan predicate [#212](https://github.com/Orange-OpenSource/hurl/issues/212)
* Fix segmentation fault with Invalid XPath Assert [#192](https://github.com/Orange-OpenSource/hurl/issues/192)


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

Hurl 1.2.0 is now available for Windows.

Changes:

* Create release for Windows [#174](https://github.com/Orange-OpenSource/hurl/issues/174)
* Run Test Integ in Windows [#160](https://github.com/Orange-OpenSource/hurl/issues/160)
* Support terminal colors in Windows [#159](https://github.com/Orange-OpenSource/hurl/issues/159)
* Update to Rust 1.50.0 [#156](https://github.com/Orange-OpenSource/hurl/issues/156)
* Support Hurl File with UTF8 BOM [#151](https://github.com/Orange-OpenSource/hurl/issues/151)
* Type input variables [#120](https://github.com/Orange-OpenSource/hurl/issues/120)


Bugs Fixes:

* Support wildcard in jsonpath [#169](https://github.com/Orange-OpenSource/hurl/issues/169)
* Reading body file is too slow [#144](https://github.com/Orange-OpenSource/hurl/issues/144)


[1.1.0 (2021-02-07)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.1.0)
========================================================================================================================

Changes:

* Add windows build documentation [#150](https://github.com/Orange-OpenSource/hurl/issues/150)
* Add verbose output when a ssl error occurs [#145](https://github.com/Orange-OpenSource/hurl/issues/145)
* Migrate integration scripts to python [#126](https://github.com/Orange-OpenSource/hurl/issues/126)
* Add option --interactive [#121](https://github.com/Orange-OpenSource/hurl/issues/121)
* Improve Template Support in JSON body [#116](https://github.com/Orange-OpenSource/hurl/issues/116)
* Update to Rust 1.49.0 [#112](https://github.com/Orange-OpenSource/hurl/issues/112)
* Add option --variables-file  / --variables [#42](https://github.com/Orange-OpenSource/hurl/issues/42)


Bugs Fixes:

* Insecure mode for a full session [#143](https://github.com/Orange-OpenSource/hurl/issues/143)
* Display error message when hurl input can not be decoded [#139](https://github.com/Orange-OpenSource/hurl/issues/139)
* Cookie value in cookie section doesn't accept some value [#132](https://github.com/Orange-OpenSource/hurl/issues/132)
* Running cargo test in windows [#128](https://github.com/Orange-OpenSource/hurl/issues/128)
* Input Cookie file [#124](https://github.com/Orange-OpenSource/hurl/issues/124)


[1.0.0 (2020-12-18)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#1.0.0)
========================================================================================================================

Changes:

* Update to Rust 1.48.0 [#107](https://github.com/Orange-OpenSource/hurl/issues/107)
* Add type predicates [#98](https://github.com/Orange-OpenSource/hurl/pull/98)
* Arithmetic predicates for number (Integer or Float) [#95](https://github.com/Orange-OpenSource/hurl/issues/95)
* Add predicates to test value types [#94](https://github.com/Orange-OpenSource/hurl/issues/94)
* Add duration query [#90](https://github.com/Orange-OpenSource/hurl/issues/90)
* Add comparison predicates [#89](https://github.com/Orange-OpenSource/hurl/issues/89)


Bugs Fixes:

* Serialization of cookie query for Expires attributes with hurlfmt [#100](https://github.com/Orange-OpenSource/hurl/issues/100)
* Valid Jsonpath query is not parsed [#93](https://github.com/Orange-OpenSource/hurl/issues/93)


[0.99.14 (2020-11-17)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#0.99.14)
========================================================================================================================

Changes:

* Update hurlfmt usage [#81](https://github.com/Orange-OpenSource/hurl/issues/81)
* Migrate fully to GitHub Actions [#69](https://github.com/Orange-OpenSource/hurl/issues/69)
* Add Hurl File JSON export  [#65](https://github.com/Orange-OpenSource/hurl/issues/65)
* Support wildcard value in implicit status code response [#55](https://github.com/Orange-OpenSource/hurl/issues/55)


Bugs Fixes:

* Can not parse user in URL (Basic Authentication) [#73](https://github.com/Orange-OpenSource/hurl/issues/73)
* MultipartFormData is not present in json export [#63](https://github.com/Orange-OpenSource/hurl/issues/63)
* Hurl usage doesn't end with newline  [#60](https://github.com/Orange-OpenSource/hurl/issues/60)


[0.99.13 (2020-10-28)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#0.99.13)
==========================================================================================================

Hurl 0.99.13 now uses libcurl under the hood instead of reqwest rust crate.
This makes hurl even closer to curl in terms of behavior and semantic.


Changes:

* Improve Cookie Asserts [#5](https://github.com/Orange-OpenSource/hurl/issues/5)
* Request Cookies Section should not change cookie store [#25](https://github.com/Orange-OpenSource/hurl/issues/25)
* Uncompress response body for queries [#35](https://github.com/Orange-OpenSource/hurl/issues/35)
* Add option --compressed [#36](https://github.com/Orange-OpenSource/hurl/issues/36)
* Predicates with not qualifier [#39](https://github.com/Orange-OpenSource/hurl/issues/39)
* Support Multiple Content-Encoding (at the same time) [#40](https://github.com/Orange-OpenSource/hurl/issues/40)
* Add option -u, --user [#41](https://github.com/Orange-OpenSource/hurl/issues/41)
* Do not add header Expect automatically [#44](https://github.com/Orange-OpenSource/hurl/issues/44)
* Add timeout option (--connect-timeout and --max-time) [#30](https://github.com/Orange-OpenSource/hurl/issues/30)
* Add option --compressed [#34](https://github.com/Orange-OpenSource/hurl/issues/34)
* Decompress response body [#38](https://github.com/Orange-OpenSource/hurl/issues/38)



Bugs Fixes:

* Fix Host" request header with specific port [#6](https://github.com/Orange-OpenSource/hurl/issues/6)
* Fix Assert with different types of values [#37](https://github.com/Orange-OpenSource/hurl/issues/37)


[0.99.12 (2020-08-27)](https://github.com/Orange-OpenSource/hurl/blob/master/CHANGELOG.md#0.99.12)
==========================================================================================================

Initial Release (beta)
