Schemathesis v4.21.0 Release Notes
Release Date: 2026-05-31 // 11 days ago-
🚀 Added
- Chain GraphQL operations on non-
ididentifiers (fullPath,slug, ...) in stateful and fuzzing phases.
🐎 🏎️ Performance
- Much lower peak memory and faster validation for schemas with very large
maxLength/maxItems. - 🏗 Cache failed validator builds to avoid recompiling invalid patterns from large
maxLength/maxItemsvalues. - 🐎 Update
hypothesis-graphqlto0.13.0that brings up to 180x performance improvements for deeply nested GraphQL schemas. - 🐎 Update
harfileto0.5.0for slightly better performance. - Lower memory usage in long stateful runs.
- Faster, lower-memory stateful state machine construction for large schemas.
🛠 🐛 Fixed
- ✅ Excessive re-runs in stateful testing against APIs with mutable state.
- ✅ Stateful testing restarting on a single transient transport failure (e.g. dropped connection).
- Semantic value substitution overwriting
const/enumfields with invalid data.
🔧 Changed
- 👻 Mine
additionalProperties: falsefrom Pydanticextra_forbiddenerrors and theexception_detailvalidation envelope.
- Chain GraphQL operations on non-
Previous changes from v4.20.3
-
🐎 🏎️ Performance
- Skip coverage generation for header and cookie parameters whose
patternrequires a non-alphanumeric character. - ✅ Faster operation ordering and case traversal in stateful testing for schemas with many operations.
🛠 🐛 Fixed
Fuzzingphase marked as failed without any reported failure. #4209- Generate maximum-length boundary cases for unanchored multi-part
patterns withmaxLength. - Display the actual response time in milliseconds in
max_response_timefailures.
- Skip coverage generation for header and cookie parameters whose