pypi schemathesis 4.11.0
Release 4.11.0

6 hours ago

🚀 Added

  • OpenAPI 3.2 support for the QUERY HTTP method.
  • OpenAPI 3.2 support for in: querystring parameters.
  • 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 a oneOf/anyOf schema has a sub-schema with format: binary array items.
  • False positive negative_data_rejection for application/xml bodies in coverage due to type mutations producing wire-identical bytes. #3525
  • False positive negative_data_rejection in 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/oneOf and required constraints. #3520
  • missing_required_header now accepts 400, 401, 403, and 422 (in addition to 406) for missing non-Authorization required 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 parameter content schemas now reported as schema errors at load time instead of crashing at generation time.
  • filter_body and other filter_* 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_string instead of json.dumps(sort_keys=True).
  • hypothesis-jsonschema patched to use jsonschema_rs.canonical.json.to_string instead of a custom encoder.
  • Cached can_negate results during negative test generation.
  • jsonschema-rs upgraded to 0.44.0 with validator_cls_for for draft detection.
  • Custom deepclone replaced with jsonschema_rs.canonical.schema.clone.
  • Faster patched hypothesis-jsonschema merge 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 colorama from dependencies.
  • Support for pyrate-limiter>=4.0.
  • Pytest 9 native subtests; pytest-subtests dependency removed. #3522

Don't miss a new schemathesis release

NewReleases is sending notifications on new releases.