pypi schemathesis 4.0.0
Release 4.0.0

latest releases: 4.1.4, 4.1.3, 4.1.2...
2 months ago

Schemathesis 4.0 is a major rewrite of the core engine, Python API, and pytest integration. This release includes extensive breaking changes - see the migration guide for upgrading from v3.x.

🏎️ Performance Improvements

  • 3x faster test execution
  • 15x lower memory usage

🚀 New Features

Configuration system:

Added schemathesis.toml with operation-specific settings, environment variable substitution, and multi-project support:

headers = { Authorization = "Bearer ${API_TOKEN}" }

[[operations]]
include-name = "GET /users"
request-timeout = 5.0
generation.max-examples = 200

Improved testing:

  • Enhanced stateful testing with better OpenAPI link handling
  • New phase system for separate control over examples, fuzzing, stateful, and coverage testing
  • Stabilized experimental features (new response checks, more configuration options)

Updated CLI:

  • Completely new output style (progress bars, cleaner output)
  • Cleaner option names (--max-examples, --mode, etc.)
  • Unified reporting system (--report junit,vcr,har)

📄 Documentation

Complete documentation rewrite available at https://schemathesis.readthedocs.io/en/stable/ with new guides, tutorials, and API reference.

💥 Breaking Changes

This is a major release with extensive breaking changes affecting the Python API, CLI options, and supported versions:

  • Minimum requirements: Python 3.9+, pytest 7.0+
  • API reorganization: Most imports, method names, and signatures changed
  • CLI changes: Many options renamed or removed, or replaced with config file
  • Removed features: aiohttp integration, Schemathesis.io, various legacy options

Don't miss a new schemathesis release

NewReleases is sending notifications on new releases.