pypi schemathesis 4.25.1
Release 4.25.1

4 hours ago

🚀 Added

  • Support for validating httpx2 responses in Case.validate_response.

🔧 Changed

  • Suggest the server URL declared in the schema when the missing base_url error fires.
  • Mention warnings.fail-on in the --warnings help text.

🐛 Fixed

Coverage phase

  • Keeping false for const: 0 (and vice versa) when intersecting allowed values.
  • Emitting branch values that ignore a sibling anyOf/oneOf/allOf or the keywords beside them.
  • Emitting objects without a name one allOf branch requires and another forbids.
  • Duplicate positive cases for schemas combining anyOf/oneOf with keywords beside them.
  • Emitting a property's const that the rest of its schema rejects.
  • Emitting a oneOf value a second branch admits under the operation's draft.
  • Emitting enum/const members the operation's draft rejects.
  • Emitting example/default values the operation's draft rejects.
  • Judging anyOf/oneOf branch values against the parent in the wrong draft.
  • Crashing on multipleOf beside a numeric bound past 28 significant digits.
  • Emitting multipleOf steps no float can carry, landing back on the excluded bound.
  • Numeric exclusiveMinimum/exclusiveMaximum overriding a tighter minimum/maximum instead of combining.
  • Integer boundary values emitted as floats when the bound is written like 7.0.
  • Integer steps past float bounds taken in binary, not the decimal the validator reads.
  • Emitting an excluded integer bound when minimum/maximum repeats a large float exclusiveMinimum/exclusiveMaximum.
  • Emitting a float as a type violation for integer when number is allowed too.
  • Emitting a non-multiple for multipleOf past 2^53.
  • Emitting inf as a violation of a bound at the largest float.
  • Generating non-integer values for integers with a fractional multipleOf.
  • Dropping every value of a type when another type's container template cannot be built.
  • Ignoring additionalProperties for required names absent from properties.
  • Exceeding maxProperties when covering a property the template omits.
  • Emitting an optional object property whose schema requires a name it forbids.
  • Emitting a non-object as a minProperties violation for untyped schemas.
  • Dropping properties named if, then, else, or not from nested templates.
  • Generating no positive cases for objects with an ungeneratable property.
  • Crashing on a pattern whose minLength exceeds the generation buffer.
  • Emitting values for strings, alone or as properties, whose minLength exceeds maxLength.
  • Omitting string parameters with a very large maxLength.
  • Crashing on a pattern whose minLength exceeds maxLength.
  • Crashing on a minItems/minProperties past the generation buffer beside a combinator.
  • Filling a large minItems/minProperties floor past a smaller ceiling.
  • Hanging on a maxProperties past the generation buffer.
  • Crashing on a large minItems without items, and building arrays past the generation buffer.
  • Crashing on a minProperties past the generation buffer.
  • Spending a minute on a minProperties in the hundreds and then emitting nothing.
  • Sending empty array and object path parameters that blank the path segment.
  • Repeating requests when different generated values serialize identically.
  • Ignoring header and cookie example/default values with non-alphanumeric characters.
  • Skipping body examples that name a readOnly field.
  • Reusing generated values across operations whose $ref targets differ.

False positives

  • positive_data_acceptance for values with a sibling anyOf/oneOf in the coverage phase.
  • negative_data_rejection for format: float bounds a single-precision server cannot distinguish.
  • negative_data_rejection for numeric bounds past 2^53 in the coverage phase.
  • negative_data_rejection for bodies whose schema declares a format anywhere.

Others

  • Report a minItems/minProperties past the generation buffer as a schema error instead of a health check.
  • Non-body parameters with anyOf/oneOf/$ref schemas losing their null branch to the default string type.
  • Object values for query parameters declared with anyOf/oneOf serialized as their property names.

Don't miss a new schemathesis release

NewReleases is sending notifications on new releases.