pypi schemathesis 4.18.1
Release 4.18.1

5 hours ago

🔧 Changed

  • Seed strategy draws in add_single_example unconditionally so example generation is deterministic.
  • Recognize application/jwt, text/json, application/x-json as JSON media types.
  • Sort failures alphabetically by operation label for stable output ordering.

🐛 Fixed

  • Cover each discriminator-pinned oneOf branch when the branch is a $ref with sibling pin keywords.
  • Honour example/examples/default on array items so curated values reach populated arrays instead of synthetic empty fills.
  • Recover spec-declared example/examples/default values that carry readOnly-stripped properties by dropping those keys before validating.
  • Cover numeric oneOf/anyOf branches when spec examples only match a sibling branch.
  • Skip type-violation negatives for multipart/form-data string properties — stringification makes them wire-indistinguishable from enum violations.
  • Honour if/then/else constraints in positive and negative coverage.
  • Generate type-violation negatives for properties combining type and enum when canonicalization drops the explicit type.
  • Drop sibling keys alongside $ref in OpenAPI 3.0 / Swagger 2.0 schemas.
  • Respect maxProperties in positive coverage cases for additionalProperties schemas.
  • Preserve required for allOf schemas combined with nullable $ref.
  • Filter spec-provided examples and defaults when the schema uses Draft-4-only constructs.
  • Drop positive coverage bodies that violate sibling anyOf/oneOf constraints.
  • Emit empty-array minItems negatives for array schemas that also declare examples/example/default.
  • Cover maxLength/minLength boundary strings for nullable string schemas (type: ["string", "null"]).
  • Cover each items branch in positive coverage when the array has size constraints.
  • Drop duplicate object bodies in positive coverage when scenarios collapse to the same value.
  • Skip multipart/form-data property mutations whose stringified value still satisfies the schema.
  • Cover falsy default and example spec hints (0, "", false, [], {}) in positive coverage.
  • Surface per-property example/default into recursively-generated object templates instead of synthesising values that ignore them.
  • Cover the numeric branch of type: ["string", "number", ...] schemas in positive coverage.
  • Cover positive parameter values (e.g. enum query params) when the body is unsatisfiable.
  • Negative coverage for propertyNames: emit objects with keys violating the sub-schema constraints.

Don't miss a new schemathesis release

NewReleases is sending notifications on new releases.