🚀 Added
- OpenAPI 3.2 support for the
QUERYHTTP method. - OpenAPI 3.2 support for
in: querystringparameters. - OpenAPI 3.2 support for Server-Sent Events (
text/event-stream) response validation. #3064
🐛 Fixed
- Legacy Draft 4 exclusive bounds in OpenAPI 3.1 schemas (
exclusiveMinimum: true) no longer silently ignored. - Coverage-phase crash:
ValueError: Unsupported type: 'Binary'when aoneOf/anyOfschema has a sub-schema withformat: binaryarray items. - False positive
negative_data_rejectionforapplication/xmlbodies in coverage due to type mutations producing wire-identical bytes. #3525 - False positive
negative_data_rejectionin fuzzing for integer/number path parameters when string mutations serialize to URL-decoded numeric values (e.g.,%2B1->+1). - Schema-invalid positive values in coverage for schemas with
anyOf/oneOfandrequiredconstraints. #3520 missing_required_headernow accepts400,401,403, and422(in addition to406) for missing non-Authorizationrequired headers. #3521- Coverage path parameter values no longer silently replaced with
"value"when a custom format (e.g.,ipv4-network) generates strings containing/. #3527 - Path examples containing
/now escaped in examples phase when some path parameters are generated from schema. #3533 - Unresolvable
$refs inside parametercontentschemas now reported as schema errors at load time instead of crashing at generation time. filter_bodyand otherfilter_*hooks now filter values in negative mode.
🚀 Performance
- ~2x faster negative test generation for operations with complex schemas; reference resolution skipped for ref-free schemas and cached for repeated calls.
- Less serialization work during negative test generation.
- Faster serialization via
jsonschema_rs.canonical.json.to_stringinstead ofjson.dumps(sort_keys=True). hypothesis-jsonschemapatched to usejsonschema_rs.canonical.json.to_stringinstead of a custom encoder.- Cached
can_negateresults during negative test generation. jsonschema-rsupgraded to 0.44.0 withvalidator_cls_forfor draft detection.- Custom
deepclonereplaced withjsonschema_rs.canonical.schema.clone. - Faster patched
hypothesis-jsonschemamerge path via cached repeated merges and identity-merge skips. - No template generation in the negative-only coverage phase.
- Cached repeated schema-based value generation in the coverage phase.
🔧 Changed
- Avoid extra transitive dependencies from
jsonschema. - Remove
coloramafrom dependencies. - Support for
pyrate-limiter>=4.0. - Pytest 9 native subtests;
pytest-subtestsdependency removed. #3522