🚀 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]withbody.<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
$refpaths 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
$refstrings without a/separator. - Crash when
--report-allure-path(orreports.allure.path) cannot be used as a filesystem path. RecursionErrorin coverage phase on multi-branchallOfschemas thatcanonicalishcannot 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: 1arrays whenitemsis unsatisfiable. - Emit string-too-long negatives for
maxLengththresholds between 32 KB and 1 MB. - Emit null variants for optional-nullable properties absent from the body template.
- Cover properties inherited via
allOfwhen a sibling property uses a bundled$ref. - Emit
maxItemsnegatives foruniqueItems: truearrays whoseitems.enumdomain is exhausted. - Constrain Swagger 2.0 array query parameters with top-level
enumto that domain viaitems.enum. - Cover sibling properties when one optional property has a self-contradicting schema.
- Cover array properties when
itemsis declared withouttype: array. - Emit
maxLengthnegatives even when the schema'spatternis intrinsically unsatisfiable. - Emit
patternnegatives for header and cookie parameters. - Runtime Error in negative generation for FastAPI
Optional[Enum]query parameters (anyOfwith$refand siblingenum). - Serialize nested-object multipart form-data parts as JSON instead of Python
repr. - False positive
positive_data_acceptancefor body schemas withadditionalProperties: falseinherited viaallOf. - False positive
positive_data_acceptanceformaxItems: 0arrays whoseitemsschema is satisfiable. - False positive
positive_data_acceptancefornotclauses whose violations breach other outer constraints. - False positive
positive_data_acceptancewhen a discriminator branch references a polymorphic schema. - False positive
positive_data_acceptancewhen siblingoneOf/anyOfconstraints reference bundled$refschemas.