🚀 Added
- Fuzz dictionary bindings for GraphQL arguments via
<Type>.<field>.<argument>keys. - Opt-in
low_valid_ratewarning for operations that accept few of the requests sent to them. - A server that stops accepting connections ends the run with one
Server Unavailableerror. missing_test_datawarns for GraphQL operations whose responses never carrydata.st replayretries passing crashes up to three times and reports intermittent ones asFLAKY.- Dynamic auth
extract_from = "cookie"takes a named cookie from aSet-Cookielogin response. schemathesis.errors.FailureGroupfor catching failures raised byvalidate_response.- Support for
pytest8.4. validate()andis_valid()on request parameters for checking values against the schema.
🐛 Fixed
- False positive
negative_data_rejectionforregex,uri-referenceand similar string formats in fuzzing. - False positive
response_schema_conformancefor HEAD responses that declare a body. - False positive 'negative_data_rejection' for unknown query parameters next to boolean ones.
- Send examples that different parameters declare under the same name together.
- Send the value, not the name, for
examplesmaps inside a parameter or body schema. - False positive GraphQL server errors for resolver rejections labelled in error
extensions. - Report OpenAPI links to missing operations or unresolvable references as invalid links.
- Complete partial request body examples declared under the
exampleskeyword. - Protocol-relative
$ref(//host/schema.json) failing to resolve for schemas loaded from a file. - XML serialization error for scalar bodies under a root element with a namespace prefix.
- Generate cookie values from RFC 6265 cookie-octets only.
- Send a JSON string, not raw bytes, for top-level
format: binaryJSON bodies.
🔧 Changed
- Name the conflicting constraints and where they sit when test data cannot be generated.
- Report GraphQL non-nullable fields resolving to
nullas aGraphQL schema violation, severity high. missing_test_datanames the operation that appears to supply the data an unlinked operation needs, or reports that none does.