I am pleased to announce the latest release of Schemathesis 🎉
Release Highlights:
- Enhanced data generation control with the ability to set encoding for all generated strings.
- Improved GraphQL support with out-of-the-box compatibility for 9 popular scalar types.
- Updated Docker images featuring Python 3.12,
arm64
builds, and a newbookworm
-based image.
🚀 Added
- Support for
hypothesis-jsonschema==0.23
. - A way to control what characters are used for string generation. #1142, #1286, #1562, #1668
- Display the total number of collected links in the CLI output. #1383
arm64
Docker builds. #1740- Use Python 3.12 in Docker images.
- Store Docker image name in
Metadata
. - GraphQL scalar strategies for
Date
,Time
,DateTime
,IP
,IPv4
,IPv6
,Long
,BigInt
andUUID
. #1690
🔧 Changed
- Bump the minimum supported Hypothesis version to
6.84.3
. - Bump the minimum supported
jsonschema
version to4.18.0
. - Bump the minimum supported
hypothesis_graphql
version to0.11.0
. - Use the same random seed for all tests in CLI. #1384
- Improve serialization error messages in CLI.
- Store skip reason in the runner events.
- Build
bookworm
-based Debian Docker images instead ofbuster
-based. - Improve error message on unknown scalar types in GraphQL.
- Better auto-detection of GraphQL schemas.
- Display parsing errors for schemas that are expected to be JSON or YAML.
🗑️ Deprecated
- Using the
--show-errors-tracebacks
CLI option. Use--show-trace
instead.
🐛 Fixed
- Internal error when a non-existing schema file is passed together with
--base-url
. #1912 - Internal error during schema loading from invalid URLs.
- Ignore incompatible GraphQL checks in CLI rather than fail the whole test run. #1918
🔥 Removed
- Support for Python 3.7.
- Unnecessary dependencies on
typing-extensions
andimportlib-metadata
.