Skip to content

Crank - v0.9.0

Compare
Choose a tag to compare
@iamEAP iamEAP released this 03 Feb 22:54
· 80 commits to master since this release

New in this Version

  • Run all consecutive validations - As of v0.9.0, the behavior when running Scenarios containing consecutive validation steps is different: if Crank encounters a fail or error response, but the next step is also a validation, it will continue until the next action step, or until the end of the scenario (whichever comes first). The outcome and exit code will remain the same (error or fail); this just ensures that all relevant failures are caught and logged in a single run. [#37, #38]
  • Additional Step Output - As of v0.9.0, structured data will be printed on step fail or error (including tables and links to files) when available. If a Scenario is run with the --debug flag, every step will print this data. This is only true of Cogs that implement the cog.proto improvements introduced in this version.

API Additions

  • Structured Response Data - A series of new message types and fields have been introduced, allowing steps to return structured data, in addition to the existing outcome, message format, and arguments. Cogs implementing this new version of the cog.proto can use these to return key/value data, table data, and binary data (e.g. images) to help crank users diagnose problems. [#28, #41]
  • Step Context IDs - Three differently scoped contextual IDs have been added to the RunStepRequest message type. A request_id can be used to correlate consecutive steps, a scenario_id can be used to correlate steps across requests that belong to the same scenario run, and a requestor_id can be used to correlate steps across different scenario runs. Cogs implementing this new version of the cog.proto can use these as a basis for caching data and metadata to improve Cog performance. [#40]
  • Field and Step Help Text - The FieldDefinition and StepDefinition message types now include help attributes. Cogs implementing this new version of the cog.proto can use these attributes to supply more detailed documentation. [#39]

All API improvements are reflected in the cog.proto documentation

Bug Fixes, Etc.

  • Clearer Empty Message Args - In cases where a Cog returns a message argument that is an empty string, the empty argument will now be replaced with (empty value), to improve message readability and debugging [#33]
  • Friendlier Lint Configs - Cogs scaffolded using crank cog:scaffold will use an updated lint configuration, reducing annoying lint errors and overrides [#35]

Contributors

Thanks to @saludangelito for contributions to this release.