pypi schemathesis 4.19.0
Release 4.19.0

6 hours ago

🚀 Added

  • Stateful tests damp reuse of extracted values from unreliable API links.
  • Reuse response field values across operations without an inferred producer-consumer link.
  • Persist error-feedback, auth, and 405 discoveries to .schemathesis/; probing replays them to skip rediscovery.
  • Fuzz dictionaries: sample curated values during generation via [dictionaries.<name>] and [generation.dictionaries]. #2121
  • Override body fields via [parameters] with body.<jsonpath> keys.

🏎️ Performance

  • Bound hypothesis-jsonschema caches; ~35% lower coverage-phase peak memory on long-running schemas.
  • Cache schema generation across operations during the coverage phase.

🐛 Fixed

  • Schema loading crash for external $ref paths containing URI-reserved characters (e.g. paths/{id}/op.yaml). #4152
  • Out-of-memory in coverage phase on wide, deeply-nested OpenAPI schemas (e.g. AWS Glue, Microsoft Graph).
  • Surface a clean schema error for body $ref strings without a / separator.
  • Crash when --report-allure-path (or reports.allure.path) cannot be used as a filesystem path.
  • RecursionError in coverage phase on multi-branch allOf schemas that canonicalish cannot simplify.
  • Restore stateful chain coverage for foreign-key consumers whose target resource is produced by another operation.
  • Serialize Swagger 2.0 nested array-of-array query parameters using each level's collectionFormat.
  • Emit empty-array negatives for minItems: 1 arrays when items is unsatisfiable.
  • Emit string-too-long negatives for maxLength thresholds between 32 KB and 1 MB.
  • Emit null variants for optional-nullable properties absent from the body template.
  • Cover properties inherited via allOf when a sibling property uses a bundled $ref.
  • Emit maxItems negatives for uniqueItems: true arrays whose items.enum domain is exhausted.
  • Constrain Swagger 2.0 array query parameters with top-level enum to that domain via items.enum.
  • Cover sibling properties when one optional property has a self-contradicting schema.
  • Cover array properties when items is declared without type: array.
  • Emit maxLength negatives even when the schema's pattern is intrinsically unsatisfiable.
  • Emit pattern negatives for header and cookie parameters.
  • Runtime Error in negative generation for FastAPI Optional[Enum] query parameters (anyOf with $ref and sibling enum).
  • Serialize nested-object multipart form-data parts as JSON instead of Python repr.
  • False positive positive_data_acceptance for body schemas with additionalProperties: false inherited via allOf.
  • False positive positive_data_acceptance for maxItems: 0 arrays whose items schema is satisfiable.
  • False positive positive_data_acceptance for not clauses whose violations breach other outer constraints.
  • False positive positive_data_acceptance when a discriminator branch references a polymorphic schema.
  • False positive positive_data_acceptance when sibling oneOf/anyOf constraints reference bundled $ref schemas.

Don't miss a new schemathesis release

NewReleases is sending notifications on new releases.