unstale

pypi / vcrpy

vcrpy

What changed in vcrpy 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.

1 breaking1 security4 new APIs and options7 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

vcrpy 813 changes

Breaking changes 1

  • Recording fails fast when a request or response contains a Python object the safe YAML loader cannot read back, rather than writing a cassette that breaks on replay.

    8.3.0release notes

Security 1

  • Cassettes are loaded with a safe YAML loader, preventing arbitrary code execution from untrusted cassettes while preserving support for existing cassettes.

    8.2.1release notes

New APIs and options 4

  • vcrpy adds support for niquests.

    8.3.0release notes

  • Builds a YAML serializer that supports custom Python object tags during recording and replay; register it per VCR instance with register_serializer.

    8.3.0release notes

  • Adds support for httpx 2.x.

    8.2.0release notes

  • Makes the request URL available on VCRHTTPResponse.

    8.2.0release notes

Fixes and other changes 7

  • Fixes stale keep-alive connection reuse across cassettes.

    8.3.0release notes

  • Errors are clearer when a cassette contains an unsupported YAML tag.

    8.3.0release notes

  • Invalid record_mode values are validated and raise a clear error.

    8.2.1release notes

  • Fixes compatibility with aiohttp 3.14.

    8.2.0release notes

  • Uses an explicit type check for the body check.

    8.2.0release notes

  • Accounts for modified requests when storing played cassettes, so drop_unused_requests honours before_record_request filtering.

    8.2.0release notes

  • Improves the error message when a matching request has already been consumed.

    8.2.0release notes