Skip to content

Release 4.20.0

Choose a tag to compare

@github-actions github-actions released this 24 May 18:31
· 65 commits to master since this release
v4.20.0
d036377

🚀 Added

  • Override server variable defaults via [servers.variables] in config. #4166
  • Form-encoded payloads for dynamic auth via payload_content_type. #4167

🏎️ Performance

  • ~50% lower coverage-phase wall on definition-heavy schemas.
  • Cache repeated computations during the coverage phase.
  • Faster schema bundling for specs with recursive references.

🐛 Fixed

  • Emit an all-valid object baseline for properties declared next to a non-object type.
  • Populate nested object templates referenced via $ref instead of generating null/{}.
  • Honor servers[] declared at path-item and operation scopes. #4166
  • Restore per-property negatives in coverage phase when an unsatisfiable optional property would otherwise sink the template draw.
  • Emit minLength negatives for string schemas whose pattern requires more characters than minLength - 1.
  • Emit minLength/maxLength negatives for string schemas whose format (e.g. email, uuid) makes the bounded length unsatisfiable.
  • Cover the enum / const keywords when entries violate the declared type by emitting each entry as a negative case.
  • Set Content-Type: application/json on JSON-serialized nested multipart/form-data parts.
  • Emit a non-empty alphabetic string (e.g. AAA) as the string-type negative for non-string parameters so ?q= no longer collapses to absent on the wire.
  • Skip report aggregation for crashed xdist workers instead of failing the whole controller with AttributeError.
  • Emit maxLength negatives for string schemas whose format makes the exact length unsatisfiable when maxLength exceeds 100.
  • False positive negative_data_rejection for integer enum entries under type: integer / type: number.