v0.17.0
v5 Schema
We have introduced a new version of the schema. This new version changes both request queries and request headers.
New matcher format
We have updated the format of matchers. The reasoning behind this was to make them more flexible and easier to extend in the future.
{
"matcher": "exact",
"value": "new-matcher"
}
Request header changes
We have updated Headers to now allow for the user of matchers, previously, header values were defined as strings.
"headers": {
"Content-Type": [
"application/json"
]
}
In v5, you now use matchers, bringing it more inline with the other fields of a request.
"headers": {
"Content-Type": [
{
"matcher": "exact",
"value": "application/json"
}
]
}
Request query changes
We have also updated the request query field to match headers. Previously, queries were represented as strings, which didn't make much sense considering how we represented headers.
"query": [
{
"matcher": "exact",
"value": "testQuery=testValue"
}
]
Now, they follow the same structure as request headers. This should allow for easier matching using different matchers.
"query": {
"testQuery": [
{
"matcher": "exact",
"value": "testValue"
}
]
}
A downside to this that existing queries from older simulations will now get moved to a new query field called deprecatedQuery. We intend to remove this field at some point in time, but we hope everyone will be able to update their simulations to adopt this new query structure before we remove it.
Hoverctl warnings
With the introduction of a temporary field that is marked as deprecated, we have also updated the simulation import API and hoverctl to now warn users if their simulations contain deprecated fields. This warning is just a warning and does not interfere with the importing process, so it is possible to ignore this until a time that suits you best.
For more information on Deprecated Queries
Record sequences of requests
We have updated capture mode to now support the capturing of multiple request response pairs using the same request. This now means you can record stateful services and iterate through the recorded responses. This behaviour is not default and you will need to enable it when going into capture mode.
hoverctl mode capture --stateful
For more information on Sequences
For a tutorial on Sequences