Releases: studio-b12/goat
v1.3.0
New Features
-
Added raw data identifier
$
to directly use raw data from a response as request body. See the example in the
documentation for more information. [#66, #67] -
Added a new flag
--retry-failed
(or-R
for short). When a batch execution fails, failed files are now saved to a
temporary file. After that, goat can be executed again with only the flag which will re-run only the failed files.
v1.3.0-beta.1
New Features
-
Added raw data identifier
$
to directly use raw data from a response as request body. See the example in the
documentation for more information. [#66, #67] -
Added a new flag
--retry-failed
(or-R
for short). When a batch execution fails, failed files are now saved to a
temporary file. After that, goat can be executed again with only the flag which will re-run only the failed files.
v1.2.0
New Features
-
Added a new request block
[FormData]
, which enables to specifymultipart/form-data
request payloads. Here you can read the documentation. [#55] -
Added a new request option
followredirects
. This istrue
by default, but can be set tofalse
if redirects should not be followed transparently. [#61] -
Added a new script builtin
assert_eq
, where you can pass two values which are compared and output for better error clarification. -
Added a new script builtin
jq
, to perform JQ commands on any object in script blocks.
Minor Changes and Bug Fixes
- Fixed an issue when parsing file descriptors on Windows systems.
v1.2.0-beta.3
New Features
-
Added a new request block
[FormData]
, which enables to specifymultipart/form-data
request payloads. Here you can read the documentation. [#55] -
Added a new request option
followredirects
. This istrue
by default, but can be set tofalse
if redirects should not be followed transparently. [#61] -
Added a new script builtin
assert_eq
, where you can pass two values which are compared and output for better error clarification. -
Added a new script builtin
jq
, to perform JQ commands on any object in script blocks.
Minor Changes and Bug Fixes
- Fixed an issue when parsing file descriptors on Windows systems.
v1.2.0-beta.2
New Features
-
Added a new request block
[FormData]
, which enables to specifymultipart/form-data
request payloads. Here you can read the documentation. [#55] -
Added a new request option
followredirects
. This istrue
by default, but can be set tofalse
if redirects should not be followed transparently. [#61] -
Added a new script builtin
assert_eq
, where you can pass two values which are compared and output for better error clarification.
Minor Changes and Bug Fixes
- Fixed an issue when parsing file descriptors on Windows systems.
v1.2.0-beta.1
New Features
-
Added a new request block
[FormData]
, which enables to specifymultipart/form-data
request payloads. Here you can read the documentation. [#55] -
Added a new request option
followredirects
. This istrue
by default, but can be set tofalse
if redirects should not be followed transparently. [#61]
Minor Changes and Bug Fixes
- Fixed an issue when parsing file descriptors on Windows systems.
v1.1.0
New Features
-
Profiles have been implemented for a more central control on commonly used parameters across projects.
See the documentation for all details. -
A new flag
--reduced-errors
(or-R
for short) has been added to hide template errors in teardown steps.
This can be useful to reduce the noise of template errors due to missing variables in teardown steps when tests fail. -
Added a new builtin templating function
formatTimestamp
to
format dates. Also thetimestamp
builtin
has been updated to also accept format names likeformatTimestamp
.
Minor Changes and Bug Fixes
-
response.BodyRaw
is now represented as a UTF-8 encoded string when printed in the[Script]
section instead of listing
the list of byte values. It is still an array of bytes though, so you can operate on it as expected. -
Fixed a bug where
noabort
andalwaysabort
options had no effect on teardown steps. -
The
json
template builtin now accepts an additional parameter for indentation.
Code Base
- The Goatfile parser does now produce an intermediate
AST
structure instead of theGoatfile
directly. This should allow
to build tooling around Goatfiles using the provided parser implementation more easily (i.e. like an auto-formatter or LSP).
Feel free to discover the new implementation here. [#57]
v1.1.0-beta.2
New Features
-
Profiles have been implemented for a more central control on commonly used parameters across projects.
See the documentation for all details. -
A new flag
--reduced-errors
(or-R
for short) has been added to hide template errors in teardown steps.
This can be useful to reduce the noise of template errors due to missing variables in teardown steps when tests fail.
Minor Changes and Bug Fixes
-
response.BodyRaw
is now represented as a UTF-8 encoded string when printed in the[Script]
section instead of listing
the list of byte values. It is still an array of bytes though, so you can operate on it as expected. -
Fixed a bug where
noabort
andalwaysabort
options had no effect on teardown steps.
Code Base
- The Goatfile parser does now produce an intermediate
AST
structure instead of theGoatfile
directly. This should allow
to build tooling around Goatfiles using the provided parser implementation more easily (i.e. like an auto-formatter or LSP).
Feel free to discover the new implementation here. [#57]
v1.1.0-beta.1
New Features
- Profiles have been implemented for a more central control on commonly used parameters across projects.
See the documentation for all details.
Minor Changes and Bug Fixes
response.BodyRaw
is now represented as a UTF-8 encoded string when printed in the[Script]
section instead of listing
the list of byte values. It is still an array of bytes though, so you can operate on it as expected.
Code Base
- The Goatfile parser does now produce an intermediate
AST
structure instead of theGoatfile
directly. This should allow
to build tooling around Goatfiles using the provided parser implementation more easily (i.e. like an auto-formatter or LSP).
Feel free to discover the new implementation here.
v1.0.0
⚠️ Breaking Changes
Don't worry, these breaking changes only apply to you if you have used Goat in a version before v1.0.0!
If we introduce breaking changes in following updates, they will be listed here in this way.
-
The built-in template function
base64url
has been renamed tobase64Url
for better naming consistency. [#48] -
The built-in template functions
base64
andbase64Url
do now encode strings to Base64 with leading padding. If you want to encode without padding, use the new functionsbase64Unpadded
andbase64UrlUnpadded
. [#48] -
The previously deprecated alias
headers
for theheader
request section has now been removed. -
The
BodyJson
field in theresponse
object in the[Script]
section has now been replaced with theBody
field, which now contains the parsed response body depending on the specified or inferred body type. Read here for more information. -
The
BodyRaw
field in theresponse
object in the[Script]
section does now contain the raw response byte array.
New Features
-
Response body parsing does now also support XML responses in addition to JSON. In the Request Option
responsetype
, you can explicitly specify which response type is expected. If not specified, the response body type is inferred via the receivedContent-Type
header. The parsed body data can be accessed in theresponse.Body
field as addressable object. -
Requesting HTTPS endpoints with self-signed certificates is now possible. [#49, #51]
That means, that the certificate validity is not checked by default. You can pass the--secure
flag or set theGOATARG_SECURE=true
environment variable to enable certificate validation.
Minor Changes and Bug Fixes
-
Fixed a bug causing a panic when multiple Goatfiles are passed and one or more of these files do not exist. Now, a proper error message is returned.
-
Fixed a bug which caused a panic when invalid key-value paris have been passed via the
--args
flag. [#49] -
When running with the
DEBUG
logging level, the parsed Goatfile is now only printed to log output if the--dry
flag is passed. -
Some command line parameters now got respective environment variables to set them. These are prefixed with
GOATARG_
and can be viewed in the--help
overview.