Skip to content

Releases: studio-b12/goat

v1.3.0

02 Oct 14:51
a664d28
Compare
Choose a tag to compare

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

16 Sep 09:29
a664d28
Compare
Choose a tag to compare
v1.3.0-beta.1 Pre-release
Pre-release

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

07 Aug 15:02
Compare
Choose a tag to compare

New Features

  • Added a new request block [FormData], which enables to specify multipart/form-data request payloads. Here you can read the documentation. [#55]

  • Added a new request option followredirects. This is true by default, but can be set to false 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

22 Jul 08:25
6015c24
Compare
Choose a tag to compare
v1.2.0-beta.3 Pre-release
Pre-release

New Features

  • Added a new request block [FormData], which enables to specify multipart/form-data request payloads. Here you can read the documentation. [#55]

  • Added a new request option followredirects. This is true by default, but can be set to false 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

17 Jun 08:23
Compare
Choose a tag to compare
v1.2.0-beta.2 Pre-release
Pre-release

New Features

  • Added a new request block [FormData], which enables to specify multipart/form-data request payloads. Here you can read the documentation. [#55]

  • Added a new request option followredirects. This is true by default, but can be set to false 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

29 May 12:51
27577be
Compare
Choose a tag to compare
v1.2.0-beta.1 Pre-release
Pre-release

New Features

  • Added a new request block [FormData], which enables to specify multipart/form-data request payloads. Here you can read the documentation. [#55]

  • Added a new request option followredirects. This is true by default, but can be set to false 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

14 Mar 15:15
Compare
Choose a tag to compare

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 the timestamp builtin
    has been updated to also accept format names like formatTimestamp.

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 and alwaysabort 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 the Goatfile 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

27 Feb 09:56
Compare
Choose a tag to compare
v1.1.0-beta.2 Pre-release
Pre-release

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 and alwaysabort options had no effect on teardown steps.

Code Base

  • The Goatfile parser does now produce an intermediate AST structure instead of the Goatfile 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

21 Feb 10:25
Compare
Choose a tag to compare
v1.1.0-beta.1 Pre-release
Pre-release

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 the Goatfile 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

21 Dec 09:35
Compare
Choose a tag to compare

⚠️ 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 to base64Url for better naming consistency. [#48]

  • The built-in template functions base64 and base64Url do now encode strings to Base64 with leading padding. If you want to encode without padding, use the new functions base64Unpadded and base64UrlUnpadded. [#48]

  • The previously deprecated alias headers for the header request section has now been removed.

  • The BodyJson field in the response object in the [Script] section has now been replaced with the Body 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 the response 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 received Content-Type header. The parsed body data can be accessed in the response.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 the GOATARG_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.