Task · MDE-0052

Validate AnyIO 4.15.0 against cancellation and shutdown contracts

Description

The Wave 3 currency pass found AnyIO 4.14.2 locked through the direct runtime requirement at pyproject.toml:16, while 4.15.0 is available. Its release changes task-name defaults, lazy imports, cancellation behavior and pytest-plugin handling. Those areas intersect this exporter’s bounded admission, request cancellation, lifespan shutdown and async test harness, so the bump was not treated as mechanical despite no declared breaking heading.

Acceptance Criteria

Definition of Done

Implementation Plan

Exercise AnyIO 4.15.0 against cancellation, lifespan shutdown, managed task groups and the async pytest harness; apply only if focused concurrency checks and the full gate pass unchanged.

Final Summary

Accepted AnyIO 4.15.0 in 4cc1f6e. An isolated focused suite passed 74 tests; the applied checkout passed a broader 100-test slice covering request cancellation, lifespan shutdown, ManagedTaskGroup behavior, and the async pytest harness, then just check passed 2,958 selected tests at 91.49% coverage without changing timeouts or assertions. AnyIO 4.15.0 exposes a new third-party Starlette deprecation warning for the anyio.abc.BlockingPortal alias; no exporter behavior changed and the existing FastAPI-TestClient warning remains separate.

View the source file on GitHub