Schemathesis v4.13.0 Release Overview

TL;DR

  • Dynamic authentication via config for OpenAPI schemes, no Python code needed.
  • Automatic request retries with exponential back-off for network failures.
  • Key fixes for hook registration and data generation accuracy.

Key Changes

New Features Schemathesis v4.13.0 introduces a new [auth.dynamic.openapi.<scheme>] config block, enabling dynamic token fetch authentication directly through configuration, eliminating the need for custom Python code. This version also adds --request-retries to automatically retry requests on network failures using an exponential back-off strategy, significantly improving test stability. Additionally, captured response data can now be utilized in the examples phase, enhancing test case generation.

Improvements Dependency inference logic has been refined to strip API version prefixes and prevent cross-linking of same-named resources from different API namespaces, leading to more accurate test generation.

Bug Fixes Important fixes include resolving an issue where apply_to / skip_for filter sets were not updated between hook registrations, causing incorrect filter application. The release also corrects a bug where generated strings from regex patterns violated minLength/maxLength constraints in the coverage phase, ensuring data generation accuracy. A minor UI fix addresses base URL truncation in the startup summary on narrow terminals.

Impact for QA Teams

This update streamlines API authentication setup, making it faster and less code-intensive. The --request-retries feature improves test reliability against transient network issues, reducing false negatives. Enhanced data generation accuracy and corrected hook behavior ensure more consistent and trustworthy test results.

Official Source

For more details, refer to the Schemathesis v4.13.0 release notes.