Skip to content

Releases: schemathesis/schemathesis

Release 3.29.2

31 May 15:44
v3.29.2
39da195
Compare
Choose a tag to compare

🐛 Fixed

  • Remove temporary print calls.

Release 3.29.1

31 May 09:09
v3.29.1
d7f0244
Compare
Choose a tag to compare

🐛 Fixed

  • Inlining too much in stateful testing.

Release 3.29.0

30 May 21:40
v3.29.0
3410011
Compare
Choose a tag to compare

🔧 Changed:

  • INTERNAL: Remove the ability to mutate components used in schema["/path"]["METHOD"] access patterns.

🐛 Fixed

  • Not serializing shared parameters for an API operation.
  • OperationNotFound raised in schema.get_operation_by_id if the relevant path item is behind a reference.
  • Missing parameters shared under the same path in stateful testing if the path is behind a reference.
  • KeyError instead of OperationNotFound when the operation ID is not found in Open API 3.1 without path entries.
  • Not respecting allow_x00=False in headers and cookies. #2220
  • Internal error when building an error message for some network-related issues. #2219

🏎️ Performance

  • Optimize schema["/path"]["METHOD"] access patterns and reduce memory usage.
  • Optimize get_operation_by_id method performance and reduce memory usage.
  • Optimize get_operation_by_reference method performance.
  • Less copying during schema traversal.

Release 3.28.1

11 May 17:45
v3.28.1
a8fb0b8
Compare
Choose a tag to compare

🐛 Fixed

  • Internal error on unresolvable Open API links during stateful testing.
  • Internal error when media type definition has only example or examples keys.

🏎️ Performance

  • Improve performance of add_link by avoiding unnecessary reference resolving.

Release 3.28.0

10 May 21:41
v3.28.0
e33fac8
Compare
Choose a tag to compare

I am happy to announce Schemathesis 3.28 🎉

It does not include a lot of new features but instead clarifies error messages and makes Schemathesis work with more recursive references than before.

🚀 Added

  • Request.deserialize_body and Response.deserialize_body helper methods to deserialize payloads to bytes from Base 64.
  • Support for multipart/mixed media type.

🔧 Changed

  • Do not show suggestions to show a traceback on Hypothesis' Unsatisfiable error.
  • Clarify error message on unsupported recursive references.
  • Report more details on some internal errors instead of "Unknown Schema Error".
  • Update error message on why Schemathesis can't generate test cases for some API operations.

🐛 Fixed

  • Internal error on Windows when the CLI output is redirected to a file and code samples contain non-CP1252 characters.
  • Properly check for nested recursive references inside combinators. This makes Schemathesis work with more schemas with recursive references.

Release 3.27.1

29 Apr 11:40
v3.27.1
8fbed5e
Compare
Choose a tag to compare

🚀 Added

  • GenerationConfig.headers.strategy attribute for customizing header generation. #2137
  • Support for python -m schemathesis.cli. #2142
  • Support for anyio>=4.0. #2081

🐛 Fixed

  • Supporting non-Starlette ASGI apps. #2136
  • Missing version metadata in ASGI client causing errors with ASGI3-only apps. #2136

Release 3.27.0

14 Apr 13:40
v3.27.0
6f07baa
Compare
Choose a tag to compare

The new release of Schemathesis introduces important changes for ASGI & WSGI applications. Now, you can use Case.call and Case.call_and_validate to run tests directly, replacing the previous separate methods for these application types (call_asgi / call_wsgi)

🚀 Added

  • Case.as_transport_kwargs method to simplify the creation of transport-specific keyword arguments for sending requests.

🔧 Changed

  • Make Case.call work with ASGI & WSGI applications.
  • Extend the JUnit XML report format to match CLI output including skipped tests, code samples, and more.

🗑️ Deprecated

  • Case.call_wsgi & Case.call_asgi in favor of Case.call.
  • Case.as_requests_kwargs & Case.as_werkzeug_kwargs in favor of Case.as_transport_kwargs.

Release 3.26.2

06 Apr 17:41
v3.26.2
9b145c9
Compare
Choose a tag to compare

🚀 Added

  • Support for pyrate-limiter>=3.0.

🐛 Fixed

  • Excluding \x00 bytes as a result of probes.

Release 3.26.1

04 Apr 09:01
v3.26.1
362d647
Compare
Choose a tag to compare

🚀 Added

  • Store time needed to generate each test case.

🐛 Fixed

  • InvalidArgument when using from_pytest_fixture with parametrized pytest fixtures and Hypothesis settings. #2115

Release 3.26.0

21 Mar 22:25
v3.26.0
de18a87
Compare
Choose a tag to compare

🚀 Added

  • Support for per-media type data generators. #962
  • Support for application/yaml & text/yml media types in YAMLSerializer.
  • EXPERIMENTAL: Run automatic schema optimization & format inference if CLI is authenticated in Schemathesis.io.

🐛 Fixed

  • Not resolving references in nested security schemes. #2073

🔧 Changed

  • Improve the error message when the minimum possible example is too large.