NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2283 most downloaded on PyPI
Adaptive API testing for OpenAPI and GraphQL
Last release today
04 Oct 2026
Ships fairly regularly
a new release about every 1 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
490 releases · first in 2019
Incorrect error message when the code inside the hook module raises ImportError. #2074
ImportError. #2074allow_x00 and codec configs options for data generation in some cases. #2072Improve error message when the minimum possible example is too large.
One column per quarter.
Added __contains__ method to ParameterSet for easier parameter checks in hooks.
__contains__ method to ParameterSet for easier parameter checks in hooks.Run automatic probes to detect the application capabilities before testing. They allow for more accurate data generation, reducing false positive test
trio. #1872AttributeError when using the experimental support for Open API 3.1 with multiple workers.-D all is passed.CLI: Enhanced Open API 3.1.0 support messaging, now suggesting --experimental=openapi-3.1 option for partial compatibility.
--experimental=openapi-3.1 option for partial compatibility.In this release of Schemathesis, there are significant technical advancements to improve its effectiveness in real-world API testing scenarios. The fo
In this release of Schemathesis, there are significant technical advancements to improve its effectiveness in real-world API testing scenarios. The focus has been on:
It has been a while since tests against the Open API directory were first implemented, but now they are updated and run in our CI every day to ensure compatibility with real-world APIs. They include generating tests against every API and sending them to a mock server.
Some schemas in the directory are too large to be executed in the current CI setup, so they are not included in the following statistic, totaling 4067 syntactically valid API schemas.
Excluding API operations with errors, Schemathesis was able to generate and execute test cases against up to 99.88% (*) of all API operations in the Open API directory.
(*) I'd still investigate more into self-contradicting constraints and unresolvable references as Schemathesis may miss support for some Open API / JSON Schema keywords that are relevant to that behavior.
--hypothesis-no-phases CLI option to disable Hypothesis testing phases. #1324__schema key.tag in filters for custom auth.anyOf / oneOf / allOf keywords.text/xml media type in XMLSerializer.text/json media type in JSONSerializer.@schema.given with explicit examples from the spec is not supported. #1217paths key an error for Open API 3.1.application/x-www-form-urlencoded payloads.--contrib-unique-data CLI option and the corresponding schemathesis.contrib.unique_data hook. The concept of this feature
does not fit the core principles of Hypothesis where strategies are configurable on a per-example basis but this feature implies
uniqueness across examples. This leads to cryptic error messages about external state and flaky test runs, therefore it will be removed in
Schemathesis 4.0--show-trace option is provided.. inside path parameters.format: binary.examples keyword.type keyword.$ref.$ref.TypeError on non-string pattern values. This could happen on values in YAML, such that when not quoted, they are parsed
as non-strings.application/xml; charset=utf-8.KeyError during state machine creation.Incorrect base URL handling for GraphQL schemas. #1987
:tada: Another small release that makes Schemathesis' Python API easier to use.
:tada: Another small release that makes Schemathesis' Python API easier to use.
schema.as_strategy() and schema["/path/"].as_strategy(). #1982repr for GraphQL & Open API schemas.schema["Query"][field_name].application/x-www-form-urlencoded. #1306A small follow-up patch release that addresses missing override on lazy-loaded schemas and a few GraphQL-related bugs.
A small follow-up patch release that addresses missing override on lazy-loaded schemas and a few GraphQL-related bugs.
schema.override on schemas created via the from_pytest_fixture loader.query / cookies / headers in GraphQL schemas. #1978Avoid using the deprecated cgi module. #1962
In this update, I've focused on significantly improving configuration flexibility and testing explicit examples from the spec. Key highlights include:
Introducing an easier and more efficient way to override Open API parameters directly in CLI or Python tests:
$ st run --set-query apiKey=secret --set-path user_id=42 ...
and
@schema.parametrize()
@schema.override(path_parameters={"user_id": "42"}, query={"apiKey": "secret"})
def test_api(case):
...
This way, parameter overrides will only be applied to API operations that use the overridden parameters and won't take time during data generation.
A nearly full rewrite of how Schemathesis handles explicit example testing. It fixes a couple of bugs and allows for testing all examples keywords, including ones inside individual properties, or different media types.
pytest integration with the override decorator. #8examples keyword inside individual property schemas. #1730, #1320cgi module. #1962examples and example fields. #1360$ref keyword. #1692Do not auto-detect spec if the --force-schema-version CLI option is present.
--force-schema-version CLI option is present.:tada: This release offers a better example testing and aids Dredd users transitioning to Schemathesis.
:tada: This release offers a better example testing and aids Dredd users transitioning to Schemathesis.
--contrib-openapi-fill-missing-examples to automatically generate random examples for API operations that lack explicit examples. #1728, #1376--request-proxy to set HTTP(s) proxies for network calls. #1723--generation-codec values in CLI.anyio to <4 due to incompatibility with starlette-testclient.examples from shared parameters. #1729, #1513Internal error during network error handling. #1933
I am pleased to announce the latest release of Schemathesis :tada:
I am pleased to announce the latest release of Schemathesis :tada:
Release Highlights:
arm64 builds, and a new bookworm-based image.hypothesis-jsonschema==0.23.arm64 Docker builds. #1740Metadata.Date, Time, DateTime, IP, IPv4, IPv6, Long, BigInt and UUID. #16906.84.3.jsonschema version to 4.18.0.hypothesis_graphql version to 0.11.0.bookworm-based Debian Docker images instead of buster-based.--show-errors-tracebacks CLI option. Use --show-trace instead.--base-url. #1912typing-extensions and importlib-metadata.Support for hypothesis>=6.90.1.
hypothesis>=6.90.1.Basic support for httpx in Case.validate_response.
httpx in Case.validate_response.NOT_SET from schemathesis.utils. #1890🎉 I am excited to announce the latest release of Schemathesis! 🎉
🎉 I am excited to announce the latest release of Schemathesis! 🎉
This version significantly improves the CLI clarity and responsiveness, making API testing simpler!
Here is CLI output looks like now:
<p align="center"> <img src="https://github.com/schemathesis/schemathesis/assets/1236561/2cae736d-32f0-4e24-9054-512ee0091970" alt="Schemathesis Demo"/> </p>
PR comments became better too!
Case.body is wrapped with a custom wrapper - Binary in order to simplify
compatibility with hypothesis-jsonschema.Case.body inside Case.as_requests_kwargs when serializing multipart data.Content-Type header. #1787Incorrect documentation & implementation for enabling experimental features in pytest.
pytest.Improved CLI error messages for missing or invalid arguments.
I am pleased to announce the latest release of Schemathesis, which brings a range of new features, improvements, and bug fixes aimed at enhancing your
I am pleased to announce the latest release of Schemathesis, which brings a range of new features, improvements, and bug fixes aimed at enhancing your API testing experience. 🎉
Here's a quick overview of what's new:
application/xml serialization opens up new testing possibilities for APIs that use this format.filter_query, map_header, etc.For a full list of changes, please see the changelog below. Your feedback is valuable to us, and we look forward to hearing your thoughts on these updates :pray:
--experimental=openapi-3.1 CLI option for experimental support of OpenAPI 3.1. This enables compatible JSON Schema validation for responses, while data generation remains OpenAPI 3.0-compatible. #1820--sanitize-output=false CLI option. For more advanced customization, use schemathesis.sanitizing.configure(). #1794application/xml serialization based on Open API schema definitions. #733filter_query, map_header, etc.) to minimize boilerplate in extensions. #1673body hooks in GraphQL schemas, enabling custom filtering or modification of queries and mutations. #1464SCHEMATHESIS_REPORT_SUGGESTION=0 environment variable. #1802filter_operations hook to conditionally include or exclude specific API operations from being tested.contains method to ParameterSet for easier parameter checks in hooks. #1789Note: Experimental features can change or be removed in any minor version release.
Werkzeug>=3.0. #1819X-Schemathesis-TestCaseId for easier debugging. #1801case as the first argument to AuthContext.set. The previous calling convention is still supported. #1788InsecureRequestWarning in CLI output if the user explicitly provided --request-tls-verify=false. #1780Before:
Failed to load schema from https://127.0.0.1:6423/openapi.json
You can use `--wait-for-schema=NUM` to wait for a maximum of NUM seconds on the API schema availability.
Error: requests.exceptions.SSLError: HTTPSConnectionPool(host='localhost', port=6423): Max retries exceeded with url: /openapi.json (Caused by SSLError(SSLCertVerificationError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:992)')))
Add this option to your command line parameters to see full tracebacks: --show-errors-tracebacks
After:
Schema Loading Error
SSL verification problem
[SSL: WRONG_VERSION_NUMBER] wrong version number
Tip: Bypass SSL verification with `--request-tls-verify=false`.
AuthProvider.get with a single context argument. The support will be removed in Schemathesis 4.0.AuthProvider. #1776None.Content-Type header, which was previously omitted. #1783SerializedHistoryEntry.case.extra_headers.~4% reduction in the emitted events data size.SerializedError.example attribute. It used to be populated for flaky errors before they became regular failures.TestResult.overridden_headers attribute.Unsatisfiable error for multiple security schemes applied to the same API operation and an explicit Authorization header. #1763
Unsatisfiable error for multiple security schemes applied to the same API operation and an explicit Authorization header. #1763Broken --report CLI argument under click>=8.1.4. #1753
--report CLI argument under click>=8.1.4. #1753Do not raise Unsatisfiable when explicit headers are provided for negative tests.
Unsatisfiable when explicit headers are provided for negative tests.Unsatisfiable when no headers can be negated.Improved handling of negative test scenarios by not raising Unsatisfiable when path parameters cannot be negated but other parameters can be negated.
Unsatisfiable when path parameters cannot be negated but other parameters can be negated.HypothesisDeprecationWarning regarding deprecated HealthCheck.all(). #1739
requests<3. #1742Hypothesis version to 6.31.6 to reflect the requirement from hypothesis-jsonschema.HypothesisDeprecationWarning regarding deprecated HealthCheck.all(). #1739You can now provide a tuple of checks to exclude when validating a response.
Passing params / cookies to case.call causing TypeError. #1734
requests<2.29.params / cookies to case.call causing TypeError. #1734attrs.:tada: I am excited to announce the latest release of Schemathesis! :tada:
:tada: I am excited to announce the latest release of Schemathesis! :tada:
You can now use custom authentication mechanisms from the requests library, apply authentication conditionally to specific API operations, and even throttle requests via the CLI. As always, we've also squashed a few bugs to improve the overall stability of Schemathesis! Happy testing! 🙌
requests library.
You can use schemathesis.auth.set_from_requests to set up Schemathesis CLI with any third-party authentication implementation that works with requests. #1700import schemathesis
from requests_ntlm import HttpNtlmAuth
schemathesis.auth.set_from_requests(
HttpNtlmAuth("domain\\username", "password")
)
@schemathesis.auth.apply_to() and @schemathesis.auth.skip_for() decorators.import schemathesis
# Apply auth only for operations that path starts with `/users/` but not the `POST` method
@schemathesis.auth().apply_to(path_regex="^/users/").skip_for(method="POST")
class MyAuth:
...
OperationDefinition including indexing access, the get method, and "in" support.--rate-limit CLI option. #910schema.auth decorator, replacing the previous schema.auth.register and schema.auth.apply methods:import schemathesis
schema = schemathesis.from_uri("https://example.schemathesis.io/openapi.json")
# Schema-level auth
# Before: @schema.auth.register()
@schema.auth()
class MyAuth:
...
# Test-level auth
# Before: @schema.auth.apply(MyAuth)
@schema.auth(MyAuth)
@schema.parametrize()
def test_api(case):
...
case.call and query parameters passed to case.call_wsgi.
The user-provided values are now merged with the data generated by Schemathesis, instead of overriding it completely. #1705Unsatisfiable error when explicit header name passed via CLI clashes with the header parameter name. #1699port keyword argument in schema loaders during API schema loading. #1721This release of Schemathesis simplifies hooks management and adds support for hooks in the Schemathesis GitHub Action!
:tada: Great news!
This release of Schemathesis simplifies hooks management and adds support for hooks in the Schemathesis GitHub Action!
Now you can take advantage of Schemathesis's hooks to customize your testing workflows directly within your GitHub Actions pipeline.
SCHEMATHESIS_HOOKS environment variable. #1702--pre-run CLI option for loading hooks. Use the SCHEMATHESIS_HOOKS environment variable instead.Support any Werkzeug 2.x in order to allow mitigation of CVE-2023-25577. #1695
:tada: Quality of life improvements to Schemathesis stateful testing! Enjoy
:tada: Quality of life improvements to Schemathesis stateful testing! Enjoy
APIStateMachine.run method to simplify running stateful tests.If you use hypothesis.stateful.run_state_machine_as_test to run your stateful tests, please use the run method on your state machine class instead. This change requires upgrading Hypothesis to at least version 6.68.1.
import pytest
import schemathesis
@pytest.fixture
def state_machine():
schema = schemathesis.from_uri("https://example.schemathesis.io/openapi.json")
return schema.as_state_machine()
def test_statefully(state_machine):
state_machine.run()
:tada: New Schemathesis release is available with improved performance - up to 30% faster data generation for Open API!
:tada: New Schemathesis release is available with improved performance - up to 30% faster data generation for Open API!
Upgrade now
map functions as there is no need to copy themhypothesis-jsonschema to 0.22.1map functions as there is
no need to copy them.hypothesis-jsonschema to 0.22.1 for up to 30% faster data
generation in some workflows.Hello! This update brings improved stateful testing, reducing the number of failed API calls. Additionally, performance optimizations have been made f
Hello! This update brings improved stateful testing, reducing the number of failed API calls. Additionally, performance optimizations have been made for a smoother experience.
hypothesis-jsonschema, but they imply significant overhead. #1180deepcopy.Extra information to VCR cassettes.
--contrib-unique-data CLI option that forces Schemathesis to generate unique test cases only.
This feature is also available as a hook in schemathesis.contrib.unique_data.schemathesis.auth for authentication providersschemathesis.check for checksschemathesis.hook & BaseSchema.hook for hooksschemathesis.serializer for serializersschemathesis.target for targetsschemathesis.openapi.format for custom OpenAPI formatsschemathesis.graphql.scalar for GraphQL scalarsschemathesis.contrib.openapi.formats.uuid extension
You could enable it via the --contrib-openapi-formats-uuid CLI option.attrs. #1643schemathesis.register_check in favor of schemathesis.check.schemathesis.register_target in favor of schemathesis.target.schemathesis.register_string_format in favor of schemathesis.openapi.format.schemathesis.graphql.register_scalar in favor of schemathesis.graphql.scalar.schemathesis.auth.register in favor of schemathesis.auth.utf8_bom fixup is used for WSGI apps.get_call_kwargs in stateful testing. #828starlette.testclient.TestClient with starlette_testclient.TestClient to keep compatibility with newer
starlette versions. #1637### Added - Python 3.11 support. #1632 ### Fixed - Allow Werkzeug<=2.2.2. #1631
Werkzeug<=2.2.2. #1631Appending an extra slash to the / path. #1625
/ path. #1625/ path. #1625Missing httpx dependency. #1614
httpx dependency. #1614Insufficient timeout for report uploads.
This release adds support for newer requests versions.
This release adds support for newer requests versions.
From this release, you can simultaneously run positive & negative tests via CLI by passing -D all
From this release, you can simultaneously run positive & negative tests via CLI by passing -D all
Hypothesis versions. #1592-D all.Hypothesis>=6.54.0.BeforeExecution.data_generation_method and AfterExecution.data_generation_method changed to
lists of DataGenerationMethod as the same test may contain data coming from different data generation methods.CLI: Hanging on CTRL-C when --report is enabled.
CTRL-C when --report is enabled.Suggest using --wait-for-schema if API schema is not available.
--wait-for-schema if API schema is not available.A handful of new usability improvements!
A handful of new usability improvements!
--max-failures=N option to exit after first N failures or errors. #1580--wait-for-schema=N option to automatically retry schema loading for N seconds. #1582st replay when the -v option is passed. #1584explode: true.More improvements on user experience!
More improvements on user experience!
From now Schemathesis will warn you if you specify an invalid API location and all responses are 404
WARNING: All API responses have a 404 status code. Did you specify the proper API location?
after_load_schema hook, which is designed for modifying the loaded API schema before running tests. For example, you can use it to add Open API links to your schema via schema.add_linkutf8_bom fixup. It helps to mitigate JSON decoding errors inside the response_schema_conformance check when the payload contains BOM. #1563-v or --verbosity option for CLI.before_call / after_call hooks inside the call_* methods. It makes them available for the pytest integration.after_load_schema hook, which is designed for modifying the
loaded API schema before running tests. For example, you can use it
to add Open API links to your schema via schema.add_link.utf8_bom fixup. It helps to mitigate JSON decoding errors
inside the response_schema_conformance check when payload contains
BOM. #1563-v or --verbosity option for CLI.before_call / after_call hooks inside the call_*
methods. It makes them available for the pytest integration.A little patch release that improves user experience!
A little patch release that improves user experience!
From now Schemathesis will warn you if you forgot to specify proper API credentials
WARNING: Most of the responses from `GET /api/secret/` have a 401 status code. Did you specify proper API credentials?
Also, we're extending SaaS test reports a bit! Schemathesis will send us information about what CLI options you use, so we can provide you with suggestions on how you can do more with CLI! Don't worry, all the data is anonymized and there is no sensitive info.
SCHEMATHESIS_BASE_URL environment variable for specifying --base-url in CLISCHEMATHESIS_BASE_URL environment variable for specifying
--base-url in CLI.[!IMPORTANT] You can disable usage this with the
--schemathesis-io-telemetry=falseCLI option or theSCHEMATHESIS_TELEMETRY=falseenvironment variable.
Schemathesis 3.16.0 brings a brand new GitHub integration and many readability improvements to the test results. You will have much less visual clutte
Hello friends!
Schemathesis 3.16.0 brings a brand new GitHub integration and many readability improvements to the test results. You will have much less visual clutter reading Schemathesis reports, and the failures will be much more concise from now.
Now you can use a native GitHub application to collect & display API fuzzing results directly in your PR! It makes Schemathesis much simpler to use in your GitHub Actions workflows and brings more Schemathesis.io features closer to you:
Grab your installation now!
After installation, you'll be redirected to SaaS to grab your access token, which you need to add to your workflow.
Depending on your application deployment, you'll need to add a new step to your GitHub Actions workflow. You can use this code sample to test your API in a pull request or run tests against a publicly resolvable API:
jobs:
api-tests:
runs-on: ubuntu-20.04
steps:
- uses: schemathesis/action@v1
with:
# API schema location
schema: 'http://127.0.0.1:5001/openapi.json'
# Set your token from secrets
token: ${{ secrets.SCHEMATHESIS_TOKEN }}
You can find other deployment scenarios in our documentation
Then you'll get your report:
<img src="https://app.schemathesis.io/images/schemathesis-github-report.png" alt="Schemathesis Report"/>
Read the full integration guide in our docs.
A few notes:
This release doesn't support GitHub organizations. The support will be added soon as well as more features like:
Please, let us know what you think about the integration in this discussion.
hypothesis >= 6.49 in #1538.generate phase is disabled.array or object types.validate_schema=True to the schema loader of your choice to keep the old behavior.requests when test cases go to the application under test.-v option is present.--report CLI option.--report CLI option.pytest integration.-v is provided.requests in
code samples.hypothesis>=6.49. #1538unittest.case.SkipTest emitted by newer Hypothesis
versions.array or object
types.--report CLI option.Do not discard dots (.) in OpenAPI expressions during parsing.
.) in OpenAPI expressions during parsing.TypeError when using --auth-type=digest in CLI.
TypeError when using --auth-type=digest in CLI.This release makes Schemathesis work on schemas that do not comply with the Open API spec due to YAML specifics (missing quotes around keys that can b
This release makes Schemathesis work on schemas that do not comply with the Open API spec due to YAML specifics (missing quotes around keys that can be parsed as integers, booleans, etc)
--hypothesis-phases=explicit is used. #1323on: true will be parsed as {"on": True} instead of {True: True}. Even though YAML does not restrict keys to strings, in the Open API and JSON Schema context, this restriction is implied because the underlying data model
comes from JSON.SerializedCheck.Deduplication of failures caused by malformed JSON payload. #1518
InvalidArgument exception as InvalidSchema in non-Schemathesis tests. #1514This is a small bugfix release :)
This is a small bugfix release :)
pip.requests will treat
as an empty query.pip.This release adds a few improvements that simplify customization and fixes a few minor issues that appear when running in Docker.
This release adds a few improvements that simplify customization and fixes a few minor issues that appear when running in Docker.
APIOperation.get_security_requirements that returns a list of security requirements applied to the API operationhosts.toml file.verbose_name value in SerializedCase for GraphQL tests.This release introduces a bunch of nice improvements for GraphQL testing - now you can test mutations, extend Schemathesis with custom scalars, and ru
This release introduces a bunch of nice improvements for GraphQL testing - now you can test mutations, extend Schemathesis with custom scalars, and run tests at least twice as fast as before!
Other things include cleaner pytest output, human-readable cassette payloads, reporting flaky failures, better negative testing, and much more! See below
from_pytest_fixture.--cassette-preserve-exact-body-bytes to restore the old behavior. #1413hypothesis-graphql to 0.9.0.pytest output. A few internal frames and the "Falsifying example" block are removed from the output.HYPOTHESIS OUTPUT CLI output section. #881BaseOpenAPISchema.validate_response on requests>=2.27 when response body contains malformed JSON. #1485schemathesis.from_pytest_fixture: Display each failure if Hypothesis found multiple of them.Add --cassette-path that is going to replace --store-network-log. The old option is deprecated and will be removed in Schemathesis 4.0
This release adds support for Schemathesis.io - you can upload your test results and visualize them. Or, you can signup to a Pro account and use our servers to run enhanced tests against your API.
Feel free to join our Discord - we'd love to hear your feedback!
name argument to schema.add_link.st as an alias to the schemathesis command line entrypoint.st auth login / st auth logout to authenticate with Schemathesis.io.X-Schemathesis-TestCaseId header to help to distinguish test cases on the application side. #1303--checks CLI option. #1373--hypothesis-database option. #1326SCHEMA CLI argument accept API slugs from Schemathesis.io.@schema.parametrize with test methods on pytest>=7.0.source attribute in the Case.partial_deepcopy implementation. #1429content_type_conformance and response_schema_conformance checks when the checked response has no Content-Type header. #1394case & response inside Case.validate_response.pytest.mark decorators when they are applied before schema.parametrize if the schema is created via from_pytest_fixture. #1378--stateful=none.--validate-schema=true.api_slug CLI argument to upload data to Schemathesis.io./foo}/). #1372pyyaml and click.--cassette-path that is going to replace --store-network-log. The old option is deprecated and will be removed in Schemathesis 4.0P.S. These release notes contain entries from multiple releases, as they were not properly displayed on GitHub before
fix: Compatibility with pytest>=7.0 by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1460
pytest>=7.0 by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1460Full Changelog: https://github.com/schemathesis/schemathesis/compare/v3.14.0...v3.14.1
@schema.parametrize with test methods on pytest>=7.0.chore: Validate requests kwargs to catch cases when the ASGI integration is used, but the proper ASGI client is not supplied by @Stranger6667 in https
requests kwargs to catch cases when the ASGI integration is used, but the proper ASGI client is not supplied by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1399st as an alias to schemathesis by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1400api_id CLI argument to upload data to Schemathesis.io by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1404Case instances before passing to check functions by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1419Response instances before passing to check functions by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1420Hypothesis>=6.41.0 by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1426media_type in the Case.partial_deepcopy implementation. by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1428source attribute in the Case.partial_deepcopy implementation by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1432X-Schemathesis-TestCaseId header by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1434content_type_conformance and response_schema_conformance checks by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1437case & response inside Case.validate_response by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1438pytest.mark decorators when they are applied before schema.parametrize if the schema is created via from_pytest_fixture by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1441--checks CLI option by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1442--cassette-path that is going to replace --store-network-log by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1448pytest-asyncio>=0.17.1 by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1453SCHEMA CLI argument accept API slug from Schemathesis.io by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1456pyyaml and click by @Stranger6667 in https://github.com/schemathesis/schemathesis/pull/1459Full Changelog: https://github.com/schemathesis/schemathesis/compare/v3.13.3...v3.14.0
name argument to
schema.add_link.st as an alias to the schemathesis command line entrypoint.st auth login / st auth logout to authenticate with
Schemathesis.io.X-Schemathesis-TestCaseId header to help to distinguish test cases
on the application side. #1303--checks CLI option. #1373--hypothesis-database option. #1326SCHEMA CLI argument accept API names from
Schemathesis.io.--stateful=none.--validate-schema=true.api_name CLI argument to upload data to Schemathesis.io./foo}/). #1372pyyaml and click.--cassette-path that is going to replace
--store-network-log. The old option is deprecated and will be
removed in Schemathesis 4.0source attribute in the Case.partial_deepcopy
implementation. #1429content_type_conformance and
response_schema_conformance checks when the checked response has
no Content-Type header. #1394case & response inside Case.validate_response.pytest.mark decorators when they are applied before
schema.parametrize if the schema is created via
from_pytest_fixture. #1378436100c Compatibility with pytest-asyncio>=0.17.1
pytest-asyncio>=0.17.1pytest-asyncio>=0.17.1. #145272698c0 Missing media_type in the Case.partial_deepcopy implementation.
media_type in the Case.partial_deepcopy implementation.media_type in the Case.partial_deepcopy implementation.
It led to missing payload in failure reproduction code samples.a530b9e Support for Hypothesis>=6.41.0
Hypothesis>=6.41.0724b98b Deep-clone Response instances before passing to check functions
Response instances before passing to check functionsResponse instances before passing to check functions.Your coding agent can read these notes before it upgrades. Set up the MCP server →